From 913b02c9ce579663f67d001b8aa97100fce4a002 Mon Sep 17 00:00:00 2001 From: Juan Carlos Valencia Oropeza Date: Sat, 27 Apr 2024 23:14:07 -0400 Subject: [PATCH] plantilla inicial Backend --- .babelrc | 3 + .eslintrc | 91 + .gitignore | 16 + CHANGELOG.md | 2 + Dockerfile | 88 + INSTALL.md | 377 + LICENCIA.md | 651 + LICENSE | 674 + README.md | 63 + README_MODULO_PRESUPUESTO.md | 39 + UPDATE.md | 32 + asignar-admin.js | 81 + codigo_estados_http.md | 82 + docs/ManualUsuarioRol.odt | Bin 0 -> 838483 bytes docs/ManualUsuarioRol.pdf | Bin 0 -> 929953 bytes docs/Modelo_ER_Plantillas.png | Bin 0 -> 86441 bytes docs/arquitectura.png | Bin 0 -> 59629 bytes entrypoint.sh | 8 + index.js | 20 + jsconfig.json | 6 + .../pdf.js-viewer/pdf.worker.js | 51085 ++++++++++++++++ package.json | 74 + parches/config.parchar.json | 10 + parches/handlers/handler.js | 387 + parches/handlers/transforms.js | 22 + parches/parchar.js | 80 + prod.json | 12 + public/images/logo.svg | 854 + public/images/membrete.png | Bin 0 -> 111469 bytes public/qa/tests-global.js | 15 + public/vendor/chai.js | 6142 ++ public/vendor/mocha.css | 305 + public/vendor/mocha.js | 12710 ++++ recursos/open-sans.zip | Bin 0 -> 1215743 bytes seeder.sh | 3 + src/auth.js | 39 + src/bl/monitor/monitorBL.js | 90 + src/bl/plantillasFormly/catalogoBL.js | 222 + src/bl/plantillasFormly/documentoBL.js | 1835 + src/bl/plantillasFormly/firmadoBL.js | 49 + src/bl/plantillasFormly/plantillasBL.js | 46 + src/bl/seguridad/autorizacion.controller.js | 308 + src/bl/seguridad/autorizacion.dao.js | 73 + src/bl/seguridad/roles_menusBL.js | 80 + src/bl/seguridad/roles_rutasBL.js | 74 + src/bl/seguridad/usuarioBL.js | 371 + src/bl/seguridad/virtualBL.js | 75 + src/config/config.js.sample | 123 + src/config/config.json.sample | 42 + src/db.js | 87 + src/lib/FirmaPkcs11PdfLib.jar | Bin 0 -> 5326588 bytes src/lib/activos.js | 121 + src/lib/almacen.js | 131 + src/lib/archivos.js | 370 + src/lib/boot.js | 48 + src/lib/correo.js | 56 + src/lib/firma.js | 30 + src/lib/html_plantilla/anular.ejs | 16 + src/lib/html_plantilla/documento.ejs | 1323 + src/lib/html_plantilla/presupuesto.ejs | 86 + src/lib/logger.js | 37 + src/lib/middlewares.js | 293 + src/lib/notificacion.js | 279 + src/lib/util.js | 1385 + src/migrations/00000001-addEstadoHistorial.js | 8 + src/migrations/00000003-crearFirma.js | 39 + src/migrations/00000005-crearContacto.js | 66 + src/migrations/00000006-addMenu.js | 23 + src/migrations/00000006-crearVirtual.js | 47 + src/migrations/00000008-crearVirtualHis.js | 44 + src/migrations/00000009-crearCatalogo.js | 41 + .../00000010-crearCatalogoDocumento.js | 49 + .../00000011-crearCatalogoUsuario.js | 60 + src/migrations/00000012-addMenusCatalogo.js | 52 + src/models/monitoreo/monitor.js | 69 + src/models/notificacion/conf_notificacion.js | 80 + src/models/notificacion/notificacion.js | 55 + src/models/plantillasFormly/catalogo.js | 46 + .../plantillasFormly/catalogo_documento.js | 49 + .../plantillasFormly/catalogo_usuario.js | 62 + src/models/plantillasFormly/contacto.js | 79 + src/models/plantillasFormly/correlativo.js | 55 + src/models/plantillasFormly/documento.js | 138 + .../plantillasFormly/historial_flujo.js | 53 + .../plantillasFormly/plantilla_formly.js | 60 + src/models/presupuesto/partida.js | 91 + src/models/seguridad/auth.js | 41 + src/models/seguridad/auth_user.js | 109 + src/models/seguridad/firma.js | 39 + src/models/seguridad/menu.js | 118 + src/models/seguridad/rol.js | 62 + src/models/seguridad/rol_menu.js | 69 + src/models/seguridad/unidad.js | 50 + src/models/seguridad/usuario.js | 110 + src/models/seguridad/usuario_his.js | 83 + src/models/seguridad/usuario_rol.js | 65 + src/models/seguridad/virtual.js | 42 + src/models/seguridad/virtual_his.js | 47 + src/openid.js | 22 + src/routes/almacenActivos/activosRT.js | 101 + src/routes/almacenActivos/almacenRT.js | 51 + .../monitoreo/documentosUsuarioEstadoRT.js | 98 + src/routes/monitoreo/monitorRT.js | 642 + src/routes/monitoreo/pendientesRT.js | 81 + .../notificacion/conf_notificacionRT.js | 202 + src/routes/notificacion/notificacionRT.js | 4 + src/routes/plantillasFormly/catalogoRT.js | 224 + .../plantillasFormly/catalogo_documentoRT.js | 53 + .../plantillasFormly/catalogo_usuarioRT.js | 32 + src/routes/plantillasFormly/contactoRT.js | 487 + src/routes/plantillasFormly/correlativoRT.js | 3 + src/routes/plantillasFormly/documentoRT.js | 1475 + src/routes/plantillasFormly/firmadoRT.js | 411 + .../plantillasFormly/historial_flujoRT.js | 388 + .../plantillasFormly/plantilla_formlyRT.js | 608 + src/routes/presupuesto/comprometidoRT.js | 73 + src/routes/presupuesto/pagadoRT.js | 75 + src/routes/presupuesto/partidaRT.js | 187 + src/routes/presupuesto/resumenRT.js | 110 + src/routes/presupuesto/saldoRT.js | 253 + src/routes/reportes/reporteRT.js | 210 + src/routes/seguridad/auth_userRT.js | 3 + src/routes/seguridad/autorizacion.route.js | 12 + src/routes/seguridad/jwtokenRT.js | 342 + src/routes/seguridad/menuRT.js | 325 + src/routes/seguridad/rolRT.js | 371 + src/routes/seguridad/rol_menuRT.js | 254 + src/routes/seguridad/unidadRT.js | 161 + src/routes/seguridad/usuarioRT.js | 1271 + src/routes/seguridad/usuario_hisRT.js | 3 + src/routes/seguridad/usuario_rolRT.js | 3 + src/routes/seguridad/verificarRT.js | 197 + src/routes/seguridad/virtualRT.js | 422 + src/seeders/20160826175000-menu.js | 253 + .../20161201154022-plantilla_formly.js | 20 + src/seeders/20180713151500-unidad.js | 26 + src/seeders/20180713165556-rol.js | 89 + src/seeders/20180713182012-rol_menu.js | 127 + src/seeders/20201301101450-usuario.js | 33 + src/seeders/20203001526000-usuario_rol.js | 26 + src/views/pages/404.ejs | 43 + src/views/partials/footer.ejs | 4 + src/views/partials/head.ejs | 10 + src/views/partials/header.ejs | 19 + 144 files changed, 93526 insertions(+) create mode 100644 .babelrc create mode 100644 .eslintrc create mode 100644 .gitignore create mode 100644 CHANGELOG.md create mode 100644 Dockerfile create mode 100644 INSTALL.md create mode 100644 LICENCIA.md create mode 100644 LICENSE create mode 100644 README.md create mode 100644 README_MODULO_PRESUPUESTO.md create mode 100644 UPDATE.md create mode 100644 asignar-admin.js create mode 100644 codigo_estados_http.md create mode 100644 docs/ManualUsuarioRol.odt create mode 100644 docs/ManualUsuarioRol.pdf create mode 100644 docs/Modelo_ER_Plantillas.png create mode 100644 docs/arquitectura.png create mode 100644 entrypoint.sh create mode 100644 index.js create mode 100644 jsconfig.json create mode 100644 librerias_frontend_extra/pdf.js-viewer/pdf.worker.js create mode 100644 package.json create mode 100644 parches/config.parchar.json create mode 100644 parches/handlers/handler.js create mode 100644 parches/handlers/transforms.js create mode 100644 parches/parchar.js create mode 100644 prod.json create mode 100644 public/images/logo.svg create mode 100644 public/images/membrete.png create mode 100644 public/qa/tests-global.js create mode 100644 public/vendor/chai.js create mode 100644 public/vendor/mocha.css create mode 100644 public/vendor/mocha.js create mode 100644 recursos/open-sans.zip create mode 100644 seeder.sh create mode 100644 src/auth.js create mode 100644 src/bl/monitor/monitorBL.js create mode 100644 src/bl/plantillasFormly/catalogoBL.js create mode 100644 src/bl/plantillasFormly/documentoBL.js create mode 100644 src/bl/plantillasFormly/firmadoBL.js create mode 100644 src/bl/plantillasFormly/plantillasBL.js create mode 100644 src/bl/seguridad/autorizacion.controller.js create mode 100644 src/bl/seguridad/autorizacion.dao.js create mode 100644 src/bl/seguridad/roles_menusBL.js create mode 100644 src/bl/seguridad/roles_rutasBL.js create mode 100644 src/bl/seguridad/usuarioBL.js create mode 100644 src/bl/seguridad/virtualBL.js create mode 100644 src/config/config.js.sample create mode 100644 src/config/config.json.sample create mode 100644 src/db.js create mode 100644 src/lib/FirmaPkcs11PdfLib.jar create mode 100644 src/lib/activos.js create mode 100644 src/lib/almacen.js create mode 100644 src/lib/archivos.js create mode 100644 src/lib/boot.js create mode 100644 src/lib/correo.js create mode 100644 src/lib/firma.js create mode 100644 src/lib/html_plantilla/anular.ejs create mode 100644 src/lib/html_plantilla/documento.ejs create mode 100644 src/lib/html_plantilla/presupuesto.ejs create mode 100644 src/lib/logger.js create mode 100644 src/lib/middlewares.js create mode 100644 src/lib/notificacion.js create mode 100644 src/lib/util.js create mode 100644 src/migrations/00000001-addEstadoHistorial.js create mode 100644 src/migrations/00000003-crearFirma.js create mode 100644 src/migrations/00000005-crearContacto.js create mode 100644 src/migrations/00000006-addMenu.js create mode 100644 src/migrations/00000006-crearVirtual.js create mode 100644 src/migrations/00000008-crearVirtualHis.js create mode 100644 src/migrations/00000009-crearCatalogo.js create mode 100644 src/migrations/00000010-crearCatalogoDocumento.js create mode 100644 src/migrations/00000011-crearCatalogoUsuario.js create mode 100644 src/migrations/00000012-addMenusCatalogo.js create mode 100644 src/models/monitoreo/monitor.js create mode 100644 src/models/notificacion/conf_notificacion.js create mode 100644 src/models/notificacion/notificacion.js create mode 100644 src/models/plantillasFormly/catalogo.js create mode 100644 src/models/plantillasFormly/catalogo_documento.js create mode 100644 src/models/plantillasFormly/catalogo_usuario.js create mode 100644 src/models/plantillasFormly/contacto.js create mode 100644 src/models/plantillasFormly/correlativo.js create mode 100644 src/models/plantillasFormly/documento.js create mode 100644 src/models/plantillasFormly/historial_flujo.js create mode 100644 src/models/plantillasFormly/plantilla_formly.js create mode 100644 src/models/presupuesto/partida.js create mode 100644 src/models/seguridad/auth.js create mode 100644 src/models/seguridad/auth_user.js create mode 100644 src/models/seguridad/firma.js create mode 100644 src/models/seguridad/menu.js create mode 100644 src/models/seguridad/rol.js create mode 100644 src/models/seguridad/rol_menu.js create mode 100644 src/models/seguridad/unidad.js create mode 100644 src/models/seguridad/usuario.js create mode 100644 src/models/seguridad/usuario_his.js create mode 100644 src/models/seguridad/usuario_rol.js create mode 100644 src/models/seguridad/virtual.js create mode 100644 src/models/seguridad/virtual_his.js create mode 100644 src/openid.js create mode 100644 src/routes/almacenActivos/activosRT.js create mode 100644 src/routes/almacenActivos/almacenRT.js create mode 100644 src/routes/monitoreo/documentosUsuarioEstadoRT.js create mode 100644 src/routes/monitoreo/monitorRT.js create mode 100644 src/routes/monitoreo/pendientesRT.js create mode 100644 src/routes/notificacion/conf_notificacionRT.js create mode 100644 src/routes/notificacion/notificacionRT.js create mode 100644 src/routes/plantillasFormly/catalogoRT.js create mode 100644 src/routes/plantillasFormly/catalogo_documentoRT.js create mode 100644 src/routes/plantillasFormly/catalogo_usuarioRT.js create mode 100644 src/routes/plantillasFormly/contactoRT.js create mode 100644 src/routes/plantillasFormly/correlativoRT.js create mode 100644 src/routes/plantillasFormly/documentoRT.js create mode 100644 src/routes/plantillasFormly/firmadoRT.js create mode 100644 src/routes/plantillasFormly/historial_flujoRT.js create mode 100644 src/routes/plantillasFormly/plantilla_formlyRT.js create mode 100644 src/routes/presupuesto/comprometidoRT.js create mode 100644 src/routes/presupuesto/pagadoRT.js create mode 100644 src/routes/presupuesto/partidaRT.js create mode 100644 src/routes/presupuesto/resumenRT.js create mode 100644 src/routes/presupuesto/saldoRT.js create mode 100644 src/routes/reportes/reporteRT.js create mode 100644 src/routes/seguridad/auth_userRT.js create mode 100644 src/routes/seguridad/autorizacion.route.js create mode 100644 src/routes/seguridad/jwtokenRT.js create mode 100644 src/routes/seguridad/menuRT.js create mode 100644 src/routes/seguridad/rolRT.js create mode 100644 src/routes/seguridad/rol_menuRT.js create mode 100644 src/routes/seguridad/unidadRT.js create mode 100644 src/routes/seguridad/usuarioRT.js create mode 100644 src/routes/seguridad/usuario_hisRT.js create mode 100644 src/routes/seguridad/usuario_rolRT.js create mode 100644 src/routes/seguridad/verificarRT.js create mode 100644 src/routes/seguridad/virtualRT.js create mode 100644 src/seeders/20160826175000-menu.js create mode 100644 src/seeders/20161201154022-plantilla_formly.js create mode 100644 src/seeders/20180713151500-unidad.js create mode 100644 src/seeders/20180713165556-rol.js create mode 100644 src/seeders/20180713182012-rol_menu.js create mode 100644 src/seeders/20201301101450-usuario.js create mode 100644 src/seeders/20203001526000-usuario_rol.js create mode 100644 src/views/pages/404.ejs create mode 100644 src/views/partials/footer.ejs create mode 100644 src/views/partials/head.ejs create mode 100644 src/views/partials/header.ejs diff --git a/.babelrc b/.babelrc new file mode 100644 index 0000000..3ae039c --- /dev/null +++ b/.babelrc @@ -0,0 +1,3 @@ +{ + "presets":["latest"] +} diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 0000000..c84d74d --- /dev/null +++ b/.eslintrc @@ -0,0 +1,91 @@ +{ + "globals": { + "myModule": true + }, + "env": { + "es6": true + }, + "parserOptions": { + "ecmaVersion": 6, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true, + "generators": false, + "objectLiteralDuplicateProperties": false + } + }, + "rules": { + // enforces no braces where they can be omitted + // http://eslint.org/docs/rules/arrow-body-style + "arrow-body-style": [2, "as-needed"], + // require parens in arrow function arguments + "arrow-parens": 0, + // require space before/after arrow function"s arrow + // https://github.com/eslint/eslint/blob/master/docs/rules/arrow-spacing.md + "arrow-spacing": [2, { "before": true, "after": true }], + // require trailing commas in multiline object literals + "comma-dangle": [2, "always-multiline"], + // verify super() callings in constructors + "constructor-super": 0, + // enforce the spacing around the * in generator functions + "generator-star-spacing": 0, + // disallow modifying variables of class declarations + "no-class-assign": 0, + // disallow arrow functions where they could be confused with comparisons + // http://eslint.org/docs/rules/no-confusing-arrow + "no-confusing-arrow": [2, { + "allowParens": true, + }], + // disallow modifying variables that are declared using const + "no-const-assign": 2, + // disallow duplicate class members + // http://eslint.org/docs/rules/no-dupe-class-members + "no-dupe-class-members": 2, + // disallow importing from the same path more than once + // http://eslint.org/docs/rules/no-duplicate-imports + "no-duplicate-imports": 2, + // disallow symbol constructor + // http://eslint.org/docs/rules/no-new-symbol + "no-new-symbol": 2, + // disallow specific globals + "no-restricted-globals": 0, + // disallow specific imports + // http://eslint.org/docs/rules/no-restricted-imports + "no-restricted-imports": 0, + // disallow to use this/super before super() calling in constructors. + "no-this-before-super": 0, + // require let or const instead of var + "no-var": 2, + // disallow unnecessary constructor + // http://eslint.org/docs/rules/no-useless-constructor + "no-useless-constructor": 2, + // require method and property shorthand syntax for object literals + // https://github.com/eslint/eslint/blob/master/docs/rules/object-shorthand.md + "object-shorthand": [2, "always"], + // suggest using arrow functions as callbacks + "prefer-arrow-callback": 2, + // suggest using of const declaration for variables that are never modified after declared + "prefer-const": 2, + // suggest using the spread operator instead of .apply() + "prefer-spread": 0, + // suggest using Reflect methods where applicable + "prefer-reflect": 0, + // use rest parameters instead of arguments + // http://eslint.org/docs/rules/prefer-rest-params + "prefer-rest-params": 2, + // suggest using template literals instead of string concatenation + // http://eslint.org/docs/rules/prefer-template + "prefer-template": 2, + // disallow generator functions that do not have yield + "require-yield": 0, + // import sorting + // http://eslint.org/docs/rules/sort-imports + "sort-imports": 0, + // enforce usage of spacing in template strings + // http://eslint.org/docs/rules/template-curly-spacing + "template-curly-spacing": 2, + // enforce spacing around the * in yield* expressions + // http://eslint.org/docs/rules/yield-star-spacing + "yield-star-spacing": [2, "after"] + } +} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ba8a5a5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +logs/* +node_modules/ +public/informes/*.pdf +public/plantillas/*.pdf +public/documentos/*.pdf +public/externos/*.pdf +public/apidoc/*.* +public/apidoc/* +public/documentos/* +src/config/config.json +src/config/config.js +npm-debug.log +*.env +.jshintrc +.vscode +package-lock.json \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f65a9b5 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,2 @@ +# Registro de cambios +PLANTILLAS - Sistema de documentos administrativos diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f9cef0b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,88 @@ +FROM node:12.14.1-stretch-slim + +ARG TINI_VERSION=v0.19.0 + +LABEL maintainer="Carlos Remuzzi cremuzzi@agetic.gob.bo" +LABEL org.label-schema.description="Backend del sistema de plantillas de AGETIC" +LABEL org.label-schema.name="plantillas-backend" +LABEL org.label-schema.schema-version="1.0" +LABEL org.label-schema.vcs-ref=$GITLAB_SHA +LABEL org.label-schema.vcs-url="https://gitlab.softwarelibre.gob.bo/agetic/plantillas/plantillas-backend" +LABEL org.label-schema.vendor="AGETIC" + +ENV BACKEND_PUERTO=8000 \ + CITE_DIGITOS=5 \ + CITE_GUIA=ENTIDAD \ + CONFIG_JSON_PATH=/home/node/app/src/config/config.json.sample \ + CONFIG_JS_PATH=/home/node/app/src/config/config.js.sample \ + CORREO_HOST=localhost \ + CORREO_IGNORETLS=false \ + CORREO_ORIGEN=ejemplo@correo.gob.bo \ + CORREO_PUERTO=25 \ + CORREO_REMITENTE=Nombre-del-Remitente \ + CORREO_SECURE=false \ + CORREO_TLS_RECHAZAR=false \ + DB_HOST=plantillas_db \ + DB_NOMBRE=plantillas \ + DB_PASSWORD=plantillas \ + DB_PUERTO=5432 \ + DB_USUARIO=plantillas \ + DOCUMENTO_GET=false \ + HOST_BACKEND=0.0.0.0 \ + HOST_FRONTEND=0.0.0.0 \ + IDENTIFICADOR_DIRECCION_UNIDAD=2 \ + IDENTIFICADOR_DIRECTOR=2 \ + JWT_SECRET=esta-cadena-tiene-que-ser-modificada-en-produccion \ + JWT_SESSION=false \ + JWT_TIEMPO=60 \ + LDAP_BIND_DN=cn=admin,dc=entidad,dc=gob,dc=bo \ + LDAP_BIND_PASSWORD=admin \ + LDAP_SEARCHBASE=ou=usuarios,dc=entidad,dc=gob,dc=bo \ + LDAP_URL=ldaps://ldap.example.abc:1234 \ + NODE_ENV=production \ + NOTIFICACION_CORREO_TOKEN=correo-token \ + NOTIFICACION_CORREO_URL=http://192.168.1.2/correo \ + NOTIFICACION_SMS_TOKEN=sms-token \ + NOTIFICACION_SMS_URL=http://192.168.1.2/sms \ + RUTA_ARCHIVOS_EXTERNOS=./public/externos/ \ + RUTA_DOCUMENTOS=./public/documentos/ + +RUN apt-get update \ + && mkdir -p /usr/share/man/man1 \ + && apt-get install --no-install-recommends -y \ + build-essential \ + curl \ + openjdk-8-jre-headless \ + python \ + && npm install -g \ + pg \ + pg-hstore \ + sequelize \ + sequelize-cli \ + && curl -fsL https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini -o /usr/local/bin/tini \ + && chmod +x /usr/local/bin/tini \ + && mkdir /home/node/app \ + && chown -R node:node /home/node/app + +WORKDIR /home/node/app + +USER node + +COPY --chown=node:node package.json . +COPY --chown=node:node ./parches/ ./parches/ + +RUN npm i \ + && npm run parchar + +COPY --chown=node:node . . + +COPY entrypoint.sh /usr/local/bin/entrypoint.sh +COPY --chown=node:node seeder.sh /home/node/app/seeder.sh + +VOLUME ["/home/node/app/public"] + +EXPOSE 8000 + +ENTRYPOINT ["/usr/local/bin/tini","--","/usr/local/bin/entrypoint.sh"] + +CMD ["node","index.js"] diff --git a/INSTALL.md b/INSTALL.md new file mode 100644 index 0000000..c24548c --- /dev/null +++ b/INSTALL.md @@ -0,0 +1,377 @@ +.:: Plantillas Formly Backend ::. +================================================ + +A continuación se detalla la instalación de la aplicación desde cero. +El presente manual fue probado en un servidor con Debian 9. + + +# INSTALACIÓN DESDE CERO + +## 1. Instalación de paquetes mínimos + +```sh +sudo apt-get update +sudo apt-get install build-essential libssl-dev +sudo apt-get install curl +sudo apt-get install ca-certificates +sudo apt-get install libfontconfig1-dev libfreetype6-dev fontconfig +sudo apt-get install unzip +sudo apt-get install git +sudo apt-get install openjdk-8-jdk-headless +``` +Si no se cuenta con un servidor LDAP externo, para instalar realizar lo siguiente: +```sh +sudo apt -y install slapd ldap-utils +``` +Se puede verificar y validar la instalación con el siguiente comando, que desplega la estructura de la configuración. +```sh +sudo slapcat + +dn: dc=agetic,dc=gob,dc=bo +objectClass: top +objectClass: dcObject +objectClass: organization +o: agetic.gob.bo +dc: agetic +structuralObjectClass: organization +entryUUID: 71da7e0e-d7ac-1039-9bfa-61fe9051f214 +creatorsName: cn=admin,dc=agetic,dc=gob,dc=bo +createTimestamp: 20200130130159Z +entryCSN: 20200130130159.199740Z#000000#000#000000 +modifiersName: cn=admin,dc=agetic,dc=gob,dc=bo +modifyTimestamp: 20200130130159Z +.... +``` + +Configurar la estructura del sistema de acuerdo a su Entidad, revisar la documentación [OpenLdap](https://www.openldap.org). + +Se recomienta utilizar un cliente para la administración del ldap +- [Apache Directory](https://directory.apache.org/). +- [phpLdapAdmin](http://phpldapadmin.sourceforge.net/wiki/index.php/Main_Page). + +**Nota Importante: Se recomienda utilizar la versión última del LDAP, que específicamente incorpore el protocolo TLS versión 1.2, debido a que la versión de node 12.x no soporta versiones anteriores.** + +## 2. Instalación de PostgreSql +```sh +sudo apt-get install postgresql-9.6 +``` +Crear la base de datos +```sh +# Cambio al usuario root +sudo su + +# Acceso al usuario postgres +su postgres + +# Acceso a línea de comandos de postgres +psql +``` +Cambio de contraseña desde línea de comandos de postgres + +```sql +ALTER ROLE miUsuario PASSWORD 'miSuperPassword'; +``` +Reiniciar el servicio desde el usuario de la máquina virtual ([miUsuarioSistema]) +```sh +sudo /etc/init.d/postgresql restart +``` +Creando la base de datos +```sh +sudo su +su postgres +su psql +``` +```sql +CREATE DATABASE miBaseDeDatos OWNER miUsuario; +``` +Lista las bases de datos existentes, verificar si __miBaseDeDatos__ está en la lista. +```sql +\l +\q +``` + + +## 3. Instalación de Node, Node Version Manager NVM + +```sh +# Instalar nvm, via curl +curl https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash + +# Una vez finalizada REINICIAR la terminal para verificar la instalación +nvm --version +``` + +Instalación de Node v12.4.1 LTS +```sh +nvm install 12.14.1 +nvm use 12.14.1 + +# Verificar la instalación +node --version +``` +Instalación de dependencias globales para base de datos vía npm +```sh +npm i -g sequelize sequelize-cli +npm i -g pg pg-hstore +npm i -g apidoc +``` +## 4. Descargar el proyecto +```sh +git clone +cd +``` + +## 5. Instalación de la Fuente + +```sh +# Crear una nueva carpeta +sudo mkdir /usr/share/fonts/truetype/opensans +``` + +Copiar la fuente desde __recursos/open-sans.zip__ a __/usr/share/fonts/truetype/opensans__ + +```sh +sudo cp recursos/open-sans.zip /usr/share/fonts/truetype/opensans +cd /usr/share/fonts/truetype/opensans +sudo unzip open-sans.zip +cd - +``` + +## 6. Archivos de configuración + +```sh +# Archivo de configuración para la base de datos +cp src/config/config.json.sample src/config/config.json + +# Archivo de configuración para el sistema, conexion ldap, variables de sistema +cp src/config/config.js.sample src/config/config.js +``` + +## 7. Instalar dependencias e inicializar la db + +```sh +# Instalar las dependencias del proyecto +npm i + +# Modificar los sequelize handlers del proyecto +npm run parchar + +# Inicializar la base de datos y poblar la base de datos +npm run setup +``` + +## 8 Ejecución de la aplicación + +- Modo desarrollo + + ```sh + npm start + ``` + o si prefiere usar nodemon: + + ***Usando nodemon*** + ```sh + # Para este caso es necesario tener instalado nodemon de manera global + # npm i nodemon -g + npm run startdev + ``` + Para más información sobre [__NODEMON__](https://nodemon.io/) +- Modo producción + + ** Para este modo revise la configuración en src/config/config.json en la sección __production__ + ```sh + # Instalar pm2 + npm i -g pm2 + + # Iniciar el proyecto + pm2 start prod.json + + # Listar todas las aplicaciones en ejecución, ahi estará la aplicación plantillas-backend + pm2 list + + ``` + Configurar el autoinicio, solo la primera vez + ```sh + # Configurar el autoinicio + pm2 startup + + # Generara un comando Similar al siguiente + # [PM2] To setup the Startup Script, copy/paste the following command: + # sudo env PATH=$PATH:/home/miUsuario/.nvm/versions/node/v12.14.1/bin /home/miUsuario/.nvm/versions/node/v12.14.1/lib/node_modules/pm2/bin/pm2 startup systemd -u d3x --hp /home/miUsuario + + # Ejecutamos el comando que nos genero sudo env PATH=$PATH:/ho...... + # Luego ejecutamos, que guarda la lista de procesos + pm2 save + + ``` + + Para más información sobre [__PM2__](https://pm2.keymetrics.io/) + + +## Modalidad de autenticación. + +La autenticación se puede configurar de tres formas diferentes: + + a. Haciendo uso sólamente de la autenticación del sistema. + b. Haciendo uso del servicio de autenticación LDAP. + c. Haciendo uso del servicio de autenticación de Ciudadanía Digital. + +Las tres opciones son excluyentes. + +### a. Haciendo uso sólamente de la autenticación del sistema. +Para esto se puede dejar el código tal cual está. Sin embargo, se recomienda eliminar en el archivo ***/src/routes/seguridad/jwtokenRT.js*** las líneas 228 a la 233, que si bien son líneas comentadas, una vez en producción no serán de utilidad. + +### b. Haciendo uso del servicio de autenticación LDAP. +Para poder usar esta configuración, se debe realizar lo siguiente: + +> Editar el archivo ***/src/routes/seguridad/jwtokenRT.js***, en el segmento de cógido (líneas 228-237) que contiene lo siguiente : + +```sh +228 // La siguiente línea trabaja con LDAP, realiza una autenticación con el servidor LDAP y si el usuario no existe en el sistema, lo adiciona a partir de la información +229 // del servidor LDAP. Descomentar la línea y comentar app.post("/autenticar", (req,res) => { +230 // app.post("/autenticar", interceptar, (req,res) => { +231 +232 // La siguiente línea trabaja directamente con el sistema, es una autenticación directa con la base de datos del sistema. Funcionará si la línea app.post("/autenticar", interceptar, (req,res) => { +233 // está comentada. +234 app.post("/autenticar", (req,res) => { +235 xautenticacion(req, res, 1); +236 }); +237 +``` +> Tal como lo explican los comentarios, se debe descomentar la línea 230 y en su lugar comentar la línea 234. Para la puesta en producción, se deben eliminar las líneas 228, 229, 231, 232, 233 y 234. Quedando así, el siguiente segmento de código: + +``` sh +app.post("/autenticar", interceptar, (req,res) => { + xautenticacion(req, res, 1); +}); +``` +Se requiere de la configuración de LDAP, que ya fue explicada en este archivo. +### c. Haciendo uso del servicio de autenticación de Ciudadanía Digital. + +Para esta opción, en el archivo ***/src/routes/seguridad/jwtokenRT.js***, eliminar las líneas 40 a la 251. Es decir, todo lo referente a la ruta de "/autenticar". Es importante eliminar estas líneas, para la seguridad y el correcto funcionamiento del sistema. + +Requiere de la configuración de LDAP, que ya fue explicada en este archivo. + + +## Usuarios de prueba + +Con el propósito de realizar pruebas, con la ejecución los seeders, se está habilitando el usuario ***sys_default***, con el rol de ADMIN para que dicho usuario pueda realizar la configuración general del sistema, como por ejemplo el alta a otros usuarios con rol admin y demás. + +Para el modo LDAP o Ciudadanía Digital es necesario que se cuente con un usuario LDAP habilitado para el usuario por defecto, donde se pide que el nombre de usuario sea: sys_default y la contraseña por defecto: Developer. + +A continuación el ejemplo de la configuración del usuario sería de la siguiente manera: +```sh +dn: uid=sys_default,ou=usuarios,dc=nodomain +objectClass: top +objectClass: inetOrgPerson +uid: sys_default +structuralObjectClass: inetOrgPerson +entryUUID: 1afa454c-d7e3-1039-9933-b525709c0f84 +creatorsName: cn=admin,dc=nodomain +createTimestamp: 20200130193315Z +userPassword:: e01ENX1aeXl2Si9VMlBjZ3p2YVVKbDNYb2tRPT0= +cn: Sys +sn: Default +description: Usuario por defecto del sistema +employeeNumber: 1 +employeeType: ninguno +givenName: Sys +mail: sys@local.com +o: ENTIDAD +ou: UNIDAD +registeredAddress: sys@local.com +telephoneNumber: 000000 +title: CARGO +entryCSN: 20200130194031.077493Z#000000#000#000000 +modifiersName: cn=admin,dc=nodomain +modifyTimestamp: 20200130194031Z +``` +**NOTA IMPORTANTE:** Luego de realizar las pruebas necesarias se recomienda dar de baja al usuario respectivo. + + +#### * Extra + +- Si se presenta algun error relacionado con el uso de "libfontconfig0" por parte de phantom.js, instalar el mismo con: + ```sh + sudo apt-get install libfontconfig1-dev + ``` + +- Si se presenta el error "Can't find Python executable python", instalar python con: + ```sh + sudo apt-get install python + ``` + +- En la carpeta /public/images reemplazar las imágenes logo.svg, membrete.png a usar de manera predeterminada. + + - membrete.png ancho: 574 píxeles, alto: 801 píxeles + - logo.svg ancho: 200 píxeles, alto: 80 píxeles + + +# INSTALACIÓN CON DOCKER + +## Compilación + +Puedes hacer una compilación rápida de la imagen con el comando: + +```sh +docker build -t plantillas-backend . +``` + +## Uso de la imagen + +La imagen necesita minimamente las siguientes variables de entorno: + +* `DB_HOST` : nombre de host o ip de la base dato postgres +* `DB_NOMBRE` : nombre de la base datos postgres +* `DB_PASSWORD` : password de la base dato postgres +* `DB_PUERTO` : puerto de la base dato postgres +* `DB_USUARIO` : usuario de la base dato postgres + +y expone adentro del contenedor el puerto **8000**. + +Por ejemplo puedes levantar una instancia del backend con el siguiente comando: + +```sh +docker run \ + --name plantillas_backend \ + -e DB_HOST=1.2.3.4 \ + -e DB_NOMBRE=plantillas \ + -e DB_PASSWORD=plantillas \ + -e DB_PUERTO=5432 \ + -e DB_USUARIO=plantillas \ + -p 5001:8000 \ + plantillas-backend +``` + +en este ejemplo estamos asumiendo que nuestra base dato postgres se encuentra disponible sobre la ip **1.2.3.4** y puerto **5432** y estamos exponiendo el puerto **5001** desde el puerto interno 8000. Una vez ejecutado el comando, podrás consumir el backend de plantillas desde la url http://127.0.0.1:5001 en el caso estes en el mismo host. + +despues del primer arranque es necesario inicializar la base de datos con el siguiente comando: + +```sh +docker exec plantillas_backend sh seeder.sh +``` + +## Persistencia de datos + +El sistema plantillas-backend dockerizado genera y almacena documentos pdf en su propio filesystem efimero bajo la ruta: + +`/home/node/app/public` + +Para garantizar la persistencia de los documentos es suficiente crear y montar un volumen docker externo conectado a esta ruta, +por ejemplo con los comandos: + +```sh +docker volume create plantillas-documentos + +docker run \ + --name plantillas_backend \ + -e DB_HOST=1.2.3.4 \ + -e DB_NOMBRE=plantillas \ + -e DB_PASSWORD=plantillas \ + -e DB_PUERTO=5432 \ + -e DB_USUARIO=plantillas \ + -p 5001:80 \ + -v plantillas-documentos:/home/node/app/public \ + plantillas-backend +``` + diff --git a/LICENCIA.md b/LICENCIA.md new file mode 100644 index 0000000..e370580 --- /dev/null +++ b/LICENCIA.md @@ -0,0 +1,651 @@ + Agencia para el Desarrollo de la Sociedad de la Información en Bolivia + + LICENCIA PÚBLICA GENERAL + de Consideraciones y Registro de Software Libre en Bolivia (LPG-Bolivia) + + Versión 1, 13 de mayo de 2014. + + Introducción + +Esta licencia está basada en la Licencia Pública General GNU (GNU GPL) de la +Fundación para el Software Libre (www.fsf.org), la cual ha sido adaptada por la +Agencia para el Desarrollo de la Sociedad de la Información en Bolivia (ADSIB) +a la normativa legal vigente en Bolivia, enmarcada en la Ley General de +Telecomunicaciones, Tecnologías de Información y Comunicación, Ley No. 164 de 8 +de agosto de 2011 y el Reglamento para el Desarrollo de Tecnologías de +Información y Comunicación aprobado por el Decreto Supremo No. 1793 de 13 de +noviembre de 2013. + +Ésta no constituye una traducción oficial de la GNU GPL al español. No ha sido +publicada por la Fundación para el Software Libre, y no establece legalmente +las condiciones de distribución para el software que usa la GNU GPL –estas +condiciones se establecen solamente por el texto original de la GNU GPL de la +Fundación para el Software Libre (www.fsf.org). + +Esta licencia se aplica conforme a la legislación vigente y en orden de +prelación normativa dando prioridad a lo normativa superior y sin vulnerar +cualquier derecho consagrado por la Constitución y las Leyes del Estado +Plurinacional de Bolivia. + +Esta licencia se basa en la traducción elaborada por Gonzalo Abella, Javier +Aguirre, Héctor J. Macho Borja Menéndez, Javier Moset, Ángel Torrado. + + Preámbulo + +La Licencia Pública General Bolivia (LPG - Bolivia) es una licencia libre para +software y otro tipo de obras. + +Las licencias para la mayoría del software y otras obras de carácter práctico +están diseñadas para privarle de la libertad de compartir y modificar las +obras. Por el contrario, esta Licencia Pública General pretende garantizar su +libertad de compartir y modificar todas las versiones de un programa –para +cerciorar que permanece como software libre para todos sus usuarios. + +Cuando hablamos de software libre, nos referimos a libertad de acción, no de +precio. La LPG - Bolivia está diseñada para garantizar la libertad de +distribuir copias de software libre (y cobrar por ello si quiere), de recibir +el código fuente o poder conseguirlo si así lo desea, de modificar el software +o usar parte del mismo en nuevos programas libres, y a saber que puede hacer +estas cosas. + +Para proteger sus derechos, necesitamos evitar que otros le nieguen esos +derechos o le pidan renunciar a ellos. Por lo tanto, usted tiene ciertas +responsabilidades cuando distribuye copias del software, o si lo modifica: +responsabilidades que persiguen respetar la libertad de otros. + +Si distribuye copias de un programa, bien sea gratis o por una tasa, debe +transferirles a los que lo reciban las mismas libertades que usted recibió. +Debe asegurarse que ellos, también, reciben o pueden obtener el código fuente. +Y debe mostrarles estos términos para que ellos puedan conocer sus derechos. + +Los desarrolladores que usan la LPG-Bolivia protegen tus derechos con dos +pasos: (1) haciendo valer el derecho de propiedad intelectual en el software y +(2) le ofrecen esta Licencia que le da el permiso legal para copiarlo, +distribuirlo y/o modificarlo. + +Para la protección de autores y desarrolladores, la LPG-Bolivia explica +claramente que no hay garantía para este software libre. Por el bien de +usuarios como de autores o titulares, la LPG-Bolivia establece que las +versiones modificadas sean identificadas como tales, de forma que sus problemas +no puedan ser atribuidos de forma errónea a autores de versiones previas. + +Algunos dispositivos están diseñados para denegar a los usuarios el acceso a +instalar o ejecutar versiones modificadas del software en su interior, a pesar +de que el fabricante puede hacerlo. Esto es fundamentalmente incompatible con +el objetivo de proteger la libertad de los usuarios de modificar el software. +Este tipo de abuso sistemático ocurre en el ámbito de los productos de uso +personal, que es precisamente donde es más inaceptable. Por consiguiente, hemos +diseñado esta versión de la LPG-Bolivia para prohibir estas prácticas en esos +productos. + +Finalmente, todo programa está constantemente amenazado por las patentes de +software. El Estado buscará los medios mas idóneos para evitar el especial +peligro que suponen las patentes, que aplicadas a un programa libre puedan +hacerlo propietario en la práctica. Para prevenir eso, la LPG-Bolivia establece +que las patentes no pueden usarse para convertir un programa en no-libre. + +Los términos exactos y las condiciones para la copia, distribución y +modificación se exponen a continuación. + + Términos y Condiciones + +0. Definiciones + +“Licencia” se refiere a la Licencia Pública General Bolivia (LPG-Bolivia) +"Copyright", “Derechos de Autor (“Copyright”)” incluye a las leyes similares a +la de derechos de autor (“copyright”) que se apliquen a otro tipo de obras. + +“El Programa” se refiere a cualquier obra con derechos de autor bajo esta +Licencia. Cada “licenciatario” o “destinatario” es tratado como “usted”. Los +“licenciatarios”, y los “destinatarios” pueden ser individuos u organizaciones. + +“Modificar” una obra quiere decir copiar o adaptar parte o la totalidad de la +obra de una forma que se requieran permisos de derechos de autor (“copyright”), +distintos de los de hacer una copia exacta. La obra resultante es llamada +“versión modificada” de la obra previa o una obra “basada en” la obra previa. + +“Obra amparada” significa o el Programa sin modificar o una obra basada en el +Programa. + +"Difundir" una obra significa hacer cualquier cosa con él que, sin permiso, le +haga directa o indirectamente responsable de infringir leyes de derechos de +autor (“copyright”), excepto la ejecución en un ordenador o la modificación de +una copia privada. La difusión incluye la copia, distribución (con o sin +modificaciones) y publicación. + +"Transmitir" una obra quiere decir cualquier tipo de difusión que permita a +otras partes hacer o recibir copias. La mera interacción con un usuario a +través de una red informática, sin transferir una copia, no es transmitir. + +Una interfaz interactiva de usuario muestra “Avisos Legales Apropiados” en la +medida que incluye una característica visible, práctica y destacada que (1) +muestra un aviso apropiado de derechos de autor (“copyright”), y (2) informa al +usuario de que no hay garantía para la obra (excepto las garantías +proporcionadas), que los licenciatarios deben transmitir la obra bajo esta +Licencia, y cómo ver una copia de esta Licencia. Si la interfaz presenta una +lista de comandos de usuario u opciones, como un menú, un elemento destacado en +la lista satisface este criterio. + +1. Código Fuente + +El "código fuente" de una obra es el formato preferido de la misma para +realizar modificaciones sobre ella. "Código objeto" se refiere a cualquier +formato de la obra que no sea código fuente. + +Una "Interfaz Estándar" se refiere a una interfaz que sea un estándar oficial +definido por una institución de estándares reconocida, o bien, en el caso de +interfaces específicas para un determinado lenguaje de programación, una cuyo +uso esté generalizado entre los desarrolladores que trabajan con ese lenguaje. + +Las “Bibliotecas del Sistema” de una obra ejecutable incluyen cualquier cosa, +diferente de la obra como un todo, que (a) está incluida en la forma normal de +empaquetado de un Componente Importante, pero que no forme parte de ese +Componente Importante, y (b) sirve solo para habilitar el uso de la obra con +ese Componente Importante, o para implementar una Interfaz Estándar para la +cual una implementación está disponible para el público en forma de código +fuente. Un “Componente Importante”, en este contexto, significa un componente +importante esencial (kernel, sistema de ventanas, etcétera) del sistema +operativo en concreto (si hubiese) en el cual el ejecutable funciona o un +compilador utilizado para producir la obra, o un intérprete de código objeto +utilizado para hacerla funcionar. + +La “Fuente Correspondiente” de una obra en forma de código objeto significa +todo el código fuente necesario para generar, instalar, y (para una obra +ejecutable) hacer funcionar el código objeto y modificar la obra, incluyendo +los scripts o guiones o archivos de órdenes para controlar dichas actividades. +Sin embargo, ello no incluye la obra de las Bibliotecas del Sistema o +herramientas de propósito general o programas de libre disponibilidad general, +los cuales son usados sin modificaciones para la realización de dichas +actividades, pero que no son parte de la obra. Por ejemplo, la Fuente +Correspondiente incluye ficheros de definición de interfaces asociados a los +ficheros fuente para la obra, y el código fuente para bibliotecas compartidas y +subprogramas enlazados dinámicamente que la obra requiere específicamente por +diseño, tales como la comunicación de datos intrínseca o flujo de control entre +aquellos subprogramas y otras partes de la obra. + +La Fuente Correspondiente no incluye necesariamente aquello que los usuarios +pueden regenerar automáticamente a partir de otras partes de la Fuente +Correspondiente. + +La Fuente Correspondiente de una obra en forma de código fuente es la obra en +sí. + +2. Permisos Básicos + +Todos los derechos concedidos bajo esta Licencia se conceden durante la +duración de los derechos de autor (“copyright”) del Programa, y son +irrevocables siempre que se cumplan las condiciones establecidas. Esta Licencia +afirma explícitamente su permiso ilimitado para ejecutar el Programa sin +modificar. El resultado de la ejecución de una obra amparada está cubierta por +esta Licencia solo si el mismo, dado su contenido, constituye una obra +amparada. Esta Licencia reconoce sus derechos de uso razonable u otro +equivalente, según lo establecido por la ley de derechos de autor +(“copyright”). + +Usted podrá realizar, ejecutar y difundir obras amparadas que usted no +transmita sin condición alguna, siempre y cuando la Licencia vigente no +establezca otra cosa. Podrá transmitir obras amparadas a terceros con el único +propósito de que ellos hagan modificaciones exclusivamente para usted, o +proporcionarle ayuda para ejecutar estas obras, siempre y cuando cumpla con los +términos de esta Licencia en la transmisión de todo el material del cual usted +no controle los derechos de autor (“copyright”). Aquellos que realicen o +ejecuten las obras amparadas para usted, deben hacerlo exclusivamente en su +nombre, bajo su dirección y control, en términos que prohiban realizar ninguna +copia de su materia registrado bajo derechos de autor (“copyright”) fuera de la +relación con usted. + +La transmisión bajo otras circunstancias se permite únicamente bajo las +condiciones establecidas más abajo. No está permitido sublicenciar; la claúsula +10 lo hace innecesario. + +3. Protección de Derechos Legales de los Usuarios Frente a Leyes Anti-Evación. + +Ninguna obra amparada debe considerarse parte de una medida tecnológica +efectiva, a tenor de lo establecido en cualquier ley aplicable que cumpla las +obligaciones establecidas en el artículo 11 del tratado de derechos de autor +(“copyright”) de WIPO adoptado el 20 de diciembre de 1996, por el hoy Estado +Plurinacional de Bolivia o leyes similares que prohíban o restrinjan la evasión +de tales medidas. + +Cuando transmita una obra amparada, renuncia a cualquier poder legal para +prohibir la evasión de medidas tecnológicas, mientras tales evasiones se +realicen en ejercicio de derechos amparados por esta Licencia respecto a la +obra amparada; además, usted renuncia a cualquier intención de limitar el uso o +modificación de la obra con el objetivo de imponer, en contra de los usuarios +de la obra, sus derechos legales o los de terceros para prohibir la evasión de +medidas tecnológicas. + +4. Transmisión de Copias Literales + +Usted podrá transmitir copias literales del código fuente del Programa tal cual +lo ha recibido, por cualquier medio, siempre que publique visible y +apropiadamente en cada copia el correspondiente aviso de derechos de autor +(“copyright”); mantenga intactos todos los avisos que establezcan que esta +Licencia y cualquier cláusula no-permisiva añadida acorde con la cláusula 7 +aplicables al código; mantenga intactos todos los avisos de ausencia de +garantía; y proporcione a todos los destinatarios una copia de esta Licencia +junto con el Programa. + +Usted podrá cobrar cualquier importe o no cobrar nada por cada copia que +transmita y podrá ofrecer soporte o protección de garantía mediante un pago. + +5. Transmisión de Versiones Modificadas del Código + +Usted puede transmitir una obra basada en el Programa, o las modificaciones +para generarla a partir del Programa, en la forma de código fuente bajo los +términos de la sección 4, siempre que cumpla además todas las condiciones +siguientes: + +a) La obra debe incluir avisos destacados indicando que usted la ha modificado +y dando una fecha pertinente. + +b) La obra debe incluir avisos destacados indicando que está liberada o +publicada bajo esta Licencia y cualquier otra condición añadida bajo la sección +7. Este requerimiento modifica los requerimientos de la sección 4 de “mantener +intactos todos los avisos”. + +c) Usted debe licenciar la obra entera, como un todo, bajo esta Licencia para +cualquier persona que esté en posesión de una copia. Esta Licencia se aplicará +por consiguiente junto con cualquier término adicional aplicable bajo la +sección 7, a la totalidad de la obra y a todos sus componentes, +independientemente de como estén empaquetados. Esta Licencia no autoriza a +licenciar la obra de otra forma, pero no invalida esos permisos si usted los ha +recibido de forma separada. + +d) Si la obra tiene interfaces de usuario interactivas, cada una debe mostrar +los Avisos Legales Apropiados; sin embargo, si el Programa tiene interfaces +interactivas que no muestran los Avisos Legales Apropiados, tampoco es +necesario que su obra lo haga. + +Una recopilación de una obra amparada con otras obras separadas e +independientes, que no son por su naturaleza extensiones de la obra amparada, y +que no se combinan con ella con el fin de formar un programa más grande, en o +sobre un volumen de un medio de almacenamiento o distribución, es llamado un +“agregado” si la recopilación y sus resultantes derechos de autor (“copyright”) +no son usados para limitar el acceso o los derechos legales de los usuarios de +la recopilación más allá de lo que las obras individuales permitan. La +inclusión de una obra amparada en un agregado no provoca que esta Licencia se +aplique a los otros componentes del agregado. + +6. Transmisión de Código No-Fuente + +Usted podrá transmitir el código objeto de una obra amparada en virtud de los +términos de las cláusulas 4 y 5, siempre que también transmita las Fuentes +Correspondientes en código legible por máquina, de acuerdo con los términos +establecidos en esta Licencia, de alguna de las siguientes maneras: + +a) Transmitir el código objeto en, o embebido en, un producto físico +(incluyendo medios de distribución físicos), acompañado de las Fuentes +Correspondientes en un medio físico duradero y que sea utilizado habitualmente +para el intercambio de software. + +b) Transmitir el código objeto en, o embebido en, un producto físico +(incluyendo medios de distribución físicos), acompañado de una oferta por +escrito, válido durante al menos tres años y válido mientras usted ofrezca +recambios o soporte para ese modelo de producto, de dar a cualquiera que posea +el código objeto bien (1) una copia de las Fuentes Correspondientes a todo el +software del producto que esté cubierto por esta Licencia, en un medio físico +duradero habitual para el intercambio de software, a un precio razonable, +directamente relacionado al costo de efectuar la transmisión física de la +Fuente Correspondiente, o (2) acceso para copiar la Fuente Correspondiente de +un servidor de red sin costo alguno. + +c) Transmitir copias individuales del código objeto junto con una copia del +ofrecimiento escrito de proveer la Fuente Correspondiente. Esta alternativa +sólo está permitida ocasionalmente y sin fines comerciales, y solamente si +usted recibió el código objeto junto con una oferta parecida, de acuerdo con la +subcláusula 6b. + +d) Transmitir el código objeto ofreciendo acceso desde un lugar determinado +(gratuitamente o mediante pago) y ofrecer acceso equivalente a la Fuente +Correspondiente de la misma manera en el mismo lugar sin cargo adicional. No es +necesario exigir a los destinatarios que copien la Fuente Correspondiente junto +con el código objeto. Si el lugar para copiar el código objeto es un servidor +de red, la Fuente Correspondiente puede estar en un servidor diferente +(gestionado por usted o un tercero) que ofrezca facilidades de copia +equivalentes, siempre que mantenga instrucciones claras junto al código objeto +especificando dónde encontrar la Fuente Correspondiente. Independientemente de +qué servidor albergue la Fuente Correspondiente, usted seguirá estando obligado +a asegurar que está disponible durante el tiempo que sea necesario para +satisfacer estos requisitos. + +e) Transmitir el código mediante transferencias de red entre pares o usuarios +(peer-to-peer), siempre que informe a los otros pares o usuarios dónde se +ofrece el código objeto y la Fuente Correspondiente de la obra al público +general de forma gratuita bajo la subsección 6d. + +Una porción separable del código objeto, cuyo código fuente está excluido de la +Fuente Correspondiente como una Biblioteca del Sistema, no necesita ser +incluida en la transmisión del código objeto de la obra. + +Un “Producto de Usuario” es o (1) un “producto de consumo”, lo que significa +cualquier propiedad tangible personal que es usada habitualmente con fines +personales, familiares o domésticos, o (2) cualquier cosa diseñada o vendida +para ser incorporada en una vivienda. Al determinar si un producto es un +producto de consumo, los casos dudosos serán resueltos en favor de la +cobertura. Para un producto concreto recibido por un usuario concreto, “uso +habitual” se refiere a un uso típico o común de esa clase de producto, sin +tener en cuenta la situación del usuario concreto o la forma en la que el +usuario concreto realmente use, o espera o se espera que use, el producto. Un +producto es un producto de consumo independientemente de si el producto tiene +usos esencialmente comerciales, industriales o distintos del consumo, a menos +que dichos usos constituyan el único modo de uso significativo del producto. + +Las "Instrucciones de Instalación" para un Producto de Usuario se refieren a +cualquier método, procedimiento, clave de autorización u otro tipo de +información necesaria para instalar y ejecutar una versión modificada de una +obra amparada en ese Producto de Usuario, a partir de una versión modificada de +su Fuente Correspondiente. Las instrucciones deben ser suficientes para +asegurar que el funcionamiento continuo del código objeto modificado no es +evitado, condicionado o interferido por el hecho de haber sufrido tal +modificación. + +Si transmite el código objeto de una obra en o con un Producto de Usuario o +específicamente para ser usado en el mismo, y la transmisión forma parte de una +transacción donde los derechos de posesión y uso del Producto de Usuario se +transfieren al destinatario a perpetuidad o por un periodo establecido +(independientemente de las características de la transacción), la Fuente +Correspondiente transmitida bajo esta sección debe estar acompañada de las +Instrucciones de Instalación. Pero este requisito no se aplica si ni usted ni +ningún tercero tiene la capacidad de instalar código objeto modificado en el +Producto de Usuario. + +El requisito de proveer de las Instrucciones de Instalación no incluye la +necesidad de continuar proporcionando asistencia, garantía o actualizaciones +para una obra que ha sido modificada o instalada por el destinatario, o para el +Producto de Usuario en el cual ha sido modificada o instalada. El acceso a una +red puede ser denegado cuando la modificación en sí afecta materialmente y +adversamente el funcionamiento de la red o viola las reglas y protocolos de +comunicación de la red. + +Las Fuentes Correspondientes transmitidas y las Instrucciones de Instalación +proporcionadas de acuerdo con esta sección deben figurar en un formato +documentado públicamente (y con una implementación disponible para el público +en forma de código fuente), y no deben necesitar contraseñas o claves de acceso +especiales para la extracción, lectura o copia. + +7. Condiciones adicionales + +Los “Permisos adicionales” son condiciones que complementan los términos de +esta Licencia haciendo excepciones de una o más de una de sus condiciones. Los +permisos adicionales que son aplicables al Programa entero deberán ser tratados +como si estuvieran incluidos en esta Licencia, hasta los límites de validez +impuestos por las leyes aplicables. Si los permisos adicionales sólo son +aplicables a parte del Programa, esa parte debe ser usada por separado bajo +esos permisos, pero el Programa completo queda bajo la autoridad de esta +Licencia sin considerar los permisos adicionales. + +Cuando transmita una copia de una obra amparada, puede opcionalmente quitar +cualesquiera permisos adicionales de esa copia, o de cualquier parte de ella. +(Los permisos adicionales pueden ser escritos para requerir su propia +eliminación bajo ciertos casos cuando se modifica la obra.) Puede incorporar +permisos adicionales a material añadido por usted a una obra amparada, sobre el +cual usted tiene o puede establecer los permisos de derechos de autor +(“copyright”) correspondientes. + +Sin contravenir cualquier otra disposición de esta Licencia, para el material +que añada a una obra cubierta por la misma, usted puede (si está autorizado por +los titulares de los derechos de autor (“copyright”) del material) complementar +los términos de esta Licencia en los siguientes términos: + +a) Declarando la ausencia de garantía o limitación de responsabilidad en forma +diferente a la de los términos establecidos en las cláusulas 14 y 15 de esta +Licencia; u + +b) Requiriendo la obligación de mantener determinados avisos legales razonables +o atribuciones de autoría en el material o en los Avisos Legales Apropiados +mostrados por las obras que lo contengan. + +c) Prohibir la tergiversación del origen del material o requerir que las +versiones modificadas del material se señalen de manera razonable como +diferentes de la versión original; o + +d) Limitar la utilización de los nombres de los autores o licenciantes del +material con fines publicitarios o comerciales; o + +e) Negarse a ofrecer derechos bajo leyes de registro para el uso de algunos +nombres comerciales, marcas registradas o marcas de servicio; o + +f) Exigir la compensación de los licenciantes y autores de ese material por +cualquiera que distribuya el material (o versiones modificadas del mismo) +estableciendo obligaciones contractuales de responsabilidad sobre el +destinatario, por cualquier responsabilidad que estas obligaciones +contractuales impongan directamente sobre los licenciantes y autores. + +Cualesquiera otras condiciones adicionales no-permisivas son consideradas +"restricciones adicionales" en el contexto de la cláusula 10. Si el Programa, +tal cual lo recibió, o cualquier parte del mismo, contiene un aviso indicando +que está amparado por esta Licencia junto a una cláusula de restricción +adicional, usted podrá suprimir esa cláusula. Si un documento de licencia +contiene una restricción de este tipo pero permite modificar la Licencia o la +transmisión de la obra en virtud de la presente Licencia, puede añadir material +regido por esa licencia a una obra amparada, siempre que dicha restricción no +se mantenga tras la modificación de la licencia o la transmisión. + +Si se añaden términos a una obra amparada de acuerdo con los términos de esta +sección, debe colocar, en los archivos fuente involucrados, una declaración de +los términos adicionales aplicables a esos archivos, o un aviso indicando donde +encontrar los términos aplicables. + +Las condiciones adicionales, permisivas o no, deben aparecer por escrito como +licencias separadas o figurar como excepciones; de todas formas, los requisitos +anteriores se aplican igualmente. + +8. Cancelación + +Usted no podrá difundir o modificar una obra amparada salvo lo expresamente +permitido por esta Licencia. Cualquier intento diferente de difusión o +modificación será considerado nulo y automáticamente cancelará sus derechos +respecto a esta Licencia (incluyendo cualquier patente conseguida según el +párrafo tercero de la cláusula 11). + +Sin embargo, si usted deja de violar esta Licencia, entonces su Licencia desde +el titular de los derechos de autor (“copyright”) correspondiente será +restituida (a) provisionalmente, a menos que y hasta que el titular de los +derechos de autor (“copyright”) explícita y permanentemente de por cancelada su +licencia, y (b) permanentemente, si el titular del derecho de autor no le ha +notificado su violación por algún medio razonable antes de los 60 días +siguientes a la cesación. + +Además, su Licencia de un titular de los derechos de autor (“copyright”) +correspondientes será restituida permanentemente si el titular de los derechos +de autor (“copyright”) le notifica la violación por algún medio razonable, +siendo ésta la primera vez que recibe la notificación de violación de esta +Licencia (para cualquier obra) de ese titular de los derechos de autor +(“copyright”), y usted subsana la violación antes de 30 días después de la +recepción de la notificación. + +La cancelación de sus derechos bajo esta sección no da por canceladas las +licencias de terceros que hayan recibido copias o derechos de usted bajo esta +Licencia. Si sus derechos han sido cancelados y no fueran renovados de manera +permanente, usted no cumple los requisitos para recibir nuevas licencias para +el mismo material bajo la sección 10. + +9. Aceptación por Tenencia de Copias. + +No está obligado a aceptar esta Licencia por recibir o ejecutar una copia del +Programa. La difusión de una obra amparada surgida simplemente como +consecuencia de la transferencias de red entre pares o usuarios (peer-to-peer) +para obtener una copia tampoco requiere aceptación. Sin embargo, únicamente +esta Licencia le otorga permiso para difundir o modificar cualquier obra +amparada. Estas acciones infringen los derechos de autor (“copyright”) si usted +no acepta esta Licencia. Por lo tanto, al modificar o difundir una obra +amparada, usted indica que acepta esta Licencia para hacerlo. + +10. Licencia Automática para Destinatarios Subsiguientes + +Cada vez que transmita una obra amparada, el destinatario recibirá +automáticamente una Licencia desde los licenciadores originales, para ejecutar, +modificar y difundir esa obra, al amparo de los términos de esta Licencia. +Usted no será responsable de asegurar el cumplimiento por terceros de esta +Licencia. + +Una “transacción de entidad” es una transacción que transfiere el control de +una organización, o sustancialmente todos los bienes de una, o subdivide una +organización, o fusiona organizaciones. Si la difusión de una obra amparada +surge de una transacción de entidad, cada parte involucrada en esa transacción +que reciba una copia de la obra, también recibe todas y cada una de las +licencias existentes de la obra que la entidad precedente tuviese o pudiese +ofrecer según el párrafo anterior, además del derecho a tomar posesión de la +Fuente Correspondiente de la obra a través del predecesor interesado, si está +en poder de dicha parte o se puede conseguir con un esfuerzo razonable. + +Usted no podrá imponer restricciones adicionales por el ejercicio de los +derechos otorgados o concedidos en virtud de la presente Licencia, no podrá +imponer a la Licencia pagos, derechos u otros cargos por la redistribución o +modificación a los subsiguientes beneficiarios o destinatarios de la obra según +los derechos otorgados bajo esta Licencia; además no podrá iniciar litigios +(incluyendo demandas o contrademandas en pleitos) alegando que se infringen +patentes por cambiar, usar, vender, ofrecer en venta o importar el Programa, o +cualquier parte del mismo. + +11. Patentes + +Un “colaborador” es un titular de los derechos de autor (“copyright”) que +autoriza, bajo los términos de la presente Licencia el uso del Programa o una +obra en la que se base el Programa. La obra así licenciada se denomina “versión +en colaboración” del colaborador. + +Las “demandas de patente esenciales” del colaborador son todas las +reivindicaciones de patentes poseídas o controladas por el colaborador, +existentes o adquiridas con posterioridad, que fueran infringidas de alguna +forma, permitida por esta Licencia, al hacer, usar o vender la versión en +colaboración, pero sin incluir demandas que sólo sean infringidas como +consecuencia de modificaciones posteriores de la versión en colaboración. Para +los propósitos de esta definición, “control” incluye el derecho de conceder +sublicencias de patente de forma consistente con los requisitos establecidos en +la presente Licencia. + +Cada colaborador le concede a usted una licencia de la patente no-exclusiva, +global y libre de regalías bajo las demandas de patente esenciales del +colaborador, para hacer, usar, modificar, vender, ofrecer para venta, importar +y otras formas de ejecución, modificación y difusión del contenido de la +versión en colaboración. + +En los siguientes tres párrafos, una “licencia de patente” se define como +cualquier acuerdo o compromiso expreso, cualquiera que sea su denominación, que +no imponga una patente (como el permiso expreso para ejecutar una patente o +acuerdos para no imponer demandas por infracción de patente). “Conceder” una +licencias de patente de este tipo a un tercero significa hacer tal tipo de +acuerdo o compromiso de no imponer una patente a ningún tercero. + +Si usted transmite una obra amparada, conociendo que está amparada por una +licencia de patente, y las Fuentes Correspondientes no se encuentran +disponibles de forma pública para su copia, sin cargo alguno y bajo los +términos de esta Licencia, ya sea a través de un servidor público o mediante +cualquier otro medio, entonces usted deberá (1) hacer que las Fuentes +Correspondientes sean públicas, o (2) tratar de eliminar los beneficios de la +licencia de patente para esta obra en particular, o (3) tratar de extender, de +manera compatible con los requisitos de esta Licencia, la licencia de patente a +los terceros o destinatarios subsiguientes. “Conocer que está afectado” +significa que usted tiene conocimiento real de que, para la licencia de +patente, la transmisión de la obra amparada en un país, o el uso de la obra +amparada por sus destinatarios en un país, infringiría una o más patentes +existentes en ese país que usted considera válidas por algún motivo. + +Si, de conformidad con alguna transacción o acuerdo (o en un proceso +relacionado con ellos), usted transmite o difunde con fines de distribución, +una obra amparada, concediendo una licencia de patente para algún tercero que +reciba la obra amparada, y autorizá a usar, difundir, modificar o transmitir +una copia específica de la obra amparada, entonces la licencia de patente que +usted otorgue se extiende automáticamente a todos los receptores de la obra +amparada y cualquier obra basada en ella. + +Una licencia de patente es “discriminatoria” si no incluye en el marco de su +cobertura los derechos otorgados por esta licencia, prohíbe el ejercicio o esta +condicionada al no ejercicio de uno o mas de los derechos específicamente +otorgados por esta licencia. Usted no debe transmitir una obra amparada si +usted es parte de un acuerdo con una tercera parte involucrada en el negocio de +distribución de software, bajo el cual usted debe realizar un pago a esa parte +basado en el rango de su actividad de transmisión de la obra y bajo la cual la +tercera parte adquiere, frente a cualquiera de las partes que pueda recibir de +usted la obra, una licencia de patente discriminatoria (a) en conexión con +copias de la obra amparada distribuida por usted (o copias hechas de esas +copias), o (b) principalmente o en conexión con productos específicos o +compilaciones que contienen la obra amparada. + +Nada en esta Licencia debe ser interpretado como excluyente o limitante a +cualquier licencia implicada u otras defensas a la violación que puedan hacerse +disponibles para usted bajo la ley de patentes aplicables. + +12. No Condicionamiento de la Libertad de Terceros + +Si a usted le son impuestas condiciones que contravienen las estipuladas en la +presente Licencia (ya sea por orden judicial, acuerdo u otros), no quedará +eximido de cumplir las condiciones de esta Licencia. Si usted no puede +transmitir una obra amparada cumpliendo sus obligaciones con esta Licencia, +entonces no podrá transmitirla de ninguna forma. Por ejemplo, si usted se +compromete con términos que le obligan a obtener derechos por la transmisión +que terceros a los cuales haya transmitido la obra amparada pudieran realizar, +la única forma de satisfacer ambos condicionantes y esta Licencia es abstenerse +completamente de transmitir el Programa. + +13. Versiones Actualizadas de esta Licencia + +La ADSIB puede publicar versiones revisadas y/o nuevas de la LPG - Bolivia. +Cada nueva versión será similar en espíritu a la versión actual, pero puede +diferir en detalles para abordar nuevos problemas o preocupaciones. + +Cada versión recibe un número de versión distintivo. Si el Programa especifica +que cierta versión numerada de la Licencia General Pública Bolivia o cualquier +versión posterior se aplica a él, usted tiene la opción de seguir los términos +y condiciones de esa versión numerada o de cualquier versión posterior +publicada por la ADSIB. Si el Programa no especifica un número de versión de la +LPG - Bolivia, usted puede escoger cualquier versión publicada por la ADSIB. + +Si el Programa especifica que un apoderado/representante puede decidir qué +versiones de la LPG - Bolivia pueden aplicarse en el futuro, la declaración +pública de aceptación que el apoderado/representante haga de una versión le +autoriza a usted con carácter permanente a elegir esa versión para el Programa. + +Las versiones posteriores de la Licencia pueden darle permisos adicionales o +diferentes. No obstante, no se impone a ningún autor o titular de los derechos +de autor obligaciones adicionales como resultado de su elección de seguir una +versión posterior. + +14. Ausencia de Garantía + +EL PROGRAMA NO TIENE GARANTÍA ALGUNA, HASTA LOS LÍMITES PERMITIDOS POR LAS +LEYES APLICABLES. SALVO CUANDO SE ESTABLEZCA LO CONTRARIO POR ESCRITO, LOS +TITULARES DE LOS DERECHOS DE AUTOR (“COPYRIGHT”) Y/O TERCEROS PROPORCIONAN EL +PROGRAMA “TAL CUAL” SIN GARANTÍAS DE NINGÚN TIPO, BIEN SEAN EXPLÍCITAS O +IMPLÍCITAS, INCLUYENDO, PERO NO LIMITADO A, LAS GARANTÍAS IMPLÍCITAS DE +COMERCIALIZACIÓN Y APTITUD PARA UN PROPÓSITO PARTICULAR. USTED ASUMIRÁ +CUALQUIER RIESGO RELATIVO A LA CALIDAD Y RENDIMIENTO DEL PROGRAMA. SI EL +PROGRAMA FUESE DEFECTUOSO, USTED ASUMIRÁ CUALQUIER COSTE DE SERVICIO, +REPARACIÓN O CORRECCIÓN. + +15. Límite de responsabilidad + +EN NINGÚN CASO, SALVO REQUERIMIENTO POR LEYES APLICABLES O MEDIANTE ACUERDO POR +ESCRITO NINGÚN TITULAR DE LOS DERECHOS DE AUTOR (“COPYRIGHT”), O NINGÚN TERCERO +QUE MODIFIQUE Y/O DISTRIBUYA EL PROGRAMA SEGÚN LO INDICADO ANTERIORMENTE, PODRÁ +HACERLE A USTED RESPONSABLE DE DAÑO ALGUNO, INCLUYENDO CUALQUIER DAÑO GENERAL, +ESPECIAL, OCASIONAL O DERIVADO QUE SURJA DEL USO O LA INCAPACIDAD DE USO DEL +PROGRAMA (INCLUYENDO PERO SIN LIMITARSE A LA PÉRDIDA DE DATOS O LA PRESENTACIÓN +NO PRECISA DE LOS MISMOS O A PÉRDIDAS SUFRIDAS POR USTED O TERCEROS O AL FALLO +DEL PROGRAMA AL INTERACTUAR CON OTROS PROGRAMAS), INCLUSO SI DICHO TITULAR O UN +TERCERO HA SIDO ADVERTIDO DE LA POSIBILIDAD DE TALES DAÑOS. + +16. Interpretación de las Cláusulas 14 y 15 + +Si el descargo de responsabilidad de garantía y el límite de responsabilidad +proporcionado anteriormente no tiene efectos legales de acuerdo a sus términos, +los juzgados deberán aplicar la ley local que más se asemeje a una renuncia +absoluta de la responsabilidad civil concerniente al Programa, a menos que una +garantía o una asunción de responsabilidad acompañe a la copia del Programa +como resultado del pago de una tasa. + +17. Del Licenciamiento GNU GPL. + +La presente licencia ha sido traducida y adaptada para la publicación y +distribución de software libre por parte de las entidades públicas del Estado +Plurinacional de Bolivia en el Repositorio Estatal de Software Libre, conforme +a lo establecido por la Ley No. 164 y el D.S. 1793, y busca ser lo más fiel +posible a la letra y espíritu de la GNU GPL. No obstante, como salvaguarda, +todo usuario esta autorizado a licenciar bajo la GNU GPL, publicada de forma +oficial por la Fundación para el Software Libre en su página web www.fsf.org, +cualquier obra que reciba bajo la presente licencia, según la legislación legal +correspondiente. + + FIN DE TÉRMINOS Y CONDICIONES diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/README.md b/README.md new file mode 100644 index 0000000..7b9fd5c --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +## Sistema de documentos administrativos (Plantillas) + +1. Objetivos del sistema + + a. Objetivo Principal + El objetivo del sistema de documentos administrativos es tener una mejor administración de los documentos generados en la entidad, mediante el uso de tecnologías “open source” para la generación dinámica de documentos en base a plantillas configurables. + + b. Objetivos Secundarios + + - Desarrollar un motor de plantillas que permita la configuración de documentos. + - Desarrollar un módulo de asignación y control de CITE’s, basados por unidad y tipo de documento + - Desarrollar módulo de historicos que permite obtener informacion sobre el flujo de un documento + - Desarrollar los medios que permitan a un documento seguir los flujos establecidos. + - Desarrollar módulo de presupuesto, para el control de las partidas presupuestarias + +2. Tecnologías Utilizadas + + Las Tecnologías utilizadas en el desarrollo de sistema son : + - NodeJS como entorno base de desarrollo para ambos casos. + + BACKEND: + - ExpressJS como servidor de aplicaciones web. + - PostgreSQL como gestor de bases de datos. + - Sequelize como ORM(Object-Relational mapping). + - Passport JWT como mecanismos de autenticación. + - Babel compilador de ECMA6 a ECMA5 + - MomentJS manejador de la generacion de datos tipo fecha,hora,segundos,etc. + - Uuid(v4) generador aleatorio de caracteres. + - helmet como herramienta de configuración de seguridad. + + FRONTEND: + - Gulp como medio de automatización de tareas. + - Angular(v1.5) como entorno base + - Angular-Material como medio de desarrollo de la interfaz de usuario(maquetación) + - Angular-Formly como generador de componentes(Plantilla) + - html como herramienta de maquetación web + - css como herramienta de estilos + +3. Autenticación + + La autenticación se puede configurar: + - Haciendo uso del servicio de autenticación de Ciudadanía Digital. + - Haciendo uso del servicio de autenticación LDAP. + - Haciendo uso de la autenticación del sistema. + + Las tres opciones son excluyentes. + +4. Firma digital + + Para darle validez a toda la documentación generada en el sistema, la misma deberá ser firmada por los actores de cada documento. Para este efecto se usará FIRMATIC (Ver documentación en el repositorio) + +5. Frontend + + Este proyecto depende directamente de un frontend cuyo código se halla en este mismo repositorio (revise el proyecto_plantillas_frontend) + +6. Instalación del backend + + Para la instalación del proyecto backend revise el archivo [INSTALL.md](INSTALL.md). + Es importante mencionar que el proyecto backend debe ser instalado antes que el frontend. + +7. Manual de usuario + + El manual de usuario se encuentra en la carpeta ***docs*** del presente proyecto. \ No newline at end of file diff --git a/README_MODULO_PRESUPUESTO.md b/README_MODULO_PRESUPUESTO.md new file mode 100644 index 0000000..6a3e052 --- /dev/null +++ b/README_MODULO_PRESUPUESTO.md @@ -0,0 +1,39 @@ +## DESARROLLO +Para realizar un control integral del presupuesto se desarrollo el "__Módulo de Presupuesto__" en el sistema de Plantillas el cual, esta disponible en los roles de “_Configurador de Plantillas_” y “_Usuario_” a continuación se describe las opciones disponibles: + +1. ### ROL DE CONFIGURADOR DE PLANTILLAS + + En el Menú de creación de Plantillas se habilitara un componente web llamado "__Caja chica__", que debe ser insertado en la plantilla el cual contiene las siguientes modalidades de funcionamiento: + - GESTIÓN DE PARTIDAS: Habilita al componente para registrar el presupuesto inicial de determinadas partidas presupuestarias y/o las modificaciones presupuestarias a las mismas. + - COMPROMETIDO: Habilita al componente para registrar presupuesto comprometido. + - PAGADO: Habilita al componente para pagar partidas comprometidas. + +2. ### ROL DE USUARIO + + Para los usuarios del sistema de plantillas, una vez ingresando al sistema se le mostraran las 3 nuevas plantillas con una modalidad específica realizada por el configurador de Plantillas, a continuación se describen las modalidades: + + #### GESTIÓN DE PARTIDAS PRESUPUESTARIAS + + Seleccionando las opción de: + - INICIAR PARTIDAS: Debe llenar los datos de Partida (Número de la Partida Prespuestaria), Descripción (Nombre Referencial de la Partida) y Monto Inicial, en el cual tiene una validación para que no se pueda agregar la misma partida ya iniciada. + - MODIFICAR PARTIDAS: Debe agregar una Partida mediante el buscador de Partidas Presupuestarias, posteriormente llenar la Descripción y Monto. El Monto introducido es la afectación de adición (Valores Positivos) o resta (Valores Negativos) a la Partida Seleccionada, donde la validación condiciona a que la partida inicial o actual no tenga valor negativo después de una resta. + + #### COMPROMETIENDO PRESUPUESTO + + Con el buscador de partidas el usuario debe seleccionar las partidas a ser comprometidas en el documento, posteriormente puede agregar un _detalle_ y un _monto positivo_. El sistema automáticamente validará que no se pueda comprometer más allá del presupuesto actual de una partida. + + Se puede crear comprometidos de dos tipos: + - SIMPLE: Opción por defecto, el valor comprometido se cerrará con un solo pago si queda saldo este será transferido al presupuesto de la partida actual. + - MÚLTIPLE: Con esta opción el valor comprometido se cerrará tras múltiples pagos, para ello seleccionar la opción _Pagado múltiple_, + + #### PAGANDO PRESUPUESTO + + El usuario con el buscador de Documentos por CITE, debe seleccionar un documentos donde comprometió presupuesto y el sistema agregará de manera inmediata las partidas comprometidas que no fueron pagadas o finalizadas de dicho documento, posteriormente en la columna _Pagado_ se introducirá + los montos a pagar. + + En el caso de Pago Múltiple, un pago múltiple sera finalizado cuando se establezca un pago de valor 0. + + #### REVERSIÓN DE PRESUPUESTO + + Para realizar una reversión de un valor comprometido de pago simple o múltiple, se debe realizar un pago del valor comprometido con monto de valor 0. + \ No newline at end of file diff --git a/UPDATE.md b/UPDATE.md new file mode 100644 index 0000000..5073838 --- /dev/null +++ b/UPDATE.md @@ -0,0 +1,32 @@ +# .:: Plantillas Formly Backend ::. + +A continuación se detalla la actualización de la aplicación. + + +## A. ACTUALIZACIÓN DE LA APLICACIÓN + +Ejecutar el siguiente comando en el directorio : + +``` +git pull origin master +``` +## B. INSTALACION DE DEPENDENCIAS + +Ejecutar el siguiente comando en el directorio : + +``` +npm install +``` + +## C. APLICAR LAS MIGRACIONES +Ejecutar si fuera necesario, + +``` +npm run migrar +``` + +## D. REINICIAR EL SERVICIO + +``` +pm2 restart plantillas-backend +``` diff --git a/asignar-admin.js b/asignar-admin.js new file mode 100644 index 0000000..7768b06 --- /dev/null +++ b/asignar-admin.js @@ -0,0 +1,81 @@ +/** +Archivo con los metodos necesarios para la asignacion de un administrador +introducido por parametro e inactivacion del administrador por defecto. + */ + +const Promise = require('bluebird'); +const {Client} = require('pg'); +const config = require(`${__dirname}/src/config/config`)().database; + +console.log('Revisnado el config obtenido', config); +const configDB = `${config.params.dialect}://${config.username}:${config.password}@${config.params.host}:${config.params.port}/${config.name}`; + +const pgCliente = new Client(configDB); + +pgCliente.connect(); +const usuario = JSON.parse(process.env.npm_config_argv).remain[0]; +const fecha = new Date(); +const fechaEnviar = `${fecha.getFullYear()}-${fecha.getMonth()+1}-${fecha.getDate()}`; + +// Inactiva al usuario admin por defecto. +ejecutarConsulta("UPDATE usuario SET estado = 'INACTIVO' WHERE usuario = 'admin';") + +.then(() => + + // Busca el identificador del usuario. + ejecutarConsulta(`SELECT id_usuario from usuario where usuario ='${usuario}'`) + .then(pRespuestaUsuario => { + + if(pRespuestaUsuario.length>0){ + // Valida si el usuario ya posee el rol. + return ejecutarConsulta(`SELECT fid_usuario FROM usuario_rol WHERE fid_usuario=${pRespuestaUsuario[0].id_usuario} AND fid_rol=1;`) + .then(pRespuestaRol => { + // Si el usuario ya posee el rol administrador. + if(pRespuestaRol.length>0){ + console.log(`El usuario ${usuario} ya cuenta con los privilegios de administrador.`); + pgCliente.end(); + } + // Si no posee el rol administrador. + else{ + // Crea la relacion usuario-rol para otorgar rol administrador. + return ejecutarConsulta(`INSERT INTO usuario_rol(fid_usuario, fid_rol, estado, _usuario_creacion, _fecha_creacion,_fecha_modificacion) + VALUES (${pRespuestaUsuario[0].id_usuario}, 1, 'ACTIVO', 1,'${fechaEnviar}','${fechaEnviar}');`) + .then(pRespuestaCrear => { + console.log(`El usuario ${usuario}, ahora posee los privilegios de administrador.`); + pgCliente.end(); + }) + } + }) + } + else { + console.log(`El usuario ${usuario} no existe, verifique la informacion introducida.`); + pgCliente.end(); + } + }) + +) +.catch(pError => { + console.log("Error al ejecutar la consulta", pError); + pgCliente.end(); +}) + +/** + Funcion que ejecuta una promesa. + @param {pConsulta} Texto Cadena que contiene la consulta a ejecutar. + @return retorna una promesa. + */ +function ejecutarConsulta(pConsulta){ + + return new Promise((resolve,reject) => { + pgCliente.query(pConsulta) + .then(resp => { + if(resp.command == 'UPDATE') (resp.rowCount ==1)? resolve(true):resolve(false); + else if(resp.command == 'INSERT') (resp.rowCount ==1)?resolve(true):resolve(false); + else resolve(resp.rows); + }) + .catch(errorQuery => { + console.log('Error en el query', errorQuery); + resolve(false); + }); + }); +} diff --git a/codigo_estados_http.md b/codigo_estados_http.md new file mode 100644 index 0000000..4e81387 --- /dev/null +++ b/codigo_estados_http.md @@ -0,0 +1,82 @@ +# Estados HTTP +## 1xx Respuestas Informativas: + +| Código | Estado | Descripción | +| :-------------: |:-------------:| :-----| +|100| Continuar | El navegador puede continuar realizando su petición (se utiliza para indicar que la primera parte de la petición del navegador se ha recibido correctamente). | +|101|Conmutación de protocolos | El servidor acepta el cambio de protocolo propuesto por el navegador (puede ser por ejemplo un cambio de HTTP 1.0 a HTTP 1.1). | +|102| Procesando (WebDav) | EL servidor está procesando la petición del navegador pero todavía no ha terminado (esto evita que el navegador piense que la petición se ha perdido cuando no recibe ninguna respuesta).| +|103| Punto de control| Se va a reanudar una petición POST o PUT que fue abortada previamente.| + +## 2xx Peticiones Correctas: +| Código | Estado | Descripción | +| :-------------: |:-------------:| :-----| +|200 | OK | Respuesta estándar para peticiones correctas.| +|201|Creado|La petición ha sido completada y ha resultado en la creación de un nuevo recurso.| +|202|Aceptado| La petición ha sido aceptada para procesamiento, pero este no ha sido completado. La petición eventualmente pudiere o ser satisfecha, ya que podría ser no permitida o prohibida cuando el procesamiento tenga lugar.| +|203|Información no autorizada|La petición se ha completado con éxito, pero su contenido no se ha obtenido de la fuente originalmente solicitada sino de otro servidor.| +|204|Sin contenido|La petición se ha completado con éxito pero su respuesta no tiene ningún contenido( la respuesta sí que puede incluir información en sus cabeceras HTTP).| +|205|Reiniciar contenido|La petición se ha completado con éxito, pero su respuesta no tiene contenidos y además , el navegador tiene que inicializar la pagina desde la que se realizó la petición(uso en paginas con formularios cuyo contenido debe borrarse después de que el usuario lo envié).| +|206|Contenido parcial|La petición servirá parcialmente el contenido solicitado. Esta característica es utilizada por herramientas de descarga como wget para continuar la transferencia de descargas anteriormente interrumpidas o para dividir una descarga y procesar las partes simultáneamente.| +|207|Multi-estado WebDav|El cuerpo del mensaje que sigue es un mensaje xml y puede contener algún número e códigos de respuesta separados, dependiendo de cuántas sub-peticiones sean hechas.| +|208|Ya registrado WebDav|El listado de elementos dav ya se notifico previamente, por lo que no se van a volver a listar.| + +## 3xx Redirecciones: +| Código | Estado | Descripción | +| :-------------: |:-------------:| :-----------| +|300|Múltiples opciones|Indica opciones múltiples para el URI que el cliente podría seguir. Ejemplo, representar distintas opciones de formato para vídeo, listar archivos con distintas extensiones o word sense disambiguation.| +|301|Movido permanentemente|Esta y todas las peticiones futuras deberían ser dirigidas a la URI dada.| +|302|Encontrado|Indica el estado sobre el re-direcionamiento de una pagina o documento web.| +|303|Ver otros|La respuesta a la petición puede ser encontrada bajo otra URI utilizando el método GET.(desde HTTP 1.1).| +|304|Sin modificación|Indica que la petición a la URL no ha sido modificada desde que fue requerida por última vez. Típicamente el cliente HTTP provee un encabezado como if-Modified-Since para indicar una fecha y hora actual contra el cual el servidor pueda comparar.| +|305|Use proxy|El documento solicitado debería recuperarse mediante el proxy listado en la cabecera “Location”. Muchos clientes HTTP no se apegan a este estándar por motivos de seguridad; Estas respuestas solo deben generarse por servidores de origen.| +|307|Redirección temporal|Se trata de una redirección que debería haber sido hecha con otra URI, sin embargo aún puede ser procesada con la URI proporcionada. En contraste con la 303 el método no debería ser cambiado cuando el cliente repita la solicitud.| +|308|Redirección permanente|El recurso solicitado por el navegador se encuentra en otro lugar y este cambio es permanente. A diferencia del 301, no se permite cambiar el método HTTP para la nueva petición.| + + +## 4xxx Errores del Cliente: +| Código | Estado | Descripción | +| :-------------: |:-------------:| :-----------| +|400|Mala solicitud|La solicitud contiene sintaxis errónea y no debería repetirse.| +|401|No autorizado|Similar al 403, pero específicamente para su uso cuando la autentificación es posible pero ha fallado o aun no ha sido provista.| +|402|Pago obligatorio|La intención original era que este código pudiese ser usado como parte de alguna forma o esquema de dinero electrónico - - nunca se lo uso.| +|403|Prohibido|La solicitud fue legal, pero el servidor rehúsa responderla dado que el cliente no tiene los privilegios para hacerla.| +|404|No se encontró|Recurso no encontrado. Se utiliza cuando el servidor web no encuentra la pagina.| +|405|Método no permitido|Una petición fue hecha a una URI utilizando un método de solicitud no soportado por dicha URI.| +|406|No aceptable|El servidor no es capaz de devolver los datos en ninguno de los formatos aceptados por el cliente, indicados por éste en la cabecera “Accept” de la petición.| +|407|Requiere autenticación de proxy|Parecido al 401, pero el cliente deberá primero autenticarse con el proxy.| +|408|Tiempo de solicitud agotado|El cliente falló al continuar la petición. Excepto durante la ejecución de vídeos adobe flash cuando solo significa que el usuario cerro la ventana de vídeo o se movió a otro.| +|409|Conflicto|Indica que la solicitud no pudo ser procesada debido a un conflicto con el estado actual del recurso que esta identifica.| +|410|Sin disponibilidad|Indica que el recurso solicitado ya no esta disponible y no lo estará de nuevo. Deberia ser utilizado cuando un recurso ha sido quitado de forma permanente.| +|411|Requiere longitud de contenido|El servidor rechaza la petición del navegador porque no incluye la cabecera “Content-Length” adecuada.| +|412|Error de Pre-condicion|El servidor no es capaz de cumplir con algunas de las condiciones impuestas por el navegador.| +|413|Entidad de solicitud demasiado grande|La petición es demasiado grande y por ese motivo el servidor no la procesa.| +|414|URI de solicitud demasiado larga|La URI de la petición del navegador es demasiado grande y por ese motivo el servidor no la procesa.| +|415|Tipo de medio no soportado|La petición del navegador tiene un formato que no entiende el servidor.| +|416|Pedido fuera de rango|El cliente a preguntado por una parte de un archivo, pero el servidor no puede proporcionar esa parte.| +|417|Sin expectativa|La petición del navegador no se procesa porque el servidor no es capaz de cumplir con los requerimientos de la cabecera “Expect”.| +|418|Soy una Tetera|Soy una tetera, sirve para que no se prepare café en un a tetera.| +|422|Entidad WebDav No Procesable|La solicitud está bien formada pero fue imposible seguirla debido a errores semánticos.| +|423|WebDav bloqueado|El recurso al que se está teniendo acceso está bloqueado.| +|424|Fallo en la dependencia WebDav|La solicitud falló debido a una falla en la solicitud previa.| +|426|Requiere actualización|El cliente debería cambiarse a TLS/1.0| +|428| Condición previa Necesaria|El Servidor requiere que la petición del navegador sea condicional( Evita problemas producidos al modificar con PUT un recurso que ha sido modificado por otra parte).| +|429|Muchas solicitudes|Hay muchas conexiones desde esta dirección de internet.| +|431|Campos de encabezado de solicitud demasiado grande|El servidor no puede procesar la petición porque una de las cabeceras de la petición es demasiado grande. Este error también se produce cuando la suma del tamaño de todas las peticiones es demasiado grande.| +|451|No disponible por razones legales|El contenido ha sido eliminado como consecuencia de una orden judicial o sentencia emitida por un tribunal.| + +## 5xxx Errores de Servidor: +| Código | Estado | Descripción | +| :-------------: |:-------------:| :-----------| +|500|Error interno del servidor|Mensaje genérico "server is confused". Normalmente es el resultado de programas CGI o servlets que se quedan colgados o retornan cabeceras mal formateadas.| +|501|No implementado|El servidor no soporta alguna funcionalidad necesaria para responder a la solicitud del navegador.| +|502|Error en la puerta de enlace|El servidor está actuando de proxy o gateway y ha recibido una respuesta inválida del otro servidor, por lo que no puede responder adecuadamente a la petición del navegador.| +|503|Servicio no disponible|El Servidor no puede responder a la petición del navegador porque esta congestionado o esta realizando tareas de mantenimiento.| +|504|Tiempo de espera de Gateway|El servidor está actuando de proxy o gateway y no ha recibido a tiempo una respuesta del otro servidor.| +|505|Versión HTTP no soportada|El servidor no soporta o no quiere soportar la versión del protocolo HTTP utilizada en la petición del navegador.| +|506|Variante de negocio|El servidor a detectado una referencia circular al procesar la parte de la negociación del contenido de la petición.| +|507|Insuficiente espacio de almacenamiento WebDav|El servidor no puede crear o modificar el recurso solicitado porque no hay suficiente espacio de almacenamiento libre.| +|508|Bucle WebDav detectado|La petición no se puede procesar porque el servidor ha encontrado un bucle infinito al intentar procesarla.| +|509|Limite de ancho de banda|Limite de ancho de banda excedido – CÓDIGO NO OFICIAL.| +|510|No extendido|La petición del navegador debe añadir mas extensiones para que el servidor pueda procesarla.| +|511|Requiere autentificación en la red|El navegador debe autenticarse para poder realizar peticiones, se los usa con los portales cautivos que obligan a autenticarse antes de navegar.| diff --git a/docs/ManualUsuarioRol.odt b/docs/ManualUsuarioRol.odt new file mode 100644 index 0000000000000000000000000000000000000000..bf54e5544773de4950caec76ec8c6def6f488591 GIT binary patch literal 838483 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�&iZ$8dcjF+-g8a5BAa!QEwu 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%0D`oUYm02W6{%ReX4YrT!hHFH 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�fIUqm< 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 z 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 (^q;x?bDby(j$ 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

$h}$>6_e}E#kuZ(^DC}i{s4)a26NgupHNSY4sNa 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 DQ&~lk literal 0 HcmV?d00001 diff --git a/docs/ManualUsuarioRol.pdf b/docs/ManualUsuarioRol.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eeda867244e2ecc58ae24f45a77601ba443a7a1e GIT binary patch literal 929953 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�@n$Yyz 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 z

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�YwlNHeaJP2{z)@I3K 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π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%0D^UCTnLTdk{4WfwuI^cX@ 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 z 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

  • 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�aA?4O-gNv)I09+KxVjWCV?jX!^BsuYzZ8r$jP;N+ z5-it~HxT;H?SY0=>{tzaUF1SXcjm}8=G{h-ilI}2NAqkt!tWI=nQQfFeQ6#=vygrg zyBr~u6-1Pj09Qm2<<#2qgB}O!ieN>Uy*kcmBgY!MbEn6vo)2Hi*!JBzL*KQRA@wVu zPaz<79jQeRf^yi`I!yM{f~gs7Mh3Cl`Ibs3Vu!zzy|x=nt|TDqVt?t=UfRQF7B??( z`oDOqetA-BbF~(9^g)|_5x6RHA=z`?2R8tL(7@NPh^^F!*{J($bjHqL8z&fOlH9z< zL%mZXiRZgDj0$DA_3E<NnSS!~R8c$X_&WXCv`@~)7yJxHMhqA!N!2$hZmJg#W^5v|o>vVKI zIwxW9prqX;MB@D!ilkSeYt4Bq?`U55+s73wQllk;L*}{S=p? zZoMS;8ca+pmN|zu&x>NVs(D&FJlm#lrAb|}io8*6lJ{RPdb4blWC>?PWft*6>2xvV zKdE1_pOHtFh|19k188D(ZV&PaU%ukb?W`S&*qAU3-_!F2REm#mUbBd*zNqU@Cwt_Y zk=Aw#Td_o!J%jsIR2HylwS$_nd2QvEbR4&Gy@Qv1SmDzpkGN#olcP-gf#RinTWC=2eY{WT9~-jMM>fFMC&i5 zoTG%qpK4kG@|=E*GUeyBu}~Hly!WmpnTl)go!-k@HL64d3W95daBAdC%ufi&#@3v( zUxTx3yo(&1<)!m8imTtx1V{EiA|G z1@g*y5V|5AJ^-{Z=jS{Kt9>CcO=#T+5!y4p5fy8r*LmyYU1X;~Bu@~qB0^_Ij3Tos z7RJ9=a!@R)uaU;`#Cl2Ub^-P*#Mr^7_Jw3s__N;Y;$ytl%^sMf1c@A^7Y#tXS3fV8 zh&#cX&mnvs^c>u-vP1FQEe*xKyw+n5T}7NrrDef`ntON=T0f*F_rqh+`GA!n>@UnJ zsE3o<58A#s!{a2l8bIe^`-3mjtts?DJ?{NfB4ghxTFh0tA37@^=VxN+-I#T{kh8^p z+o}S7*;%h`=(-DAY|1jyN)Zl1b;CZ#?eX-dIV4m;%AG^)YcqtXt2}rp9AOK9_WG#1ufMXsE{^0;6ypk7 zm;_0W%$#~@w{Jfn(lIs?qm_{aMErwbcszLw3s$?dsAN`^t8|Z^ynlLT7!$Lqe%fK5 zTE;xU6A<;J+Bggq{%Azx)o&+uSsJazupSjr57p62yNY zlh~-vg2rgz&GS3->c!W*%YR-uoV7*(*#fIm9KTyX#SEJ5sKV&DXf`$%#px>dc%DeNJQV=+p9- z!R6Q3d^Iz(+ZDcT=Leq~@OZj;aH*qo>?8AD)OwK$HN=&tZpobEli$Lyt>ujtzh~ER zACxCI?{s!8O&vRS#F~0-@QvIQKw@psg+Yptrr>C+u9(&%toOudhg$~Qk~L=&v< zuQxEZgcY;^WFvv|8d-dbRJ{gIKJPsAt5jJbIu0|+uE-daS;{8m=y;9U%g#Ukz_Zyv zpWl62n=q$@GK3>U$jjR%{ryQGMf;^|4!6ceK4uGhQ>=KM9qtnn3NmCeAk4oI z<^bVwI)b0w(0ItHKbX32-zuD^QJP9y*B@CraQ^fdI{k$eU5nb$>iTdmZ0jQ7)J-ye zlncX)=RbWkMLU9*=PgreADy?p^+%%rKluM#Oq}|HllUn5RxZFj>>a0^-Y#x+34#X4 z06=$m+q66Po77P8g0|sZncQB6QH~2aC*!5&9$9-&Dvr~%aNlQ4=Xbi&PUd0OJ@S~a z-%!0sc#eaM6)GBj2PFosg{-a06jtBBE-Ou)_>2S?I9qo)dU;l&x45p3Ol04|OE&lxTdNc9@5qy)Iz?vZv5}Z4BVzlF6Aj_h+;%#u-;A4NnpqB`Afl;g%>-%?@}A?%{KE z?H@G178Z<)X!p3DSL1v$(XiQHzH&N5f70dna(QcI#?H=2+8q$j)21RE1PLCJC&*H9 z1a|OgC`>RV_{u;F4h3YRd_Sb_sc^z>dS^4$Mr8}B(A9{%Zz;omd<@**fzh>?K&W5J zHKj}``&F3~;rQ>sN12JkkRVx+F{$UEul{({R18iw$5Nyc31A8Ny}P9L-Iy-q@nIfVmOT9V$zvz)#xzORGqEyj~G3WVSQqHechuo zM_LlScksI2-;I=GFIqVSgt+>ZpSxOm`q7pB*5|pD!x}HIVA-Z+SC~32vc@O6;a{T| zl9nkVYyA$0;lZ7!EDT=dIzL&pC0aCH$1h71kKyVaoj0Hm&zjZ|SwDhinMyTIA=DjKEBN?$zlz&}`iOFCUyMgqM%`j+qrC6{9p= zjygW?ZalDk@eR7x>!Sc?A4HBvBZeb(o2D9Choh> z_S0~S>D$|b%#!n5y?N30u8ew@#ilO7hiWsid!(q$Szln2sew#I=__r()iO8H3?bT= z)`&Mv=W*%hmTy-3Bu5~Y>EgQSOcsJAc)`hRY!T)_BcDSVXRE_B#*^#Wi`DSQuv6+BRa4@6KhAQ6_izjv-96Z5Kqk z{RME`cb|6ZbAo+-hj1DDh!n0HF6N)pDtBHd?RQ`0E`Ex{_m3phxxtr3=#twkosC>- z#qZ1Gynjp>_F4sk@1ks>4a~L#&{CCy$`32*&BdE$<4!OBaO#uFANUu0xldYLct8oO!SmFjA0$*X+OWj>5|2yL&yUfN8F z!+rARJ0KH=b1%-05qGc39k=G=iiAE^kkuR^Rtg~JE$O=Axt+AJC4oo!866<|tQW*X z$o4?wga7+y(hnn&54(da|68lA%HNUjCl?&(Gly8{3`S`NxUE!ojd`(GXhoz6jQ=7VJ=uV88 zNk<5Gt%H$Mvt-j`m72q1r6d-yd4W6*V`#}9cbmDvTK3kKW17L^hm4j;f-+TC)T98E zDalk0E!wLUthdKg`6`#S8Mxb?$!L}|y9tzshCe4JUtGO_nr+8Yxql8hs-><}PGSoB z4xlmL$5=LS?A1T{1_3X=B{20d*XkK>BD^4|REZdr<9*~T&Flwv-ll&UH!W0 zq>0NcA&E$(vZFUWt;?`Q>L}o616=kTs^ezz5Yr4|n0<=*?t_0#F?-?mSk2{-_!|{- zSLS4-csq~XkGPecFWMa@@~htEj1{9Axi;N90CJR+-_d)M(wA=}_Z<+~5)AhaL~1Xv z4prCAYq&NnANtpvNyB&G;P&VpZcgeN{gmPUgfRI_9NFHApmPkbqZ-#4Rtnd(@;E)Y z`)Xp*`aJs#1-oCvqLiM8Pv2EEa;+(O#ZmIWQvExSL7~TbJSK9vzk5%#L?iFQ;hCs~ zIbX!Zwm{9w9v-+hzxZE&273PWrZ3ZP2&bp8W}lx*ta93VOp4bzXTGtd&su!op_Rv7 zHeqhbe7A@a*~00CnJC>aSk!XPr##Ogi!f6*j^!3|W(J+0Y2>Zx+_T4$iaI_TEcJJf z-yK}*5WVmu@Oa_N#@2@-ap5l>&U@>-+ITWd?xxS|);%LWc?On{f_ZmNuT)?Z2XDy!zziM!>;` zqhuGG#&r))3;BUQxHK`HL7eOdX`Lk8o|$aELaXDJi<^5JI1lb>^tugiu^*t#0qTOP zt5;`gk70|q+DDZwjIVye%vXuk_So{0yELz=ob|4bK6k$ZUs?~wr?*x4(zjC1N1Sx< z_RG-HsdFO3zESzyKV~|=jBP3Q9Z;bBBEloV_sWNizR4$H3BmW7xJG*c;TFkMKK)tD zll8^&gKJ-<%F||CRsuNiBIqik)I5Lmh{Pl{uQ8T$W&Drs_)GS2GP+B6I^;22qdmmg z?6WY}u3(zU2u`3G#EeL3KA5}mIrOJ&Ei)rLd3JV>M{b>Vsiy>{>U=LEscVPbB_YI1 z9vTO_IuMU9=~0&u_HM2aes%TFN?jFWvzCqR4N(*&>Piaxtu?fl=9=zX0VJv@GoyZ} zEK10#ahy3OFCau0cW_iNt=qzsa>Fqb2e~u!QZGk6gjkkowRwREgPc8|3^MT=u% z8>)oTduH{C%hjkxwU#>ik@&hhW|7M7X@%eM7CwIrRe(nBa$z(Je@Maz`{Np5u3KeY z*3QPnK`@^8UUG1*x|Kx^%0mEKxzRYc{{*QX^r6Rq*l>aNp0FtobK0=H^Q6wx=*1v% z7(SP|b(p@8SyB6=C!4Hc$`kw*E0GKhxZ$jPPBp^xYFUKk*SUL_@c6F4J~B$A&COOj zk*|pWK^JuWzfx#(An6-yqt@lH3nm^{ID~P1R+}54Lnpr#e{laeE&~a-z&0D1TE}HH z)I-d{(#7?B$}YS^;|^je@+v9h84-C$vtFTUo6+tjD4=F7UDHwC0eNn@PJYSMFWz3* z8(+2#qZ5oVkQ=R7ql`~3vqpG#V+2U6B3V8tS8SG53)Z1MGEOvPDCNSDns~#iG@1*v zEk#hiBKp~z)aa(yVQK@X6dIn>d3RBHlkgnRRX4es6o*XJ`9VfX1@)MzJ-jFdWk`tk zvwIube&JTvkGmA>mneHS{p5wqPGShaab86;X>rBFMKe;4Xk*Uj-z=VWwQ9Uwd}!oz zsKVNPD70#|8rhi~zQ}0cfKyCptv+H1OgF4FGdpWw-U?!nc{nbsT?4B(rzp%+)WAs) z7Oq>W36s||?i8f9TiugMgk}05AEcXQYr+Jyv?;bcwJ32eFu(_Gqwdll`+*c|qB~0R zm~NjAEc0i-9+~*%tNLi0G&Qg?ElZhBjSSr{<7m`J(08nFUyb5HJuhFL=E6?D zES1r*|7|!@mS|PoYPRB0KD)DMOgmkMqA?{pxY6l~N@Q})j_?C+LMZi$aXoS!mLb*Q z2KzAZAq<;u@ozWS4rJQZiE#ZyroG~m_G--@d5KPf9C^g9btzG8iI-- zxt!PU^)4j7mYyH(E1VEOR}$L9obU^OK?&3QBOlZCLsHXosB@`qJtaw`uLW1o$7}Js z@VJ1Z6y34H%Uee(w`e?2}U_r=MT3su|evb>d|u_Co#r1L%P(zQ$kOxWmJjdmA4!5V$RGJA034s93Jb zl>;UHDhkG-o2BVpN{`rTh0rtGo`mgeLE*vAqm`atNGcC2G8RPoRGSVxyR1_f7s2D# zZI(HUGqDoYO^JVTEp9kIbqMi6;o7<>&_S>FD#9d9rbkY>kQzQCh=ZDU6R^L(&e;$< z`LwIJM9yRQ`#FOR9kg-IHl2arsi)4_?^$njVHsH>#B1*Qz!54|D^ zvM808s$7(TByXCSCNl5b6I@`t~W|aONV2H9;yJ6aV(Tz#Fr;n~(%&Wlo z9)Dj`n|VjAS)7YiYc|x{u7kc>wrA3L+q^t=D4q}~=q=V`z1YKHRWXRGGs>Kei~!MT z-8O45;xG7`&qGy1Ni>c)xCCE!Cfwb`9%&R~bqu3_T?OCFEc0%B!eh3m?v{U;9ckit z4252qsjM=hcaMw^Rw^~kR8R81}Rro)%drSV719=#pwe|V8;Vdu72-T$G^R|~BDR53_Ym}w>Mc7d3K~Pg1@K5~rBx4J>VR5b#=3@+TLwtlT8q3dgj8XYXlvRR~m9ywu3wmO%rLo~EMwRG^$J0ImYdzH z)vWG!@57&O*O*pR&c1YDYEe%#>y;!tOkhn?YcyH?#=#RM+_peq_2tR?Pl#3n0gz`v z!oCGfbe3TU*uH@zC_>V9h_F7pP-nZ)ucYR!GF%GjDC)A?x0Wf48 zbXlpEw4~2Hw*7*(*w^#vyA#{rzFogH@NR{4DV^QGro>XqtD^?0oPwm$bd5jErzg1= zo6+~_h&Y|dzLIb1y_UIH432&%XIczntdb~QMY-UG*+>4~C;))tk(QLDE^NKt$*>%H z9zD+3?_=iehClFfKi=A;)IY^mE{;S=#Dp$fj3%u{XVhjv-l$g>nN(R?9FWo|Xu)@sqU#3o%5rQ9wa&R(SS zE({S$DV2D-1mot0&k<|jpz8>rj-P~io#sZW`(R5|W6%%|cpeF|(ZXM@s#Q2gJx@3O z>@jAVFGU@JFD&5d-=R%(WroLrm;T|dh^+FpD4OC|?npM36S4Vy~V2m7Yw^UZd%Pk-OQ-2 zl&g~3WG>IoM^8=YS1LL_I6{tZYBe$#qoS*OD6G4UKFJu90wJB9n#7@-I%Q@hDx zzV*X2%95N!TA7!p3TZHtNP0su>vpamX0d(V!z=ESg;cI;w#l==vO`0AOG)*R(B`{J zd*6ZnX)TTA4;imQc4ao+Y`vB@q6%F1KXlZR5PQ*8DMBjyQy32k>%E)wS495D$9IfP zh;P_q-|!FpgNmXnrX$BeTBH*LPgjivS-hkCA&5oC9WFLYyff#F{y}$L8?Kw z+bO{%x3^b%9~M!Sw~sVe9*XDHw@nbQ&*kvB}4le>~7~4~7jE5UEfnjIy zyjG>KTuEd64fmlhZ_EwlqI@}TSV;^=1(eoO6Fj!-p{J4;4xZmsYEXks6wo))({`0( zxxuiCNs{QV<71!5Qw{s&u_MyWtUfs#Vmav%Tl(IDD{Bn4>wwF=d@$PT*{G=*tfa{t z*N=@ve3nns@+Pe@E83L5$vOS``nAW^(q^~hOe;G2W$F&v>gS!j418-2LZ9>)nRXc9 z2vCx6v7CV0dKZOt*2tFk?7#KRj@jM~E!{kS;w2;Uzv>_YNyg=op6Wp@I?n8V+Wgzp z(x@c4ewHKhA^XOqv1>cu;@0angv7GCxg~>yy(E*cifue(LMG+2T&`@j7ELZtuI|ac zE*6zg=m0))NUV^O2uBh*rZH+F4t^|ce7&YIF}6_}L6rpEmNzbr9HVB7n<-Qkjau~j z9I@V!=4+65Edr->kD`>dYT7uEuR2Mm3}g@@G-O*%ztq9EYvW8M+opPv>gxHL%~<5 z%XvzSc7dI0`r@Q##8e?>%8ArLSD|F?3ZxA?20(2lM9j0XDkYi^=lN<&W*PQ36o(B8 zhf-`xJWMdIJH+u7Q7s3kPSoAFx7K5Y^lbn*NTAM!lSleJffxeXNDD9&tjJ=FWpEhJ z+nIa!KBKvvqrHEm_E@95eCX)~?fI#Q!J(NduOgbNTS2Ng4 zH>2pi;N@4ADIJeEzGb8uU3mi&sREI5zc@*0|8_p`NbB{7oGcF62T4NSZoB6_ZfPxl zxYxUNF=ontj`_0YYte}90Gl5NZ~0xOiItKNLac1e<3ELp&!5J!^6!mnAGX>V(<=+% z(!eI6%yaF3aCX8BlL`FrCwcg!wNW{tq-fEFTCOToi4JO~%qnNEQ`}~~cwaB*2E>{} zZpW!o+A0hn$1x=-kC>BLPb6{P67z}G9@x;=u1@|Cy=G=)i>3qk4Us{TI|4!QAp{#J z-*J87NkpgWfPz86cGbzfE;#qhxJkA8LvJw|fX!FxXB2kov6LVPcBErM-SVdf!jeH$%^redwY=}76xzMjN!;*>|gU~B# z2G`V(EVe9MO>Q`A%RQ>Q1i1OSBl>KPLaCjp4QU*2eEZ&An21$My77u|xHqb#d?Je1 z9A`Ca97_*OuhY^fpZ>}ynlYm_WY82%Ih*QGM`s-)?+J=gb~D09$`ubdJ87nMZ@%l8 zd<$i{N&L()>-w623%iTlU3UfOVM?*`*m(+#H|m}jWcUG@`(5;_<*m9o8VmebHwSa| z6wcKZfvXBbXbvdod8~<%m6r6au3&O5XQ;bLO!rlT?#Cn&EeJP;ZHWScIvt z^>z-4!9LBJ-F)arbXnQEdPKQW^_n@^dPQm}D0%`(rL)qS%~%3aZ`2gT#Yrib7aya4 z&3qJN6=|TNV7UBRJQT1e_tLy<^-QeWz!FQnG#}kMb7aStKidCVq??#DJ z);c|jp?UbbBOH`Po?pjQs^xC3=fZ~uNI<<`tGeK>v*VYm)k_VV?uP7tFl5I_C_+>w zELzvVef8-2TH;;h8)P9js&Cy9JVQg1txcFR#g_h~i!Z|#Dbd00C=m8^#VFLn1Rt@< z7|7z^9(mcoMI42LgH6v7VxW0Wcfj-cLlZ}X;pmcQ*5SE{puPRzMqIzipB zhsM+N8ecDZci-{$~!LQnLJ}`W(0f(HviBNyY)J=I%3AV zw_QuUZfUK5xHr0WF=xtGqUfF5<%L%%t&h(CFA8SB^}17L>(wbDUmvgWRd(>jZyNMp z_0*xsn~kIU{ViJB5!r#9e<@h!Y@8|a{+)*!6NhF`JOi0)9_$`yug*=$eNp4H8uOnDg4 zc-IkE2fIP;9A&MNU!=bPwCX}OmIT9vxI0z=3)(ts(JD540^nX%ABw+Syamz@e}IEi zY@GU*E1pQ#&Ti;X`(DhaCga)3fRFsq4wN0}>)^c@kZPrlnv(fg1*%O{bQ0ZMIYm^| z0`uDnaumx>of07pbVQZQS(`Xsk$WQa2DiNYa_2+pBrR(@U76Z*oznQGK1uwEm?1FF zOt(b@dF-$pnKm@xRke#Lp%u1_+G}p5!j6wCxA!BVUw8smrXIo^gt9>7q5tj&K@AEe#_Ap9I|{0kf3|1kG;a81jgFe9hz7m>;4x*7;|d)?92;WB z@|qlzF#Tg19f6ajd(<`y`2L!(N`_W@J!43EiIz#Y!2Pl>Cgu4-O}$xZz0AzYX>9S* z#;vV9-O+BHUyxJ}Zud05GRUcn>=zdDp&T`DS~O6&uchXR`6iH4XJ0vz@%fd~zE}J8 z^o)+C3MLGOTNMPG_#=M8e09W{UK+C^@9!Cg9BO_C-fnyc6!%|yOpD48ykE$p`{o#z zuFg^YAUIT|$(2*}!duf>@houPk+!ClqCv5e!4^)5ZB$qd757690<7&WXBT3;@V2bx zdU-WL_?+1)FRL@qX#wBCBfhbd?v*AFTqcnlZNLe>TGXUY@@a^b`ti||TSS$ioQHGv z{#SyHBTNY;(@ork-Epr2jMVETQ~25>x%~T}v{XmO0bP32%^=S(b?4fTszI!f=<-56 z+yJ%5vG2Ons2yVNQj6MQ)0<;``P%zbbfyuFd3;~WOEs-YFJP|K?3?z!u5YRNd87Fg zoA}*FgZ4W1rU#Y^_qZrm2SgdhSE*3hf%*GjT52nPGd3qb*Dz}q2=O)DMS z2rwTSdpm`V1zi_(gQzZ5c+ineh_J2q4c87nApnc=v7fhW$@Gxo*K#I~9yNZ&pq5-+ z8)S$u>9r`l_NmP=gEz;NR&+#+v`lA+*IYl$E#&Qj>Cq~gho8LO7Yh}$BsY#d`x!}a zaJW0G6XtV(oh@=?n$(=p#&2TlFJxrjTp+@wF-ju9EgYLi1H&{Lw#*-Y=;juTYQph- zr@ayjRt`>4^8l*-JQBjoP0jRsuc9Vq)hMj|V=45#YYFk#L66)|<@U#?V6%2S1l zNz&O=qDr{?7u`wOSshCn>tnpu4-8}Fd)il@w?_qC+GF6>@h?qpyh2t2B8>C6NdbPq zq(qRF>jE9&zJTN>(Wy;Ux)b+KWHL!(Z0IYXKnQTCI%D*yq2hxFp4*aHj@$_8wjwS$ z%I1%w0XQs;VQR#~ktguJE5K}>owzo<(9EES+79Y1UGJq^L8_pxuBl zw!VSCI>-#)3Cl9x+&IXJhmhBTEtVZ!nXd>SJ<#-rwF7qfTy*kZ>ow#p90hP70wA5- zAWg#}rc}V6`-eR%zc^WGN`IxnLDo)81(HLDoCMwE z@4ls6-%f7#n2ZdPu88CtRWZBIQ`vgmxmRAdU;G|tIg5ymsQy7WYa$@kN+1Ra;WNfo zgAFU=KKsn&%AHmQc0g;|W`s0gzVVeLHYM4mK`=y#fMD^>pX;fh&u)aF8t(c-s4t4m zN5buMu>8_&^$kNQNkJpbo@*0#C}$cRa~E6h#{|}db(Nd4l$q=HTD=ybQ6#>#=0ZhK zki-bK$-^R<-!+kNa+K}x$8Udf7?@y)>ApG#Nbi567{1ew(d@iWJpCY=*z$bD4KNZ) z+K#L-+5ygyWk|?GsE68wB*OXSiO)ly!{BnB7 zQ#Ux0wO`J3wY0OYU{fhSB!9>msdK$BuE2G$_K~A>r~^mL=sD<49}I<7^VGnSY<^5P zfok*yfUMG8A9XG9`#v z%_J}AAV5AkS4(D#s`AudoS*b&o#>oc6GL!`>yme*4heHkSf>fZD4Nn;~0pyXc}c$EOSy@Vi)f7p9-@BEk656u#$Qp3Tw*8uhKj9#C?UApRc zZrQ+nrc^e}m(Q50u&0kdv*_SK##c)RwUh62$fyORe&OEN|F3ybreTZiDZk54Ao}I? zPB7@YZkoaPZW*?>2Sr^&^*y{r37wV23Z{|sLZUg+72ko0gZR3gAupq=IOM@iV0~{I z`*-6x7pCWzg4sNdNX5 zyJrvvC#o;3l-!psZb=e4+z-MxCZBjfA9TVZM(B5*cyZ#{+|tVWL40n+#q>~56>YrJ z3zqSlcmw;T7nagViZ|jaMgw6OB)*X*-(iom(4}K4G>-Qg)4~|KEFYVk1B0j$Iu6O% zUO0571&yat%~>;pVhWGSGFw2H&-%19&akQ zR@30wh=-iJV(6GvA-ph5_{1nFfa+>d0Wq{8f5=pn+NqPTmlWiTWvNy&AnwPyR6xhe z>N#f(>6TBeP+HE=86VVSAecd)*oqC1g)A01js`Cq3V0G~sV`4dt>g+2D7t5nWH`!0 z)~K8XuIY4m>D%tH2F2zc5cemp1uEpJoQ)qE_cXxMpFYZ>XXmMz9hn|PFul(Qs&cF93*EwhJ z>z$b^Gf5`N%F4=}mB}Q56a>A@^6!d`a^-k>Nt4VfMtaY0;16Xg4Yf%cRMuN|((5N$ zq^Np1KUA{v;TFhOvPm=T?SV7*vq`!jSnBIin3?LWA?*)` zZw@bA|188ekM7d^iZE>}VBWz0_}QK$ezdwIPYze)3HK4n*(WL(TB2TXrZ(@#S1;4s z54k_gJ71R_f74iAt!-@oKj{1&(0@(DjlR6GlQ|R*)PSn&<#zcDTy1`670{#a_t|Ew z|HTWfg}>;z_b?3XJ(z;O0kL`ok4DuhIKWk%S+HhoJ39l(R6CL`-BspKsQjgx^lw(psljz{S5WFs`je&Rzu-Hf@FK!l#VD{7p}G#>;ntQ-0b<%!aIVYi%5 z=09dd1=tV(|1w>1978&@IG4j1Nu+zzY`^`V-8wOV$XM%-Trck_DW_ajle7%yH&N}M zZk2-k5-)&2T(YLGRREMKR~miA2o;u#YAUNbAeJLR$pAEl0wo`>ikIIf*+gMVMMX5q zd(Ky{%N3lV4kKzOmw&cl23B7|-JZ&8_JJIHYzB7Uu!FN%Vq>%u0yCcK#Tdw3%O!l5 zG$`brR+qFR7`v=RvTG@Q0z!pVcG#OeyoxGH1XDu(;#hsaf`*E!(+zMBDtn~lrnfDVO6VCdVYlgMknt$$;6h`? zx>URtq=-XGn0r_c5kZ$)rpN71#C))*#}wuVzaD^k$&u;~qTWmII?8YH_cwU~MnoqL zF(aZ`dQAq=alT4!#ALUK5yaaKlpV@QhO%0)T`6dmsv*LpKsFpJAP?HVknZ!I*sypZ zlSMbrQ1*Jvipd+1J8MR%L!maVHm0MvXU+Z?hW zx?-s=>;|I2H`fqsieeh!-rl1gzO+&`f?3>BGnGU;(MOwU_RQ93T2PT- z?+aR-jW-76@_pX{*mNR>GM3_a8t~wNh`cGxDHgV8yOx zYdFxWS;h8^W}C!sd00lPN{Ucgh4@_)r$9*6VvgneMG8cAc3#r+7lreKG;)qJ9jWOh zsPe;Nzg;f5*X6tWiHJ`!I_B%2W<4i}%g?=C*da8ACT?UO$JU=)Yu~6>zrQ9TB`Mnk z&X7j~E8}030;3Rtz0_3Q!%#=T-X&wlKd6KB-ckjSYf+Dq-;XOGS^nNwphqtb&4gCr zo`6wA!z)*1hQPT~J-xrg=O6JI-G`Z8FE-qPAEJ=Hwim4}H|3{f0C(u* z87skFB(n&qv`Z7N;8|W5!2x{!K)pCrQz?YSO9xcz>hv;Ht*AEX^1G1pb%TUS0Kk@M zd2*G8f&bK!IUo*=75%fZKN}GzjD!Q!hdTBlDk!1aIQIvdpv- zW4w_3zx2JS&@!qh8L^Kv%S!w{TQVFrv-1giRuCfRF{W}2PAmzNyNBKI>!Y5>C z3I=cjzcK>I6qnsTEE?M|`AMAm(KTA;9A_3#gh85#72JLh@=V2&{{}>5$F%<<(LtAc$yJ`v}PZ z<}QG=n!p(u#y2!IsP*~+mgpl`K6N3;3l7@F)w6KQiawzH?p}x+4St;FN0lJ`bRzJC z=m41>q)$E5zzjNdmB=^R@h`>9@M*UYg(E`*YzM8Dvq8_g5(rpZunt8*M2oNtf*{%o z@#e@|P-LmkT8PgPCLqhx3@4_?ddKJK(QRYRU4m-d)#2d7NoW|bykPZ5)I|3|lpS#x zkFHepkG;K#AVg;yQ(_PgN%x&l68ICRh1t+Mi23qN$-Yj6WPFs5IB+SSLtS-ff@MMZg$ONlml0B8ucF#teNJEP19r48pFec zugjV0Sghc7B*b#FLNHK?A5Jb7B~78URWP_Hm8W1K$BGLunL5 z+W|p|`t}r>i$NdZ{OVt^);&*cfrdq1Ud>)YGh51P-O(+kL-?AE>$pAHk~#1BI#oTWl~bq39}7I7HdCv{v_jQJEMHDe;tSjhGKaM z?kC`|FWz!6KVS5h1S-LTI~>)B51tGp;fz^1{jEMr>qZ1lrK*}6Hh&U~GuS4*&0Al( zU?W=+*f76cJhBER@Nn4@?$O4Jm`)XOtd#VbHju4OH>rc!>NiBF>?SqYpo`dWHDw`~7pD z^A>`=4PqvYkrB1zI{+$D>`8K(2kyF7ZcL6OKKZ?v_wDhgQ`=%F{=qgRgilXw_{l@V z@cm_l*+lA`+teEaKG2g0MLOk-+OROu%Hwm2Mkdv3gMxi~)u-N~PVC_AuM^UVlvJo^ z-B92yC`$pyQV<`#M`7S{G0Uqr_Z*i4hMUk?7ETc?2IEQlP8g-Y=?f=g;J7Ch=Q%o_ z7BulWiD2dJWN~ z_z+`x$iigffXatBh!U$V75P%c;mjeR#~i`opz@>B)@&()VQ*1Y5#{^k(F?6&K)_(= z;?Xvs;UbX^ml{uri_z&p15k|ZN-#*|@>N-NrwsKP&9)U|Yd{52w!!48zOAgn0+s&- zPLMx7S$7i8xfV>Pvu>>ajO8 zfFCxj=1_{aWRPCOD~lR6*h)Zr&kIAjxoUH@i@ef_TEj@#1Z5*V6UA2;(hDo(L$O{d z>>!IP)iT)}i#BFVBoS6Ob85yO4KrX`Ed1lW@jF*7cMnCp9D2RTB4q0#K!XyUnJ^-| zV%-7VIaL5*@cbbHW&T0goO*n>3}n>sCk!v2{%$M3156$JS<{NHi!v253{BE4N9AoK zrHV=nCkJgkZUhi{N)dTb0rXHa^&)iOAZjhqVvu)3Gow5Rqyc0hTVS$RcYhQWm^TYm zX&eS@Ky)=>LSONa0%(Jtuq&ijd^jU2IzOPjM6%04jUNP26GnE8+Nq~bN;)mIUmDQh z3&>9y4JFdviy*V!qg(@XM5MKV){fh;ef+$wM`<*>Tj9~$>EJ^BJmjO-2lYI5)v;Az z<{7J&;=+3QYT)`;`;7Ic_W8^LX))IjY4AkTmR=(ett!%Mpv!Qb@dWDz-VKr$>=nqr z)#0Vstv;!IRx(7}%?~Pt`k)fM3;4m(fH?0Kw6t`EJ09Og4L6$wI^|eeRdzPQi4WNv zsV}C0dk7OZ3NwoG{utf%OVj{dLRwwoF=6-;l}m#DqkHFXUo^i1sB&38GNGBJ3NMjO zu?5%3y@7M$a(GZ9%hO-LpCFkb3X=yCyrD|Ew+jxiqef z|3l%`QUbNf+aoFAN80`+cx<&B`o9gI@tgMkm@EmbWD}d*5LlX^D>9xh(OVim?YQdD z^5Z>z2mHY!6Gb4}pFgA*rtY0Ky@sxCqb3@FEScW&0jYRMNWyA|uYRZnZ1|Tkw!F@D z@Ds+uu;Q$Gp?TG9@_B>xW2zukNaP5q^n2vX{-i8&r4=zWj92Bm|hQB&(ec#Sy2 z^&oFsTwH$)C_ZZmzZk(cX#R34DlZl5Q>j+duDA;Vh8NeI7f8-XL9mV1`!-zbLtI#^ zzA3L9WD5PkslccM)J`<>po*rhkLIA*5NhCD$?D=xd-h0EAw+QHF*&WZ z%KN0^xRyiWnwl^kX;lf7*@j{8h7zI}ZRhRX=~Cm(_pqmbpw`jw zkB{g>zpKW~g~PCIPR{9>_Rj7@i`V3)D}Oyc^Fc0-U1RSX3!2;&qTC-6yZfVm@Q1`I zEUlCESpDsl^eTVpxeG=9hs-KD9Wb$-Wq4ld(Hik=AMQCn4`uvO3VgGlzmS`^UXU<> zP_!9zWu6|hlSkdX{Lzj1L#i&>U13(=-Y98CsoK)T57zA0VCbTcQhB3WgrS?h!NUm6 z;ZbpNQh8GyW+#iPxS)nSYB)=0#z3kA8e@nWYuTg@#V^Ql;IpK|U6e7O>*n7_=Ld~` z&lJEf(gTRE0TksiedOH6eS5ILg~<<8Z%)4b{}9o93yFaYFjmoFR7?5 z8jBbP2xxE|iS(gP_AJjzmeH1A7aR^OlZKaRFI55a@%qb)?%6 zExGq(*R|$tM@u%`Y^md81?PX?vO1Q(4bqZ*NBTE0HEyMt1m5LFo%|i(4FU_C2GYdg zS@|nj;LA~m2%bj04v4XWw%-A|zsk{eG$r~&y@s(SY;Y7_07s}1L1l={QR*Uljg8Uj zPEL_h0{`z=l1_LKf^}h(Uo9~GLITno%p1C) zDK2v1y>zr3N7>;2OOHaPzH(j|kG?-)ZupJy$(`x{Ws+nwVMzQv^?w!Z!#(-;MOfpv zMh=el#`@OJPc{Y?u&|7boCFL6&yPGj^vbTb#`NlP1{TJKj`T`S29D2m32S{*V|q1n zBS$j=Mh*rBdU0cOQ!_^bb`}kjn$i~XXUddM9(3oD>*xB6BSj=AE6&CpX>`S0Uzz7Vf z4a>_5`-@hWwBv3N;1&#ko~&y*YeaV7#Dl+%zc}z02ma!~UmWM#OQ6jb|Q@p0Fq2!Ew{H)GDc;cD8zSje;E(OF}SF7q4co(}*Tg5O0G zK%3<(SMtEZt=_)~5#cDv>?MZ%9dhzph5PP^D)fTbMaX4-{)8V21)`q~v8|- zGN|ZoCRPZ4rgyBbojz#Btye6eJ^E|E14tupFS=Tq(l3KYlok|FMcx|&haJtmuDvH8 zy3>3qqlYOup(kZ+z~gnG?QmZXAi$J*Gpj_&+Xb{>7@1`a6G{+rU?_{+(KHJMXxlTw zq3s3^47len!}C^cbn9-tB=(^I!>othv!M;oqbN{7gn%fn)F&4B z1Wt>{ck8Usx6dN@+TYBPu+Oyu<*InIvk?IGF4PoiO69eHRG|E7pffRk(bGEx3Da4} zS|Z+1Z){SGM<_E!9`jmT9TeX+(o$tS^MUoZW42SDpy;6;SO*VN*Llzbqa#w9Vkw|9 zm+IBa+a`lundPa$6W`V3QwmD3>gvD%4kJDDJ1eyDIcJiUmHpyTbF)l|R-xXlNrf0{ zvLug&LeEM*O3hm_usU_$7F=#E27i6)4F4T=(?`fWk;&_3Yyo*BEkQYIB)%rAtu_Q{ z-6)?=rK?-X8-2OV=k_KVmJn6BukNdxq1MhN2g)w$si=v`d#aU4jSc-E8pi@Vh6M9f;nH7I%@;ZC zQyY@X_c5lOW@j1=*cJsZp~_V2UQBu;87dJ5c!hdJA++8tgED8BB1{unZbG%@tr$pg z7rhXhfat*SyKL^-Qp6pm=QfH-=5I^u>!yIwTNIP7hxc2!z@zqF8BGZj4%d2-v6mWJ z0bx&nf$tt)o;R0RM_SROm+~Rgt^}bRHB8*JWvtzBm*u2($$X}|jEQY^hNaa-+JV@3 zk>TC3K)YrRY911`nbnL5YZfc(843JATY5MaXzu9CFCr?=R;rqVcJ_VQ{7*8;59p6UsCXyIN~Od z!LWhP)R&RrM%TJT5#d)l@Ev-5fm#b+}(n#vAl-UDmvf38TyJaPf$`peQc}dBNMiof_$2~ znBRlQ!rW_=x^(n?0JsPGDtgz;^N;Ckd;IKqEy2NPjW4Z@@-KqTo$I1*CCs@~d(K>~ z0#k!7cXjkNYP871!Bq|7Ml9-O8a5>ZK9hxtRSff`yu>{kChIqJv{$Lr1_UG=6z-He z&p8`Mh(Rq!4Q^=1ku6`tKWNzNr+k$|p}88P_n#Ja@|N?zWe>HvJw~mQ9hp=xr6$}( zvNBz;8{2Hr$glBa#cjNq#w5RRuWkBNGwQ6CJEvjJo19%g7eYm_rU4Uqe&}$Wi>vs; zp#}0mn8lFkdoyNjr)*e9WVATctpyMkQvRi}|7s!F7}?pF2l_`VDP?w$?``g{QoaNq?24V?7> z4gm`V1qlrg3l9$m3kQdQh>DDWh=K?QTn`8t1q~eo0|OrE1r{bc7AiUh`g0^8V8Afo z5HJuBFz5(y2&29^C$UXM9U9xy#Ny@;^Py#MrNX%e{U5f`=W6I%npyP?GM8E%%U{I_Ek47gO43 z+M+FwYm7USsU6jfIt<6piT@&N;LTO@ThU{lo4KxknxvlrL8`hG8;*s+h+kzpOoB5D z)s8M8Ji&3eMP3E!KIHB_zCsWycchci+W(|n30BiQ_$hIqNqM>;Roj@8JAk*Mo(=Eu zHJW>*VuAcX+H;JA@%B14H}ynLJ;OGB1hrj$dmY28&r(M7an|KTR_7|SmMViojHRMM}26se&FFQ+x!7< zjOmLKoyh-qgN6O#1JAhG+Ik(4&bzOjoSB{VvFBIhXRg3W86MGu#0Q%g*A4{$k0(hn zHjg)-a7j`k^W4g;$taJ`=8IwsSTo$_JM%13b+lc93m*MDjx*hIp2XVGt?(x}iJ?aa z-FJNCyi8A>1{)xR_|_4QIq^iqkNY3o29Sr3PiN@ShmYnGdq>oqVk7aT+-^f!>FY~O zOh=VWJ{wGH0QZ`IRoI|*&*?_4|JLzo?0ke&^2EDEta0 zuvUjd7r=R**7DTtI|p`s!soGt3w7-7U(H3%-H-&Fm`+P|;U2$@jjO}kNoQ@HtKu)6 zdyV;V9%=Pe{`x4B9*CS>cqm;=3}4724W*@Q{m}bQ(@n09?K8XOyG=@yz7sZrNUz(W zd9E%9&X@nP{_EUe`JBKB>Dy_>q7CoxrF2Pd6u)69LKtc0SLlw7+Q_CXNUN`qR9uSXE!>yAi?OMMTn1@Hl`_&IT|F{_a zhY%pzB=!hU9+O4Q=$T|59`)^3W4^KrJIvn!Ko+!X~3rHW`Vpv|{gr1_P5{b^JWS2Iy=uTy_ffv=lcnbDXr0RVR*ok0V% z7z&#*cEV@%vY$>}w?OX?f_Pbl-l`ZU%MIIahhwJ{k1{1yV;|Z0GOFEZ zc6fLJ-$Qu6K4h@|f(CCLXaU3Th_)>l6E&zL7=2L%bN~P>uL`tq+M4yg#1xlHU{xoN znvKr!H|m>s0sU}RKAwZdEvYP$38}U+$J-|#!7^Jq&_*q(R40rXUMwbQWKAQi0Df=- z&V90^8EaJ<=c#jdcUE-mQpn8=w#*s>U-hYiSLA~GZwpJ_!kxweuOomn@S7}N#Ypxu%>WP$6Hdo;7W;4G zd7Qcvsz2O*8q@Fe2frLB;q1iEL-F3N4UmoR8zw(oY>YFsWbJgmWRchP0=|e7P(KIt zy6b>A{*oVP1#OkxlSbcVbZo$}{|@L#;q?e#S-PA(a)M6)`hv;N-zDuXXmi-Rcbemc zzFQ1@U2?FMWa#8QanfS8ERJSEk-ce_!+h|I{ZsNuV`ll z3SZKqE*fSkJNFTDMCiG*CQIkoPSO0)wjIXnMoV?6s4cMpNET?-@_ML&T6P~q1o!~l|KZfYsS z0O)7ZO%k;QUD$-W)s{4A!0XXvs# z@M7tDDp%i8f9R!^U0Oy9$LfC5&#XP0oPoRYIBe{Kc&Xg^5r%>DfefR2de0s#VLCpX zl@nrdyRP?sg^c(6hQNh(MOhex+dw^^annbuc-mBEriv&!XD8_Ts; zFhj|37m80lp*s)Cv>ydml-;ypJC_;NYcZmiL-v_P(OC4|)ZyjYd>9wOUPe)oreGxl zTS{x}^xeK3V3-U|4j_Ky?IIutfWHdh z2UNsxLi%^?sk{m4XmB?e(Vfm)cqpv8`7Bn1Kn_^q1aIIdPlGN{IApxS?PpAJPg}~R`9ucTs9yx@k>i4sJD_^&~NKKHKSRUsr zH?Y}yMF8lZY0M6mstI%R0?p_p5K(a9{HpVn@+$x`u){EEoVc+@GBO>Bm3XE0xQ}16&W<$;D}m`1X{5 z_r{F|2AT=Ok;6+HGO4Vi$_64=q&yIJH8ABfV7v=GbHF5jWI8}!wGP8l;D5G(GWe_; zTE3v~BU!#g=tMlR+GqV7EZyR4GW;>474tY20Uej9G5@wr+Wb2pH5A_hPbS~WN&UK1 z(dVHa^rj2QtmjhW2j2hnWAfcGB+w0Bd2PN~DP~CZe`a7KZyCjS{p-mC z8^Ek@OYkCHW%|}!4KsmmY>ojX)-w1GcIFKqx8xt#AhCKTKq~XkRFXD?%$9s zP~!#`z5yMCA)I;sa@DuFa$GKz|B}Q@C0?IM{&N%{4RcqRIqu>QbG61ArQ;q7RB|=2 z)7^4yNo8}z#((Q;N+DhRz}tLgg?%?xP5!m~#9Hmmxecu*{ZI!BCBk;$Y&tGd>f%e7 zLJ!Mw2KpC;mGK$e&H0zpj}WvOn=YGzF9e~Rtjo<_xv;WC+!*uu%tQrKPA z?t_{kE=P>d6x7G;D=FpYjbNQ=5_>=vge+1)SyMPXj##s4S@ux`soqV*p z0~Z+#0j~Mp2Vh1903g5t;1HmYzm53-hjSo6&@eC|kx>ay(3zN7SZx^?+4zOz35oQG zNy&cfQw#zCfdG99*0nj_^4!O`dRk>aT2FxHRze@-HJG*&iW zteTW@;(=#vi~9J?Xi0wbA+Ko@eWl?1*a+OmPI24>pU0J%QzPKb#@YLCh92X9hk`_3 znoLAmPt1^jG;xBG_5b~v*n@^MWb!!XV_84G|63sF>4s!`W0QVHP z=_5ZE&)^x9Xg~i7oJy=~6N81z_v9$H>=cckYL5qN+&pyO7 zTpqf7eWiOXoGIowZJHKGgPql8czn@WDH2uHSt(eJt^G!37>if0IQ(D6|0EuW2S`5* z>tsv1IAidk+`c1O8TN~&((V%e?&(?H0r9<{2^C%4@Es?45{tCf#I_<=h_ zGoz?BpF1cy0(#Z|IG?K|l~@@CwQxZZYdx$4dc_a?vT*c&Q~==0=?!GGkCHZwW!AcuFNuW=?OMsJ1ZsD0~5;fXai`yhp;r3*wn2 z;(#eUwxEqVF@zirYm{EI2wY*?za0N(Fr>RQZ#8#V?C_<(+(1)svSiL|@i`%U@q(?V zw>&i@U^;YGQKD;bC1(m{qAyG+Xok#t7N(X`gmOdR)`wNTD{M$WaI%iOE*2^-i+ekQ zS{Gj-lao(;i_iCJ*}o$a7%^TagYpA+w5bwkj9(#Hx$^ssun!)uBt+ngTeaHuXu_;f zD2N@>P~t(v6&)N6KOcwR4&8}iKhQU<&|Y{b@~K16O2g`8%tkZSi!>`9`$y*Cxm#}O zT*;Ot_oA{WHArW`UiG_uc_a>ddOdESi9r^=AI>9d@r-}C#f$x@Ch*u;!X;g2n-`|!-$h#Sl;^I zD#o)a1}k5bu?il|+APGo%^)tmx{_;P-zDG2Gd*b*epG?7Iwagxw|tN^NLT37RUp=s zj8C0?#Y645xp13@U$Q}@6f`Z-@-~&`^C3<$Cq+t4DdrH9nFd=(K1H<7950T&(D>)MWV>QmLw-r1hYy}YZOK9QymGQR=0qd~ zCRBR2d*88)8tEOafo9^>q%A3;&HT7>*u`&&mKxx5kt{WIRB`bXwTrMELPu!Vv~Qdl zJp46D#f!F@ZQs4+Oc$bD1ZMBc0m5Oj%v-T&DJ2z5$3k=5xc2Ca{f$-e#9|F!&)va- zeU^3}tuu37DEi{{!)i&F`0n>AM`6DNZ+W_&R@Q;av$hQ=fHLkUp-L2J(#13N&3B>W zOpP4xqGhJdQC$PtQi)aOlawA^nG2N)>rb5)b%$MdL*xA)mO*3vTb$j^9}J=w`RZi-CWd)~>w(w^jjxz&64dx-TVQp-vvU4~)=4#@z=4=4rUbgGNSW5)V zL=|vm3LXZTNxpJ~Fg2%QJP^g3sreVR2Ax~TH8}epzC050MPDu7HnU#erg-OE#~xSS z!pHBkTWp`wXkM*2XJoL1D)qD%7KXo|7i`P*u=j|{96XZ05RbMW9BCx(!yq~<%F|^E zKj5`8rr5?QQxi|u9k5?7*UINwv`3kyqR_xBL?lgZAkVOw+C@Hm+!&h_JjF(YAzLb@ zI0kpc)UJs{v5)oI-lT;M%XQMC+DE5W6OU6BD3%tZq%ziSiiQ?8EB1GnGBM zjY>7IU7MSJZZuw!#~&ocW(%FILY^Xe`Kp1*$vzzAeC$AIC|^wG3&qB?Txx|)Z(6z} z1bTt|nPsQN6h>2gs4MH26jm4xi5`+oRceWPx5Z1m;Tn@1djwT&Y{&{sr@m1wp2AlQ zXQwNoQ%8c+GPqz;jD)Be5@ONkK`micm#yP&7(|;|0UtV3V|6{#1tsSo%r$Y+fjiP@ z=H<`cQ$Go2P^P!cYU9sN=npuYx!}gxjLS`<-M)+sYI48{BmN?goz|ph_6asbfa{#x zN3)21azUGb)HKgZC7HZJ=H9fY|sxcHL$K)hnY`xS?Xcui^v zTK6r-F}!j;bMRwh4rjt%cEwZ6azbC16fu8$pGt!@%#yB>YGrTLb1ZW6Y%fKhXu6Ov zTvFmKPlP(nTo-;cc|J3v+&dDUg_n1AXAXV zZ7W3NprO=DC&yD~cg!YQQJJ+O&U;hkqfx^b*pK{`Olfl*^Zl3I4ffHL1B<3Oau`Vx zUo&=-b;Xmg*!(8)fJ~7=Dci*_Hz|C6FIkWu2#I2g#?hm#z7qST7mBt~lT0&S!*+D6 z`5UDuT*C~uAl@iStQbk7_m_W)&k8AaOE}g1bl*1dfx>@+Sh8*c& zeP>qL&?@a_<#78DD=pUnIpRU*DZ5H!d=)K<0V;>7>{+g0Y&8F2tWu{&%Zt0%?dJy9 z?@8`W>L6IN37=kpm};8AOY$ zNl+(X<}(EWC-@!E{R}wY0p>-x^xJdCufasDX_t;NcQ6JNwcAxO^WPT(8@zokRg|Al z1N$lOO;)pjz0WqpFkIXV3Of0}tp5@>ByT2v7Jyw5ahj6?St*@x3e7r7$uRYoPvvG~ z4)H6JeeO6)?HG}ge%xRrDdBUX0dI@ZR6-7j{0ze7tR9`jx4EnmK9FaxG$@sD zge;Wva2rWH<@_1tJ5W^jKOhKf0oQNw`_S*n(O&h#q*9y7FLw85_%(BxsFFdh%LXSP{*gB90jG~4!5aN;r=CBIpZ(6U8l%a zkn!CVXFnQjJg>12>T48HtVrY~jB~(q(!bSh+2c+y=!Ul+t7x>Py)<37);}K3UuYW<-qJ!h{0#`0QtrQm?PZ zxumI0GD|$sZzAA!l-d?Qz9hYGbdbU3P_)ajY)v*BGRj+~v+v~JmQ|@4#TjLFNife~ zEUQ(E7Yf4SR6E5VWr@lOg1MfJbFfFH?n+1P8p%Z zstfox>Z%nos_8+^Dj`K}x#OQGFAK4@MtF|ZK9Zuo#*nMJIL-O8r^>uj2yA~NE(>@< z&yXL)%P9qC(%QC(=ad2wg^3nvX*@@2BU^8RiOYMx>f7YiDJEu$xu&QEE;Xf_qSv5I z+8svEF58!qh+p%{1*E=gLHQ~JJGX3fhGI+Rc*aF@yg2<@Iaj+@wMM<9*$Mj7U~?{M z(SbDvy?EStXx@|!DZIA?g}4%5RJ4&2H8#2fFEOYBG1KdcyC-=DQYY0@8%$A=a7>Fb zI0uOs%svB!@sjf(`I4^FLuK17$((Hn8Ti}Hcb|;mP3ec=3>aO`HSDK03qQQvF~{$T zp2=)UGkG|RBgGygD9+BLn(JK@s`(&l-s}!Lr%dJY0=n((uyM|cXr6EEXw8Exk^F!J zaWVR>uL>GVu!>;lOLc$Ma*p@tL33;!R-@f0CD!_qPIw+Y3h%Q*O%8MBK7UjnoG#19 zuCo)#rAjGl!^pI9DkeDZ*0>srXNep5SsFMQAT?Lvi<&OJ@?y;`nFju+IaIe!oxGnY zmw7&9vV5u@a+5-CRD4|ne!^q=v(5afnRiO1=wGNGC4KNtj(^%VZ=Fhh?J^$?98Bb{c){L>QdwC>l1lcY)Q0-@-OSPZOa;O>nhpyVP8dE7 z_|Bbj#S}mFItUrT(7YGobWwl$2>6%vU*HC%E)LSpmrrY7s-X&sXkF4nUUZ3Z))gA$ zpHf+d8LQtAYt#@sq_>KJ z#8SBUi&iAjiYw;UU?WDPg`Q{-xg1^8**?-Q!+r{U=2<6uW&HytY%_tIQts)vIXG3mn;%0chUNM*OmgiEM(VabXy2_qC|bx2i?MC|EMwOQ}c z<%^L6bNqJQxjzTfrOb)g(=R`)q}*@$eFw-jy$P4M?q?iV6;+A#=W{#XdPbPY`lo$5#50c*ny)!UrIZo@7v4ylcktJ@iG zJIYc1AZPp$%l3M{Cwffx6q{O!>as-stKp`4doW+XdllBWm>AClr{3eKwkaXTjW?Fc zO+LJ&p$mDbrDUtGl|LEY#M*!K*B3)OQIV0PNpd}%dDe~=UO;0EadPlih+|6LSuZIx zciM-5^ON|PIa4I75W)x#jrY83MHOJN2mu#rd{&(XV4gBnh$<5DQE_co99VmU3ckKE z)N*B;vRm521%m(=sv>F9?orQ*tiNAj}D)_{_z@gGLH}Kv`Q4{2D-h50&}y zk1p0}k7prpL&#qQE!#W`ARhUh=iQ6{&09WhKl@l69CE;g{x0ZwxjdqBL{yXJw{TVr zwZbgz!rwBM_p>(jH)8$e^#3j=x?zO(hbn&-qG<-5#ArRT@&rcHu_x8cSXuPL((or@ z+mhERtxhW%%-BRck)jG>q=Sx~nj(q?x%totgsK+;Dq)@8h9L|LTc2B1w>0coh9epRXz1kq=(t6zxd={LerQCV&_$GjDbi=)@S$pB?uYyT4NMLnnbZ8ZLN@{7&Cr@wGGxSC?Yi>%xA0;CP7i5oRkgOCD9Imk~{FVW1LZ1cxq0l3Y4%Mx1M@3p5w`4lw$yx;=&e%17rT?%&D7 zg$)q?GaIelPk}@3JSYGVP*C8!O-Kj`kRK!bz!{VP6mSS+G(A*8Miv1@yXtOq0w!jA zNCpM{sS_eW`RHtZB?Iq`o*!fHz;Sv$kf*>UT65lvLL{|SL6_w>9N*q*D$0%vQY~3X z<%Ic&Cw$I4!*|}scH@hsFo=0Y0+M?mCVpJp+Lo~Bxwg!MBfFmADrSkQkr;T8{T-0x zbTTE*?QuJd>v3v~I(40!*mM=DDOXtBJ9izG!8Sd4ui_h#Uyp3Ok+i@TR62RKe?4r? zFLf@L?4QL!QrT?k&w!p&ypOtj=`CVTW{x`bAZRw0%jCiAD=fBo3sig@?vhk68hJ)f zu*G$B|37i-vbPc4wr{)``v%=%<05kSp@&{;73KZvN$C8wpH5>N(IwEc{HNzR&@*)v z#SQ4WbL|HVNxTF>s+<>>IWoI(a6c%Af7E*3V8=}kHxpR;jgZHEFy#T%&i>mldLY^+ z3P*aZU;bNc0$JRWVmg;vyMPkafu!P(RwGtC$O}=4NiBRBrC1#NCX|7xS6&Gzw4i|s)3}(u(d6geiiN|0mf4N0guK#BM)XX?S z0drX7Iw(lVoc)a?I$R_6Oo{4k9h#E)c`bGIMHoUM3Jo1gn2p&@A;Y(rk;AB2)hvrS z_@2}!InZBKB37qj&&G^@5F5N*Cvup3EkJV^x)4;;sb%{vXRh=mR2`z5Xc zb6xsPusj6hE&pET;QghUj@${XnfgL^u?)sSOWC_f9>X88xb&x&b06>=Ny1+6=e9UP z!Y%|O(HZy$Y(J2qca*fmg9;IxjI{gVH(*dfWkBfpSf@BVIcSSWFVw!1DijGtss zC{AtZG%M_lmAM9-WW?b6j$DqVC{%~Y#7{5q4D5nyfhfWG10^6Kp&`H^e*OmZJnti_|z5{F=2aVU$(6SfJ-YMiX zk!LpOcrR6eWp{+kzW|6*#qC+=sw09=bhCae(1-SeA;#Wy6{Sw^jOlcqXgoghGi9%> z#`0^J_&sRJ@eOt3dKou_{sJ{(x4JWIZQ3)(-g`1pg2h^2v`Q15vS3yn3=&0c&eZr~I9m>kr@kFa>62Y2%tgXcuw@$(eU5 z&`Z|u2S7)i`|*iSe|yb`pIc>%aUXxEI6V+Hxz|aan{|KhMIF<(LhJYSpI`1=V7q>1 zNTW$6YpNTiw&GsOxYy#L3ZQ9F=?@?la%A4jm>$5)gsr!1;U3##I&TSNTVoM;+xv#Y ze(7sOinoKzyESXg-{O&;OVINIdncu#CleOIsZy#vwQ3`9Zodv6->_NUV4pc8r$80R zua-~XCW1)Jx3;hPBP&p2Yv4Sixgz?gy3oVEICyU$*P=6WEP#g-qCXu{@ANA;&|m4F z?n^u$h#A%V)e2Z9Bi(gU+Q{T|} zxe3lyX^FV-DLlZpS>&E*462a+IOy_N*lkDpi$uq;3y=4*%_;o5E3lj9#MYUk1i=aG z7(9}j=0w+PqsDeh*dfyVg}vK#SYLPhwAboC zNxfYHPL%$BZS=!G>fC;UN$UHJD{m6!MJ7l7&aK$n>=n$CwadCL5cMtYO`kb!W1he& zgD*Wp%tI5A{P}Sw-bK68w;qw>t)9-zBfcIk4-Y$JSYC=qMNw&}yAQ-MxBdd;DBiG` zA@z+S#=|8dCnP4s!NVmW0N~=_0q|*nT(lB5u(z~n0%|%=Ze+Zzdmf{&$B(XG{kh-LW1S?! zFc^5E4KELqXp%p1J5?C>n?E;w{5jAa;Qol$~r6X08Rot@T1z^b&lIZ2u2==;HoHl(fk8eXKc7HV#upL&y(Z)j(VPk z#;wKhWewl%R}V(K9+HPb^rzo_bbe;NAAEVm@uTQ8H!FA@V-B^b585GvwYkK zL06gvbKig~Do8|aJNXvp-(Ur@OlC=h)cfteB6iTZ8aw8+*5qC^(-I39P$?__Dz$k! zHMd(gQvm&UCDLgUT>i?JbfqjVxxVF}qN7NlKI_C(c)c5#pFA)N*FE(p9|ARxLbP$E zntn*F)wi$fgWk=CYYB9<3Ov66t5>c1crkruJ&}e@-=Dp$^D7q;Ml^YN@_}}u^PHbj z_8G36gIF2YAIobs@_wC=UF#Gop9x18?;r6eO-{)@&fv2mjs4hB5N~tXbBnikB0aPX zLN65GVSf>3bDiUnP)ehC>C`|o46Y6}#a5(T&j0B8y?=dE|6`y0&HoFubU zlt$*_!(o>n61n#$3{1VVDsUW>b3VsQF~8g`{^#HyBK*@6{=acSQ6Ddq>yEnmPS5_s z_h(d=Rw=bfy9dcPsUFs7&%z|6a=w z7c?T2!N}heHwqaMblp!#{{_(HU;DfpvfXh~bM^~h0^d$FFwBQE4@4Jik=6(2?HzbJ z?9sT-4{f6zklowK5TobYRW_rE#$8WW(aL8-^NKKlnHv4NYVaXxwS@8QYuqK~UjQ7B z#9x5WW{r?u3m(M{k+g!Z46ojtlR5r&MbPk1m4E2+zq2zinhEJ4LF;Q&S6R;kw$_IW z(e{;NBBua)ZcDAymKN%)&tRQQM%cSk=X)N8hqr8f%01dizY}; zC`gQ%tXg*R`9;g}w*u4`?5oupAgReLRdZh1xE*o6K4ps$n|HxhkLp7r_Xy-&V^*5S zS>uCAQwyahwT81G$Z3W^@+b5ZG4S$deZ{{7&iKWxv34^UcDeP!NJ(KaQJ_5CV~ zYxYxlzHDJRhsNZ3ZY3shGo?aftj_n0C8BZGz@jX*rrl}Fk zd5~=$Nle{-?^)$*7nTnDAlu@8r@OybZi1coloTIvrCY+hX`W=3YZm%2HG{{w zyb>bp<-L(}sVp^#Uaj#e-#CP5w@(>P-?#I)JgT0S=G09yQ@6VX4i7+8iI)jTeg=zZ zV@ws{_c!Y7+9i*BXE;%cPNJt)94Ai;RyeK~HTkHBU6Af-IxUOF32(U6vYM|K=!bF~fkN z#mn;-+6(ON3tcyh(#Tb(yzAy;p1^3p)AqGmM-`63gU+mj!$Dq`DV_xi2kwHND^q+lf*WYf5|q>iWH)3e8EBaT}6 z%F1un9=Ee(vx-!jNaN6e>ir!ka1NnS3GzXY;5eQVXBq;H}(2Q!)rORtdgHrh7V z&mo=(;Yb^*G-{PYj4!}l{z+4o3|ZG^GH>~E>fI@05j9{DdoSxD?{81wL+VvhtE;ud z#_6wE*b!xheVvJb_~vRJJ6~=?b|HpOSiSe9vVtbr0|cF%7c_wairL0kpjA0+D9ZAX0v%u`pFFTBnF`XdFW7}D(UdYmo$wzn6JS}=QY zEmx6c7`pt}&Fr^;HXUfas8qcgGfEp(?!o-~eeBwPGsWte5N@#x+Nk}f>cKCvJcr+n zc>*UDtPEx;Zim^mV<;+h;HN+PVhA%fuw$3%_bk=ZU#Rq&V<`!Z+=(xB*)Ebc-ck0O z%u>pK*l~w%fl!7hD7ZBvcA@8ekGyB23&d_n9b4e)pm~(Mw$BZ>FAF;JdH6w$Cgu3f zdCfV$`GCXQj@^nRPLr#a<(o)BjO_T3`}fK21?*48%XsuSsRl%?b^giq$K3B%k9QR6 zug1H6H@=LL^!>Mp&RMR10TfQH%NcPmZ9cElECAN;D}3wn{#cusF!bEON<7P0Jm4(caF9xmOspOP3S*z5nP@(*49S9S(G zF^U+%Cdfj;pG-DqiMUK4OOjc6ippZdh$MY#8&lu1#Jnu;>bD7@Gt)h3sUitDnwL$w zF@JsmsMb0Px;-yaJVGSDELj%4FXH7c6}iR{$NmD$h|SRHaLjp^eWn}LZ{??Axi(Oq zA2~Z>`FZm2nxo^fV(`kzt;K7nbrpRV6zf8NgHsdh2X_zyA5`XU72?$~}k z5uF@tJfc5`XTDQtqQ&Q6e(*-X^qfEcw0hIf#8ZchtT;Pg6UN%)$m|*FjDk3&dwM@3 zhBzj~bvaC}(?$zuegU4MD(+90ont%`R{66kxF;I5#sW@;ib325)|^?)MzITD@HhFoZ8_M$45>C{*&7btQ%SHQN(X1CSMg(+!v z`rqoI(2v6{sfg9U#$ix(L9%dv_R@O66JTf#c(p98rv=+Vz zzSazi*W?#KwJ+W3`&xbEC6{`KB{6L{B?I59HiIPELQw`z!!EmC)jIpFCdYXiZ6gdF zsa=uOZUx#-Z-Alit{PS=+u{*UdV_{r?A=Xb5^@t@{4g0QlTE$bPlFoX0m!n0kgHaI zWnt2@4ioqA`_%JcV?wTKamJc^vg&ABdWaR36cWn%v7a0Bqllm_Iv>O zO3jMcNs6?_xzFPs=;I{;;p7bE-RExVSdOr+s%&fLmvx0_u$}r za`rr9OCJK)1=4Xp5!P48I(rwie!FtR+_=6xvtAe~^>POEA?-Ew!D}IyV`P=sg^jIz- z%e8*K5fp!D{vnkG;)=Myd0p?QVT^+ot^RZItkUbd3_othUpId9p@1Aa?ECzDf0Wv?o--`JK zTKx3Ae&ffa1hDG(v)(kS>4bBSyVUC!#^U*G%8@*vJG{anzZG1Pl;-JZc&4I)T!Hut zpbmi=w9)SCNqT$zxkeA(rpgCl)@LEXM{O?Kg?2bYCP((Qik7T)!n|yX0?6TDp^&hK`vbu{`U5snzf$d8QR@ieG@*=(uSSXu2*0@)-g*| zfXji- z*xS`3P27Ef;w`idA?QJoA$18lh(Nsn)fGJC3k??>|?{16JY{5E^ zuz{i@l)wWWJM#;0ydRwt@Wd64^0P@e;CD{4^lUINsC&%5FwdzKvpaMp%})IAs**H@ zZ@fTP-@8fFcyV=1JV_S^$uw zUd`v!eD?56iF>@cCh|2S!6+o9ESFz+G-B~7m{JgAajG^|Qm!lXO4`a05+zskb>mY< zbiL-QTDR0V^UKF!4^kaw+5GpzJnQT5e7T>w>4IBVh==k#U*saH3@(UQT(^Mz%X9`; zl^8y%uqJ6LrgZsD=PlcGD_O|vO(hJX-n!L5Tim-r7S}e+sznBMcrJyvm zoW+O08kw;D{RqEs>DUZeM?^DH%N0nN-Y38ng-v2mFY5S~#_wj<3^boF>#Ysy=?+{) zZR}EEH-!e{5$Mb7Mn6_N%B0s3$+W-OhKf~i4}X;7i@7h^t5<%1qe3JIE(J4Pb=vU! z+yKFDuob^X)9Ad!WOke;@(%Bem$ZACH*kU@0iV$3pl4*s%qEZTR8R4wZoIYj56Kex za+7F+q|NE7b9vnMXv@YQ^kU+-n+auf4S6?X+WSpqmU6eH-w^2Hiibv%J)BiiyZREd zW0gttAtXkKQ&auY!pgcP@E4#=yA6tbmKx~1M!>4=;&SH)v~9yT@s+n!0OgZ18i@Uj z)!qVYVpN-OV{g8&@QPQGmHNknluJkF?Jy0Pv!N4(QiWTyf=_GY&Q8;P!@{p}+y@bA zSV%d1h)H=h$E@y=4j^&UMH0PRy9X@&yj|ZOkii__`dwWdKjFs^YbWOvpt}JxwX%KB z_KE7-m*;B@5B*ls1Sd#kIAPghK>~R9$l}CcWl<2sQ@s<9->89=1mrc{ccPNiBBmz*3u*)RJZ!K z1Q-jR;u2&iW6>0OnlY|J4ZLyBf+~nh8I32$5<*~t8ISqy%~TxdyAW2JRzE~PDJ;ke zuu_5nfn-9@1^ALM{uQpGXJ;A=Z>G-%jKd5_j9y-<#*#qk(QsD=J>i=3GxYed)wiDD zm0y6E>%RU)HWA?!^y&UDKnH>zoG?)zif}Y_Yib}F`TN1{7z(|4GlDEGTscICGct^c zoMBYS$@*(}UhT;;7J7z08FHJE2We22yS}ZMq|#*@@CuLP=0v~_cB5kv1i%)gunxHp z5}N8mpEy!Eo{h!0h+9W=X+cRL2(Q;!UMGmVNfkCuijKqnKc z5^bT*Q)#ODlU<(3+DYo zNle^ZhAhT3{Vvl@gAf^YZ&Bz&`i7Q%`6b$t*oEm>>*i^b;}X+`=IcqZ1XBE{Z?3^i z#g37JaCNPQaEukyzR%)^RJZWP*!mLsE2n2Ji=V)WPg+n*-v47H^zQWJC^dsc<71nc z)M~q=lmt&hA$(*nru81GS5DS3+{wN|Ee5olLrLq@;Z?Du>5^b=Ty0P=Nz$3_$Pjt) zHM>bI?Y0#8hG8_XKMagnE|ZrB&Whlc^yR<@>3Ged?r&&QxHnZ+TjgD6SbP(jv|bqH zx}in|m%l*r9p z36V0w@OQJZ+VgD~7%!BPGzELd)6rKCJO>YO*O0anySp+n@@-cMIeyswG-{*9{kAi+ zrUv}wcUR(-qM?RkI9?E@Uw$z)y!!17;`Atxk6ukU;noYy}#D zdV1vZq7P9;v+?>+z0AU#6je`IKDGXeYs#<5)>%PjF z@#oIqDSpTB`BN#>m&)4Kq~mS}n@U>Ws6RI`g5r&a^AxyzwGMQ=97pn|ASVKJM1K2&aG$ z)2h4rcK9^?b)&h&>p>XMB9fp||E?qMzO9)IaBRywUd(WqWB~LCnaSdj57TdINYJvi z2(&cmv-FzWRmrR!;&x1Xt=lHhjva+Tt{89wP%`M(N5;9_@GAjCTnwwEa+dkMNRRNz z`8|FZ;jSGFO^MW1Lfn8p+7Tm^#Ih()G>S+mk5|8)o&l%siQ9)>wI$+$%XBp3+FA20 zAA_nD7{jZ>6!U4(2asMnEA#9XH4owoh2YGgz36wyy3J0{2zaOQH0ZK6k?i%76bb=A z;I>wSK}73RT@fP$1x`ADRS#)%BV};TW@;nMjD_FQOpwS@AwDIny>BFKX2au=v z4{4u;X{KQCVoOA0gwUhz$z0>^cumrQXB3spLT(F7jmh1yCQL#q2~KWcaKc=9OWCQw zL;6fmgFtvmNtf15AeprPC;h+c%B(0BldfRFV5t$9#SHJxZ_ksK(y&QV_&U!{8xWRI zFz0?2X$^@1LxQfWwNsmyX|78quDMy5&j@3VaS!Ub_YTF74xUF^FX#5zaa))8qgyC| z9la$krRFjOy|))5?gchwbxg(~;;%(a?nM!@!G)xEl~kbzzyJGS_iv9!PzAlNrJJa- z()gMkg?{H5OfMhKx4;608kTF%RnYfEKxE8FXA}0cAln6?z_%GJHn`exMv2-K*MB%| z=7fyw6YI>%4t&p0{jys^PqWEh5ey%n)uIHl_^Cm8o>qB}rR5j*g6U@D)!Ro;vtb`? z8uiOJ^DqknPejI3k2PoYg;U=D0<4UzNw3iR^do)n)xnr%W5s>OG1!Z6SsM3`wyzObs+m6Hb$sXGH|aEOt`XOv9!+nkJe6VjrYG>3x75Z z_VfKH)3&>WY8I)CO}0{p>OM9mo#-gyzfzi5dXny2y|{fWWC%I&h)XPVT&wh~1kaE{ zCDq|@T9|^sY5w>do@D9_J;8*xamLN{eD?!+*4W?pTm)p{+chtnsH3`Ptm1rZ=+?}f zo~MftSbYF_w!Qh5CK&8R_Znxgz)&s62kIRUCa`#Z>5%lsDE-M^Sh|aP855|8Up&`2 zq1t4c*7>xf=9TbnMs+NBlL#P?pr6j=r`Aqh9MD!F^|we;}R#euIY@|2U~!3h0!WAUnb=~>26u)qRRVEJVBg~Y&T?Qyo!kCj?Tk|tM@vG+=r zCK`vupC@F%2k%b>Vng?BBVHm-E$iD?!P*x&Ekb?lo=sqigjAiPXF)|}mbOvDEs~bz z`~)tdz6W0(yp;jr`R!=>vu3+Gzc3#A1;Ca(ySFhAu5jfSX|CPLGK2hV$tNToq?k1~ zUUHS2n!Kaaq8a8AWmLQMV5~ky+n0U%nhrN5+u&;!>bNaF?e-N|`NDSNK|+63svW&% zdgdPe&0@c@tIbHm)k2*vPhvM|gvHp^(V1!req+8w&U)cpaCUPFltyv*O*;)6J@Yla zdn9>|pjnIMr%Gv$wFhIo)mT5E$|q+QPZ4t+A)U4vY`cs_=vbGS@Nc5!_)DPDSrL4% z!?laS*-%+Qdu25bCu2(yn;;VU5Z59{8}>;uv#6heq?l$p6bn#YeF5aLG*_*umizEmNjW{yIizxQ{HWY3ms`vHDG z>O|6kTY@Qm1Ev< zuqR(01V7N}5GWUv9-MU*bDe9biO=N+Nq~V{AHz4QWv3!5t2a3ayp|CHQWksu_!*K$ z!rdD5{aBRnRGPaxaBJss!D)z}*@)}~;y04WkyjST0;Ifm29M%pEP)EAPRH6ym z@w5Jt=ei&@K)`pRY9L~+90`?oUrJg-Zq(lQyNDv3i*lQaqJL6e@rJct3Z-MOmq(Q1C=JmZLb)`d-hVJThTEqt44d2n}UDm1cT|xDa(i8Ic*=KGH{aXY_1~ zscn!m2R)y5zgnr<7V(n=JKW_|DlTCDg<`%}QRTyWISBz>?06y*kHcI^d29)$Zu|p} zc>2stO>ysb`*F3|Hn)GhsKA=4@w&aQy+Mv^7L&NfNQE|(MjLLgw}A|@YJ0@SC_Y(k zZTv*gGO(?u_^&ak)eoWc&Zh)OMM_CV8AWD8{C3l<1XJUSfy5|^KcfP3LJx6e$tLR6 z+GJ6Vi)qQ)VC(!x&+~Bg-X=KT;F7OY%wLqBpzb_axc+oA1_u2x27Xt!K^Bo5iFmM2 zxJa^Sp$Z%9db+h@D-yaIE~xfk?{D1~XIoz?Dq=?=QNl$DdT+bHbS2x|USw{WbzdH? zbqlq9gb1pQ{&R#KbXMY&+&a$ggS`7*IAHh&<5|DJ>`)^)V);+;{}P%6{CNGB|GCE$ z;}Cyxa#ZJ@ZrT;>D76y_8|;LrFHl!cQSxicHa)P!IV+<#WPJen@*m?g{w&cktZ-1TbY z%D>F}rj%81mGadT`bS9;sZG1qe?GvqXk$WY*TwC6@~Am zl!Q~gA~qaxGje+LxBIB|x?6?tqnuo@2U~)WK*q3tUFa#U6zEnOj_#z0&|v*{viR?Ic2v5j$vLW8kBBYk;mWGSvNaY8~k2K)#L;llZcOWKlVxI=ybEw!7ytQ*b)6(T4;kX++%_aQKvi%WK zMnU-`$a%Rk)XAKIyuM6>`O=ZQq1CQGtp?-!Fzg%I2|vSAJag~jmfyf{Paq-5tk^(3old#D3js@4Cro6Hww^x*!{0kwlhvvv6!%h4FW7N*H(c;ZCH3;gVbq>jOqwWf%GT^b{|D=CXT91R%y9mgg8#>#RV2yU zAj1m1t?$8)Zvx({Koa9vmB&F09lIcNE|Rrf^DhE|)C>8>@u|+GUakHWFBQixi|aC* zjTaUOYz;g`&}B9>N;6Y6Ql`puh3HrLx+0PNhRD{^LSnGHVVOL8B)XxwyIbflr|B2S zwOEdAo)i{86P83fAyOxHM>u?A%L390O>C>R9n zFeZWj-n{2u%_nljaV^!mwh)6~=%{ybD%~vBDiEGO`jg~o_f3zA`MmaKUHWRISuy7^ zI)rheXE9;z=)aarH_49v<&n4Avl%)O`^J4k^`GmHJ_mjO6Fu~|5c^32PRnDOOmrT; z?Z8~0xH#?{6 zo12y19qj86b29g|+(xK%okjx@{p>05v7Qq0<)2JT72K!x7Wn<9UAnrS*d-+X-e|Wk15^{4#~RUE(W&yn+#!MU`z-z}wW1#O{Pjq#rq}xwsul z%mOmWFp)&A_glNxIXag9z_R?#gn>1kcw^L_7Uu7HjWBNJPdBgi%Gi-Uq*u4r1q&|v&Tyionv^zEQ#cGRoGp(6MXKf18;F9su zP*GH|z8S27yX>y&n7tC=xJ!b?RGM}G+K`QiKz!_yecTs~?Z&mM?>B%E3#pf(#K&G! z_EJZ9fqfA{dz1d=grx91I^((Y_!fIL8=D2jj`!c6{vP!DH;X<0;`|3T?=S93Sv&lb zV{3odNDkjgbZ2@iQRQGdT%Y8?^4~m->iPWb5A@#5dcuy)q0V2oet5&(jA1(3iG4f* z$7u=VId##1m1Rbd9JmP4{4Um`Xl z_eIHv#%*E4i1t(?4=;xlEzr3oHy8C;p{l2rj`s{7@HaV!)Ygi<=v4#0%=Bg|re6S! zp2v;9!<613Z}j1jv1blXt_vDkqZ~U`4L+$Ns~Jn2t$D*cKGUnMMh4F8MkGyYpz~Lo z%^9b?^*Jluu%(c*;SYEEpe;@xX-3LjnllhaBX4Xh@zS-QeyXbKf1BxPBDD6rb@eTX znl&p+7@Uz6FR%>~GF>y%W$K9x1bM53&W0;+G72Cq{!T2Gsf{f#P@J&5;kh5N-Ott2sCl9g4x!#_nH-_>RYq=?& z@#;=PMKV5XfSXBDA=izjhQoT+n7juvU@A?0`CW`J_X}s{H?# zhg)oHhIBKgWc<^X*RKth?Q*g|SKLgmg%l7;J<)=RAm$)7P=^oCecCw&w%6>!)4VA!h5RK7yN3?SMQ4rMJ>)BSM7IGn-uP5{by1sM9Q6cL-SVb^YP2 z3v+ekX?nE9!rax}LkVQR0eua7^1a9&=@J8@v6DY>&_7KEtKzg2qCE*3*f^%qca7_f z3Tg=YkaAho&<=`@XWg7o&d%JH{@}i7HQo>x+2oFQ7xv&ndj%@2gK$9x1%7QKrE zU=gu1QK7BIs0N|+#VnK8_{MmK3YYc0^NR*kO+6XfL=VR4MA<_4S!HGP^bRz3x zsGz37e(dyZaI*()(o6UmOyBEY;LG0?R!IHtqFw$yWm0KAJy0Keoje=fT;Ys@+|fsu z$|}>LK(FF@T>C6wjZhFvnc*xOXFL?Rt@i#85M_|bQSkT>pScU=D-ui|(g$f{;^;%^{p>X)XFzorPo_FseQAG~ zsNVM=BtRSMlEK0!W^?-C^ZCzr|9+{TvHw}G|4F7lHQ+X3s0IEYcjkjb^}jFr!S%FT z@lT<@?(>l$6wlR;wb|38WDCm0>gJk7;X|Bja(VpsOZD74)Ydr zx;NzRhSm>;#VsgRVW&2=GljxGJML5|@@44h(N>pC+fGs;TV!*0d*Wqua}iDrMCt^} zSRF+T*&=>f3yA*x23a<4;}OZ(pVQBVSX-5laeTnIg;R0BdC<-?U1;( zE=Ze3J?Looma`cfJZJk&LvS~A8ozDtS+335_G-zr_5`X3FXCd-Ph)avspr5&S3se1W zcfj`Td?zT+$$nwE(cI)x^6&5UGxhK8a5G^+?D5E-YO!aDZ0+br*B|)bZz_M+?z+jK zAbgWS0S_0S5cei05zZgEjBo%nToQK5(62|-oIXYMePL zJR0^bwx%?-$A_iL-QmEy@W9`}$<*Yz6AfqN1k8gAFtG)yoZHLPS8i7iM9hKPpXnIB zm2pn8F)JLXz2OWt-tyQV-Dl#@Ppz?U6yO1tnDl+(WIC$OdRuq6!FZvjahp~tM$Sz4 z?JE`_J6?-Y949K);2Dyp+`t{~VaAdS`Q}`>rd1oUtR(T?Laf?usaNbczSuR~fVww< zD=zyn5`g4WgamOb0?p3dtt>w*M>~JHY6c>592bWT;Ws7xW-pfoaqNKSO5_N>A4m`-ba%SEdi8=kJ@c)kl!RZhk43p(a{opY*6a(_d z1>lkTJqQbo7~ZPABPDI0dXXX(b^t?PCc}zczrsQa&Uq6#0ff}Dq1us|BsubZXj(va zusGM4M%^0%#RK0Lk=q2^9H=2?Kf`3frjGe0zF?3f>{6Bd74DoH~od4}6Xs zS*A}S8_xyHb9tukNyw6g+_H;i`k&t%zM1~tH+@+W8e_kBdUZ>vP*O?UZd`(j?3$aB zKlP9`-Gkb>|sGxUnC7oBLezR9jCT6Zg*TQt?q^1Rk zo0M|mue<>nfDdrfNq*g|DLsIx>FSs|34ZI6Q>oIc(rumF1FiQVDY%y*lLJ5GuigQ8 zd+*XsymVIN)l+wfz+l8J_JWJHcNZ7IP}f|5rZ6iL0ypd8Wt&<<-F?MxKWP#*1$nQD$SK_dbS36| zpX6LVZtIBHF8_LXrSg>&gTwcLqKwZo-h3PuPxu%Gz%ljHBh1_&H!u_=W>HIH7{9Ti zB;`35`w!>Kw(?QYYQ&q<5-=6H0-B7pF0E{4rqhB=7=SY$RhWr5&NowOAZMzlyhn3> zZ(UI=l!ZVJhZ-O!OQ5;?Lxq|UH`G`ER=oj`ZE%jmBWdcHyaqs9i5j4<0kOl8dDtZV z3t%b75tmV%(?9um=L=PO@j&Cz9gm7vM*;SPU!h)#@|UXoXey>`4u(z4w)!shf!HBC zLAg*g8MAv)0`4N`NAbK;9DuVbeZP?$P9fGK4Y;Ub5Xur!O02-p70X?;SbF9bF-3&k zUSDAr&&G)tjDE?>|np@zG=Gc?purW+-6lj`h( zGn*JlL5{+6VGV28es$-WtJ!u;SPVjUzPhvQS@HUeMeOXAeNq+!E}opCJ$^f>Zi(;h zvK$;2abV0SF%Dp#1rE~@;6VvE+EXyN)o}ub;1$t!B#8k5{)STKA^{ySZz5$1Mfd(*|(z+HYpJ+gL{1=G92z(2f%y77z$) zzgN=0zaORfG2{({1Lm7aEL$~sKi8n|_n1-W=F)j6^&v91Nb8%0O}D?yudF_f^#p9$9i+PbRvIHFBzTFDVbB&IuLnyEr%d41AaS zRJ0()oW+=2qR7kDUy6$B76Xnq{bNmYhnWZFRSkR*%)7}p4Kz{xw5ov)ufsPfal`$p z;YR`t4xrc$Ji^aSt8uj|oPc7RO%lUI-)MD7uG8BHH-M7(Zr-k^(k-M4a~f2V5a9^a zj6n&`Oi~BaT%t12ZY<7E4a97O3KbhjPnI?{`Kdl0|^Vw zL}FG7Utp19@6ydool1>@ZWUL?F5@gzPL8MXWcxb-FYsyaI;tiqr^_<_{!4Jw?6uex1(OZ+lb=z7Sp-+yzwg##Bf>z*}R5T_||+Mtu}fK^JeD&(Uonofxg z_zMuF+ec_AE8o7ISb0Q{B6-{g>$X`cAKyTw)=)}Q?|A|GL(oJs97Y-HND$DxH&=kVetEsC|nzNwH651;n2 zo7df2wgI}1+kc3dSI3HZFTZ}>@iguJAkO*R)*F*>M1#Y}9myx=^FXIuYlt@b1F`%f z?n8!>t$@=iR;i6i_~CCh#X8Ym#OEV9xC)Y&A1@j<{@ug-W<@!sIZsdIMD(F_E#j z9c49vJxjV=jX1^%9`X3^d6l~%8F>+JISTpu=p6xHBPA@k!Eqx2+G5asa)!royRf&h z3)BL@C!jrI#-?~cXPz*v3R^C<#Lwj@ycAo_&|8n@Xi3mZ6kj)^@N6P^dp8xy=4El- z-BuzO90mZ-lqQtxaY_$MlmV);IGCq7=^f>1y$KsZRf^29FN80Q=yATtQ6*5LVwFe^ zMs+MG+RF&k^@b@WM(`JinO{u`e^c_f9WJYw3XFm|Ze(1GtK<5lbFPEvWZ7avPz1$* zUO?(L$*8TsL#5wpw;2jmnsGJ(fz(@}qW&tx#dKjujK#o6;sj30n%Gcj-bN+)GM+19 zicgnZQn@Zq?U_(ihtz;>`a5^%aE>=Rex!US%|sdWZ+UFdX*K0x5;1Zmw3hXj27eo+z3z^q~uK8 zxK`3l*#+V`(hTDe#T@cuJf!rSn9_%Ce2rzk9(d)R$K`nPB6GiOO3}X{6Q_>q<3xH> zD-svtED)+Ea&rkVd5;s)YR0H&r{mKziOzr?5qpGMaz2O@k8$Lnv6JwX2$dDdN2xJz zZshO@$i@)h?Yvhc%?nF0{27~br^eRKHQs(SZ!=B)H$vLjV6#9*I`za`(!n_D00O|r zn?CeaVVjb(xF4E5RS*5qg(n8rW6=0#H6Q!meAOU3kEU+7={f@MyFmY;3VPF?Z;&)yiaI&{&2(68k#8h zgaL=>(P;;#()}o;YEBD&%dW1vc77~rk?i72+D0+DQ2_S@l7?Q}QsGHX{y7Us{GJcb z-QK=R$8BgPKpwqIyBF=qjB8x-G zKac@ zx9ogrLnYf>X96IiBgiT>t4cGh(8CI8W!;RQ>MhBU_{1Prvd8a&|C8=(ZAtPp=O|-N zJRV}hDNgN771WDMKwK#IF94Ky^?<>HjiZzppVO=;)O&sa-&f7{cKrru)IlNv!ugJj z`>Lq8?h)S08P#AeTU=tmK2*h9>YNkrw#lBN%vVt{fnn-EKU)mb7`eQyE_3z|XiC{3 z@xA^{O!>QMwrPNPVI=5)X2XS*(NWDS)tO*4Y?!w&OhLX*DwKm%TW`z)|5jSSt^G}! zy9tH3!lQOHun6-sW`|U7>5#NCyIlZ2aq2llBz$QOG3EW0naGQFnioL8S4yb7K|CFM zv1-e*PZvDRY*psrjhwO<{>>rfXN*O#qFz zrOSoN8fyg?F`FilJ3sPVOBpBZ7vO_-qj#_a_3IkvFv8@yTjG*#Vw7*f$@#u>Zsczy zuj5WRB|CP@=8nFLYhv?O%ScG+EXWR>WpXQ~!e!#-C^nn$wtJ%JrYaI&D#^pJ!C}o? zB2yn;E?TwdJRsFq=0m-@K z<2hk(x>!2&nsbf1XB0od$WVeMm~YcLS|4Z~dt%x*nvhEQ3&5we}s-(vc!q8?x4Sk-yR*?`AwYFRDb#=E4Pjy{${|cFh$X~li@d!@EbDnp%IO4E&NP{0r zopEe6F@^(5L7Nlf{+b}3Gr73m5;iFfa7F~$_<2GVDNirJ^71J>p?%|5xbQAAp&$n1 zQ{n1eGmEK)mLjKzDr4`W5dRea@1TjH^0lh>2^CfUa;Mx)4$|~Wrp~*uC^{9bh|k=p zyD3c;DRi2fgwv*aszeHRi&<4D!vcA}EYXPM5jnCK-t!Sx_oWjt5J;JvvdK-1>y0>C zGilvmr^HOD5gdo(RP|-wqSDml%@K&)h`2^7y_GqqzR;w3#P3a6yQyE~9QQo7eJJ}` zEK&Ga@;)7~BST7&JJ8 zOOQc>2X~UeonS$d5C(UGyIXK~NN{%zL4tb(3nT={o8-5<-+u4xJNw&j_k8bv&Uwcip<(UDcR{Y1T@CgN2OamX`tB%=6)%m|k4KzBF?$ToSZMYA9$PfY0y~ z07e9*Ql(y?8YNk94j*&z8447#2U!rh@(R^+COEwj+!#19nk$c9M3i>N4QT9&Vxqsb ze;|V(59Z!5huxzfMo+tk0VK()Xa#Kydph_L67bgTlF`IYmi+*Nz=WRP8j@SmHvggm zz9igx;00h5%o9PuBa?XZuEpkMQi|*sOjCJ{0n$C~xM{gq*;0g!aomZG5Tln-CaiP7 zMtpwHP@0RH6w7L-HW7%+4|WaxZlN?yHb&;{VvgJ(3>To3Qy7*x==?AVd=r%zC_sY+ zKbS(vDv_zPkkYE{>DK4!?xv_O4?WSME5v907z9-ZkTUNO6Z=>vGvGA1`H>}oK@$1{ z{Tq{ZJQPewfAwmB4N)#@QV<(8Wj6&h<)w{!YB0SX9-b)w+eUs09wTK1bPVEl`KOwC zl#vA}0GukU?)*AgI$qoa+%?G4+d)$Y2}~3yZg<^H`1{a5uh%pfecj z5aaVvn9M8~MWYGPixmLK`lR(9vx!Y^kH!^MldYMVSSB1d7-93&FNqGG*1_+$u+^MumdS1p@1@fgIz)^G)(bal_~X?=zzS7O=%!A7r{OgtZa@P_^dO)5Lvr z<}ph!nRkvXHEZHO1_U}fab(1>{WTsVA1?na5L8EB@C2?F6+k3|fXWkik2{c_i9Z+X z=^h4vD8YrKDkc>8xI^;O3$e`c(Le|;$v4damVvc2sb?f3Ao)NqJB)x}2&;~TGIpF9 zaR|Q*AtXBkxM7Zob)V>c;am92+%zBeW|Z%t<^bBUts{y*s-GQn0|4l#z;EA%ZR;2SfHFCp(BPMV=&xk( zm~Os)Z=xM?z!;$(&d8>*VO+2;8`Dn!^rXAniuoxcc7>d~Zvrhb$lq(k)5knelmUWE zsGi0`_AL$`IPgjrU}l;K;0NG9G{B~WORdz^IHh1!svH1plBAy#IEpjCFAuoiFNYet z6iSMlqx70-v0Eupu45EqyQ>Fx3_lzZjQT7#tCXh!{Tr#Qlj$QXtDxb0tN!>yK!lcN zULqSZLbp09*4UJ`m&t+la^x#_8U}$v$%{DGZe?5Eb zm*HTvIF_IRBT0%y6SZ7?EIwHQ#r=37gb`D1ck=8&nIg~WAkFkC`xMJG6%!gP(0KR? zi$+LVzQ5`lDcJS{m|Cnb@H>9?pitG8s08?HTmTE9`MaJyh133QYwa-mBqGBGa(Iz) z4|*BZO82ffHhxC$X+Z<=!|klbblm8OErRKK4AIouVPbtyIYan-^s(#%gdsu|EyP;O z+x%iDVIq{#AyA9<8K%z|q%~`e@F>U*)|$tl93~$j3Rz$>@u4XIA>22&ta>y6_n={x zl@2{UBx7;fOo_dXbqtti>Kgj-VL?QTx3wFCT#O9KxnVLGr4K?<*{UL~f)k=T2wpR% zIPnqdqJehc!(3wK*6?xCKsA&sC;^&be8D1F@J2UF04hQYKE~O$i5^BV985$>!IB3~ z(1f5#yzAsW;xKK{%BCr2Js#AP8%w#VR>pD7$3jo|F2e>c3$|Z?Mv>UaRpO5YNYmtN zAB93)&#WLNPbfnBn25gQQw0PS1q6hnj#SjYSf6I=WfblnWW=ssctb%(sEFZ6G;;0_ zE5r<6L8S<13-e8n7Dy$ktfeo&z_%pqkt!%6FxFn#&kf8{-QHaPqrDwDS!lfUNONf~$VaJku%^G*_Bx)%Z zsF$9^*!9!^jdig%avI3rxQmND2{b2~d*flt_!sRi7KKJ8o%6r+y8o`_{f}bszbT3T zBk=!D%YPJ^6F1^NK+=B^h&Tm|Bh?suoAJT4*AV0faY!%)&Y7O54oxn;ZVJQGN4SG* zF`_hdGD)R!Bsc6Rx>0WRqGuUtc5HH=pYBpd%iSZ&qmBGywC8(R7^l5(b>fp%kvs>g>8>#C2gjaz0H?&4Wg3z@md@^F2OU(L?HOewr* zqA#+Z+A}DQv9+cni@RtXDlU=aW;pZ?{0U&OIqPv&s3V&<(UQIcp~6G)^c`LiFb&^5 z*`uTX_NnHx1op4!Pr#Sb9L6P^kWkTN0eI`GDA$7?kO$E)+unv6HW3>bl%Wh4>nUGD zn3i`did=g%S!?!;Qsw~o0L+Pj>63_ivV??O%#*g}Cj{>RgaS(3nW6LU$hr$St^x*t8yNal1iQT0<%xuz^j)hy zq;zx-kOm0rURZ$vsFaX<5}q3UbdXS>6K&8`Z_;I4X#hGOP&T68yO+rv?HffMv@U|1 z=3TYRiTpR!L;wo@V0#f{CydRgO=KA&dR*^e+Sbvdhdu8~GKFF_H~su|xLlm8!=!r; z^;YY?TpV9bFS`pCU|5(CZOZ5&5plFe{E6$%V!eWONpZrB4J~m;Q+r>YGn)+LTZ9fb z#e6;O0mQu#O!E}Bh7pfimq@*lxJw8Ga?z+^o^Rq@YJR2=7Q1H}5PPze7Bsv~bxyLR zN?&EHPWNTl=C#v-mN}+_JGiAZTR`7t_~kk6u{}DPiJCbNcaD8MmPI!bdZkGS zA2H$qZMJbZQPLM3CVa(#P_|OcJ(j`ZPz2PHJ=GNzvTtgu7oEY1n%Dp|0-(Xud7i{6 z+6!gz+eTFKd&#eU?a+Vhl~#N6@`TSJOc=GHk?F$kn)`rC zZu#A;VJuZp*CP@iA0YNA@hO3+oDVC*ftBlD+Q%J83&6km%B{ZuVBJTzjo1t^1^TcT za0!ZHm;(U#u0xk~-qtLW#a6U>9`3+lXPBl4b{}w9jdh@T%zE^QSw?$cEh$wz=P?vH zFzQpBAr(v&Vi#YGlU;YGsdW!7tRj=_ih4 z7;-S~?mPZ?g;Lnlbr!jl(%;Nd#~tCMYGFe3e@LW>yUbbD!9;sGWxl!i|A>f_l29Gu zM!m)^It9A%qWs4Q@pr{;C4$h(p&h1R{EQ%&8k&;9mt!R^G4Cuw6rjSf| zUY%o(sVam#@2uf$+=5nEEZh}TYaeYPwJ@;V%!b%99}3RBDquy2IjYCG7eXadMkx_n zOYGEd@s`mW%~4DFw0q-21!c%mDFZQyXmqg)PR_p~;Cw%hzjq)X;4NO$m$!llF)oQB zOdtos;w=RZAO{MREiHw0LczspNs|KdPrv|8&xH7GO1rn`PgFJ!TtWvMuth0!YI~|7+3I5e0BZvoBQx@TDW1EyOA$WzfkuF z1%e{m2X&p$#=h8K+8S#2W5&V4dP~*9`9%5I@L-Nyqz~uIXCQV)a}WdtGZR!4j<{)5 zMx0<~SV2zEQ9xz0@-|p{-zZSFm5^>)#S3F>EG(^_T>EXDA*q*h4%(z{AkGkE;9EV> ztbwxH9tEu&khODkL=hw@G`RzSv)e$+$na+yF>wx6>55TbGjPYTi*7*jS(+PP!s8Po z1?No96>?wz#nO4%UG4}#DS=A9cx{QGsT?i*w(LSndgRsPxi1*W4}PFJ-S64`TQwsR zdeu<~X`svAP%XYN&bd4_RrDy8Z<@E~42gk*c0T;&)NvcGhEr@FBytMiw?;GkS_#3R z6d+|8O++P49dhs-U1IHX5O}i(b2plCTBwE>7n@+479Ebo5|GzJ&kC0pV5YL*Q_!Mo zu(eRdz<2fhGI;ofP*Mj31QW?n++ip(b=%<rkhJhJO`k0n_F15JuauWT>SVM_ zQkZh+*sV=_%0b}TnhPv_eA=|(VR4JVjnd|D@6L~;52r~)@=53~1YmFaS*fYhxzsIK zl)$k-ruZ&b4NnSUZ;!NTGt|!hS<5R!<~oY2NpzbR^&*Baq!(^5_fcbJB@^)zw9Z73 za&4NLK&atkK_Qrw&A~XjEZVpz1aKZK%hN!IhkBg&G#Ix;mk941FSr*zx{5^{;4L>V z{#<=jNfb7SqOet35&;gCT%jR2NfMX@Z6(#A+U5TQ4E@m)V@J!g!cf6m{%T6|fsP3N z0TjSEE?|qXXLfbBs3fIFZWn zspBg;G-TiS{kpmh`2C{0d$F9N?`kQ7oX|z;S@a+Aeo4Zc+Xe(ho&?}%Jm98yQ%~E1 zC+O-I88^4hnVIo0W#!RUQ8twrPmPGIn6@h2!Wr z{&&4Bz2Z}{g#V>%^r>ixeZ)+_rb<)c6J7e+{xLR4O`PX>URrY&y!@jr2)$#efD*fp z0@52qFrjcqvmHGHUYo81Z!X35sR6q&X=kC z3xLi6*p1Rl5BmN+%LP}tHPgaO>WT&*j~H_RoX(rH`?<`^JL4|*mk_QM{-q9GqW>YF zS6WXvq?f3@k^KFB{sg%s5*HP@s~Z3nxxpLwYTfU@&My+@Q~&To>Ah`){8BL&AV6^k>IE z0dKwVso$-mqE3kZtr5)qPk14Ugvy5-a6dq9cOKxsEr%y9iAz8dG|JXTK%(8vED%XS z{4b(C>ywC|k~j+nxUJtJmrCV*TaUq&xH*CTt*O%djpBbfFiK9a{@6i}q%};O0=oLH zd-`9-@DD1(W_n+G`zL^OWxcB$^Lz@))PIoaZ`A+UKt7aHdA~Y{l4gAfh%5dbmq21$ zUGO)#qUY*=hXhyjd|aaMSBcQMUsvIM`rmgaq1zhJxre{f`;Y+wiSt(yX9$$wiMMy% zLuOKy5dLi>Pfw?48h$}Zoc7^*{0<<)=VM$AV-jb-qkklx{RGhX|BBQ~c6)^P6CFM9rRPKs{-5uNyT>sKN&GwxsR0s!@DDJ^#s z&SO$gCDAb?PtSTJkTvR?;zCyEbO>1^8YIZs6mH$v-?3wg=A`de`gtEo0`mI%j1T&q zG9_^WK*sb?ym&Tha~EzB%nhy=MxgBlM*KnB>)g^k)gjd zqVqlp0Ks1v^k+%^D?|T2{|Nx`6YzI8PJsUbr03lzs7Q}SefV8NQ!js&)(!Zl61DfA zig6I+;ndCfob&0_Pk{F?lK&~hpUXgh_4f?iV>Yrx9Ksu`VI~HL6Q-FV*K?W2T2ukdy0H9!k`?(Oai$uO||G#~26mtNkW- zQsQ5S|A!FLe@7=$%Kk@wWdBX9ASJ+m}*R~Zxwkh%=+{X=RkuuMnIade~_8gi8~k>>}tvat;LItH(4@VbDdLudI1 zmb4_p)1W>^f^YY2A4-iyOBvQAaqeP&mwoG6lg7D^{XGyF$odtKeQQ{g!nqsy-Qum! z?M$AM)zq*2vQQB}Vo~+`_O=pW?JOegoSf%8P;MDPVC2T~KDVTC%IT56o^L~&|0f`` z{fbIsV2PP4?{W=Xq6>5t+17$GwEI~vRpET+@Qd{zP!JfZmqT=M`xB7+3;>e}4;G_F zdPLcpe=UJC9hcTLCVBetjl^>vsfZplHjgApyGL5`Tq?CL(?)2G51+-0&Ze`1m{{++ zR&8ijze~>y)n1$+DC2mt3~IYbMW^r-$0Zc$e4dzdZhm$RHht-aP>=N8^Xu4NdgddQ zlEC367L}uy5cIHj9s}w8(%h-7ny|!(4qfbs;ll2btOjlB>mblIeyez6=R}*dkVH|B z3^(PY<*uMBeaJNr*B4*wWhjz5Qc>$j;{+&V^c7i2_oJ|*hK_;j0fs?~d5q-TwlHg? zxd3dmt^DHQcPyhV4r0;~rIFGnnjabpqt_DpHdcQ8&LP4xqZ-f6S<`Vk351v-$Br8! zjkCoKA`|N8$T4L|?h&dc-534(?u{2+9=bAAxdc1&;VxD&pXnRld2vNO?o!=yEAv6; ziOVNf86V%k)WQhK3pwG;Z{#gjh@)qRU#EMVn}wBP)#$7RDw9A58TrJw_++2r0V$bE z(U*W%dLyO_6Ms3AM@*Bsk4)xU${dVS3RC&IG_5)b^mWq%La7742I){;ZS=%(Dk=_q3aYK6TWpS2%uq+&&>D)dYI*quI8(Y|KoPyu}EyO>*dnp?Qi;4yq`V~YyNz6 zS@NdE3y(FyNG`@wKi@@}Wh7?HcGXs$*2#nNwiKIZXN^CdM=VQH+PIMcqL`{ji z7SPVfQ^rBgK_vzKP3nNqKuBAhU!VBDr4ApMLCahQ?iQa938*{inSp9(OPyc4 zwj-rZ(Egp6@ADESQmzj|nlk`PHpKhUk)cP8adbFUAvZetUC+4=d**OHTV)T=#gqzC zWV*Z}7GG8JjQ4X^EMZuii0%EMdon(RF2H&@IvLy5^9MTiW=h6WANHz48lO!GoDZ$x z!Jp+e3pFXMvfXb9)MfJ@WFu9v}^5Y+cKl~+qzriGD0w;XpbZl%58dsckZ;>JrVa^&%^X7R8 zj_AYJ;X@M-YMxxyn|?Yg!__KBu#x529p(9!^>e3t!#@czVi<^QoGd!WX((#tNEs}gv_N^&S|-NLE$56%W~GoA#910?G~vv^ReMv>epSTuLb5! z98wgR9!8mhMId|%InH%zmZZ-L*sev-(tME_x-Tdwr*-1w5IhR1+pf}{V*3Z9C0bHf z=c2#vmVTwMVHp1q+BI1T?H@!jGI(p-w@x5=+b-1hp;(*prL$2u^Igj7LmBN-&%Ajd zd>jfu62m)@E$I3BO1*ErYs0()>@gKmJ0qv0`)$50K(Vx>4L*bZ0ZS6x zkxTa%1HS-zTuU1y6*)thB2J6E`Oghha8ff}`6rMD3YxltrS_V$`NeW7p~-k0zYgrc zyiyMA$V|+vGbTyjXR9>SA^98DSWVyCS22Swu?>O3FWcHzr8?v?KlL3qLSvGbt|~96 zt!@41v@QG2O>$_i9Y4vQ&IJtwO<18t@Y)k36%Fd=5a7(YetT($n_H7(qu}QiiXMh> zC@qu}xKHJp-SXxj-GHBVs>*m`baAZ2#4ST*wADU~-}PH0Zs50h&-q;M_b%LtT}STu z8ct$^2A>4oq%MQf*Uj=Ld8?=Q$=}&|L>)JZ4SZdukaxKHR${d@ka=0Ay^&oKW z$>?!09|#`)cyS&T_S@_kIckU0Cs2_+`|r%2Wx!hIJtuAf`4HFmQ)nGbb7u3u%$|`Q zTjAFKz{!4SLiI4LmbulyfT%xx#<1G%kju%P}O4^gducIa)S9Y^ymIHx4ABC zcIoT0^;Jz>ec(Ggczx?+XOz`2!+?0;r0&FK$!F9984N0*-DAjZ4^KM{=mWJ@{&UqD zjo7BkBxr5B0|Zck5D9%y>`=y!&MS)&E%!=++zlu1S@;AN%m9yP*v>wG9PXtm51#H2 z%SqLdbh5MwJvzm%L8Z3C+z|=~aBSdh#vdA&BmL!0hcH&DVWX^7Qi~^p%PUG)^UxZJ zQ79|!{E_2Tw&ZW}*m9Yg%hQL~ z=4@E2r+)&TmBK^MsE;pR2O_IzGc$My@zX_YsR~x*>2KXxnQlQ%VX7HDsC1t)s{h+05 zIxg9Am8_sI>d0?tC&meD*7Y6Pk?VhD_-60ywvaPh&GNjc>MO@f&m_B4qo07p#RmgY z>kM#Or#%E5&f;2*O;v^UkaF#*^^-o|aLZXA)iTu~+xrCvsm%^jFZ>KKkFAYlX zH@_4_An*Wr*>Vy7_Ae=yUyW$5*pY_ZgUls;dyU0(ZYkmJW&TvttB87$=<6}PnP)8F?m@#*9ff8*T0GeVx6f6Q zeKJ0vh#im+FCa8CfQ}rRe#`z;qlC`62htx4i)#zau%+C1Q=E;y37qpH7k_;e`W|yt z?0nNH`$8v3%jbv7$K;J`Km0gt;$oF$ukXbBK@{YOmZDmhwvL|w=~lJACzQ$EJ6(2r z*#QpiAjt+tlAnO_cRG=HTRw-=JDyVc<3jg}-e|n)_nI1R(wO{iu^LNPUuAIE^-)dk zP+EL+yDj?d^=Jm`S&Te!pObz6F;Q#(x7RBl4K&+oj~bKaj@s*zIYUtC^V;}onI2lu`iB6C5r?mDa%7yYjI zA;dmZ?)6gPxPAbSiw{rB*mfb7*Of{e8 zuv@90NQbU=YZZ@Cp3_J@bDebt>q>fvK6kA$@7^Td%GGDRruOJb9qkZF3G@*W<_%ak zN*eMyTbUp+NvR1`q*B{4P!!5VJ1TW)S?0%yE>yfMG7S@DITO)PZL&k@sg#paicv%e z3k91ngfL)g+AmU+mm?ZyihSgX7-^yy3d6PXbcnj6^q#$65Nvcd)+$;!w~Nw{DZ#^k;!4yXyO3dGNu)Q@;1M(g5Dh*j((o&p=q<+0}h z95o_9^;>FdZk9MxUJ>l!YjqW>;_%~hcu?Mp8VNTQ4ffxkONAwCm&e)6aP@^}3&fT>jaf}Gr`}tf=^LIo?)azlDP@2=B7BRWT zLG7P_oP?I>0kvmS@|XMQz{d>-&OGhoZYmwqTvykuWa&)-H?PTm0^+Be#{fs^ew*BG zb>1;Paie_<#XkYAhg2rb`ycNTV;YAasFwTdePI(ozs6^jS&5ab3mpYR?lb~ft8Pt^u#6XlUO zYZBLzBI-Gc?cP@%(=VP<7@-|#0*@~Vc9Lxw?d;yoTYR3zFRsFfjGg@@|br+yC!w)RLtyM~s`^bMDIXuu! z?K)SP&()xEpfc%ZAC^z#jC;tvYh97IKe-C~;o>QSp)MqjkZvKl4qa0mF+2_M750BX zPW?h7?+eG^H(J#X6tO-$EMLV~bT!MqTs#KkB84$0nBM&&RNl*CaQjL~hjZb_11}!K zW36xaA4^b<8jkLF-?%D?zA~y9r|Y1bj;`9kZC2fLnVOwLJ}czjYX3 zaL-`7k&;^39Y~+)Ph(1SJo-$fP*57+mAj5pI$GGqu9NxcE6H!sZLwjIQ|J*SAow+y z5yWPf`8hOCb|}3s>0WqZhwO9d6c)kb{&SZ><2AQV+`V1YH|#f3Oc?x2UF>uaBL=go zhEeN0y{0@TT6{=%(T>g?lWEFz)#$Zk9rSGGv5WXA)~N>R_Zxni_d*;UQ|~{z4blAX zpZ+8NpwvaeHy|eX=K5izku2ey`KRkldm7bDmCdwxT9?N!AKRPq;}wi=Jny@w8H*S1 z{K(kXX7bg{ySC(0@h|$)U3nxxq|XSD0*^ZRHRO8Z7JsL8wN?FD-*YY%OU?=!k!|9w zEWx)Q*oRvbn|QduCeaOUL7cKpU`_sUqp00yA<$!l=nw{Z&(U6 z<(6d6?%Hp~?VoL9FQgPa%lxMQC|NyA^23u03zmqH^%|1rfO##lsl z!;AatNm4z2Lb79AV5o{w+<1sIT)#5Kym%M73gt&mT`{ItihHnV=USWElUBOsDDyQ$Q#j$J?N`C*nXvQ*e!|F1 zTxp3X_P6SJ+Gd-_gi7gDFT?*@#hYFiZ1ML{W6T@L^|gtTIit>}fhA`>HWSU;>yPM( z)uxmWIeJ_OiUtU`4)CN|a)uU)8&k>24Z81gs8q(UQh6NhU$OZGr59bL^+>VzsUB*5 z`+mUkxV!IcPLK;xMDk&Z{ggM=z6!s7iTLQ5DV}~vttW)bG1)t1{1B}p#^86;p~dM=S`T1Zv#i5Coo1o;ySr%#g`^Xr60ca$uuYB}|61vkB1=P*FWlKo$BX9k z9E~5`G*>uqB%e><3k{u-5sMnfk?_RKl8^6g1#;vy)woL>9;P%BqoY;u@jNi(Wqv%S zJnv)yjI{Zp6eKaHkhJ1gb3>{jCmj1JhNgvOOnlMl(K{#8ni=8K;;Og(Apheq{Z;Iz z??7I3*Ms*YlAk6{^JVbKduWbYNHJ_{$5A-a|xF)d=E z3d~G%nWL##oQ)}*p&?csL{Ve*1hALz$-IEoJd9tB1_ z2w@^O_JuH6>JOH2o{QXUR)yhqSR@yMUXg_i)<(J=gn+>z> zs%8+h*&bDYEmOQfcbF=IAA+3jK5!}ncDbc;EL)QYS220@p?fZQJWXhOD)&k&J?;>5 zb|l-ryH}}5XjrAl2tHi=49DaX9?j|H^aMc&HL$p?ETf zlVu4`ZDU55QzD(`1$t3+r(LA%j2cCt!nl+51I@xSx`_$axDB@G2g_f7t&sOC0K`N) z9riu>fvF%ix>13g-_z0H``u4W0=#jf=8e)7I?yG`ZUV)6n*#(s+VYag%9Y}cw&)A` z(FK|sCsjO(E2;hPir(VvX5dH3TZkal=a^5fILs?llwQS=@2*m9Hr+9CDiR9beWL(V zmZ40OmFP014?4l9qZ^vqnOWsBTtNVV9M$q!6R&eiRe8pIT;?PX(F^>}@dbv1 z=K!hj^O0-Ulbo)mP%^kc)lMqA zPI92l@v1%Y5vyLM=q2c2_UKAK-v~iX9Rjm&3ymj-V51asV{hy<^4N1@AF!7LQzG*L zdGAmBRMG9il+?lmH!uOV5~+Gcd~=+TnJ6kMibCn(I)eJIuXI0tlAUm5dH$*5X! z0q>?$w&i+oqZt^8OCjYUx}^Ex+DuuC2T6ekWzUibB|h`#x9WscClde2fRUEi7a&be zHy!Rb!&A{&bSf1d7E&#U>!P(nQM*4C;o<0CBuw(m5EydNG`7FTV3E5pii4MDpp0mV zXm4?_MXPgHOIb?Ag__%Im!&CA=fr*1ZD6YpFD8o{7SgX4v2PAGz9cu?(UqlU9a9}n zAMFBvD{I1@0n z=)NvAucxf_CDY@o9EJmAtc8w|EWET78KIHZrX0HRh{(DeF!x{XzL@$&CW}r`M+h!{zWS0!N;lj^f~+;2(_WS0 z(I+|~q$HIKO-JXp^#|OBv1#VZhG3KY@BT?I{>cIZfbUZ`r!WrPd1^CVRdfnD+T5ZH z-`14gy}8HBbngR-`6M$mp_@T*T7HRUci4lx{XJLJDK<2iu};s9v%|a^^4)`ZUPkG| z5p=R9$Y4+g2?q=N#j9BNm<)DyNr733?a#C*#a& zQiE>U8y>V)Y&4(-IgB^2?>M%!7R%nSAqm|;CxBwoV|?n!m{_nz(UcVV#e+xCe0|HK zAP^ChaDHJK;o&U#&3e4(>A=(6bGtZz!mIiBRMTlJ@8^_tpdsAqZgydeEbRLEJ(U7B z5s%Mj+EmG+(45F@G+FY+v4roH5>+D&c!E7J@^v6CdP|QmUqF_V7w1w$D)~!TGE`kj zz*TUgJ4*D7Dr!fpMiUmP;_h}bp-K}Pwhg@#Ai|D^DYIFZmdv7?3+26y=J(*_nASpT z3`1TbBcl$Vh(gCc+-ioIexA=ws*mbsgLsxjwZ>FtkHM;_79>@svyBlMmO0_Efn03E zcI}<@0hVRMz~X{Ud-O_Awv+`Uv^8Pj_7B>~IdHAFEtS5m*rJv{^xvq(v%l5}ei-RG zeMkFjq(HcQT**5e@jU3_PIO&U-*jNnp%_GqG6u^puok?C(R)E;^;+%Tw5oxxspf$A zt|_xpeM$0xlce!vV*M(M*`sNeleg*GiO5a{)l zsWz@3i-0rlyBSU9+z{t5Re3CF98fRM+%V6ZlbJ1GBx>7iM;7RCxrFA@xMe)AErtl44zZa%19!a@K4)fqrJZV*&)XA9#%{2wu_(>=~cF zLx-uD%o=6I{VfUe#iJ&w0XbKJ#2XQ$p+@vxI=KKK$wd@ ztkB+DX;$s)CgUy+{ zPj^Fei#~|)sfFYR@n_d}F`o(x?x7<;4)brQ^*i{@qST+OC+@|t6qgWaio4t) zeuU*gfpr(;VXNq~WePMj^~+l`3(wRjQqq>pgO)M1i!IAjo@c;Ts1SK#^n=|WRN`n# z^MDS$-Op|sE4VtFMFPU_FcAaklTWb{?&jMpLQw6TYvtXaZ4VR%p%V%v<*?u@Yvl(K z)yl9f)(D|1HNph1xMCLZ^H}vu1Cu}U=dGtzz|c0(tYtnt!HVW)xYtTk9DG#4O&PC= zLDU)(j-ZIsY{fRFv)m=K)YIP0RodFg4`6|(#&M^8Lf4A3E>?Wd65Jb!^P*YV0{W$-3Fc z1Q9l>WDXjLs)&mg`^26s_>j-f!9Fu9jI_H0>(JpNKh=W`>u$zSv@PvuMdkw)R`Ia)U zQ1hegB&${J4kA&OW4DpKwb9ehN|l9N`h!W_O-`ILw5C|1cJg_{2_l|fM*smb&Xghp z)l{x5{rYk+RaFOw(zJ0P4IiHm9-gLie9$oweq--kBuZ#)u@|$e>f&~yOh?Mz^X;U< zX|^XuB-&8Q0xnj{()N{49J?7Lc=^pe7Y&7Rh;q`MprtM!bHhgbo~_&Dr|Q*sK0BD9XbFBd946$GD5`z zwZL1B!APyb+GG~?vh19$V%V5*3lx;buIJL-c&E0&N<;9(Vyp6p6Af+O8idT6FE$+kdPrHNLyG+`+prcK*;6V1y-}npgf*=S_!wyQ698FHUWPYzW81`c3>DxN zx+26ezI~b9F;#w1H8P#i%@v#S;q_OMjYFZdP~ZN^DtEkhWqc&oM;>$~39S~pW*J$< z9?oxAU878r=1yO4Ird#|%3ofm-u(o45HLjL8Q!Ekr=hi0N#PllwCR*v@IU^Ms=ar! z-+z%TV@Gg^9Er~o6t(x<3qboZh4MuLr}Kp8yu0InImrM2xq^|b9{YcV)xV#y#9V>l zkCT_FjGqK~jPcT+#N;=iXIv26(b4jV35A2)6+CooOlLc@rFVV;p7zZdy~e#SCaJ_| zSlZ(G^1dvyc?<2mmtyw}^2SNU#A2fTq2LRQ2HTk;t3^n&zZ;-&W=!^_&D={gW)PRc z7ZN?T%hUl;JHM89$hT+WNM^=tBQQG<6i)j_*WsbnI z&y-z4viMKHAbUSdUopU!v%-7wqAG$1DPnwh=muDTj&fjo*kX|q98b6VskK93L=#J@UdE%> z@8+_%nI6NZP!l+GQT5CfjwsfQ35O5a6_hIGX-!C+vRmmtLD=&@^lu%#&9%KAD<#*r zYN#BP%-AS@w}0@E!U3@sCUmeA67lJRO(SHt$^1xKMKh*{_Q6Ds&ilLiBeaEduH%a? zop>*IJfAQQJY&IEpbz2G?MC zbpjY8vf?W~2n$j-ODZh>rxk(S(|Ys|UhPMxKd_D=P4=|zq#CTsPnqWa;+oTV>8VR? z^B$K>mv9IBM-|*1Rb_Pl;KZ~(jj{5=slB7}Omq_W_>Bxz$+%W>rkf`l^fa3Ns#N7g zT@j~zcch&=NB1#R<2xBm6*R7Es~qjr27;UH3zPLs?k6G_AUkE3mK5hH-)YB^<%%cy z+#Aw)c~MYI zI7y3c^8{B#J94^1&l(fY#&AZ!i3Fgl@1omV4A2xM+2!LIHi;WsSwyjr+zwK0@ZZ@f ztm-s9WXPG6&*w#hN4ANNu4;N9C^0K%L8V-f*Bk=jpozNB%=gVG2vY9eX;T8QFC1I8 zj*3{0-!Rp;<4*JH;HdBcggfxm0ec5^p(bIFwM{?Hci9s}hN5i_THWeHie{-Ehgak9 zqN-Rzx>V&FQu?$WWfK}kNuI<D2)P6bCr^28nzR}FI@b%_;wI!g+pjjnZAQU% z$oC3f>Odbho#3e#)F@Vij$k8rl27EKCeqm@omMsSopQy1N>-Ycv;`V>IikqYXKh?l($98<`R1@~8H3l1pPW~qMi18zmla!@L z!hX%{D%wfK|C7sNQJ)rvh(_r&?XYj=V&kkYkijRy z-*gC~+%>Ck5`Mch&@1F)CNygITHu}nS|CdILcf(g_mN6>9VykI4HYK3aAonhvUYIe z7?z)Pydb7{M0uB@5#gJr7?)G^>*qY>AqAs71=EYxs|Vu7+C@SNIw@M1WIz(#b{HkL zuHg2IQyNr-dLx-m&w!XFP#~4-LSBGenTniRVks3iyPd0%^SLT-k}K#!`6hJc0>Du1xN_lXGP!dd*A;*|2XH~GsYd`-aCHAP`4p_@3rQdYtH9+=FE;Zy(WWL ztsX4y^;g-A01)N>`Wr(@D@-fLGG@72zB_tgcUXlOgW0E4_57c_U=|niR!w+1<@u46 zX;03tvQq&v-3(+;BJ>y)r=pX$3OUN<$!}L_srW`5^)BPGDs*t9UpCbbe5sYsYM^_= zlM7Qw`H{!1nx0BS=3VL71x<`LuRM!wUXGw?|E34Mv`xP_C6~yk76B`mW2Pr}wWO1N zjmn=glK#b$<_=s{J->|K>j47ne48xy-YIUJ#*32FtU-$6dm=?2`8aI!_;nsU^ZG7j zqk~zAIzy>P zTAFG4n=sd}Xddwke=hMwZOHIl3CD2`%0-&W3BIuVd)h-J4-=m zi{(3`c)LR}L;_4L<^SY`FRWa*Z|rA}id^IgW1PNFrATXg+cve!f=?<=ha=|;RRNvu z&(8+=Ici4&_>Xmj(a+FPzB_x%@b+_QKC)v~^i9EjIo0&vZMdl@3uPNG8lpdv6*k=; zRb0>(HoC#5%qq?lv^Iq(kcwPE;kBmx>UOJZ?7D#zx^~N1U z(i*unopGMN9?!&^J0JS9zTDX`>9CHH(AZQlzN*?!olus3TBA1lRU|$^^m3h5r=QM? zWwBsdxi`U73y(YQw4J#4>aGZ#U#;(DbFx>gr-vRHP8ih+lF7aNaXTx@;eoD#qG*3Q z;n>&hixpaaPu0$iXVOwrXcd~4-f+C|F5#N8t9%sev*+%|DnguH-~ZshV7h-vzTJjX z8kr%So1U8ahMecaxxV;un&4PH=a(l|AAT+LY*&qHm2jJJNmjSwdZ9-+>+>4AMJde$#89J zNl5kh$D-Z}4}%6Hxvd>ZJ>_W(8DYiDJ0=Uy+_;2^`XcKVKy z^Bx_~Z#@)Rw|hw4#IM&&zwqqwrbhLYtK~$Y@{%;!g14(=!2{3P_s4ecB!oD=;OhSt z^qe=Z(2LrDOyB=&Y}X5}6J(E{3~1gf5M|Y-))5F1)P1B#wnEQlWpvbJ^6^s_@~J_z zaN(H1zhMN`a$kfEf&5;Ki0UQ&6A^V}bV`)HYN{`ol@SIddTKWr0+Z*#r!w<5^9fXx zwt~IDd!FAR+4KUi>0UrS&0F6o8}OoIJoxD5D3yhSxr?i_#bbNYk>e8^Dyo}8qE~NR zB^^pj3+i|}SqMJVcw%E=<|?S|_QaL+e`Wi}mKK8g*5k3EsDGuq3@xNDN$8i%RgGwVkVlv*10u$F3H4EzBIv zEd=Eq?Hrx8ogSN62;Q}Dw>Gm-bbjnf1&&F-y=rvzCO8vx(#lf(HP+{etDkR@z7VfD z6{}%SEtm=p|NG~^E%4tK`2U6lep-&#k&*wG!G{ziNWn)!Oza;a>DJ#N>EGc*f)q~v zi)ixCFp>FCHJDYLwy~#p!KKMmS9vL>N#tECvyuZfg@k`%gq?aqiFX@DLuSXW(woEo zWoe;+ZytUrSIqJQ(GxFr37ogI1b&$!@|1Z#nBg-se)O*@-=8sxm3$!FYfDjFJ(%_FC1o}Sh{E~)(4LJlQxcyeRO>MPB%a*C8>&DP^F`;hJ)0+$1G z?#oA={H$@FGW@?JVkiw-rkExDy?SE;%0$P`H08Np`F1yE!E6|gL3q`nWPB%G@=kC6 z)N#?iFR>K!K>dx4prN#T{+jw#qw8W17s}qyLA5ru3}lMS?@$7ap=(^a6pBvUW%rKd zYEE}?Fo{yNugf}|XweIs4mr}5BEiA(%&(xzQ18u+BQgxQmDc5Ww*U_xv4hW+_I6@d zCK+E>@V0IBI#7STEOx^eKXYs&$l(1=p)>N6yF5Sk2G6;7%=*}!`C)g)+=Wl5SJxPo z<8BjVbSYFQ`Ps{W#D&@d;e2PF>*pNA&)v@N&r1+AGOvDR#H(218ews3`Qc9<4%7t$ znZcNH9mAko%KT;A)O?LMD2MebB%+wVb1qsAwDXtF@8s8VT>as#l=`{!MzG*|2}`iC zf_BTDcG}z8$XKm}fZoig^U^(uJCDhS=#@oy1H^Aww(wm#EO4hnKViNp4Bz0PzHrMW z!i-+4yY%v)F<u`lrUQn}V;tMl<9h-pT|#ch*12u>MjKvB zO8>CSr)%T)?YM}7B{x?lkn=ln{gn)I_KC-^&r9CIcixJ6t3Q4ppA>71-_jAKzKL4wcQiXvncc{ptD3a_^ZZA(f+7 zz8NxaX2|>4RhWr+Gu}x%N%Lqh$!o|xX2cf$_M5NwXiAIg&5do-uY-qe=f}w9{dMJV zhguBiw8F`k?+5m8oHmkpSi{#zGeMC&ah@U^xxjqFY#v_5&%Ks*lF;=CThFka_jK%t zrd^Gr)a{dK0mXIsy)d6oZj_}=%KcY{^gbIVxSZ`1IQrC1UTvwGmK~R%5dUl7Dz9m7 z_0hR&!<+oapXKX~UFl_dhp*UgLeWmVCQv`Cf8xufm+P95*M!cG^E;nXX59JNIH}2F z!;EF>foSYN$Oe7uJCR{)C(Tl?vuX`gKNB0uq6KBhN|acH%9D(YIDTT~JC#<(wTYcx z{@0u%BLwJX6lLLdTR7*HZHxMsnciq;)wcqfB7>nl*)?ugMl`d9|gU!hykyuHih3}fdZqwf0oE@x6f@TBJEgT=*eHNwG zKMC@mn65J0Y5sbuX#<&o+kDx@c2CTY$^L!*Sc>keUbgSVE4)rE&glu8&(4PI|NMSs z^dR$&_h5)a!jG@*?2Rm5TDH&Ev5HK-c1)*imDTlwcH?zlLfXptN(ptwUAOG?3Tt(P z2MJONmTKOjBQ(dh0q{3jNk23QrAD;FD*0g@meLUP(K$st1@UD zTn^K~WQ}TcKZ|pH=@=$`1RdM?-XZEieV2yxNo|?On>P-3v5Nzt@Wo>?6U5|;OYmyD zPUHVFUy!l@DPPXz!5dy;eT7j_78wOqxd^<^_+%$@znC^yz%_f=m6~ zb*fj_xu}NSxT)?QeLzkwcRTC>N1U7-2W8x=7gt?Q$X^ZfzsbgC9FdW-9_?G6QucaD z#iO~X2!Yb0&-WfKGVxx|EAq+9UEBBhzl{u33P;EXeBb%&w^EXkJvutY<8H9`pie&F z+5*)YrreZ?fsE|MS$|%dk~P`NY-Z`_8~Q=W*QqfoqRYu{V`s2SHQhox3olk<|;(H4L zm?37u)6Yd3S&mG^(Qm`D4@d34H`8yi(#+&uXuqC&6`fJ`qtGVhGA8Y>(duxPs?IQLolo z>g(%`JRIzBW}C2Bk7vxG6i9O{zhbPCcK=V-$$yP2tyy<1i4mD(yfn7&!~F#Lv*+79 zBw5QB>!eF8IM^&k5rK6YjXfv2YuTsVTgue?*vywhMX=kY>zM}D#$wkPdDa^i(a!+o zxp-E@cy?|)qIYdXYZYUowH3}Sw0%Qv!v z^_meK!B68)fG8aIc|_}Gq&+^$x7LfDq> zQ6o@SPZAOqX5f2x!)2~hA(+0+y4}@-tmR#kliS|6=;@>{?NWsNlxg^6gLkl#uGkKO zkBjSjS64%#8)9cEmRU_n54L3_D#NQL#?Qo+-(W2x+aMy)#K@*jlZ=^Z#-3lYcJH30 zK|U9l&iW4h7z;L>JlLBkL6?=4vEh0?-28R0j^czUoVacn&pw53*smQ}HA4__bW6oy z*Rxr72P~EjJ`KsYPT-O+!-t0?H#m3JiGQpuRK>*1l|Ca+zV^&(e{c0$(W=45unY#X z4Q+OKbJ{%@^|UYU5!;2itcKbpm&Eu$ppmXgh9e1i)sTYV(r{s zvFiwB2c|n`8|2VayYLoA`dFUIa-bj8!|vqGc(6+P|Dynv7;`JUzi;y{`{r zOzHXLmFPsr-oPSUCeXGXuE-LB?im5iC=`9`T}{6R7=In9zx&l%xpo_IIAYlbX$b`3 zpH5an(v3+R}f=^x?F& z){j#PSBE}ybBZ^dwZaS3(kr1nz4|r$EW&ldhKRNGs_Mkk=+nx-)&*C&82dxnza1}J zk0njNVmsC$F-AR)Ke@sEVFU`VFP^!D>LSZTf) zOUdfFZx~OssqY<*e7U_3VIb;W4awUzZv*RmdAITC&Ef9;4%5lf-*P)W!UZ?+bXK@Fi}R+37#XQ*=R8l;rc3!-vbRrh=w z=YH<&HLj<|n%25G4AM*#=G#ect>)-XWIJ5SL(D`NTRg2)5}@Cy>)1td-;}lTMG;tB zzosU|#@ixN9y59O?m_m)YJRnBX_{;qsrEN^Lvm8*Z9K?c$e^6u=D(q*3n@YZpa_=5 zrqu)k|NJ)-pFGyPlccCULWLP4(4nsKlB_0Ln01{W4Y{Ej1{12kj!55YUG#>!FE!vZ z&+G5zaxKTkFs$NS=X0YGqeeFE*jHYBxd*Q)v?t*|9tf(TJm-Gt3O>{i7mHnogsjBb z*ouk1bqKtCyG}Gjv3!8NHu&~sQtTb<(?)mMgMI(g#Y@@p43!ZCN8zRv$ap0~)rLO_ z@^j}{U?Y3c(B!21L8#9T_*DPtX5AKNXJ>>gzG2h90BEfJnFNB*A&X>pYdYkjqPN#y zLl#>4bhte3HSFQ2+AO3huHNxW3ODS_zCHt)dCoJ|>VKJos_8|>+zH;Ec>Srv;_5SS zj|IkMo+aWHH_rPiKj>@6!{8P+;daw09iPVQV%b9-XD!<2GCrqb5An25zFtj=9lBSz zl5eGrQ5yTQD2KFXgvtc=)*|f zcbv#W)}(933Um070%YOyZ_lNNU|UkW2luk-vh#KHUGR9FiMYAAXXKN=Voiowk_#Oz zaEHxR8pC_hDT0VAISzv-6CjJl7#Kr{$=LRn=pF$KH0#%lJScSDAoQdZEXz2UVA>Ke z?Ty}}KO$KfJP>unXl2;xJ ziLKh3(VCrLU;S$Whhaiku!=c7(6QB1WKnP7HFdtiW7Ufaze*tpH@egR+jmab-P$SK zv|HI@HL3GGsKV1Q&Fi}?;dOpHJ(vi{LsJYzL`gA>&m43R>Kf!k_wsSD5hKkv1gt;v zUFQyPy}VF2soHq$;p`=|#j^B*wUB?E=3rs6TexU0y>S2)EV41N8b|9Lm2lr6aO}eT z=EUC%@d#qXaYKbho}Qj(isyE)xdqpG+n2r#AmZLpgHLguKsjND(-!9j5WUcmTOvtL zx`vr=i?ypy>9TN@>+2X_v`}ZR%RyHbteiF(N*FMY?kupCXOOX$UQ&eph8key zuq(EWXr>UwLt2QkcT;jIFG__D&V=y0yMu!xb`$Y^Q>RT3;@NF)zq$NI=9lnHYSC`JspENjMs!GB-lc+Oa;iu zJ3Jjc8WU;Ny5la?; z^1WNbLpMAJdBjw-b+*^L%)iGQ>K_n_8)Njq<<9zS=^tZPo1MXoKc5*p+aX!|*cc$G zd;0H`vf?m)gc^-&2K!HZ9zsjeo6p1rAa_iD>sE3$Z>c%yk<#gf1q3#QiXGHq*&R_3_ zs<(uE*{ktm(7p;$_NlpqXV*)|9cXT39(f39+iE{mh=VGrhc%)G)a2B^k&vW6a5<=T z{EeAsG(==k-$L%hl2Ix)vKvb8S_X*oYLvq0l|d>4+q zWs;{nTPp<<$R`v>wf^IRJmY)HEv1A~sKc5Vx^?d7=SlPCXcvcW2yW-a%FEj^=TP+G zV4%!Ax~vOQ8J)av!TqEMNmQL_-SkXS5}A{}0ynoIaj;ko2-QnRK& z!JIKd{ajI^iwhBYq)=@;T$C&5TGj(Cb>wE06=*Tz;JlFuubSVJT=NYGYW0hmLT!*R zy!hP1$6iot0S=OD!664!fwjgHAq@P-<`OzzEM;!vz~`+_jPCW3-d=^mh~ZuQ(^eQl zDGtB9sLLs|YdLQ$z~@D4)1O|?&9(9yN}o8T--w+67LR70gFdf9M#;p=3Y>p3-FcqF zSkicT0vsz2))%%>t`SbNi3!_~5p}$Ux%qg#=YTRX7NBjtAUmU%q&-FixBL4&`^4*0aA_c;1O znRKfIq-zO^g%9GC*@b0ptTks@I72j3?Gobi5RIPyX!Oh1R-Q=W-ZVB6vwHdb;XG2} zF8Tc1w{O3_XBsQB=)hx_Q*J$LcJ(06`O(ORHO8$4pgb_X9?kwIGYfCn|ETbo^i=Ft znjIC@cbT6&%3RvyMAtQsbSr_~nu6^?KBL(Yzo$pw#{~)D2!em^+#`O5Z}kvXrs6pR zy>Y|_*%{wX+~5Bd3P&DdOVI9X&DW*V~q}>nv8FgS`XAOf6R^NxVi$RK>`5NZGj!gT1A)uV5nv-R`W2!b$ zL_BZ0dbIk{pqsqB`PxC~e0>NvpVIoCDM8%PbgasrMf!wi&*POk_f^A#-Bs_Mh0P8@ z)OWh^B9l*E*d=y$EoR?e&V-${iG$_<>fGGie7!=O!JKeoT?u3Hg(*4Wai7o4XupQG zzIjL!198JF8*Re&HyTqxq(kk6a2iYK=lztlLYUz^&2dPR_QZY!G@s`y+z#BWtxz^R zg!;|-Ap-P`(b0#9oB#DK#CD>t(tpZ&AS-wHE8qigC=HARuM#mf(-t{aX&W0A#r9Z; zon1kkE9Cx%8*=gX=sffbatfUwotPM-3ae}Uf<{&MOnU@t);p{zBVcp%j~yXaL{D<`U(ARg)2|cOSAEiw)z_1Dh7(s zP49#(y#HExI5BpF@GBJ7u6!_F>k@&fvLDN$_uZTD7}|rf@5f!Ywx91#Vh}L?aO>F< zFdnyWk@wgN3k}NeCDH2y9qqUz{4^sgOTe`Lp}_S?pY1M3)S+H-J4(v{bymh@?tai3 z*ak5}<^yFz03c8t5WX_ND;zNhOrvj^TTt*hCQzd6f3=e*=Xb1ZQPbrKO!Bo^-=?V; zXP+05fGb;={u<0E?x5pVfWshy)7;;l-!i&&^X5&b5^8$Bu&wd&am|VH#fWG)5!&hy zv=~-$wD`KSvmYSMmFLr zBxzrJ^vx|umGh*2cdZyiV>FI${z|=zY?s*3(COe==d(Uqo&;Y3l}m<(Ig8CB7?FN|V#y-DG3a?XAHLf@S%!&~bMwwfF#+sZ=X zyRVi(d$EG>n64xka?(-0?#>8*;16zfr6V+w4{Ps6Y-wk!Q?7zX<`(R1vc_^E37fB1 zsM|J%sLHfw?#LH~?l={^e%&?cI(fXw`^Xpc*I))8+m!cLBVkTq&@5+KKT>&LKbB0P zgS8#9l{8^9jt;clhTf$pW@Kku{?6my4e+1+j^kyn@cxlvlr0P_=7z#ECx&nJ_HwphzyCU+CeDNZ)vgD#Nj|D|k$8BJw)RWQBUhR7kYBfKn)S`*S?Jak z23i{68-uyp*y};@5f9M6nh40vX$2GQS8<4hiQ@342z|IOHo>v6PXq3?m>EFL(C!z> zsi9Ji51H1~d7`tI!`rVMeUYguEH-vHRnAYsW$vhnVP0RrQJF?K?3~h@Q zz)#vpxuoTZGMSQ!NM*K=b!(u(n3r@3Ky7fve1S!yt6XCH%+ArEl-RN?*5PeaW6CRG!iLErhWrNou(9iird(FaE?SOd>^oyv1fKULv3FJ1}-6^yPU z52pJwRn^yiQPr!e=|!Odt>6N#>~~@dwZD{K{G-bLV7VBzMDz5ix%p9hwvrYOVO7sa z4z(Bo6R*wbuOPw{7}shsAK%4o_rPMib7};ZIXF0$G~P+tP5r2}1!<%L0cD@kL_*oy zeG+XDNQ2<%ev;3o@4CD1zN9#ASZTw~h&?JbaMC`3iGx5K57uW(6Q3SGbLB%=7%dNUV7Hg`MV2i2f`~C)hL45p((!}v z_h*Y#Y)7VtzG;_YLR}YKmrgE2zjB~&l|a||j7RB|c@>0Gzd0U0i^P6?7t!?!0k>$u z!3!RirUO6fw_6@6wD<~cer&fkHT6;FhnxI{6=7sh8)pg#r~UYlO?5+BamUH1nNa{k zuzM&F@YN0lDt=G!oB;-LV2?Hgo7l1^xlsMqOANGV9(;BN32*b>0?rqKV-&Hv3bmWz zL<{KymXg(C3tkZq-y9z7bqIu=mf0J30q`P*S15tt_$OLtq)sjM*G4vqCcVq{g;GS5 zGR*w*``@lmZ+Bo7>s-O^!bPVwws5aNzZRfOEw~OlV4chte*;yyFS;$r6R8A5hN^%5 zi9{I>Je)WAW^xD?ES86wjK|#8YzGJm8<#gd^41bbfe>stiboOEK;yW_v<(%oJs zx8((uU!`zpT)HaIi7t*;zbH}4!(p=f=C|`@1SN5xm$3UX&2PwG!Ta&xdC)+DBT-77 znmW{;_OCWLB7+gALAgDyDF8&jK90Djtw6ySVQhX;MKRxC6 zhtrV47>3PQ;n!SO0)#Uhre+{YyUqAT_rz1Rm02&o_$?&0cXjcvsu>S4qRriUe)IA- zno~=JMc7;M20I=?M^+|QR`ZlM9ghw(8+tEnCzL{2Nk4h~nx z>`JPeWabs;V}Zs4>IEn0iUd+*e~xV=z9gWgBt}K1cvOG~e{z{u2aZ155o;k7noRU1 zX}uOo#OLT>MU6vZ3dQ1<#bTiAy+cm*qr=beJi3R9(UyP6rdo{(%q8c!3q}#&4Qcoa zB+1^bc{>TbWP59CP{u?k4mg;U`}Fr%*cmU8YX)L$36UY~S!gEX{x~b5yB}6i@45AF zt~lbKKNyL;uzC@1)r_)J5>u?9AFiOq!PgPp_NP2x1B$BVk|0y9-0u$dYo(L=UbCU6^Ft3 zdJi6iyE#ra`bvQxR#tg|V?6)>ls6EY#?N*n^W^*UsoCE*xZ0)ii&PA-Qx~(D27!1=i20-HAaDuR?n95yznIxbPj>wT)a5@m25g$MQ^FR z2@y*cD_|n&u{O^Aj1ZbAkD+s1Fs)Bln1M0Y&0mS)p~9})zce_=GC8hrTWygd3EzwtH%{XDc=rndHO0R=FrTtg0jQj%LXQw z!?QBvto1I(s(lYMcbUBqK`Jsm7a26rfxaClJ1G{?z&_!Ef*cD(uKR}A^{jkcpjingQebUr@u-64$Ppm^bCC<|&AZIPT7p?0tu_r;<%mnz>K^xWg~Vmr_y3-Puu|Dl2f z#H}TNzSAn@{WW%X#4?J1>ac*AQzN(e#oHGxi1#Mbyk6V_SOa?q0J%oZq5dvz$gjBV zd2MZNjU-9zdG_3z>r zKwJtSKV_b^R=KR>q4%A`T)s?VG{?>mD~DAyIkUk@cHQhSh3PP`wzK3u7P~ymKAs1S zhcjIZ(w~@RC*N-gI^U{FFt{TVbH^ZKZ8)O6>@7Z&(fTe}_{>pna>vlv0fB8$`%5L{ zY(VShvJQ@rP33OW#gd&p;pGxr*D^5d0ixU|pcWVho76ww1eDI2z1tw?oBT^UScnb(hSYiv@px%h_;|Jc%T=1?-Yl5F_3856BAq4FepJz$pI#E zvh0~Cc20pUq{xwhvPMdsbL+s&>wvWYzSPzvPN9^>7eS?^_SNiA`Sh=oqxrv%ybxmJ z6p=ugd~)w{RU~WTmau3GQdNg%NuAp!^p_EPJ>=wG5^p^;B|Cg}Dwlqr++LjR_ifWT zvxOwe+ZNZ_qj^adQ3tZjchZ?Nr9x=~ASX)-=Z{>8GR!M0#d^mXS1Q&6UwsqU4FRk! zHo-vVv;}_EM(UDUN=WG&3U#x)cNC0^Qq ztR0Ahv9g-=XDCn9x#h!A2y~uqWJCmzCa|m37{J!WON4M3Q#rZMQQX?}0>)N#tS?l5 z8{~f63^YCckLJ;h7q#8(Q)Dqg zA!HWr4Hp^>XKSPYnM<_`7)E^Z`LAI(5}W^Y^$QqL<}8?T+bY$o9UVGy~VQ!PpT<0ZS z2<*3)W}ZvA+2(yf^+6ASz@QRAvw||FH2&nye**%Vw374CMC3!$(kBX7*Xfp^m%il= zhVC)RN3kcVar!c===|7~mL@a+2YJg@CIDX^Xo5!&yEL-Ca8~%e10T#mrDm-vyWUd) z3@iD{KYR$At(kKG?CS=d$tiBwjX&BA#7h-J0X{wuC(~OV(aB~SBuOLji=5oKrVVun zMM+W7O5m_sw_F!A8`7qyrvaJF-E=GB$aa&+r?S=`Kd69cT=wC$ZccYt;# z3!H(DS1(6F19n)!2RtAKbGyI4UuP$JB~1)~SePfzC0PjxgE`Hr4{>qa3Hjg_q0BPL z&!j94FUG^^r*ffn4Sv-s*%5!@zcdza6a-5LG+bGhmSXu-iSC{%+ z^PvrKvy}x;(I*MzA(#y8kr?H$O#H#C zo!*%(wguWeo!p4X$n&2wB*xF)_GBeRz&NgLREyF{gyQ=vCyiWoS4OqAYv+@-HQa7j zPVPLx0`k?-?=Vr9o6Y0ixZMpNR1)#1Ix6gC&N-}XRii{}=!~ZU5BW$j&C4J>Ah=7u z&RAJgR*^>|MD)h)fXyDAUDlVHpshR>59#j75;ndxwR@~jni$-fz+U(OpVWdRBO>LoaOzG7K#JH179^oBt1*n1VObm1 zqsc|$g$nul#Z|lQQ~$w;7)U>bU&d$OX(WD$=7&3&p$wWFTTHutu|v>9m&A%lUdN9Y^HM9RNJvW->1m2ukS$> zknQE~BuIG_Rnny0DXYk;iinTTQ;8RM6wvTk8A(f4>G?8;1N%oNo`3`ZM0W}xt;etF zMIfm}k*^3vvQV-=(LWAq4Pn&(?5vOE!XF@a3WX%0MdGaE1e`AV@9rHZ5n*H3la~V!x zk>&JJZp$&3&Em$PkBu|)*(nGrLujGzqm9uJP*ec-=H~3u$N{lfd<)jzgCcJl0B8!i zKG^`;MV1Ahb4Ty&xMI)#Y!YlL1u;2l(7HdP4W;TZw`Z^g#ljJnT%!R@?dS)G1~M|w zru{RlP&Cxv9g&r8hx83~*6<>gBaBhYZwA=S>xX1VW{}ENT4`>}LyfO7t~Q4p_c333 zW*TvG33B@I(kB6MqW(nW=!pWpSfvgXe>`E`wzxqrZDwrW&q3AXjT?Z(ZM}poWG+Y7 z)O)h_F@Tw8Ti6w|5?k)4C{A>{#=pPh^=*yfMK;}q3p2B`Ah~z6Sw8oRm-a04`iKA? z^HMc9I2b+rQ>WlzAO85OLLi|$*9gXkJ_FY;RI2zW}fwYBqf z#6ax7CR6bKv?Pup>U(v~ak9zlC>a-L=OQ?Yc}X_0gl#I{`+zsf=lom@zY&1mF$oC? z$;pi%I)ne@DS#|qQItus1VlnMNdyq;s~s^hTVOLHKs7|GXiaH2g-1*3D#chNO9~`STg_{ z%9SV;S@CP19061-bK^#0(fWlJWE5fdek{frr;i2xS@6qP|L8y#D%DgcyBWz-8;L$~XieBe=HxDY1}o+A!r zGR5Vj(#>pHf?t(MEItG`1#5T!Dv<3h?deSfmJ08P$wT4^=bXm2D)V#royCtF65QO@ zy{U4b@@JbHNDsQwc6k;uxJhXTp`Li_8mEA#Zo6&Qj_2U&{drq`?drpvjg;6}PE?7* zWPMyr%q}O{^Vp*bZO^&6xdEaSJv_KVmIx%&gv6Se9d^!}f2>n#qK3kO*duci(l0WW za9fI!{yEl3_Wa?qXPclzFjMb=+p-w&1vHN>`!`J^tk#y?SG3a~a3s#p%}v%klW#`$ z3ML&R6a0(U%!A+VZFz6QL`AXgZQ>8eUQ`1d54aD?B}==?JC{(rM(Am4BT2NL+bp-G zul}J!^Y^pu_WE%!(6b7(B;+xI8y(pO+aC(#(e2vqE(nhI0qr6&rtUcP(KU-M2<$Qr zaQgYbcv#|M)T${Dl#jvza7YXL!<8@+1KeW`;CTA{A8I9KDQWR3wi^P;mmQqU^3RjO z@n+B;E|w&mR5lR|j%EKje9|%J|7ujEJE#1w?#uv2;X@)KfCK)XH0fC5|0jdcnZ%)< zcEtk`$jr0Cn8SEdhEYO7LRne4BZfb?G50%1T4#2*{Xw(+;YppqRua+uy&Au5@>UkI zeERhLWzoE6zrN|_=~(}$SX5;3bv?wpH4M&PYqy^mh%_iPtOQsy^pY?KFE6i^+Ndpv zb0d|u`Z-z0PG8=c^j?=3wHlp6&dYN}I^1Q=qA^MFGy54HUVB;6HK)=X)V%=m<{u7; zfc{=y&|3opzJw1SMgS%SHG)K0UoRlKgR?|dD{qigGzcNDG-9B zBn`yzkjtX|kp?{Xfchc-yyf8f5RHj`cx|3$+N;hCfossGwEat$DlwT%u?=AKOlLj#|g1>bLWzvi}$Xy=T?ScR76C7p;0wJ03wc)#+Waf znwnvWiG0zSgvIO>(@*Y&4hHdtHBM6Nc|^BQ$-IUpCHWYYd9LDW{vak4)3 z6L-M}Dc8(RFh?<~-rJYg`!j=$3!~aHMt39@F8VRo*_b5jk>$(_` zXa}q(185qMRF&HEjBCpzH&s@`Q{6zOKM4b=H>MpZh!46{v?Gul_dhuOY@)_4?s(?I2b5a`5fA^X-8|ZhDiOFJ<%WYLqPynuHTIZVU#dFPm zF^sI)M>B+6c=bP@16VY@K=^nsTACPffj?U+eL*wF@$x(|2%O}GM75}K&z{c z3-o>fF9-+-kn!5F0+@g;5-_xO&k_BIb{^flof?Hzz-|U}()6OT3f5)X-}b+f4lDNn ziF~l3wf_!Ki3$=rIy$tkwLcBtxpD2<=Q=JaDIs7md|J08$D~_(Lp0qQ0nmeCwc<-)&ZK#^nkHg@C^D9W{tZT&K9w~98w?W5gm`{0~ z4`35mR=a?xJ^%!(4y5m;(!n?hm#mC%5M7mzvxN;78i^0i5sp|I8XC^FM_Vj|{cY2m z`jU+vt~`V?fOH`|Ve{hL=Fulo#y$j!PDgS`h_0}%`EgV~Jd}qlX^l+?H7Mq|9 z`sH2j;-EiYf1>)by`GOiT)=kQ7>B6pj)KD>bxUhXNJwIss^4^~70-8Y^w|=zhAy6{z zOw4b9mY`)kK(vPCPeUBq1)Tt;Ebsr`^pXPGs*3idRt#lEy8*UWG@;mCyfY4|@Pwo4_)X^sY}Hj)&}T z!I+aFFG#sA+;E;z3K9pa6s4mHbSV&GC1zzeTh5a@m9&dU#6`#B?%wjShSm@e z{AObhfc!>sK}YE`USEPlOhE<%Y+<1pbk|hcje-`aOi zmQ8@zV_l_JXm~F2NGqcaSh;UxOzUyFMZ@fpo0!&$AkaIkK-Wo8`z4 zJDztgy&4CH%Sim^puB^GK&Ax~co4A(B%1!3XJ(#>NlAsVDmO+z4+l^S*ld-p!fDwJ zRQV(BV>^X=bc#()hDZbu&t8N&@*w>?Kzf311!}l}oW#T{*4n7Y`QO{5fi_loH9=KP z4bA(5PYdqPl@#>=#H;mjeCeh4YSaiBmYYxf@kcZg+M<3A7Z?b~Q7y~xq^&_GB_oAE zliLs7f`<bC4H$ptXFP#LKXJT`;^*0`|9~Xdp;(|ZJDvOsyZ!-x$Xp=3$Nq2M z_Pa>%_vZK~a{V_(3{Nck4xJ%^*?+%u_8%GXpMdrM7&h8(3^$Si<@;}-(TsD7fXr;~zOW4Y2PO)K?7<}e!&z^IAchMU*f=>k+1b%K4}SfHLQMbQ6mf2V z0dSzdGs7J8R?#tEmT=C90+m6ac}m{A`5?j_A|3+K_|-j!(e{y2Gg8+;g8rNbAHjB1A=M*5XW#=6TS;v@KwPey z1F~Kw(UvJGlHY<0yz`BhJn z1o$A_St3@YGiK0tzMDyT7*s@Kw(~L$fnx6qU@{ErL*oUd9bkQQg=A00cou=2TA% zb6#FF+^X79Os^?stJ6rl^*}Jh&rQhyVlqIrfY z`0|JI^?QD#&TIoSqR*W_Pf^_n@T9;0QCnqq_o{+MM~p07*%e;xkYp-i_U#?m?*_c8 ze3)97?DeUnJ3|Vfbp_;DtV|~)_GO1L+&30{J@G#_X*Sn35-@Fho-0!Bc0hy$VZdRi zAkGFO$Pcu6j3K=HOGE|J9MrT`P{4P{LWM|S{Qz*cwuX#FAs-zn?=bIAWWv057J$4A z)`2u#eGxH}BbtGKk}LmD}c z@gd(ERms|E{}B?jqf(&N;o_8xSpa6?waylRi~#vZa}U>X2^++jd=ZAIPkfNccJt;l z(8{buoO;ay1m8ojPjEO~V}y8*5s+ddBD6F$OF)}f?fo3!3qR+P7Q9Q_D4>W?GYAyu z75)Ig-iMu~1N7uZ+sVkt_=4stu*D)0i}kp{PV)vr((LC*WrBzl>~&AVpA69eI38%V(?fj(C3w&etWT-{CD$fCkBp2&FP*Em zuFAc<1f zq2uh@rLK$ppem|*qXs0XOx0L1hjFgr0)S_9g1SGYrrhrD1B&jq7wr5HK=i#BH*?`>oIfR4d#=71ge)al$9XRfmmfo z9sKq!ka%MvBGQxb4e>(-2EWAJUJ8nn72P2TUcqKV!K+ZmQoj<2vc^a3fOPKTWgqxk zrGRdOWEG+M=s;3^3yNS@jfn~C*w|X&d|^fEG$7T_dq5}T|6uPepsHHewqe``CMX65 zp@b+1C@P`EMrou$x&%a85fl*?ih+uXw1jjwNDC~)Vu669go-GjlqlWnzoxkN+54RH z$22%{iavjw|j5IF2L3`G-2sC%5DjAEvTOklc{jMs}h^{7`ZU zI(>#uSwLv0D=+{gm@m^*NcJc9wPYCD)KG~A zN@$I|4Jv6o zb?dbbHy%Pyh_0kBkgF!^}?@vDw5 zkTTD7kLm_y_0Q0nx8N_hG^g}dISk(Pc1}HJ*K*7i`26|FmrH{LCCT* zs}~*ki5IdekVs{tIC(*Afs1|ANlWr!KAIp-H@IZ+ zLVux(-506!wh#ZK_23eEVf4y3R&TaO)1j*Rv0%?)d5?{dfdY(Z+3s%h4+%*Q##mv%y*z~~)QOsTKo^__ zTh+wMNb|0(_R9nd!Da06I`Q|nJ7oy1p41FlpSQ^xU+xKgc+-RDj`lscVk4LG*JG=? z@@(FcKzTH4$oB%w8?||(x96Uab<o>T8( z8{yVW$~xP1jM566!k@#8HxdL@O|jo=ke060U4~~$_nZNwfnG4pW_b-Yx_CqGQ$E9D zsY5MP+P|d|)?3c(viH+8lhq-<1B%IcH4}2>KnSn3BQW~m&1pmOEY&%>c+UgX+*2=B z?~Me%?wlSqEuksoDJTpUaF49gKV5(5vWLaa17+VU){GQFFW`qc!e{ zqs7}3<|^&{Q-(bIsU1$wG9`;-wjysXkZ<1d{ad|%_2C5iG{q!bZ+`JrOQ2;ahEGOP z<{{59uYVnK(C#F?GnHJtN0>BMI4;Nn`9_D+aiOV36$yD$C>mq7e?R_Le5%`HXTrK| z0vz9uiZs7<0p6K!)z}MhfQ0)@ZU!0HJ3cocP-C%mv+&&hHcD0!N?S)7p>U~}q2@|@ zrL@4m{4c=$EkhVtQRuiJa*wYQ#h!bzYyr2DZpz&JTiU08o`HpOGD+1Gp{b=pEmnqTFUc{P zhEFD*(y{`%lk@WcS|JXqe)C8m1mvlj(-OA$#3`ApMrJ+Vto(cP^bfk@ze%F}?@C(4 zjZ(49PE0PR3HQ?g7`*F`M}E@O)D%-r@Kj(tq+#-X&7ZiB(Bf4)8K1iHGg^DloJ&ng zl2g7S1b?vWIQMYelCvTrN)(EMvhGh-x9{6?nm_(r(A;lt)T zFRTslt@(W$LcVu+RQDlHE*?UQ2wdQL*Mp%`zy;2w78Vv}WvMD(8<{_cG4Jy&}3B7XIWM zYAFs4F$^R6<4b4?{lcS~LhgM3vkHB4XGwYBiAZKMzh9S0L*wG}pLltNwlXsdcOmrK zavH|P{!`NH*C(cXEQ%Rv461&; z$z_D%gw#ob_kGbj)u!h~>$P&^O-tb_Ttcc-P$oJ%7*T4gtJmaN zk(=3BJpG?-z9RJNvP}4G7lOYA1_hlq-u?kW`tW>7crukq3G85R)mC~$fW6lf+B}?zPFF@Xw7)gBs1X0Tly_@95M=hv- zVcJ_Z6lR?dYytFI{SETmh~gVMK$Ue44;wsIMYbG~Jf3F!MLSKW%lt!=9Os` zmc%l#?LXRf$6wz6+j8%8t&5~SqnB`-XtM;k+t|}Gw=K5~KuF(1F_-Tj zqnLwM&%_*WgI~1sR`|Q;>g|_M^AS(NxoCWro4un7f{^*$FlJtYpMy!v)d?xuc^YoO zYIDD8^ZteDI*k4^!ZX96_|`ru z825qVT2L|R-f=xxHUsfQx^aJuzjN|No%pP65}l$!uKg#}8{bn^;a$Hpl=pTl25V5} zap01rE4~5=2(>WGg_s>WgSR}s4<0=5_3iR@B|ego`?!{2((nXYlUhc4iUVg@bG7-( z2`?TRhy9C$bGcFL9KV`^n9FF5P;&#kPvJMlXyu&G6tn|Bu{Q;WDOkgTHXrRyiYj@S z`5_G_L-i_E-oQ=P?uxp5$#eWF<1z4z+$w;d)j`6F6cgDk5K>GpKJ`0e)wuWgO%I8y zsj?Ewxc=!q$u2)mxl{9J&L)l4QNagFX+7}w;R`=tCSxLW$J=|LDLIxK1v^)ku5+Cm zYR6}!4NB0dHeW-KPKnn@IPpV&leJ+gaJ--kA98W!snWpL@3`b|*&yT+qe6%<9 z=c?h56G{tS>zF-Jv4;P3=-~m#*G<3dpV=iWVz9*J+OJqQfms`S=dd~BSrC$hg@lAW z=g5|IEQW>9CPs-_)yLdO*}1E;OxFU|aY@+&faPr_SFc$!K7Wil^-97i&k;&8!Ocas z7#6I&J3V)Nhzoo9v9hP;8`|3^lhrvzSkhRv=nTaE`F+9mh+O616zW^o||# z)Y~*R@8PAtYW8%Y()?mD30u|{bbT7tW_59kyXCsBiD9rSe}5Pe{&W1C67ysJu6p>K z^DhQ{-%~rW10$D>%3hojG_13~=fzz;^vWkz7RqYvPluY4f0* ztP2;3Wt2WoCEr!^ps2w9@u@z)ClAjj0kc9K zVJlM)=+#EM({+G%FUCvpi%dVd_~D$u7B78Y|NMm<_Id!B;}%oVWmJh7`TL~)v7yOR zP#wQ`@dBwD;zxCpnyA!Z%6hl_zwV6)jAVc$ed{4rk+lV;)C?Om!9xKnm0Zmly2nGb)%fW6%U_1 z?8pG=ZRhrW*^Ju|ubqC}m$TiIq5tgikL!M=^Hv_Mg~>p-!aPVqNmo-eg$gkKLSw`f zn;r}62eeQM5gv$6XnFdx96&x@;~Q*B_BSt4Jv?5Z3&FK)U;tFkCGCg>9`ggnGs6w- zZ!hL-R$|DEI21yKEFRGqDka?;qXLoLD-&uR$cb@rCF3pn5LEbmXu%sGUm!rfuB)Se z^7G@3{pI7)(0mm8qwx5jmjq0LQ9}QbThgVftgNiA-T+=F#vx@<*z-A7cR)>WB@NBH zXFrpthpOLNo`58+)RyygVg(n6jRw@^E3h8Xg*zm-kQeME|@o6O^ zqYucZUuwd*o{j)MbM3?DN&$*c&2^j?juffBqb9>mg7yAYg%d z`&I|R>j78JF3*;`-PAKTe}{pf{Mj#ruP1md3>Q;1LY-d|p(T)0Rt|blWb*X4**uhz zHpCxQuw{YOVw=yd@R%63zODzmjw2~LM>EkwfiyMNsM4<saSNcC7Cpq}GuZSD?E? zy_||m2UOL}EZLxZ!%OBqQyjx)Du0Z3&7`HW3QfjPgy_sBzk*p=3gZ^yMvuA_K(xRF}BDi(pT|Yiz8DI zicp_}2M_XSr8sq0`a;tp4&Bm(4a#CAi9FqNh}95K@CN%{-@UEu)QdZ~n|aCX?2r;X zy}oKA9h30K%fi2lXaXzxLuzvuphXUopkD_uTLrSm-tO*An>NW=6vZGVzW|Wa(Ae0s zUGiiIM3eUUDCHcL&VfsVE@J}i0cvh&+5MymDbTTF6{yyISS9#O^?OzM*262#bv$eM zruCb$`v#fmI@!lERLvK)GSY`SvBZ4^79q9(<(mlEev>Sh2M^qiwXP2rIUkClEj=J4 z(xAQKc&Tb5-~QI7E%VHC%rd}qhf~I~G8|otJg(VWQaz4y_ID zVRw%@s$ciUjT_UIEG#VgCMV*V2gD{$L3D=o?!U)~Omep=VhV>dYIWeE5-3iR%XusY zjwOllCXHx8+P?&k=(266(GdBq9T3w@J;{5?6;cm!-frdasplJ2bjUXvNYd=sXoRd} zs;dobs}IC-V(UVw;G0FDeiAX!B=Qn@>eHG_`!U7m5tRz96M2ckM}p+lQ*6&Btx93K z`ioa9e*6_eeAjw79PB<&f8DZ2P4z!rc+Xe=iZ(Z@s1W!Cm|SZ9gy%Ll__%Ja#ZTAn zZN{TGRWBZ3l-7{k^hoUU01j;f(aplhYl0hiSnyMi!B2bF;Qd`z2_w3#@`G?;A(aKj z!`Wqu>I-6Z-^fUQ6^kiQ-R-59FS@$U;PLnP$yPkJPsC;cKp4=BxVVQo3GlUy%+1Vh zi4Eo%uqCcuy&CKQ=RBbiOqv@;&+uM#-I3&2pxZRJHZSJGYpb^(_F)oH2bt!a=`Dy^ zFXPEZ`+oJr#+zQknM`@(EyB@D!tXhko z%^j42az(jTqw|r3_-$Qtl>ZUPC}^(em@YP}@Th+<`(OMr-VqNEFrgTvJ6J#736Egn zBIMi_&8bnCqv+@72c`eXo6IiD-eZ4TR4jIi&!I#B9(;Csq$lez81z=`;-;o1*v8J} z>$LAQOxHV1ou7_`yUCe3Zp&KFu09HY;lc!58O?qhr;Ojtqt`KKQ?qzbB2CD zWV3|kifrBD8@Vl+CPzg9PKOLU8Ho!qWQ?%26SfkZe+ zuv+LE==8HFm|P*c71D{^H$d>Ayy`pR$|J~pi--khf2pCrFYorC6cc&IvHKRs2hg}c z&_ULSl=+Dg@JiY2wgUFh zu%~=O-85kt>3(6Pn*t|9Du_u}H6ZbXbQP0B@U%`mI+BN_!*H{i&1Rt>(~79Eu&5K_ z;wpPy;=T;)iO4S10Quuzqw|mw?D{cBj_u^s1pw{C(~GI3ZvM?t{Y- zDE>SUfno!X;rM+7LWlL9#E2nSVWB4-?{ac+rCI|4P*74@H+NrYcFS{M0ubx&9a zV{RFr7Q7gyS*dE6dc$l;5SjZNn;IoobNr73JY7$Sh8PStY^jDXON0N2m<;1=Yk{_xoql9=lpt{5GOJ7G2m1O(+f-d6rYenBVuKIa92rDSe@p+5Ty%PX#PRTl0xCn2ohK#Yh+lWFG8H&_{8f7!LrtpQqhfEAWnIf=yK#zla*MaiI z*`<>6n!!3$`0Qe0hJ35zYEkGf#fOQ98TaaZzkM>;xJ{i}Stx{7e>`Q2&0cOYjBbd}1!A2S1)VST5Xw(#mT0Yr`R zHh1E79@yoL>r$Y=ry2LgHC%2kNGHPI|MS~h5zmkc5dXyhaOTVam$4X!CSkxjXV>2P zY2ykqcR@1dJJHbWwEtD7bML37zJ^^VAxPolYrbfSP3zBZ;Wx64q^?=B22=cqIazoU zFkRaBx8$7!q?DI)!t?cO6oPZxeRWfyg2EO<6U28fiOS^bO}97uBoxh$dp+ho_6Qz+ zG>ItuocC8gQcmg`1uW$-1 zEYvX?yB&bq{rxEa@ynlXb0Mzs)835xfzA*L4uzuEGWb0(rjKCcgZd1cv?fCAXx0x^ zZF#`|)}VzH6cjL#0FkmgCkD~+>U3urG2V&hN}tK8Guk z)Taxi_PF>r_gKdubT5X_JWQ=}-W(Q6_m^9Zo&6u;h5ieFSL!o*4BRVM++EzIlkLv1 zO#Z5zSeSvf_xeaI=&Mds~ZIs^`_>W)t<-(TSGAYK*x2tqA>2Q2q@p zb+lgGu;hby%N-C$K@UR;aw7N89pwOdoNSX{|2y^L#q zAp%Jw*y|I0jh3+bmib+b!vw~^N5GV_=j}g>G93j}>2R?_k%>qD1E>HPH6lP$+7_;OOw|pMlB)DEV6_sFf9o%qOUS<>= zdr=9_e0wsCCST4ikU>7|SH);v`;UrIoliD6?eL-zhfoxOm*|&kWL}xKN=w#n;?8Cs zewl#C7oCWA%82hFeneUm`Bo zX1W*MY$tmV3~`)Y8?#WGK%ugEzaRWc^L zHHw9$FLMQTD1l)Y#uRD7dqkjL?@6aloqD6?*^8-hiHR0^-B(LifDL+V_KMDCITl#S zKP|97Ynqe~Rs}%=-15qbuEji@R+klunSmsB6kHDA! z31AKwlc=Ja~hV*nmX4Y`_s)bIU*jv_BHIpj8qnCb(&Ie{tkmt8E~6{gh6 zG5XIo5UWUzM~Y(h@Ch79UgAcy-!ClJ3+$b zdz2A}&#xQ@+Rg>NN&oPTX?K2$H~6&YMVu^n^NLXI#wR4SV+^CxWOz3fmsyS!D0_8%Y?3|1-l#NpAwWWGy#nNa#^b4sGbl94JF`2TtM9&8_Xi& zD5Ze^$_Un@sB7{5Ij$OGMg2UGkK&&fuhJsQURd8|fM;QJ&wNl7xy48+L_m5qAuu3s z$;F_A4|>M;yJvREy{gFH$$yofJePy}-$2EJ#OihdVnX*tsxHF)sHr7|n~UoU6l1|f z*2p@Ph${txbV3c&Do065zdDPlIF4ZxOeS}#^k4HZsFu@PP-os zS~O<^KdvgDZx{7gC}|?17=Np2W^Wwsz*1T|1Jw8*nNLN#4xAk?ufp)35DXp&_j0G3 z@P5WP_nsk8MIw*mGwh9(!)BW(Hp(k;3CK9R2d$=KqR^+^gGN9Df;ZZfZ-lEQ*o z(qi{;b2oT%P~=AHRe-Dy=~q@&^=qC&Oc^=P^GcGgwbW-i;w1O!47O}H=kQtM*1Gc_4{SU$H}!+T7>-E3OGh=C zXG5b;tJmt8PUiGKn2yQ=68)ugM;q+(C z^W2FE351%Gj+fFePCNUe%lpvaQzl_+azv|705s6Me_gZz7auxn zEF5APW{o-Pek8yuM^C@rO6d^1*V>dDDgT1RpQ>1ipwKU^-T*EUzzQwhuCv7b!(@b~ zpnx8YwNUz_xd}{|Z|t{fy9w|4CEF%U=nh-I_gBBSiRRs+6j>sm{7g2eDS3X#vB!X? zFi3Hx5i$}|4>7aa(V705k=n6ahh{O+_aY`rwl8V>iqry^k(L&l+6BO3KD(*aiodVe z(dt3|cHY|YkOt0_AxP$wwz z9W#3L;Y82mc%|U^9%EPDSPLG0_H6^F?E)D_?XnKzlKF`ahthFSev)47!SsHlM|Z0! z{Z|7K`+WdhE2z z81u#XuunfWRV#G@FpZuKFeOZ%eK8URmJ&F69v@~-gg@QN(9xdmvjZ)>k=N!wbxZemn@r$52V)hst^ZgYI~aHuDN&30 zRY$Qy`50aT3*wg?xWQ-yqjg|$YKu5kF{NNZre)grHzT9l@EMRG&gsui!GtZ{Y2J5< zDy+I{0<91}S)BK~;7QtgP(d>G#)FR>KPX-E5)haC;GuVxz2kz9#@VfZG)mBwAi;(@ zE)KK|A%#pV@1{ByQ)Op5F$|}Cf%Zb3k0t9Uv9#p;$R$qHwf>fj!b~M1J1+ zfa#?4p-C#BN-b#x&SOoMp`SyG`fmuFMx!WPE#j zJaDup&$g6YJx$6M*@=bIa^bhj3{T~jl;2p)1s#A9WE~xIIQVXB74HXo=2xQpal{0Y z!v6CYCZ?&thOE%7)Vds@+Az3|zhZFbyqb>I3NrD>r1tErtSnHjfLF9sIxi24C9Cef zwr(>opK)0@uB}Q^cQ$88t_37eIF5BB-JOK)E+{L-{-g(dT6T>I_waLC z(evT01sg8}*%H&KPd%K;k8h~Wuc8vsLPQeI7kt|lyxz$)oehN$2L?-{%m!8&ptnho3f%>2FPte+?Z88fLt5ep zY~@l3X?_NHo6NxzyqdY|0hK-Qj>;kiIL1O0DDaYCei3}(ya6s%&?%%olRgD0*H``> zx%Qf;(#uqH$W&QB`J@dZFvu0`oDW#TH=w;+VOb8zBIcP$wgcDTKC6+60BeEOA}izl z;p2KBmFV#7tU$-i0&CyPhX>5M+q7>!eky(ML6iCQ84URe z^C#MeEy(rvSS8AkdUD9NWmO|))r>AxQWWp{ndK3tmu<+dtt>aWCp-A*jN?q{Pb12j z$6cKjJG+m@WYO_ORfRQ>y|1*ea0-JI{R$cz8^_tEYY2oP*vQoi|2XnQB^dZO;o+fW z7<8u_p%Q$ukONDu1Ny|magD1M6}$Byj(H5o%yg8T*&VYN(xeq^(~=8;uUZCz%QwGG z*XN3set&wfK&@s0D)-Pss}8eyMN;$fce2kT-8^yXi&-%Dvn2+)Zg_oL38j_1e;OyP z4hS`l!m54FL+#GsN5RF=b!6Yyq~maA3~^4LCnE3FX7f0#)*a{^jg=@~E%aU7%GOvq zb>|i&Fv#bS4K*=s>@4A~q+Zc({m`DtlJ6B=HBXdJ$^7r0+WJ!;`7{-GUZdMc^ZFOF zUiBweZ7=KFNydZDb0$iuAb#V87JUaTSi4D=A?BZ9B1VYkT{B-AG6CV~Nw)y-do<;W zztj}*-?Hn46z^_3_;N8TlLo5v;bI67HJ(81J9e4~^4km4@ zAQi>%{;%^Ac-oCH{QxB0vsn8|;;zXHTqyNI&%&wF{Fb}7w^zZb;DfXQrs$2|^F$@r z=;5s)=M+ps?QkFyhD~ipo?}Fw81J`;q&B~`@9fK=WLUPO0xd7v}t2EI1wBr zO(Uu9oDSncU{=6}%*;v<-;ayqm>)WhqVAK-PJo5KF9P06u_fbxY?C_A93Yt4b0)@= z$R)1OQK6HEjgy`6H+UABn_J*eMbMLyk{=rR6u*j!3RO-Nx9Xgr!&Ykf;UokFbFLIW zkR7QEZHdte83si$3g(Gk+?2{nRZdjC_?A&=iUP=!$KPmwKyB5RXGLBwb=aEr${9z2UeQjIUaT5Pm_+`dcqYTjmgkRnBg59(-=${><;Jg{<&)Z&-7Twta59?jb&Tea|ofAH4B z*AdOz;Y`HWu|V9X%X@5Z*HC1GTf^O){_#S5`fH=_zkZwe&R2i>MD|E;6M>0 zN9sBM_98|_e8$QAU%vh6@}8kxVSZaJ1kIjoo9^_Xy?+54Z_lNj8x}YG; zHylxL#q|H}0xCHk{?iZ6yL@aU&MHtF`JHVs@DIOQDtnZM=Jx>62e%eu_$-7D_xp&S z+S+?nYO%IJi2paj4czSo;&%M?mw%Ke8sdjzy8rmqfAdJ#HB5^!E}!P+pHB&Q@XF*b z7sWqbPM+_n+T2L|x&5#IYmWf?Z~uFIGMZ<9UKS!``Q^nc{L9PPqO)C||8%kV#NtD^ z!RtBy@?g&9;RT9H|f$0AkVc@Gn?#g|>jIrFljAls;m()`6<;Csme+^&9 zll*eM+~{xcW{XUJWe9_%;LjKJT&(U#a{lGpKmXl*q|2%M{ExoM-tJgMTV?U$=YM-K zMv;xY|F7S6qmLIe*Ix+N_w3`o^^RGIzg^uRMhT;>k@B@nT7gTH_5Z;?jR4NvzpL@OQu zq@v~vbW6i;5@$P&4YnNwl!sqX5gTtpgVwY2uDvW`*wmuj$Kkk_5y4wSCtE5f`wqZO zZ%@y3vyT7=@L?06g;x~``T#O`GTpKa7AIn02w~VNU+73PVmS`w(eQ7K@Q%j0UD%13 zYP=Y*?I1dMxm{y&uq~ERm;D=t!e~Yx=77wmJAjbiYIWh1vjhc>4+C2`8ouZxUBEp^ zJPD`TOH_osD&xIz$etY}=Ybdi>!7LB{7UrPp;)@=?3rPte4Ic6Z}?FIAMo6O^bhAi z>SdpLfg$g~Um^g)p8LgE?h)9`{SGH&dG|lX1dMTY8@ZsVV&F=hoyT)Brg4l~QUwYz z{SIwjVlpVHBap)YFuATKgz`jbfXd+5s*d9dwjWB`PLD@f{bB8|;)-;OsTcyags~ZkzonOH7)rl`bV33G zlaVN>y#%~ATsP-Q-rECsN<#$}3(UDvO`SdV+`;`gF<3gBxXBx5PNhJmfa8IN5a`2) zQ2^5Xnnp>hg-L~3rpIq5qwLBUG+v&8uLm-OXDzZ&m_Ut#ca>zBP@-sUDvj>L1-`z!Jf)-k3L5E2M$N4RixllCs4MZF&UsZ~wVum2C)60hM+X$q;3+tUx9uw63QS5in#F%Uhkh0pqIvH{)K;hnt0m~)UAO$Zszs^P2?3}0q% z)562uwU}4wuo>4qh14 z8BiLb8}&dS0CzhBz0mYfn|cp5hq)apGPqF)-(OKUG2kC=_E()$q*{w#qgwHfC5xLz z;(v#i9(zzLR906Lu?ON$!jMcu6ThfYl^_t6s_8P!{z$UN5m(rY4!&xGLi(o}FD`x-w?BdN?2N>nU4u_Imm!CSxR@Gxz$x+ja zWeyG-KH*qcVgyp3k<<&n4WLH^xT-dvk)L&nIVTPq8$)UUIa2m~mkEo$Q5o#e(s| z=5ylU*?K-2g87mwEumwz=U?&JnQv>jgEKkXRMuc*uytH&rl;*&A$Ko zkk4gx1y$2o*5jGC_82esu~p$UD9i$65N|lJq2whiC;b=d9$&nNN%;kl5wciFGxKt~X&6o?SP={0-fvmuVZ$E`y!0{8HKrvGwZe6TsM;V3J0%FAdB6kg@+ zQ=pG?PJ$FmR0`W2wz5M$EYF-#B|@|a$SB7868a>0`RokN#8(6$1|b&QFshvDx}nza zXC5L39Bx~f`tiBP3e-fpe->;85br<(VbH=XXxoZNt67wLvhx#+Gcz1>FaqP_^dhwt z`x3q}B6cd-2-@mBj+n5U@T@6Yb2##9>|?9vFJUt8p1ceI#NyQK_`pTb0<#OP4>GFg z{LbY$bS@C8eTbNG>hKsFdEVyy{v@9mQ6zvIxzJDn3x!r)zfl=%b8xTEN)y+?U-R9%HVGacUHKMr?SOxq|W1uQOuIA5ETGeIZJQ!z7-$vJ& z0eEci3^&reL?V%J)MArUTke)SN;WMA6KjmJ+Aa!?_6Z#clR4&_9Q1eqo7_SmUYj@^ z_VIQ}jg(YK@gB%@2ax(2IJXS~I{o!DDwRR-TeJ~VJ_B3VU$_Fy?8e-E_{Ab~ck{3J zI&Z`8$-e8WoZS(V$G4-VjdxEh9RE@m8Jy4yyT$*PheE>OJo#RPl*eUM>esri=-L%6 z3muc(o}H&GNaE*m$j2VtvyBWq5y%HK;@swG|gv zE)?l1VS+=@m8KYEtn6;)&gB286>-eLb8(&rSeoouRE~jY*PhMse_35BXH-uNPX_L+ zr#O)o9@OI$SJgAwiz8^GRHPgNzT3Q-xnKc!(`)Uvn75z@l-?X=u*ia*V`NrZY@Kt4 zh7Zh?$H#R-{WRjo-jp5Q5v|v#pWC)ZaJJU+31eF9V+W1^z(_b%SKf~ldp~M#vzExd zagFJF>}E~gX|r#8O&+9ITNzXH9UFLbIWkwevxgtzGcBjQJMv{t?)#49QMxI+3ZT%A zegt|c3mx#(=>+4WS2OqRi2kO2R(LKe^GB4IZ0qOF1ZslOu%K75(zW>Q-lcmc1E7uf zIzrJIrN&Blc^%oIGs~K<9Y4=|lI6=ru34V1ZLK0+qg$TZJfG3u*Yvve;%?9ByN-ee zi}8-Uk%1Yu6t-x02u@)n=y&HTTA#%F`@9cPe0FD-ggUKpTygdx6|{C5BW0TjgmxGv zY@H6t&p7LS*LqN?<||!!$zcrf<^aQIte_T7P>IZlRG6xFD5TI3XWS%i68jD%%Yg6A zBX8|+_%zNB==V@3WT;5Z*X?R#l3K>L{EQ-xLsZE1Z9)up<}w0Wy4UWbR`GkI)R%o1 z(BBU|eL`ePm{yY)fbz_mr&0MVF75P}uNxOT$!iBa>@v3>lD@z(b+4%m;Q~$z>r4ud z5HWN0=S^%`C%yk4_b`)c?^4>q)F0o@=xg_$aXexK)R-#QHk$>Hu`l0MEtlF*pG~CX zl3!GPcKc-Rv0QA2*O0Z<7hcb|w>llNqYj!ihE(<*^hBgsOqq&`wYH8HyxPlfn*tb> z-xRpVWs$zlb;iol+bj^{QV&xJZkgZj;FWONiVJ(2^!oQwPc9~sG zv2<9e$>U+$-bM$fiF>X7jP3B4;FK6%E{{u0=QJ9$+7f51pqq79Tqw9-(QBfrPd`^< z(a1AC`@;2N(g|PxqPz`1d_M}QhtahKY_U|Bv>9jZ;-Qrls|JJiENy@6n2h zDmc$Q=^kgX-iQ0Q!QmhGFQj~qy65MnF1s=}oTaTy@(z48{d{_1J)) zh2RM=_bZD}n#d=0GKYkOIQ}ND0=*=1ZD8Vz(-HVP2RfWcBGx#K)ltBp*onw)&5!O( zq_?fHt(lypisThhxthw>gwqZfW!|riJml2A7ML>n&F$@^+=x|{uyi79WgxY{u46ZC1JvZq`8fF6$9Brp__HLv zk2*7z?^3DPcE#ig=|h%b#4e4QBLZISF!fw357*C?#qe}N-O?;fkUgxRp-jfjgUY+b z`t;z@jq`3dAKm-q$m)zZaXctfGE`a@4vbe+YxtQzYWy1=!$} zUhbz#KFT47c?lyx6@p(uGYZ{wl)?JG#y$)ZCRUNY@3Z8rtT)33TpQUwgE4yIbRw{| z;52{MVdL^I9><54hq+rGj3l85;MgQ`2VB21vK>ysf?kN2PKwrLVm^D9VW1?0O+5hG z7&M@x$)MWoJxgt8T1%*2BMtm7+y`w4CMN6g7({E;ipP5;-NU3#or)2^%f3VLx$Loz za>t#^NgE|cJ@oWKtra|0>nMj!3`qr1*;&fwZA6>8y5^=XQU=7DbQJRVV?;Vo2eMUC z#W()i)sH5tx*W0vBqD{|jH7E`MoS4g#Jk^{S`crJKK-)n;D*Qp1xa?-rGpa_?E%q#V*%KHR5YSZYY$Gy^+4tIk)mjrs{O@wDG%jtRSUsJg zyKx_n61190kxZ z)JY}>G*M?SKI)qWM;zNpm1xgB&40#*gwuJf`KOKz9}Sxx+wn+=J-X82DlAC)L%yg} zQ6cMlMC9fwC1((W9~{-#$rroV2fC+IO;kTFV!LuSEaS@&{2M!NnZ%n2@z`~lq7Y#&_uzJG7fp%E2W46W4^@OwaM zLUC5x+gZnPqAVU9v~7HJ=V(Odn(J(>-y6ER;qi+HV0vQCI*)q zuPcx3o-X};kLNmmW)`FEYp%$?T=eq&H|T&p+FWre5#-(`*5d+JyOedfxMjG8)GlRsfz;TL(UFHqvTkcdtL7Z8;n1(MT+eoOyr`s_ zmi~CTgBX`y*nnmLaMlQ71@});-4%BTd!X0fzTf1^@UZWRAQD_?Xh9kVabl!qQD=X2{u9V^S2@B(6+A=-XA=}$#RV-}%z2>S#=%`S*j)hY z%Af-@w8L743IaIbIY@QDrV%X!S*=>lH$40urj7T_!DN+gHG~t3{7yU9c+7ofb@i>; zlJ05$zN`4^dHcsP&u%yP5LR32u#v~S^X!G+X3aF(suDT`W$y<%ucQ;QhW;bp=6z62 zwrS(Kusq-e^i-jm$DJ!yTiBbQcXG5awIg0RoU&fM`oO^hJNNG-ULF)Wd|2o&-xv7x zeNj<<%}Zx3_;plHSzDMn@oPAraw7g)-pI@nv-JM9$aKVe~SN&Mu&gZR7ZtNCTDY@I9|`DJWPoh+m*%pA-u z_>Vi-Iyh>aH8r!~m$JBEWo9AkXnJWiUK9ViQ-3G%Nex$vi?9B54KCqBPnQ7urSaTJ z&9s;Mop|{_|NEai@SnN^ZaV_JXqNojO++keViO4--2ay?bod`z=+EUZNG$($WV>OQm z8mZ@rl-6&RQEi{}_A9u(=)Uvg>2{?Laoky(4IA@$qvdv(>^*Tq|Hj$A?4_nx@0DrQ zuYdk_Hu2dw$%R>e@3MUL(6j2Z>6@%=m<-OUzxPTOPoV8?CYd$)BM)!Dv_(jOZ2AK%~Y`>eu9;?vAc>xGKZb#FM^ zBRJVpkIUJX_Il0fb9~GDEktvh8`)k!T|{T3CjZ^!`r28xerlC=;`)ZX`ZLGY^!kUJCxuX zz;S+{wdC&3y*r0{O}WA>Lk71Pc~kjH)H%)LrTMKMW%(J!mhPOj4-P&Y;<7VyomFYD zXMT;q&X(h`7w)b;F0EO$aapTnb`@=hk<7-B#{r&S(yfjJsv9tD$Wu7-xVHM-SZaDBz53$xBUX#pvUt)JYM`nBr%Wu3r+Y6i@74Yv@JVM`k z`~fWw-C5D+u6^z8u7jH*53UV5;wu}oPE{m*gq_CA>Hd<=wj8ymH_s2yXWFH3an*Gd z-s7Hl8yhf9I;!;jbAVXVRz?va5$$3ofg+0@Vdd4SSNgN1_O|eh*$brvp?jLE!9`~z0)O^(l6m{*PRJR~?Y@v10W zLb2#IvqkcQLuuP|&AzK0yL>ojd2p4yd3(01HASy7E9Q86YeD2)Gcl#m*KO;h{Mb96 zjqHz)Zw}bjE6p|<_?$hyl*cULd*sR&q}!?_PNuF^kqlMmaVWZJfzQkPIYk%s@<$o- zH1c`Ar?isNoyzV#mn;8vKeFV`zFTv33R>LNYGh>(n!{TLGX8BiAT~J>4nz(K{3RR+ z|C?|i@_!Q!e&x#pI|YOe9v1v-a2Rr5W1y+EFeNhi?y_ZX?X_(tE)slu*lu4*+9U3$ z$`Z43*%>|SyZg(x?%#M&E-v9)?Ar`|yRc;aX@kcC?9P`T=ACQ`YCav7uYcO^Nq*i9 zd-B2rTgd|X%e$kmue7$Cb<9)6Ju=RJd3U~UI%0Tsx%)^#-jfHb(q)#3^y`Hiy}i@& zVr6vj`id^+>baaxXM!zUbffn`q<}%cADCPj@7A9Yv0@yIfDuD`APG3gq_gJLc>=R$5TgQ|i{}XXLWN z&1tfn>8AI>Lz6uXmiNDVCN=Khh^5%BdfZ;Y&Nif0pMCDfs@w9Ey~)pRCf<`{4LMhz z^txWRO~lOc)%_ijUJF9=A6JNO5sF&+m34o_o%|Rhzq`VP+f9N(p?nCA$;}z?fSiFOxQcVJ0I=rHNLmFclG`jY7^}!p}U#%~!zcC*2eeHry z<(H9qx3U|NRl{9xzh5?yKH6EHDQS4N?u${+aCh)%=J)D)w>#VTVp;Fdw%@YsGCjjy zuz~TDjzMMV-H20DD$jQOFz=G?l6Km}{30;Rk+J_H$K2()Rkbfif3UQUZ<|@m^{mmw zUR3->C+*$0vDy?j$zwa}YlN91=%Rv`3{Sq{s(iIn)9LZqfE}Dn(sfZ6>myBAqT?T4 zyUezYm+8iUS?)&O<+UZ=B3(&alNGym6!NRmFB~YiHv1d>GbV#B;cbOQ4@+LZ9U*^l zxL#1stXh=K5pu$7_E_;T;X6XVZ5h6^u5e>Zy^TnC<1?{mVyh2{-@d=p@a&O-2l};k zQm=m4m$2@a`I_h=WSpvB@hbM-CmE9X5$Q|UjCzb#kTeBIb8F{MFkKV>EIoE$@3Xu) z<*EY#yG56ueh?GJc{A48CFt9$-&e71eB&sU-n;zn^~9z%C;MJV<=$7}y14WkQ-MIa z(7W44y(1I`C$1;<&wOG!-o#dV(Jb5cz4}iIa~o#(UU820d|`~cTgx=I zN8j0zF=bHTVwDd%N|8t(#w|{(RvB_Ab-qYkcX`r{zmxfq$P>r1xjihpnn_oAQ+Tga z`lt8Dsq9}jDt%*+Su9Uc?wSYS5=TRSH~;YjQ-AxM;@$TWLNn4n@3=nnvCC=CG|i_U zD^0H5k`=u>UU84fC+CUJ*j>pMb}?C3M>gBN`MI0)6_)zUxN(#Xi&;FX9eKfJcWTAK z-A)~CJ?ghoWr&>K|w+n-qd_?!|Hui#qse2^<&JwmuH%izn9{r$e%=8!B-MQD{M4Rb5 z({|G`{vTy=vwp+=!;0IAR`OTm?-Sjpl`AX5`I*Dkr&~kaE3qSHD!b^?=U4YCU+TKd z6?W|{5~Y3`p%1g4p?FRV884`bB$Q07>B$u8ynBx)qx9Rz4tr`fkIu`Wo`;MV_PpP? zJ4j18WP`uoY{S($Dwl&OA9t9BhLJ%~fZymVv0=CHms3tOOck10e4YZVk}BtfS8w>x zF7$*a?evA z>!Y*jyepZdY%YoVN=4uH{NQSSA$ZxxeQU$Z%g5EOBwltr|DDBa$-%Q@e%JM0B&4aQ zRjBn$Y4^-U(A=MULep`}k;!*X@`wCtBM;RIPf1$Y_5OL8T$6Gag8PsdRne`u-M!^=PBR4PYLG^7Ol=Wp}pI%iuVoggHU0gTK4y~ z?_&ho#FAMpF+@_M8B?TYN@)AaZPW6-YW%BWOrp&Ae7UxY&q!5l+*`l%hp4>2ORj!h=4KH})Z0~} z!YtS1?zXUB_LJQ7p8LEqQ{Sq$F0mt0i3o=j>?FAwc%)d%M#XaR=&18a!B&RiDs?dk;BH;V}1jeHdrJ z&2Nqd=IhmLb2iK$nAv>Jzb8wHw0HW&b){!?Z7pGMvd%D=2|m21;eT7iab)H1C>6Ys`-@&3q&tgN+i zXT;7`RlD~3d{^Xx@9y@u-&uq5YnDCzgj^n#yliF~pLlL^y@X!MJe1sr*6TWo{oBl8 zUdbluPU>C2hrl@U9Wv$9W>NM5rexf~S<(1Gd(rwq9$A%KH|=TKL6zjM0{!}M0We!IiC%=hIBKj84a#g*#! z(CfCgZupM`n#@~t(*~&H&GjV5&rDWsEVQoH$2D=}BQ+CKLv5kI{FxW-fiMGswVw&DHK5LBDn`t|1}YgPtjZ7rzh`s^>@~>*l9ikVa>O9ty}0dU8G_= zei2?p`Orp*Cga{3f*3B;jSkG6S9#dCj{c5dXs80YsT&5QB7ijDN)@(4`1P`M8vrZf z?o9$-87&YH~$lPXlTi>e0QiACwAm|%2}&Rd>K3!+6+yAp*o zDqKbcKz*Y4<4ASFu|D#dBd>qup;FREmlG_C>bZqh)s zOQATGWeK(x_$%eH;i<8wz$dI&{lmNEjf>mYHYeu*fc<+Sx5^dTk&?_ImF~>j@c3wo z`;^=OIB0M|h7oVdp@`r;uWpa@6VWgk@|)63`Gs)dEyRPnq~(_)p*h^I>|TZovyVTL zQ;-!-Zz+!`4m{kBT127?x&0cvePE^IC`%}qkmYGmN;~^U-2Q$`W2qGcZ1`$;gAI;U z%ll>Hw75;O{Pj-8*wtNbV!!8;nZe>m<`Sgkm2$hQ3{AZ&%8{k}^wI&UPfuvW2WckcBZ6fXQ%u*GCLvl35oX^^CK}!j@?OdqsYip9Z?qy`VplxCu!Ov<|PL+ zv&hS>_w%CSL2#xeC;YI|-%Wk^(bPr9hCvvP6-%D8fj|x$%KSU&n3hp1z6Q}Ela*%>R&L+MrM^f6n<^RUD3 zd44|4@|(w_z2-{Rul&wYZhG~$us$Zt@YnTDhy5yp4KBN#lAm0&W?thXySE#uWxK3b zKn)v9AEIdkh6pYZcx+ES4%5YwWC7-B)gDV~bZKCtwExrYAm|ov+vH`=$$2wlcsTek zZ;PyHsJas(9 zJ+(by(i0A!?bn?6KMjg_Y94wYd2%C&_p(aQta)x+I~>?WZqUTDMQ6hkY1ul}dq5?B z#8H_8*0cv`SrZ8@?=I-DyFwdaR)m;0DYtx;+dBp{vrn%$VR-<-(}Qst7iJqFw1Scu ztTU>TDo9eFw5roep+qoIFj+Cd5Xfx?Y>aI;HGEQ??uVf9RrUDpW^;M_x5gLD6O+{V z_Gr9LAo##i_l981v5-fAzl{XZ|7PH7>M`LbHm|bU(*Gv((nMfHHQbX<)9I9iQ4V3U&g1T#~9Y*yHX~ zju&abB}O86Sk;f>Lh7L8ag08#-AnMiuBF|xFBmWhfy|_Z>)_GN&PE&sFICJ|;AL+` zI@9X))mQOG%uX5Rd46$RbQX`7{|y7F#R{p~g}XbfuO?@_FmdT^7O35$&$)Y5t=)Nj zSAEHwi>m(KNv+1yWNuQfarwx#uv~A0j!V&ioZJ1T zonaN+CEJPdAV-i92uzu$yL<~4tg|K-6auK4`i2tUFzYy*52xJ_tNx=wBo8-oG;MR*qoaN2WN z3)@ycsqqq4bB`WZV7x{TuT{jo*j1F@X%1BJwv<`6!e8s2`?5I-etcCI-~)bGN`tKN zKgxF)noBKWo?@IK_ctmWEr8Ry6h4zqi5$sG0R{PT(Xs2Yl^w9|Nso?*g|ZSjtg~e8 zRWnwhU)>ik)PGrFAvAC4`=e@Buq3+n>GOMJJo{4V~u)WH0R5Svcrdx%4%q>@2u1gymmsaQ+yqGkz(Pm#0dO$5$sS`-lYfF8P2Q@QlMWjHHm+ zjU{8QBY^^vNAjfLLuMqOrSA{zD;EjrpQk}GM@?vy{3a9ht};X`6r>kGg~!{%vQP?9 z=EuXd@u@9WU6Rrwfze!AfG5H6QfpEIKB{yW%MPwM(8jOqy8n7rI?Uv)*O zCf+o>qIVd&Srq^QgtE@bkMDQuqg!_!2;KYZu;symCr{#OluNghgs&D7bwk4xO^*~c zC^k*1HzG(&y=~Cl=LFvJ^M9NjgMIDA!4>iI?X%Vu>^m)=0N!B-jPCq(OnfGO1J6vC zh2Pwr(CYc7w~k*veE_Wo3LZRBUYN0;w?#m zi}?$a;b*i%js|bQAugE%y+&mc9#+4^v@rUzd5~0+0is@DAHPOConGqk83*nyZ+wbZ zz6eFj(aX_@mT+tj+$2$5nN`Nu8wMu|OM9UZIMJ|Q4`z;LMVvlnPMw@{Ttcu71o0wN z@!gavj`vIbhER))%5t-_Q0gqOHHKrSoTsU$+Yd{pEk*np)!HGNTEfiP(T@2iQgvmo z?hKcE&**$tzGny?G&(xlyL%~*aphw4JZ!Q(J##(b7Zz5Wk1fpit(iw5t#Q=uc3k&l z?9Sh*&)Y**dDK>2qH0&~cSNan2$S-ey0D_>A)DKmPOJ1tu+K5g*hVO8c&kw_>;-9WWK5+rwAM$mpqf9vI7}w+GsY`me*Gi?5_(aNOgwq-*zn2(7M#*DufQ-Mb`Z6PZBbUwL_|e|N-?rog|J4Eh?7l(kx0pbOiIO`R}K}IhxZRTq2$zi3h3n zl6|5f+6!&a{MCyDURb~cX=tOE#3+j*pRHr9_h}~2n8_Wz3`WWJvajVZY_e<04SqvZ zkQ=lT0*a)jbsb$l9{;nea|k~^%)tD2wbm?EUj~R4B-zNw;K=aM(8vhs!P zdT8NH*H;C(czBIg;p7OPJ?cGtLVN^lzIfyCSSXgcJIA_hd-5_z;Q(2}+>>Ik6;3$f zkeIlJaf5Nm5LDx=A~L+y@86+tmM1@wU)ABces6@EAuH4g?v&UmVx58h!l&o25~l+n z;=CCnb5dPS9rbc$Bkq5TU!;7AfEl z_s;>>G};(&!755dgz^Z8)Nsy&gZm*yvfM;l;s{;~1Qg?Xk=5UKE5);TH$vany(g?x#y6H@ZI#aPme$6?UMNfqSeBl~XU zn{LTW?anLdWj$WC5nCgWts4jWkcE=GDBsr{m-2 z&1c*qvhOJCOeX2GcmE>mAsrfD^UqaDVW5^P?r9C>faIVD<2O-xw<1EZFtmvF^$v6c{gxVVe zv#CXLggPV;3AePg?n@lrH@LVr1d6%dwVSMBdvaYs+Uw259@(v>^E3eKXx_xGPt|m6VMD_g!Yy-PHF+9ym)-y`{tp{lR9`H?B+tfp3Ur|WU*J_mXybC{q zdw22_rdBSIu??#DUc@OA>RKowfBXMoI+;-;yP+=x+rxChUWtZ-xRgNRng!f4KMCLf zliY+B_;k#O4?X@#w+%Rg_MWACu{p{Ox&E~HJsWg%Ka*d4fZP~8RV8#kW=)ankF?y6 zp|LEql2~`byQlWRmpEJTmnz^9&MN=>RD3fIE+MB>IwQbn&o|l+uO0sBBB<@M)|}eM zj$}fyJp<4KpqpqH*gAPg8}RuPWq1u3gsLTO<)rdqiHO=rvT`EXQ_;HY5t zNYa6JcsgST(4Qv^e0z8pPQJZtC;QrM*E0Y@yc-!&+D;H{X$X+ty4cYA7P|h#TB6;k z+uDHq`pL3e#qmRLwlapsLca}QYbG)t>{wq7dx^l~K)eSNpdkNiY#XDPqPskdGrw`) z$S7Fk>GcC&&;zu&E{^LtdFOePI!ED5R;njGQP0om)A3OXfu`~t$kj95OieL7FB&W zrb?GrVVhaOC(UJUjkl$>ud`ggxUfzk@6MKEZv5N2%vrBPXXU`g*5%d2{Fk&_%lP&a z>C_ch+xEg=mlm*P6>e?c1>UJg!uUIdnR^{uzLpZz=_xF3L0@tGSUAn~T}x1s4*})m zo$H*G99{VPiS-7b+^1$P^`E?nxzwezJM;!q6jCV_e*A+(zI185zgAB!CMIL(0s?6| z^P8u(cVky*H6>Hm<>}b#JhV=NzpOLEq;_G3Yu!=}e~(Bg-MA3UP*#*aI_qM6Hu2B5 z-L)CajR(uQy_1w&*gG$GXl2`~kLQN+kjcj# z4YKWJ+;#qQ@jN=cEVl-&6bze7>bIMLt+AVO4qyqX_V!B$kZ)(K!o9>1k&}Fy2 zVhMax+LT6e3c%p8e&P6ju`S0TSLM3Q+TOA0EypiPKDYxjge6JH1pB~BKDY;XH7~1= z!P41tgXi(ml@9FBHf%^+dgHq;3bGYQR2=9wFKZR=-1odTBZ1XPLrXXj8j0nUqKo}{VHR|Rop z^EHlb@{KGk?5#tAb#08h#GgEwO!eQBimSQ!bACUtdSnT%Q3$%`E_<;T53oxnSpj4_ zN1A6wE9P4v3g_!XYVrCZ1k2|XE8T*z3iy)0XJt=K%_F4`vkCxL4sr&_$y1+*{@VO& z=?p8`d~yBIj+O18kQTMr+d?}nSBti)cWvjOEb7emF8F8wAdvI;7~_=cx+sui8=&sp z&>&j?zSQA!HLMmUR%lgG8);SA02lCb5(mK7-AAsNfP~YFab$ys70^r`AdY~Qzp}nb z*&)2BQ*hAOc7hMv(B!gP7*pf~nGp`{GQBj+=IXJ2=IdnDgZpQ`0hqo>#j3e1#*`qF zX-Y4xwKs`k(JcY+aEvLw1D|na$*&e;?esColQW&A;{-a@EkFibNr6IEu4nV$0Z>H! z93WSr3fjuOYjazxh7d3KprE2HkchQGg07mPCb5D#%9@V0lqyNO;-^wylxK0MXsDBwAS+La z*?4-|@?>R(Ht|4IdC*-JsFP@&jzYIUuCA6|1||AbO(j)%bsAOq!8~WGX|X7Sx)xud zjh&&TXCx2qQ>yynsA;jYlr?~bEa*mgAQf%-pWY)B)u{}~c+dsu2`Otd6RDwM)AK$t;;w z72xDdC0SKL!@2CB^0iDRfC_-53X^6M=vojAr#YVXHZLGLJ(^9h;1Yf;vM5^bs5vi2yhJ~W-698N2?lYgr3ZJS%+87`&+=2DqphMFPk}C%swfkQs-ObUrJ9K{`UB`3n5W`#h}Eqk z=5nQT8KCOYB4%KyD2NGA`NyI+gvEf?LVa$@m98f5tl4a{+}gxWc0=RYVn#{;5rvZMPo_I7SKzMA$YPyUnSE^Lt=XB))ckV>wPc@;_l=Gu z)L5#}l)FGX$SqFx;BzXSq*gnLe~F7ERsdZEcF%Q+q}Ai-4yS2S_ezT7yb{^#Mv2V) zZi?g=8)Y(!$vBCBa*AX*Wd^&s8mMT8!BNY2ToJ+H4k>pM&|2b$Zapz23wKhFsv8Mx zChpkJaKSiNufiKL{%L1q{0A%&{^>a~{woj?ekAG7JEd^{oY@!Pb6gtBg!*0Tb8Bw( zHQX!etu?zF0(EoGU!7}N*w~8_!psTao{HpF!gh-hSqb=K79{1um^V4mPPvkM40)F{aeu1X#hIxmC1%Z z;BxNu?!kL1%oKdRqrm6qGxuuUyU+I+%X}OY0}NxJnA^OS4 zhcWmkSt0d%Ncjm;yRzh!mPXuLH`5b0Pt2CeaE*1iD*P0SropXD8FBexP4Kg|_lm@Q ztSFb|57`V*hwE+abb%M$pQO48pFZDe+>M>VEFF8XgJOPc!cCQ-w{KDz_W>YZsB|gy zQeZWqg3#-MzxEafx7%3SvDPT7vKEatP<_-)_Srr6)A1C2h(&?JSl5kN@&17HbceuBB=)}-GQ6enP94t{yV2(#uZ%TQtrqzO6 zInV80hsqU}vdmLU?eCZ<%0o-vh)LllIt0NS8lv{h84ELcC4SLI7-g!OWdu7GxQL1~ zNkIHFll8(gyWN<+kK0e_EFcXjEKosMXC_Qt4lv*u%*puQ4ik$9Ta!<1Gy7A;ey5F$ z{O2Zqq!8>3`{yg80bMY0cyv=UZ5XJ5$y^w!k2d~i2)7JPc~^bhBp&Dy%|Bo5pLLnF z{FnNWwGMKS6}KrkAg_9u?e_593~1e{m(6m`dUQHgFV0MH*T-v!)Q%`;12L?5rL2tb z^tBfGfw>`;Qy(v+8&~1iD=#!it;|i~S5_4DVub0?@tckHa`}l))7YedCQzD4Gq|bG zHt}E0#snht3n$cj+oh5+vEeEeMSeAJ*AFVkC03DU#D27RY!A*>WK>4SD)~+x1;;AA z%CPMyccWBK)hI_MqxA2A!|Zp=|E3m-SVc(9+WYZgHSB#eM*KZeL4Ml0L&=O zlewo0HX8bHwI|y|EO|MKAhYFw4Nw@$tIh_^Fx}COt}Y`m8JW;CE;>OLXyv);a2-|| zm$SYo=%@==8SuGW2o*|hMgR?*H!7ev=2rI50B)4Q;kC@(|Fz~5XAs5!T#zn_x>iuFXpc2PnhUux;qdW<@%K{vWyd1>r&>pg!h}El$X3!$;X9Sxr65 z4f$I12ZHzvs{iDnerCWP*!RW(ozo4vm(~KA!>1S!E|f6A4xIVfl~Nbg1XjFN6Gd3N zR!-kOzh4F>a&m=*r^G&hT=ft>j;d{BR#pOShZ^beD&8ZG{m%s!u z%cOFIF#gR(W?!Qw-G&)%$(LE&XDb}oPBV%;4%k$)%p`Fpcv(10_Pb9PbUb(%Ve%Za zhP3GE(>sl7v3xs^N=&Lk$URMD2H5cM^+8)6>qZ`p*>9 zpp5FeVQzTy-?b1kCtGZb2 z9k&B6=|wer)j0iq-&b_WgDw}FHb>#tOp@P2x@49L>69AhUkSQor}}Q02l$l}B)-9P z$shLTOp-C+_W)-!VO8UoKpx)%k8wqWreAqyxRS>YaR=WT*AiUz*A%P3Z_m$hMfS7Y zZ(Ob4+uMr04Y~XU*&DZs-J&DpjnenNZaziVi?^IDX76se_>@Ka_pZL-*M-9S{NUZd zpxm%X+~IttzTrJ><7Pf>NPKHBEnaD?rga}n(9XaObv577EN?sP72lU{O(#q&gYtdy ztxFytN(g>yWg8HLOs*sF599p?#=Tc>c2Gq{>Uf*@#^ zx@z6w=YQT zixT;JvdBK#(mzfgCHCYM4;~BE_8uji7Nz1k%~0Y-4_Jv`i7Q`>={-?*d$PpfzQ;*$ z@Wk|9g^O;+A@0J{2SWKplF|ppq;KAeMedA9I3N1=`w2rkZ$60jLPy4+D_)Or&HeMp zczPmuu6OoGMkUNhd zgWL2YJ0A4z8}D6O*yFDj?8+-!anxOk!YDr$HkNOgic0sL`C3vIM3lsJvj=F`~Y*-;SQ<_wS z+PL0m2PkTLjhU_1b4J<()yQ@o*b#hPfjFfLU41<6_vb*pJ`Ria*Wi=)=uO#oa>}l@ zM%cLAV58LIH5zvbU5yf*8|=4}jA%M>+jQxY^)MxF7@Re)9i-npN{4Pj`Lwb|Z5olX zmn7;_m{bY*RVU<89*~7@mL_0V%Ol$nSPPAyXMiw#80L5}7s-hcax z`X^)Tz>7(e@HNq-K!{8vq4U;JNDm8>pH2w_Uwjzxg3(%bCQgARsv^aOgTCFQZh_vOk?tc#jk{15wTGc z+DI6DFc=J0o=BL6L=_V>C2vV73`xfuClbjt2_+;+nFv&*1qmUIkOTy2Bs|bOM{0a~ zGRL}x(AHEEG`QFtStArATVh2AEfxB@fo$Gbk>z9vY)JJ8*j!tvy5(esXjO=40z+`m z=u{20dovH?E7CtYMj-Psii53L>60Q(H(;SBs0GRq6cRzD2!cdG!N=Z^W#l*)e^GAq z%m6nan2kAEaD$P!N|nI$?-o31q;Lf zAQb zUeMY2AH~SY#PJVD{I3IACT3PBdSOF{|K=Y5IYQAZyO`Rl5pewY{QHC-$kCMPhk5)* zeklDT7ymbQ$@0Ij%OAY*zu7PrR;K?SE=)Ih!ft~BLG<|zif%!aAaQX35C$;L7Eq4` z^6UxNB+?CZFiBtn`rFs@n2B~aG(^}bjOT|uzch5m2q*o#QFeEU=7RsJ$Yb07K3$gF z0b^VcdlqgNN&M=*;wCqr;O(=C=FS^)Y}q9@k8gO{{1Wc9{;)9SD?RVN!_6Oq{`g?+ z4YR-Ro6Eno6dOIB)UMXW9q!xRa}T4utF|5nRG6Mvj=N56Y)>^45CpF{U2m>Vrz&W6~DF0daGaL5nx_o0W$en2aydtAbN~ zHiI|ydiYQ2v0{H>neTd_g&n)zhZcwB2lk&vKN$Yib|L)DYgK%jx344Y-vA`;?}7D( zy}2Ude}MI-URv_IC(+|gdvj%W=dTX(r!>PSbY$eCI4;bmb7qM@>Fpf8JA2(167qRG zm&O}=|3gb_dU1~^F3l(P;`s1eO%b8-@o&~!w{9&xSNCh-jtSsoKJjq)!uNNuV@t6# zAAf)+kVDx2+h%9^KS|qvJLi96wkl4prvKUMLWa(!|2gyjxwkEyoLz)144wY%SQ*3r z?z1vM{THO`tj)&2K)}w#K)}q-M8L-JuQC4=d1WPFXJ;m0X5k=UXZ{&uW+&iaW+Pzx z2?cgW#{V?tpB1t*vO=-3a}cop*t2l{v;XJMPQdb?vH$A-*bp#tauTrp*f6tm5^ym7 z`2Fy{|7@5{3VRV{vk@F#Nx8ET8|uv3}%ro*97ex&s0zfCA|kodg7L0YNORG-DVb zz+f2jGn=~A#_E@tYIT^Ge{|g@b$}b1+1Qw!_0N9NHy*92wOe+Q&TH~EnxR&{pR>7v zgN-)S-d}wA{D--nuiB1%c53c(%Ki+S!7~-4Mi8ir=5z#ptZV=Yo!Exdb{R<~Gxnj;JExztu?);k~?75_3*|=Jm-BHjJYLHoC2AyXtCp* zXR3x3t^ZRYgv@Vs_mOoGSAob)vOiW&Q$@2@h6+bLN0oEBq?_mZ)IC0xK1YIPj zC>>TTdCjP4O&DjomT(U-QIWAuO2?;vcChHcka9pgMn-yO6pPhsa@BEdpIoN%D@?LF zdvi?r?yf|RI)l&nsIs5v!T%mUUJUnyqf<}VdzP&e`l{UE4KBm-7%so56w^#^WaQS% zj%4yu=y*<2V=X8ynU|-3K@n||=pnB6H*_luE(pfjYG8vaQT&V07lD4i`;GZ4vIWic zzWmK$C%kzgZajRQ?UV^1$cM0Mz;&cB=%UmbHu3uoH5ra-6G(0fed~l zZG`HNZ2dJ`jFU^!9>qP-?M##3b-!Pj6_W)j!m$Ne)jq|mgQ5rCKDFiyou)mUxW#** z)UVctsPz})1j+_)L)tBc!VR=8vjEK{+if!8RglUPD@1NT_2IezhiLZ>ux7Af!lDhE zb83Xg6(E+xUWZ7)==rO$2ff-B`;FkS9f7~wEkHhsk`h$@;!I$DAW#bX8{M^_7a6Wl zWvD$*nx=H~y4|t*?x?dhu}poFN-d`zAN87@R+)=VpDuSo9P0iFTJc@7pfOKg=H*5U zo*yTZtI(sm{--Wy6uy<-D@q1+4z#cr_yR*7dnj+A#4~i{O-;T}kCI~5rg;~=;fJr< z%u6Bxn@Vx>t!lqqgcujf9@AZVf(N8@KU7?JhEw@FmkIBZZ#g&dAey;!Ov8}sZRvhRYE>zdedFz%XM3sA<0?N>IVGZ|vS#zlAMtws=jqoWlJ%FA!o3AN=HCM$AW|u)< z=L>K(MhtqZ(=}8d5K?V#q{s+&A~JWY0@5&ffk^f!X`%_EWI74yX=(CgJ@-;95}>{dZv*Wywnr{yirZRfk<~h zrq3_#9dGEKNX40~?Z-3Wsw#L#aUphJ`Kn>+b+o5ybh+=N7I>VaD6g5OA6=xh@yECc z{CnzNHe3oM*48i}+c($wuAqBM8W*fvX<@EQ++kS7L^(MpDGM<3mIKj12s#({wTs@a z$H~wu=4I!bb_X~zCLPM;0_=i~LVrwOKCO%pvOUR7lH(!?Le+G-;&WwF`a2`~V^=TY zN9e0w=vrnvFko=w9JB0vf?uenrbN0}auMjRA5po$!^re>eC@S=(_1Rg7YjLxkBKYK zcXK=4txGaHT)(Kr#bejmc~IjAnBe-7m!3PCaW-3W#JsK#%-J=Qw{R$YJkft{QGI(1@`Oik&G)7MUzd#=UeJs?9!> zT`~7!F0dXhmw&xxKh7Lq82bItuzy_5db$;vmfUqya7-hZ{s0b?g{ka=e1doe83xVe z6M(`WhK&ut3<%HTo=)%m9xw_U`a?nKD4e`9b`EnMb1vhCmBlHSA_~ligv^KxU6w>+KO5KX>u*K;Mu1`*FRTeY1kyBiE7le)QT;&ov>h(SEhIo=IIW z+w-OHyaiWE!o&38#FKrRLaq_UR=3O79!3@ihpTdW&ppVeYFC`Sm57)tacz!L0`~~^ z#ng#p-HcrZc0Y0OklB8$Q=seqNAVB6y}e5Jm`UgDE+duklCdXx?>0z;;gIGSR)E4H z54fBWgV`8FVx)U|`gVriA6vKkdz z{5+1^+XzJOFt{Oh1Lo%aTgaH|I)cub&`SjW;kN#%AQM7)Vr)L5rctn3xrB@*yJ>d~ zZ!)*O9vL*R6vARQo}83$8-HZ5SrTd+R3f)^#ge*#Zo`OeySBvD98cj4 z?e}89Ac+i=ZX8;4^%FG->Idor)Ud;0)IX?4sA;InsLh8@PdE2_Z29B_I1CLY<-$dh z5%;{E&zZ|pKl+P&@t0?9KT3CBkQ<}m=06pj-ox4B{n}-Hl`qx!flH>rc3gKIV}=iZ z@+9*W#Uf84s5yC-5&p0jmJAHaHOOkBdvlaC11_SQi5QwhNYY~(MIMYw1GVq)ftr~a z1D$g@{|3kK05(d36=I2%e8il?WW=n)loHbs`zSI|Z=@bZJy+6ktbX}>@;Bq}s!=gV zHAgo`8=#B z#q~^fqd^2^I`JbxQKf4nir_KWQYn(Q7bh7m2isjE-t>l7WweLk z<2*H!-#hm@YD;&a-R^LICNFfGO2$9eyOiPrlK zArJ2fAg!1%>5^3)Acut7W(l&pz{?$KduL9QHTwcC#QG-K=jIBWHs6zRB-IWTAP?lofC zBLl{F;*8F@l&cR|FTsc{Ya&yiF1~QqzpBXyU0Bk0z1r!yHl4e*aC99S&ULw~hz+IZ z1$My=dqP7mx)5Wn<;Ct?B~?Lx$}SkM_T!4 zq|XWoOFXRuE!)Tqf^hP%mC!=rv}nQgFMbBl@2)8qLdf6;;?rf>jTXPxl`PQZ9}F6_ z$XQrLs!E6(CEioZ?&HHM+Z(`b0| z=lA8!+t@68m>ym^_&5e<3KMNTDEvp`9i?YYwcl0h^zcz^2N!laUu{K$^Zb{oJFoEa zPS?Q<{^NGP?e|=>y4zE;!-o6E4Y~Y7GXQ)v+IB1u&rNEtFa*{<6uFnkq=pUS23L%@ z$)sdy!W(2PZSpRs@tZo`}y|t^d@?izIX73q@;%rHz}Zk zH`TYuKIB2bD@|@KjsRCIn(r}!dAO<6?@#>Ue5k5;z2o6`h+({)ujhrF9I)|;G zb=Co}u)*0W2zD{c8!Mq9ZdwxNN;KSk7mb zTApUW;REV$_V{v~FjR#7l{z~5lrFx#?H5_DiMaC3d>;qN@GX36zsu3LyzM(3y~pC= z&G1{_k9m3dd)@`yz}-K8{glo=ntR@UFMLaUvviq+E*sGQ8k<6ezV(n{h##S^Tm^25 zOw%5s@$0MY{~7+)?d5ixr$%>e=kp{nv3!W%6*};xbD!5gofnJS;3OGJ&gL`79lrglEA~cz ze|P<<_qkOkEY|%tiEW;wp$p}64f4%k@r4*6iA{r>sNGM9CTprlSxWWzK7tMWLEH)e zOC^(>vzvU7EC9Ry9{e@#;$v>E&+=C)=xly`s{r^Sc!_nA?*U@1mrn|TsnsPpX+GH~ zc{J#})Xq1ZA1z7Hd=FuSScaeJI$7KHMce{^2kVJ|_9qdVV!$vqzvw->5n2Wn6Pz}& zE-|}DMYZvatpSC$$Y8fhD)dYirH}Qbi+Vwn4Zws)HFWCA`*)L)w^`G0r#W)wVl8d|%^H_^~w$x)Z0@ z)~ZRXvOV-cTKX2DwoL`6S$eCWTBWC?nNe>Vn7-y7l15HkFk5fn8t55`VQ(&>n?u%7 ziM%lI^H^H9 zG&-(p=u>>gw*NG`=B5{ZJ`4534Y2d8)hBZS64B|<|G!qsSxn8Im2+DZ|-vXXRhQ$mUEIT|qMH}Ne z3!bcrUFHzSJB$I0eGcVj&W$9)2|>DxzdD0M9U$o^^KC^szPUV0Dh715tv047Vm`#| zzfkUn`f(ha?c!XLzsNkB4VxWvJ#&j!)j}&;t=filj44}a)2~=|EH&e=7HU{4S*zKr z*lSvN%I#Sjv0AcPwA`@Vu<{uBjo0koLob0hOn-sHEeB!7_ZAW&$@Ftb$2YW2g~IQ2 zwYiyTs%3NSx%yCdKR%wZU$1l7>SF4z-ZPXfO>4c6mK4RU1p|@}XhPerB&&*b(S)5t z)CljbTKLu+Un<*cFDdhvlmWod0F%eSjS&HPk5pJ>4QiiqzdmU4NcvuCKKZfQ@UGDj zL20AY8Kt=bvXT5Gm>&ljG;IDF-DW%sr_DCY^r+#-*Y{J;88|})uFt2erT{JxK2ncq zN82-X8GPwft%ov7gp?Lbu{YIoB>VLk(7qO#NNPx7Vne50SGBopumFV_UJB{Zs5Z-U zyZ>=+WmaEqHej!}b>ydl^F(?78yMkRDS#f^sZEG<+Dt&G!ZR4Js$N?0jsqvu>EeOK zs2DA#6x99M<$2AXjoWK5%qC<2z)%Ai60vbH-+WWKQJ+1=3v`3v^ksm?snI#xH zkNo+0v!ENC{CUrVqIl2i#`r9lsQo~Sj7@Ks6Z;6{O^^dIay2X=V*>F3Sr7#x92D=A zg}+b)RL5r6kNlof%v2pCT0Jwk9sRK!UuGZ8d7=$U3?5T{_#RV8Q+7;4DL6Zls=1dLxa-?l3to>edlK6{w2<>0HJxa%(hw_I&7tMA+8@>=MF1c1c zX8XsqXdh2`%r)<_oKs7>?73}F%+opJYKXC6#JE+LBsz63EL=i)Xrw?Qu;}{7F3fjW z0w`kSPzg~+V}FR$WQoJY)HT!d=mSArWvWD-K~+>-~p8<4rd-2p;FP`(R-+Rtl z=a1^buDWV>t**VhcVD0DYdVd4mb2ge`z1%s*vp8&iDK0JR#|&Kk7uh|sNU@i{FLYY zkTPazGJUZv^nS}oV6pMC(15t_?Nh3!t1xfQRS3(5m3{G)FD07D#NAIil4@b3fd);Z zJ)Ep-+HR-8z>@X)ab?Ku{Y-JlQU%LSlJ6*Iwlu*kO+plM8=Xd)1n)5?OFA3O?+a|H zCsE@`rMfddIK8h^X*p{HcFM}iS^n*(&iY9sH9yC63P(y;L{%p*AeCoFF++G6RaJSu zk(Z8%MI;Ch!V#(iE#;BSJ1!&;aQ6Y4{F>vg*w3UE-pAXl;;E0KBj|o!(^i0lyBk4n z21+2Pdl)?@`aG1Quo%_B2jep%6CCNLk0C4xy<yAEzE2K z;c@b?P_fK!5n}wJ#(mMoH{nrbh*5`P!Q8B=zf89oC|m31eyN%uj&I=}?Fg{_#3g*@b_QvxryLxmyrb zRI%y;{<0=ZLWl}>3b*2!Z2262tgqO-A&Fln#hD;TD;}(ti23z+3Xu=X*p*48n#Btv zS5($%ayic z_uJ_%#or&`?)#erwT7!eaZuIwo##$QNVz{hsQdg34vGD}CzBE9PKj~9-j-%M4vGjf zXSLJ6`9j#UX1hlA-_S~ME$ol~D6BsC29K{sESOxui*b=*oX|Byl$J0YOJq(w$!OH( z{d@hfbvdFf@^QP0J4die@p(V~Id$65v#X z6GolHJ1@{9rCV)8#u(zV4_<=#mB6E|9wY&oiAP=E&xW=gqP3GKtfobvr6uBek~p4@ zEd|pcX#9pPT+(gS3&ZtJdtEEOu&Z89c&?A4ryp!4==SRfVNyZaunF$kT-tikg@OW7 zfEwb&G!auwyE^Xi3GY7s>;XP<87&_DMff3)f6E7HaC&565a#|0LyzRM;gj}EN4q6& z`L0nVk0*zS}j_Jh!hcpB*MF05D z>grB`Z$5d|y9nyguQZq#0M`T7t(&Br`=cEgQmwdd#HhyqY3&qN)6(_(WhjsS-lBm3Ba z6@ZQ(putwOoFUb1CIv0QEMKej;^0wcPzlhE9Cu<%&8M59eoEkk_?{G(?3pD_s1HF* ziV(3Nik3cD1`}087AvmfB%M31gfSYupiDHq2lotSQptn-8?~w(uUE1io-s((0k==y z3QJ2Cg?bp{I+n-1b7bRwi(B!p$92GG=M&BTAC^xw8aS3L5I!R)&OT5j_XGH5f*pIO zgi>PVh95ZX2lWF`^yb-yqxVB3;w7_xNEAivc37DQGNbO|cOp#@nyDE$7WGcD75Hf( zIO!x9A3a_|q&yCH3QgXI$*xK9ozG;Yy+vHK)eD1`g#(ufa; zkJ^rjlDGj~*9-41@5!Ci`|iB5RNW-U=Hd{}aEgARq+t}WQLnpDBOFAQ$qj=vn>c>0 zq(kZ=w_ySwt|5~g@p--NUi(xgaXiSfL%gqE;op;2T&WFBUP=A6pAfbx{y4sdoq#Wx ztMM_WcR&b+2aq`Ts`e0Gc}WRY6Zu2;6>#;2s5!wIZM}(J*|v-4jw&39E%9GV;^Aw@ z=RTC*)68KG)`)gqyyG>)?=$Q;5g{h7CFZpJnVG%XBbjcpz&z{BFB$U_620(?$bI+_ zJj0yovs(gmwSA)pPd2OJGLIox`Hcq9amXY0x#9fN8)*e~w57{H-?&dCo zA%CHc&}j=*NF#X$i<2;HF`S1_M=*37@1@9kmUa2R>7|;ieQu58Vgc_mqa^3^TBGfz zo3iEvGyaP%=6W03%pFBIq{&3SVjrci5qj}VOg>GQsl~ZUm;8&JA5l`WM%MR)*-t)p z@1Qa<7wh+*M^RCAM(JysgxqV#0Us?5F;?em+K-V2&Z!^KrvReYBd zoI*Imf0eQe8uXTCWlGrZ5;Dtk3;j#`D#1GX9XAt4zFb|ZMRkNFIxBt_dbwT z-*Me<02zGYA<|Xdxf8J!=xap+LlA132QM{jaatP)5@c{yF~V`nhW@xEUGr|0u6skb+VdV4b_euKm z;4SEOj+*f47;&7ee(Sg|2343YK{rLBvQ7@JsP*__WQKG_z1+UFnLR7A7v;Uz9hM*; znX&8yZz`@0RZbhTRI8Ljv_7u2xo~J<^8+g9z}JOPILeUHmAaeAY7?{TyyMf?`kD;> z+rAc_8?%s9-~Jf1P-*8nXy_=LLF}UIxA}_NS^fm!?XaOBP_jV8lN&BVR37U1L9;p9 zIm44-B3YML+UN6$S%0wPe!HLNdyNAwrVfZAUSq^FN<3K6`zp63`z%u) z@BKTZcs^G6boWp-_uSt4;#FqNw8VI9QXgs_HQF`&xt1*w+7qs|K{JcR!mi6X1fv`8 zoOOo|F@E~2`B`4tm4ocH^wJNYi(`5mUw@vUJGdrZ5jbOhPJ76O~XM?mA?Z#Hhd~Pq|P^He|=9R7u8}v{Ik4L0iKj-~dB7 z`}h8)MsQ^RxbzJ0nfGn*q$a)Fr}Y-Ou^ocR!**<8hPKP0N&cNZI(5~tPpMb!Ilcd? z-^cHiz@Yik9Y^*<7)eT6t4tF5OaDC@81M9sS~;~Im2j_Xj_@63ACusi#VG8O1lEe- z3$`;P#5-8{XPV2}G3TWgO|HCDgxlDh$pBJ1_$Fxn+c7&|c*~y?>di6o^N=@>-QKVP z2plo|+ktfj*Pe{vIA`ctuU=dyV$qemC@bQg_VdXrxT_*?J0|$w=ALP!^Z{su#im4s z;v0-CmqC*;aZ&7v@rLSPVmLPB4OYVX{3A^uPkWQtC+xE1eVEG;pne$3s2re9j%5Nv z8xc+|{VlO?I2zG9^+eY$ZTb%AW+{ry{cYj`kz2bS1w-}7uumX{L_3US?qPrD3<;vQ zcf>lv^!cB7pLjdc&&l%dhF%cgvjzBJ5G^i6)!jS!R9joVnM#)4!v-L!I=LD=rX-|DQjY|UepUo3`HTr66gE6f+;$29A31HgIQ+FjAr;m)=Pr&L6K zJn*M`Epe&lAb*GQb4lM!d_VX7+9#{D=JKUy}c=?n5`A>yt47>1vIuszvVT1E2#`^-?P>t+<6I1h$+>0 zSj%SJa?&WO{aR+SEq|otbVJ-4rBW(YT{^B&`++AY_g(_w!~)A{iv}l2KKZd4#NJkv zxJ+%~wXgLF(4ybBJyY!fbBR@Qr&ox*lvT>@x^W-TbECx2VS40PUV6@Ww)K^5DVqat z$Kvcf3wluBAzTf%Ct*!+shr=}*m#&sfl|h?yJoTji&_eV*^q@qVH}$HWuqjbh>5w? z38k%w&7lGAn$TFb1wH@Mk}OII)HpTz&(WRcVmoNQ{z;8h?cE}GM>dV124_n_i3tYT zpMn(cs;so&=RGwX%GkVcNk?;+u!x|FYS2*|EG}*@8pPW`#EOE$==DQcS-^bOFB?Y} zbQCqMJt+xR4x1u~`rks@N^3G2rvfRqnYfX4e4H>+bR(IU_UgVwv*6XWpsF9|MnPF< z(8l=X1=(f_t_XAUHZ0XuT*{p4oZQRcV#t5APc(eD)JImjof^uDqNbHUE4y2a?NSQi z9R17@4~Do6( z$5C>ICK|t4wBO4d7hz}r_-vd7&yy(R3PCEDPxG{Wg}K{UgCHty$H(jM*?_kdybl`X z7x@L=VMM!hNmaUj0Unw63d&Zfx#GB)D(m7`n!n?(YA%^Gx~pZqbW~Gn_EzF0qx7TFmqXJ75_B_UP>=n z(F#?4RgN-a*)0r8p)!oiJ+;(qxQSnwznRpGzsV??tO=CT7y)Q=%BE;&a*`_de={-x z=owRg%BBSCjIhJs8rK#$-A=8k!NHZ$b=23@m&<4Buv8Tw1g2p&)c7kydX-|VR(B@> z7IwI(+l(zl*Sght`wFU2jKQ2KW#d$H)KoQDydI}=&`LesWt>&4iTX3ZjN#$o?&Lt^ zwyFh;!9Wz4=<>8wS=@AW=uQ*U}K3glA8FEqvU_4h} zT|3KT&kjg-gJM+NDlFXMz!{T3e=1m{us*^E8NiiQmzPw>r)0y)-l?YMBn7KhCcY<; zk))qC(d6s&+a*wI7#8LmR+961w7B)tb^e*zN$JkX1gTF+0!6%4`9N)#6{prRJ2?og&22`;c(2KH zBLZWZv=3)HPtu~>Ifx2SOGIyt_j>5M$o$d%RUP5N`YB~&koPHgcm;j$YWL`86k^}TQyf*<03m7e6WeNR0CQd!3kBvPvm^O8$)&`N znU}VTxP1|~65s4oX{6e?6i0PJK!~Q)1hBch0m&()cTlR=Vz>C6Ff9IkDJ=e$6OK3& zQwZEPqR(KK19G`bdyb@RKx$pfy>>o*dBZT-5FB-Xx;gwb+%*8FtH>psik#U-WKx;D zQuL=Xr;QjKUO1gHoUcU@f~Wa_6=}7yGE=p+m{2=jB6Noep={V1m^$*=f^kZS&2DKy zl90BL`%#b*^0^M!RcgKJC!Y4$y$K_@yc`Jjhf&nxkd15v{^PqJPFcSd>v?uamdQ8B zYBzQ(qSm3`JgOkFg5BKxSz#c+U?;To+wiNK=WD4>vbY$;%KKp}7b~88&*ub^g~&VJ zxXbbd?C`OK_1;b}8g>z*w#i25DNj@dz5=olTBQLWXxjNuXWiFpFdLq$Tau$5c>UM? zdG91vpu7;S&Ml)S>~wm_3-Qn;``_eD7?(yp$W7s_=>&A3Y%ABM@jRFNj~%|hmY`Xg z@s~p?m&?^AOr-kW|53gJ!SBT4X6uI9Gg!#PmmE;-TF)})xYg_4uR9>!?lD5Dz4Fhq z-HDo#RIm%z)gerNxB!NfLVRb`rLi1AFeD6FcKqOs`DODswRdETI;48F;$3NUmDS2& zmlbRMm@{#F%XYES^nvJ)yujiKYLmP@YV)qSW5L29GwGk95ED&*Q4w5I>|QR4EK*R# zxz4Hg$P%z*$1F51`#1COcuV&2#MD)zpQtTgIMYiMQrn6!WPUggVqXoiShtTF@vOLk z7(A9f<&&!3==Uq_sDI{cCe$HkYG7gT1(LEFfXC{4Yb#0~S3?;d(hEIH$!kvs7>%uk zGDjwZIhXS9BE@7QHa9z_jA9VvSnz7q;?_(63#T-{tNz%1#fdIbG>On^t~a8P>f5ut zC8~r;0%yRi@yc^4pYog0Z#R)2crA#2SewJgr){17acOK`i++pz~Ejfg)w%k)Tlsc-?8VE&2l!3Puf z?E|fy4{dSim8y^X8LArbS+;LD*i__NDD39kB4v_+3%Qw70Z*67IUr1^hhdV|e{-c_ z2B?zk<~ldbhWb0lL0HNfoZ>;lr$RpM#pP#s?nHO=oHj6qqOL_*tRFjGsrs)}Q9k6> zP7x@#rWoy^?~;sN$!|QBW+|$EOVBc=bAjEJCUC>b+)YHk-NAWkQ{t~2Z!ro~A6;f0 zO&op|*C`E%2xv{1vaG9qyw;k(+0>%`J`lR#XyiGwa4scwFdkj8Oau++VDs^Ocb*<< zhcVWjXsF_?W`A{Mo*T|tBL>wqcQLM3KE zZvyu9ub%dyJgwIzf0I>~IZD-Uab|(D-xlPl{wC`l6!P=O6P!w_HKz{J=GH#1HOnl> zI}y}243W`5O46@K>Z_=G)m}u{KlOKn_e859uz9nIm;8zgLc!1YwvBZ4^Br&Dmb8Vg zgSqmPoP4RJL-+V8kt#r_`ZRfwBW3Iwqfo59*fV;k7GV>@%?#E@6T}5>(V6nv3~56l zXpL5$nfDylk7%a*h6+b5@|zV`Na+AgkO!O((UkHkTvwR~yRjc>f057KtbRB-azQGX z`8Sqd^_BzY^3PLub;bNtLsNF`WqTEonuU11VyhaXz7dzj%~mOC1HQt`LF$++F`yF` z0|v1D`G)~n;Pvo00GWc!s(5J((|U!Pln09LAJF`x1KdD7$u&3Bw1 zYkYLy=w>qgu(Z%hQUUUY>W(S5vVqww5es32!X&=I;lrGQZ8LU#?uC7Z^;M$gRpsyQ>VHf@0-bJCs3xbf;u++fQBeF_IGYl!>7rzcdB0m9f>P(R+U zl0(dv>psN#+`;ctSf|WGqz|YLe|p(zAT79A=g04}f8`#O`MT$aJ&Xme`M)uo7TXp0 zg8O4=Ke>I6fT9odDS#?t@yR+Vt8Z4qTZen0-?3?+N50jCd>HuP*nuM2ixQKn>)gC zODwPp-fX{-+fX5=%|F-*(Pm$5+_bEEwqI$QZ;mHw!BPi`NG9krtIbOuj%gG#N2)~P z&y2R+UTfbPzZ5@6yhMbLCnnB_fwVXD1vKr~zJJ1d%d03j{Yx}S)~gR;P^wW~2%mPu zx6ky4)Rd}M+1sxxddP>=SAK*q?l;-nK!mrtGkQQs&hjTA@L+*osejxjuOHKkZK_}0rosI5kuK%U)v`g-T>s_#&Sq?YqKC{U+zFj1 z+WXTb8(?a*w$|eF#enK%yM26;PZmR&!i;93(H~)^-2rLQWID1d(gd*B)_MJbZ<*;sR6p&Z}XoL zJPgVDGysmqFOHX_Wl9Q|ireCf3Y63VgtR&8fI4zOo%*d@>bn@FuofVS>-O;mXV*TJ zAfD9GJjs;K%d|$plRWyJA;q;~-!1iBowBZCUnBKhg0ilB-#nE-1t3SqYe$}Yh8Cun z>e~IBG+UU2jm(H*=o{7Do+Ny~C$T#VwqpKceB_HKkw6^)Z@(WXo2LcvPZcOj@=M*< zVPAWbFRE`#5@;G@5=fSQTm>wM+%I4Q98v{JlMLv*<`vy5_oE0ccBAAQhvfa$W!6n( zeDJ;WDgO|&!~M~?%}BI+Gik4{NqTpx(s(xES+k*xpV&uDwXU<`qNP<>x-2LP*36Z^2 zB7XwSemY2ac)|;PK>AS^)Z8y2N2vpyq?<0iygvS<(P+`4pk17_#MLNENw3i;Mp-+# z-E~B?>qFOZMD)XhQpfNRBaJ$#OTAH^(jyC?O0GkeY>~=gK+*fNXg09STODX+fr@k+dy&yFQMQDt{;mm&}~BkuE)r@K+T;k-Fj3 zW6(YzTAOc$THBT!g)ToRv0@INX-u}KkyMl9Y)UxT{?qInr;24+bTozw#`GB0@=#zBu;L0yq)Hhe8%B0-6p_Z>T&IthaxH!X(- zVUiROMFA9wq0o^o3PRA336}lKNP+Ym(}Z4{G;B!0+Ak(g8O4=IlVF@8OU9fOsgH)l zy-SCyDl;geYC;Da23(5a3bY7WG4<~eknX9gfm(V@4O`+2sl(N1$*k%u6~i!9v4z70 zXlt_fbcx29C1|-Jk*T2(5dzwQ$^8r}u+UE%(!n(l6%Zaf6D`O)s9)Hhvwc~Cb?-kv z1CrbVXa6I-`42JpFR9GI&idcvQ#t;d_T&GOR2KgSRQ~UzGLUEdPmnSYgJk3YGLfv@ zyucUWL%9DlNEtZr{|8d$_%C7B{|Qq5zjf^XUqq6VljT3)k^dctG)Va!mo0)4dL;lk z_S*z)FdHQ(f1~ zO}E{P^z#jlI9;o|gmpOA##kq;+NP0sRorj z@1hY`9TA@edgPi#Ue^JFpXo95_t7_SuOrRcpY(f3-f}%5{>4m%9@VA@KBG^w(5K+8 zBLs`iyqr9QFOyow- zc^_+n(XIhm-vikf5mDGXkqgQ#ytmi1k@A?!C!D|1Cz#9izLqa?-aBT7;0vaqz>DDP zD^I}B=RdZ&*npHaF#S{J0TSPwKwA6XaXefk+(77>i-+?+ zg4O?A)c!wU^}l+y|8r=A|DbaTT;u;8Sk21G!SUa(BNx8#o@y(ZJ3yVws=-lDDbJCCsqT4~92MsaOK4zVe0Kas81f5~bRNzU z2?3HC>g(*o$P?l4i?FczDFUo%G zh2@$*MWsadaW7+_4XjuZ<}!=GIrQji{~;JEWyqY_FDzS4_c%swX5tUw$B;>9PQKu{ zfg|c;7H=I-T*2tmof8S>9iLE*`a6jAcz;URW1V{z!+7{>?^Qt)8WwqJ4;iJwPp&|F zP=-FSCs48Q6PR`Sb1c4D5^o*8IHF+csg-T1FWBuU#X{&=)lg zwG1+ic09uGDLbN8AVP8gx)Y3mEh(Qlhkelq1Stf_XNaR$*mtF8j#uuT7l<`U2k^*< zx#VZ227O;uJ5gv(e}KEIayz;(g~QQ|Lujb;eSJG2F&9QbI!;~vJZKJ55%G{E0pZxn z->z}N{xyfuAXhj-?kx&UTYcQ8gccIy;2Gpub}P(G2v4S;CMbdo2w*kB;M8L>+O~LX;S+A-Xe;7qb5)kGG&Q?f+pb6+JxBh; z;Zzr6upg>}M~3kLi^C_h7>JMnH6dG9>}~WHj4+DjRy6l%6^fVG58NX|n<4C>YP-xb zlv=JCtf62C1sIwzvle{5tD2q=ncOsHwuSN|2RVef?8yDKp6y0exfhHWqR3Rx?pH^v zhao0|1>=&FG~Vb{&vsg4kDPJ2_k5j-Jumb({<7ZIS>DiW$7oX#Y z&201>RgYQM1n<)ohl^@mNhE| zY#O#+ZbuQ(^Wi!QhPcJR8P_O^1TVq=8K?@C-kZB9chrIzpMyan&cAal|Ew1K$^`j^6oI4ga9F4`4kGlrqmaLmz`cEk29WlLB5 z)*Zv4nluxWG82OBpI2DDW~+|xLZ7v})|0BWCOJm%eK2Zuh{6INNw4@1f*P4niC@7K z5S^R~0sZ&JJn0e0B$&&+``R!7O|Xtch|bhg0Ei8%$SFu&Yp(CxNO3~`^sfjc9^!KM zy_B^k=V)(-@Er3U-boPYhnyB=Fmuc#v4&vvNLzqzLlj4pV2M=oBe-#G#L)SI$)j^d zr!G0|jPQ@5`x^e8krkDP3gPVU4(>$>)bVHuEIN*<#;S-H4CXXz!Niu-F?6 zE?UnzaATpf%p|FE*t}iOB0DiYcr?0v$>VdGbmPu@egTc4svP_JaDPC2c-d_DbMtC+ z{+7$(G~qK@NF5T;{*k)k?Xz8F5K=erZDyy&=;LrDOK0m8;kMQNNS75QN zo!as4Hiwe3(L}~%`NtpJv=`heZWlvt#kIiQ0Ew`EE9S_eC^H|A2lguZen+QF(veF< z&xH4~30T>@UX4_rGmK>iJq<7qky+AIQQ5M}{{%!!fXoqDF4|5v4_9 z6quNpSp6hMbPROWGYuA*tmrl66(m&!x2AJ)TXQ?QT-^V-AItctD8~4F3(8xgsQXb2VyuT0E|7_+zx~hoCw*S@(H3rus0| zwcX=GA#|6U(?IKnbJepg>=N&K+EEd)t+)?6ag}X2cBF9L$~tHdE^0!Gf|KSgo=?;N z+w>IObkVHPf}B}L9t74S9&^|?tjx~+%E?0>o6!v%S1#&vz|XAG)xsqH`ffh6(_}Yf zzG+3S45>;X!g7mm>bW7$M@|6L-xafSTg7rj2dlzNCki*ayxC4iMzAG?0o}P!b+)U3 z8N1l9p{|J9<8A`2bE*-CZTTBt z!E(i@#!fj*HCbM}tXIdEaPP9e)!*mh)3&8A*3VA~^XG@_JI8GS-kVeI8?2nZyZlmd z=9;Rv>0HL_b4pv{zAJ@?i_@h(Cr-hRzPf;sMmM9iH$KBoFv|B^je68?FUOivoGIXo zV55Z=I3hJ6G#Jp5@Y;Z!e4q{!MRw-kh>ht3sDVC9myod{PaU|B!T4ZY7X}?8^c7i_ zI>T6==K<%#w+98cdmJI)$BeJ>i0fn#{_EQEVKb9@V8Ae!4$i9;98z=&jf$J zXm3aSz$)LA(c;NKr$aefTR}CxUfl+4b#7h={aJyyShhlD954c1 zHRz7kYWW6K`i|MwKfE-No*Z1O1B)d3sn{tc z;e8T8_ef0hIl{B5CBYlvl13=LhhT2$tokL5Df~#&F{>3`{yyNuS!>ESEI76(T>UYb zO<2l(`Nfu!zVK8L@ccA{+*5D@{bQ0*>hr+J#(g8pWix-44L#sZ_@=7W11%S1lvMrw zN*sx;bRGQKhO>xC!4~IP#Uj2$B=pH*m$6xa2LvmF$Ah>VcNy0|{xsCST#*lc8@ix9 zM?x@MbCH%Xw8icjgQUt6Y$*zPU`@AK;gu5)ds|E|%>EQ(he4e1`W>6*(XjsuJ$f8l z8g@3GuJWcm-wfo~n38D_Xv?_@>+5*!1H) zyJo5{;)e!Ao!jlXv5xVKFHq&-B3vBZ+yF&lQ+0Lins~?*gX8%zh#H#nd7wq=`-V^~ z456ZUL@Tdd;bT*DI{Nn(q1J-eL0rEa4HYAGpyj#imbMd9e7ep@tydmwph|_II1d{t zA_C&rL29pThsDFGu9vac7E0vUUzHL5@9CSQMyclrPzQ?cbW|R6tdxAeo~w=tX5A1L z_XzRVP>~P;_}xQCpmyr+o<5T1+x6TWCBtTp>WSc_yli|Z2+w8#p2PSsl+!?ovIckU zK6`Z;y~LTm#bOE5ASdbCiprXW*0sw@`M?1u7@X)3-=Q1NlHSgB2`@1j*p!iB24~&j$lmo)Yeo zsjRuF5Qw$iDhggFW;6;a(6Bv?qq_58u1k;s$NG8(&6x)}Dd4Q9se3AQMz}YU9uvC* zYuYpy%0=WsINahSRLJxykXDG_dPq?=ks3p^L7?!!1^*m)YCnck?Ze<8feeB>&uW9H z@1*+mbA%<|m{1l{=Q9hS1?`=S_~O)uq@^k&G;57&sA|HFzc+GY!M}kS7D#=VY#&FW zMf>c<f%csb>;_uHUOsZ{T z9+>G-h}$snPmpACO{EH;b1U?qDO|e99oe+VJgnF*PX_6)8n!A4Ric6mK!b@Ri!?Nb zfo(sOL=?C9v=hub8C`s6@kICc$(yK1wqr;!4Lr5XF7hqdNGy;iXejWhx$Xg;b|M6j zij}LQB-=_;(9>8jqhe9V6gDw`N-P{WXRh#OZAg;CLPKJbDAq^_;fA#o99cMs_QCFf z7t~`GSRvKbz#e5MF{F|XUh}^an2+hi?+p0E8DyCTXuE}hGqfs597J)irayGpkS1|1 zhM^cuP4q@Jpwg_D_RK|sq`zxR4M53Lo9>Dvv6^cUkV!sDlA#!G1r-c(ajb!|S~n$kK>YPo1f5U8GBi`{(XrRHd+&$#{}hjSh-pEp6CMNgMKxH$o4~{xu#x z`*T7FHb8zNE8vo;qqwPOZ1dPA zWirQrg}G@`ZzC`5(IFmznlINr&#DwQE^QT{Nnr-mQ z8}^7bo3WRz7GB`}EiFF#nom@1&}TERZVJ_$Cu|;S3f}GBt`xlI@q2<(A6q1p@5-qHhbK=cV_DexP#pG z7v*~M<;K=3Oi#zU<0iC(jOVfmt3v97A+0S91p)AK4qte*3=+E%2OAzwSRM>Q{=5v!4ak80DwN?B)6Cf|s}Nb%_hk(*phC!21Opn%h0 zeS62)mvuzx|1QJD4i-(tG$hRdLb5j}LXZ@7P8haiwd4MQ7k9dXkuIVr(_dba6fzp1 z9`$V}4K9XuAc~F$-`oTDhyo>8*IoiUw`vBvPALV>*(;L#DPj+Uu9GfP)zI0%{lvAw z{4%v7q+Amkkgf_nr%p&=^qo-RXj#-d>B(8XVK|pnDJY9h`}kl{_D7LsQGTp$l#ToI zstsi&^$=S&=t@!pIvSVVN#}Tbd&8x&`!HqoG89;PK(w zT%2BYZ`D_IlTb@CQgo9*UrO}lT|!l;i`$p0j63fBud2&(jED@D(0w=1Hw_hz*n1b~ zs}?yJaXU!eVE8OcG&ydKgpfMyHm4P*Knn|AAUfMRh~-}zsC*jL1ngK6{_0K@m}#wn@u=YI z@pASk`cX?bUwROBsJ;)UBtwWLHMbs1XfrX!bKyMvmC~~Tz>o>)T9n!HFqBq42ufTPu+L>aBK_B>2BXez{(Jkia@2ghLWJVEX$Z|}UF6X@$vV}mx1 zxK+uiV`0YM?c9R3HL359xEZ84+j*AcX;tTd;87a#Rhm1%`>QV2xpdLF$!Tl7$U(gD zzBc^==W-Uo<0}!*6Dx*OKk7yde{8sOz{8=SMrfJi!uluQ_nqKQ9MK01oWJI#_N8%f zPwTFyk%O6bFU_>x|C4af_XT9MYEsGzKkxQWt)&Tsa}DOTH?f?cFz z-QUfhVWo;zihEp1_s2X(^apOVQKKC~l1$NJWOz_s%Sb0^bk-Oj@7%>EN89q~{5zrX zdkfPP=VR|Y<(93XVZJ%7`7Q*ryfsI2CvzQlV52NE2(>&C9P%-H_X=yxX|Ig*KgWN0$4l7ti0^JJRxSwl zor3PnT(X)KQ;u|)XXt6Wqf)i!$+v(BOySl?9th^idBNh{eZ0IRHIh(H+*dpm zt7pB)%`+@LGXut4i7+o^j_#5rYO|R=-d+??{<ZtCu_Rx+k@G#cNrB}I;+^re7Tu|fS7@{^cSXu>YdK>w{fg;}n5c z8U8l%KWL@SvVsZh1d7Tlv=9dG=b@-9Wy`)KEtVk)HA6&rm6mCfEs-T{wo+-8 zq@tq2`-;jEZ&DEzQcC1^?nv)EkG|jc`}@y)X3RXtx%ZxX@44rmbMLwLw0y5hYE-w( z7hr}7xkqYKUKsvadTE_PSE@~7LDot3r74}m{V&(P+8$VPzn<(h5Y&jeSU&mK0l%1eK%^YD4Krg=bR z%bQO*HY4suS{odB8v4S8OE2}a^b64akQm0O`#6J3$^Z7wz+R9$cc)RNTHX!&brnt@ z*MIEc{FeC9b;gUXJbi9L_{#w9oyOlQ%d$V!xaCQxbZhfH<;phf2vh%PE!o^1&I?@D z>6bq2DK%3i)8~eHv_HkDIm~@=OXh(`*#Qr}&A1Z4%+0*zLxo|K+!8H_KFf z)ll!W1dlR)w_#^rS4?@gVY*~NUt*9_{N{q-fFLD}vYKkQlykao-l?5Z>~;aH;l0~U zPoLBMYZ*YkKWR4n9AnXbxXMR%Z8tZ(4AX_{p`UX07IGq3Lt z;ait{%ATTCnZVIL7oXwZD;;|Ikw>f3_fyhy#wLE7vhBO{r;;x1`!bV0Z#!t5(HM+v?vv#u8{YiRDJg&2 zbtvCmd9CI(yY6^H$py-5t&44~I>0r|tT?YLdU;nyW71@vpG4KUNXoPbP3w+PF|{d? zL8?`mk@+^oNe8Bu%W8jBi)k%Yx@x*m<#|@5V0CYKA>YL*`PzmXORFnQx8Q~C;`Gyz ze;G{fin3!1>TKlodK<4SPx4tcO3)ZVJwG)`S^hpAvp-ESEizHhW!bSc)h|@Uj!jBa zDe#=;?k_e|`qANC9!2Ze<~@Z{>%JQ_SQh{BR8=CaaD!5f_v*QxT~VvNFBn{1pm_D! za&4s=uhPgX>5Z?|%g0O%iaP1H;Yvkr7Ro&f7 zW9+TU6O7`m8Y~P>7)rBSBc!de9i=vB6w*w*5|lZ{Q7unA4`o>vU)EOmM9ugxr^R|% zn8U^06}Np7uNm534LxIBEFDwvBr4uLyV@|r8hp>T#5hRQ*oGu+E7eyOm}ID{s2LSm zt7V_c>~Ya!r{A*5NRxkfcKpd#fy;BOC^4BQC%AIUA}p}A*N+rERF6#1X;gS~P(yZd z?8@bWxM-~K6gzw5K}wwBK9%C*JExY<(O!8?&eYy+$+X6ZhU4Pt&kXjeE>AHOw~Ev@ z>EKN_+^SkU>P*gffr%2XT0D9}Rg~iRv99mrZT4AbFOZw2mZD0#eb_y6#^2YLC{122 zUpZxxYlG_2jbVM^KI6xp9;vB&DeP~BXCY5*+bU;&km^3t9#WBfs&CAsSvh*YbQBo~ z4uR2d93de0D{&g!8Q<@T1~S^U)M=ypW?$}r=M@{GJfNHQ2jWA3GsS!c zWKUzWFgXYp!6CX{&4;V)|F;Mckn}$}Uk#2B0d5#S>+>T*1cQqGoAXtKiPsM5#GPGQ zJ7eF?xuY!at{4^_DR-eM+%RyMlT`XCC-s-=*Mb%$U5dFrEQk^8yePl;?dNCqQ?hNf z(?yGP|)|BZLD_bP;J@472i zW;wrjZ#?r+mhInxfnqk|=Iz<;s-tcCG@}BgajCZ#yUbNjSncVt(<>E>>dzQpa_UcooS=Y`bAIZ5MFk4}Tkx7+P#=Scq>Yg`lQVps%_lrIKD-HwC zpPxC9E7E`Cs9(Ay(QtxG5^~QGx)Xs5k1+lLxcCgX014sXP9${qL9RRC!XtDu z0#_k${SgPZ9-%7{atT6dei08rI5LQCJ3{6n#zSEJA|3+kU*jP#Xbd{RYsaR>Tfuf_ z-@$hmrf{A+u+>-AzDshv!Zo@lc*(Ur6YX`ju=JjRpL6R;X&pt43#P4Am)&Y-YUT>8 z%oP`$9Ur4=oi;X1)oSF}sRs*2yztu(T&OLG|AqH6u)N@vR4J$>699P_L<+zbl% zHhWmgZ)?sxdFBw(R^Qh%QLclYm2dCn`pNEFxYUTbkLM<5Dn#T5DeUF_{>t)`>$mQ2 zjrOy+DfLe`sh*b93wxl3=^lOk>B+h;BbAT!4C8tnHQDm!#N9XM!6RZ#FV8x+NZj`Q zu-dLHJMWw`EcW;B8-|S-G1v5Oy~U@)r-}&-zxL(F{;lUPxn{@0ZPOo6$0ZM!DQ{EU zHkw&vvDsCU#Tzro{b%tI_wPXWw}f?I@|S z`^3JUs8Ks88>8{{;Ro8AuC=dU$uo^@u1T1cIKzl{{IPahXuG0R^FBR=)R;;|sg@@* zUd3%s=`hBN6|PgQS-uay@Ect5(13d@8uEBcEpzBzZ8-E%1eCPY= z5j5tz@_o;7%a-yi8S4OmsML&uLx?&w_p3&TLJK$EBkmJWf;FObVkLbsE_F*VPpqA10>%e%>)P<&qm6 zjkgWMn$2bQH3eH=@=VF_bxxSJzqwGtVP<8B_{_+-IQf0&q?U|ooEvRBfi_LTQ{v)N z*U8u<&(WI6^Q3DQJ6@q*G?{x_@K{{CRQB0{Pm>ZA_66ORpSQ(xY?pFa#sl#rW7?6X zNkYrm~kC2UPd|-0tn@Zqjy5u4y`ocRews~YEr;U`E$ogDb zDoEt$sPuh&ShO=Se^+Em{=0;+iHc=At@?acYJV?jpB~cJRVKBfZ~ThS#be&<`+jj7 zGkft&i89SI#eIS)?>Ah1Qxvx-Ca^5stZ8-8=S39WsJ=al*($xE;S(RoW6H3gydqB_ zP3DU{<=t1siOU2dZD<{d!*)mXt@%S?PsrqTqed5(jhLnPU7|uUBAAJp)QM9=|0)_I zCV6|(tL1+bP%{=z{CjMJ)gM#+&5B23dwZ&zA1E*r4HHvO9WXd72I zeopJn5{rWB^GA%{l;{^sviWL+yJtH*nl4*ro;`x=tT(3CUj6m59Op}^}SKl6H z-rDM6+pfO)%uxxOQy&kydEXoHd6tb&%wKvJU90P?)o$K(SeAOQ#Hae^uC&#DGaGzU zUpB1wl>2<91v@X{+7i9;a=@z8D@qfR-crwb;>-P7Rrz^)U(Q*z+5TwOx!2k8I}`aU zt<&t9J1bTu#&0<*f4nkcZR|7&w|!NtD@XnJuJM^wk#g~14bQ_wrq}lAuB?D zM@FYgxA#k#J@qF77hGFrYi?;5XBO4I&_%tXF7lIxzohvr&*+gJ1(*MrvNE@*yGJ8i zCOSyH`_)I;h88iW$jhe+51mWdeIY_W0U6 z)wQ`d1eMbC?@4^F%9cDkyCC~5hScMA@vW6!dN;p!ht6nN0ig^wWLx_A(RMb?@xVf7 zZ+mJ`b9h!sp6cO4le7$vcuw)l*io$)m-_6k@>|){n`dIQfK&i5P$<(-alID|9TEUw_htY-Nf~>-0JD%y>UPrB?c=4N8R}h@KB~vA%GK3 zXA@P?e-u$R&JYb%2GN^DLX|m}nF!&GvozDC>J@n8Lqe9R_KYX3auU(|> zzE5uHyrKt7r81p9jX7C->G$(dR1>M*t`*MKZHI0>3|!lx++C}6xiKpE)jCaMsy}Z( z-|pF*PAtHJJF2wiQs#}CV%<|a-#x)!RFqGAYv0Uie_g0HOLlcrds^psO&3#zSz4uu zO+U9(w(U9-V{`Kj3I(;!k7Qgk8S z74Q=i(GNcvax`#O7yg7`ctTB>#18}J7uZ?IN&=*Qg2(7_5rwoCyff(!v|%A zo;dK-pDlVqW|S}y`XBhiqt6da@P>z=e*;fIjqq3s!ef912A>~zIE3p%zs2ESbe0^v z`~N{_%fb7{Zw`3c|M<;7Uj9FRGvx*ffMYuF?#G5B0Rz9lD_=-D${e}w4`c#0?XN7r zIVgVFj|31<4c`6PU=Xux0FGgD@a~60%rbbxZ%~&hW;}0aORmoe5V2+>(jfAvLl<%?HouUG<1+{gA8ROcNhLDIiboAMkgu( z_VI*Y{rw4NqlHiXrm!3wx<)Ad8y^sWTKFWKUM*k?M))M05G-KvMfe0;Gr~NDvH|iI zjyVemT>qoUeghONG@;3fDAMuvMJ5|A%1N*RM69WfBSfJ0b^`;?4Ow&jnyNSjEe|bm z_Hp<2TGgLF#crj&oR{y$js1V9kiW5`m)l&f*L-Wsc?A2BEi$@vcw9#xZ{9+EJ$-#D zmBpb_Auu?Vjl(w+zFFwG-%NG!b>F?ITJ*nlg<2RtUEXG3Ih;Rn*Q8Snu(pip67 zi%QpnZz|*^ED{LUb@buR)zzRQ3>pKZ0Fy??=2Mv}RI186kv8$?ab3mHrYl_>vik9Y z9s%Q3&Q(qb!|8N31}%qPa$fx~^c$@VpqB^?hb=WCjDgW0?l}=grQ)!xMuaigIBctt zU>FUpl%dzpGB7#~2Yw~NIAmIYW(=*Wknzys1QEvIpi}c?7~Cj8fB|FSh!sWgXbiY; z0QgcAhSM2Tv@jwHLwIPGBf{V!0a98T146x%%Vjd?Nc$k9g#hko;Y1V$L z1*A3w7#)pmA|6gfQiK4bQ*jhVo(QAS$bAXz0v$XU4{6K9v<$deW-yG*e=rn)@yU2F zQc3wixh!)3LRvc9208h% zFwyEUF)hqMq%uIdFwv||#N#l@{RY>u04EUf5R6I6k40xQ$@~nou*h-);gQ>qMF%lN zsxN}UjV=WGKrnI0^*}JRJ}z1h7|=8_uK_KbL1i$}Bt=e(Q^|7xT!}-2+i{3xa2PDI z`~zme(fYP1El@5_?sFDWD#+z>zLNXGLM7c9HcuU7+KfDL5CxcbAU0? z-kNCL0LB?qE@)wc@BlV=%+P>UN%_&~gXT-n$3Y_+gvS_MF6c;P`si%X5dKN)!*g`s z$mO9eI!pHeF0x%H7T(@q>J3lO*TS7kUAa|q3w8AM+1L_Y7S5*P`V4%D z4(LvLOLgh&rAs(W8fS@?_`jndyHeNNS!X@hc>~|qQ;xz0tqhDa(C`_orMgS0I7eSs kA7*0~8{$CdQFV}I$oFyN`3TJ{U=0?PDXyfXXR0s$f74e4NdN!< literal 0 HcmV?d00001 diff --git a/docs/Modelo_ER_Plantillas.png b/docs/Modelo_ER_Plantillas.png new file mode 100644 index 0000000000000000000000000000000000000000..300fbfbd0c91e6cc0c928302a0a0d7a6eab8af19 GIT binary patch literal 86441 zcmeEtXE>bS_UMQfQ4^v^iOwL58YQ~u5p~pr8KN_ymjuzGL>)#=qD7C%Q7U5QrEF z0$uaDN(lT#pPywH1R?}I&^1;EK0zP|2;=|)p+F!U2y}7z1%ZGd4j>2$1i^tI7ng$$ z5Riid$N>d%z=0etE@4p+5Xu3BLV-{?5bEL*6$b&~96&e}2!{jVE&xiP3kc}K0d#=^ zUEn|$zz0AZAPvw0kOAn6OFoxB2M7cOf#4vJi%Yh^mxBYu0R?fuK^!hFr2qy|4iFRy zg2F*i7nec-us8<@4h6yCAh-)aMgSFZ;Q+ZnK`wBR3xF#iH9!my8junY3m5|!1GE9s z04)Id;!>f@Z{UY=aKJe@TwLl0um!$QCxB%1x>;Z@gU<2j=^aq3hGz6puhyg+aQUaiW8~|g0Hb5Gnb#ZCA%VFRf_~B5f zi%UZS`T=Z#FB}eqy8!G8s0&B|45BV@s0+Z3fTaNg0CEA~fT00x0aF6@0K^2a0doK{ z0SW^e0#XCS0HFa)KrBEGfH6QDAboK;MVHXPFz^lhE`S*W3<>B5um!$w7Z;Zk_;>m* zrT9Cem-G2|k}ie%Yxm3P{cFlg8UI@6a<=~}d@1r@9WE#TuUMBF{N)6Y2HXLdCBS%q zPJdbb^~C?{|G)!-Z-EH(VOna+#{M~*xjN$ochQk3>c;dbdyc1N^uh)&h6FO>R#~Z| z)~q56X*j#2`s80s&SB~X_odO3_uo8F8wb`@Ow8t{C?LGj6(|Yl`Mc*}LXeWN5|RMK zA;^IRfoN_f!2zIa{o){y8ZnFs1bTY~O#uQK68wMg|8JT9C!L@~JCtllgeQ$QhNd4; zmLtrKm1#|TpwFSgfh|QeB!L$7#s=JyTNS z>REF2E#I;^*9+WKQJpcelfU^0{y9Tbx*fp15`6`#pWd7;_ZhjcBc~j|hjAzvX9&$_ zNMYEpPtE3;+sjTldqC3W4E;$F9VSNr0MGRng-&GI4~DjmiVuktg}?*0!#h*$pD{Mk zCgF`y3>neI;?>lAB0e6toAvAIrtz~K8|fcnewgm*V_Y|}-`e+OSL=T{N^C@=_6bO1 zVP3^co5afjrPu;CdTW7Sf%Ra*XWf`|tpQSzg?|eO^(wW{Gx_Y|@=@I>;m(4xh3>U7 zxLE@8htQ(w0Twamv+beBzozm>7-c`CYWzdgJi5LPS@gik@>)f^70Dv{YxYc79ALbz zH%dq&xT%#@cC~o5jn%Q<22p#)Z*$~#?O7)<_N~1l_$Qy&7k<103f#djYki}LU%6rX z*o7UVge*$lLT_d`Bk1r%RF^j1Ul4Cdx?5l8vEB|o%hf>RUh3rTJ&wIsss;yH)QAlN5REm3kOR!`O_Chn*Go?IVLf(sPk1;m{8^K8`Q*@e~eUBZ?&;p z#j@ODu@WJSREdGwJ!flF^Dgwa|J@LcY3|A&$?afS@g(>EnYkwW?$<%AV zhbRmFcb0>#sKJ**tG;!D@F8Plp!J~6x#q`aYH;K*ScI>n=cR~FKf2W-#3_KuYSZ&| z$GSWu^5Z|$&6`VKmTVVfPt2~X$gbzemA^+j*p-9p4abxezdLtMKe9Z`e-Q%R>DFme z&XeOsB57@1woIuqwnc^8Cg+t}oCBlW?CA-}2%-8+T+*g)ryWn8q>n@fax?4mZe`bM zP_%4#mH&2!pmE_kw|r)eTxnJkV~g+-b;!zF8s8)e!Dn%lR8KL3|A><`BcVR+6EdP0 zhcvy#h5c$+UCo2l!3@}z3l_OeS#PO8mm>)LiD9zv`|f2b1?na5aAhAg;wRAHct-R9 ze*&XMiw%pIT^gPT&s|AhR8KeB+WO5vBmQwlTu{~X_Au}qg)|2|nB?@!?dbD$+`u3Q zHdNGRuyt&yk`;rNOP#g*qaw4!kRyj!#tu;81wta58PA@YZNR5&Hw#zq*M9E?wOv66 zLn_Wpk?9h1I9~3zk`g)wGX0VEfo&OP#=aMVQ*ZC~qvdGb-Y9H6oagYn1HM?Rvotge%u??@)aS{eghvdPRgdTa{ zD78tBHq-a$%kC0R2{O;6MyMv*;)Pi|AL!4^b6|yl7zqNEUV+*S09yd){>}b9Z6I2L zl*$TkW1n3c*c7P`5$d`3pemRGm}Ag$V=Z+gp^3NntwabxAtDonStn8gbqvtHl;ymk^+0@b=pWnUY)>LN3THvQpy4TGCGdP%@9n37ilwZ z2n7Z1$6bP|T`Ea9y>~HE_VB>@s|7t3qTc*3JI$&4D>Tc=Y z-GyQ(b_(t-Gtj>`0vLpa0BU29XB?0lq6%a)}CesGFm282Bg- zBM>sw@n+V`cZ!t?7Qo|}@#V(LGJ&!NfBBbHf?0jAr^RhdUvWaUIr|=-fp;@ZxTI04 z`&V81Y;ftc4BCUl3pZ@y_I~VXFFN@iQXVAMVwXK{x19`C5ng6!$OjT3zzP_)$LQiTOTYI0K z6Z;7S)n}ZLosegNyyk&TZHcGA)5q4MD)COTKuU6V*m=aC9`CIK&FdZZQAT{vu@GcP zPp#A>b6O^AED}(cv+b%d#s1m6oP#9%3#a^$35Dr~(XGy^E!^D^ffYYatVWDGAGR7Z z02PiGn-U?xduwv_NrYCBr(iKImRJ$wwmH&iL3nWCp~dTZ5z;S|P31aca zNN>0+!}u~GG?WmCxbKaTeAm0Jl4js&U1l3lSbx5})E2;t)T?{SMm!X&o%ktTtsAN|^*?zt5M zcSg_Zmoplji94>wB8&2}V`EA92`fz`^J3 zr=!jeuzs?8VvUeKEK_ZUswdE?VeTdiD=YVX>H%5fy91M&6^qyup*xvqtLx|~)+ zEW+fotNFe&(WLq9uWjJ$HJSsM=x;^u{{|AnqD|nmTE)^=bX(3ekWM=9Gu(w7p|Y1i z+{^wgjv0eL)B-83Lz4{F1Qj3i`=o3fgT2> z^FHK>X9PXhxn2q$o+sINmdSeOWTf2f4)CII$_K7L#+=UpT`tEfswR?Bon+-yJ(-u#Xk z6a3qs&e~)ZEiQz814|QqHxvH^CO8}%$Z)3Nq;tPUllWQ}GY3|{9@bnQGd_UE;!Dy7 zSuMU>GN}G)MjUu%)e?8#{mA8H`tYv&_ zH=Kzp>VXXqDDjIOD3iFiZ^scPWKbm2hx%EBG8AeW$_KwEB&eF9U`4-r0Hrrza3u$J zt(S*RZFl&I^3&n?P|u>EDg9`tbn`Y&ePnAQ?Bt}723(c1nLTbN@=h6Pot)15vCJ-d z&@jvD-H=+Gk?B9Mf)zjWpeJQeHGIur z?*$l96qwn7{!GTfsX3C~p}&kduul8Ga(?S6or4og$PbBujmuw)#(;s92w3>LDI5>C zd7ABtl`nV4$Nv=!UMd|UG%&4zp^;Z{*coY#ELGYoS9pT6f=C< z7vE4je#FvE4)P3|?MG`-RI5k5N9!VHf}p;Y_?E(Xz9c-VX-U;p#KQBsCn5Ck2Ll

    K1_O$ld6X1!V` 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

    _)NN8jXFfUoD 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 Q5*H*dts;e%c>L;r0Y|dNegFUf literal 0 HcmV?d00001 diff --git a/docs/arquitectura.png b/docs/arquitectura.png new file mode 100644 index 0000000000000000000000000000000000000000..7c2ca12cafc241955c1e25d23de4bc08a837e6e8 GIT binary patch literal 59629 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 E1&))&sQ>@~ literal 0 HcmV?d00001 diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..602344d --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/sh + +set -e + +cp ${CONFIG_JSON_PATH} /home/node/app/src/config/config.json +cp ${CONFIG_JS_PATH} /home/node/app/src/config/config.js + +exec "$@" diff --git a/index.js b/index.js new file mode 100644 index 0000000..5c07105 --- /dev/null +++ b/index.js @@ -0,0 +1,20 @@ +const express = require("express"); +const consign = require("consign"); +const app= express(); + +console.log("inicio"); +consign() + .include("src/config/config.js") + .then("src/lib/util.js") + .then("src/lib/firma.js") + .then("src/lib/archivos.js") + .then("src/db.js") + .then("src/openid.js") + .then("src/auth.js") + .then("src/lib/middlewares.js") + .then("src/bl/seguridad/autorizacion.dao.js") + .then("src/bl/seguridad/autorizacion.controller.js") + .then("src/routes") + .then("src/lib/boot.js") + .into(app); +module.exports=app; diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..0438b79 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,6 @@ +{ + "compilerOptions": { + "target": "ES6", + "module": "commonjs" + } +} \ No newline at end of file diff --git a/librerias_frontend_extra/pdf.js-viewer/pdf.worker.js b/librerias_frontend_extra/pdf.js-viewer/pdf.worker.js new file mode 100644 index 0000000..8c59e5e --- /dev/null +++ b/librerias_frontend_extra/pdf.js-viewer/pdf.worker.js @@ -0,0 +1,51085 @@ +/* Copyright 2017 Mozilla Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +(function webpackUniversalModuleDefinition(root, factory) { + if(typeof exports === 'object' && typeof module === 'object') + module.exports = factory(); + else if(typeof define === 'function' && define.amd) + define("pdfjs-dist/build/pdf.worker", [], factory); + else if(typeof exports === 'object') + exports["pdfjs-dist/build/pdf.worker"] = factory(); + else + root["pdfjs-dist/build/pdf.worker"] = root.pdfjsDistBuildPdfWorker = factory(); +})(this, function() { +return /******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __w_pdfjs_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ i: moduleId, +/******/ l: false, +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.l = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __w_pdfjs_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __w_pdfjs_require__.c = installedModules; +/******/ +/******/ // identity function for calling harmony imports with the correct context +/******/ __w_pdfjs_require__.i = function(value) { return value; }; +/******/ +/******/ // define getter function for harmony exports +/******/ __w_pdfjs_require__.d = function(exports, name, getter) { +/******/ if(!__w_pdfjs_require__.o(exports, name)) { +/******/ Object.defineProperty(exports, name, { +/******/ configurable: false, +/******/ enumerable: true, +/******/ get: getter +/******/ }); +/******/ } +/******/ }; +/******/ +/******/ // getDefaultExport function for compatibility with non-harmony modules +/******/ __w_pdfjs_require__.n = function(module) { +/******/ var getter = module && module.__esModule ? +/******/ function getDefault() { return module['default']; } : +/******/ function getModuleExports() { return module; }; +/******/ __w_pdfjs_require__.d(getter, 'a', getter); +/******/ return getter; +/******/ }; +/******/ +/******/ // Object.prototype.hasOwnProperty.call +/******/ __w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; +/******/ +/******/ // __webpack_public_path__ +/******/ __w_pdfjs_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __w_pdfjs_require__(__w_pdfjs_require__.s = 37); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) { +var compatibility = __w_pdfjs_require__(36); +var globalScope = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this; +var FONT_IDENTITY_MATRIX = [ + 0.001, + 0, + 0, + 0.001, + 0, + 0 +]; +var TextRenderingMode = { + FILL: 0, + STROKE: 1, + FILL_STROKE: 2, + INVISIBLE: 3, + FILL_ADD_TO_PATH: 4, + STROKE_ADD_TO_PATH: 5, + FILL_STROKE_ADD_TO_PATH: 6, + ADD_TO_PATH: 7, + FILL_STROKE_MASK: 3, + ADD_TO_PATH_FLAG: 4 +}; +var ImageKind = { + GRAYSCALE_1BPP: 1, + RGB_24BPP: 2, + RGBA_32BPP: 3 +}; +var AnnotationType = { + TEXT: 1, + LINK: 2, + FREETEXT: 3, + LINE: 4, + SQUARE: 5, + CIRCLE: 6, + POLYGON: 7, + POLYLINE: 8, + HIGHLIGHT: 9, + UNDERLINE: 10, + SQUIGGLY: 11, + STRIKEOUT: 12, + STAMP: 13, + CARET: 14, + INK: 15, + POPUP: 16, + FILEATTACHMENT: 17, + SOUND: 18, + MOVIE: 19, + WIDGET: 20, + SCREEN: 21, + PRINTERMARK: 22, + TRAPNET: 23, + WATERMARK: 24, + THREED: 25, + REDACT: 26 +}; +var AnnotationFlag = { + INVISIBLE: 0x01, + HIDDEN: 0x02, + PRINT: 0x04, + NOZOOM: 0x08, + NOROTATE: 0x10, + NOVIEW: 0x20, + READONLY: 0x40, + LOCKED: 0x80, + TOGGLENOVIEW: 0x100, + LOCKEDCONTENTS: 0x200 +}; +var AnnotationFieldFlag = { + READONLY: 0x0000001, + REQUIRED: 0x0000002, + NOEXPORT: 0x0000004, + MULTILINE: 0x0001000, + PASSWORD: 0x0002000, + NOTOGGLETOOFF: 0x0004000, + RADIO: 0x0008000, + PUSHBUTTON: 0x0010000, + COMBO: 0x0020000, + EDIT: 0x0040000, + SORT: 0x0080000, + FILESELECT: 0x0100000, + MULTISELECT: 0x0200000, + DONOTSPELLCHECK: 0x0400000, + DONOTSCROLL: 0x0800000, + COMB: 0x1000000, + RICHTEXT: 0x2000000, + RADIOSINUNISON: 0x2000000, + COMMITONSELCHANGE: 0x4000000 +}; +var AnnotationBorderStyleType = { + SOLID: 1, + DASHED: 2, + BEVELED: 3, + INSET: 4, + UNDERLINE: 5 +}; +var StreamType = { + UNKNOWN: 0, + FLATE: 1, + LZW: 2, + DCT: 3, + JPX: 4, + JBIG: 5, + A85: 6, + AHX: 7, + CCF: 8, + RL: 9 +}; +var FontType = { + UNKNOWN: 0, + TYPE1: 1, + TYPE1C: 2, + CIDFONTTYPE0: 3, + CIDFONTTYPE0C: 4, + TRUETYPE: 5, + CIDFONTTYPE2: 6, + TYPE3: 7, + OPENTYPE: 8, + TYPE0: 9, + MMTYPE1: 10 +}; +var VERBOSITY_LEVELS = { + errors: 0, + warnings: 1, + infos: 5 +}; +var CMapCompressionType = { + NONE: 0, + BINARY: 1, + STREAM: 2 +}; +var OPS = { + dependency: 1, + setLineWidth: 2, + setLineCap: 3, + setLineJoin: 4, + setMiterLimit: 5, + setDash: 6, + setRenderingIntent: 7, + setFlatness: 8, + setGState: 9, + save: 10, + restore: 11, + transform: 12, + moveTo: 13, + lineTo: 14, + curveTo: 15, + curveTo2: 16, + curveTo3: 17, + closePath: 18, + rectangle: 19, + stroke: 20, + closeStroke: 21, + fill: 22, + eoFill: 23, + fillStroke: 24, + eoFillStroke: 25, + closeFillStroke: 26, + closeEOFillStroke: 27, + endPath: 28, + clip: 29, + eoClip: 30, + beginText: 31, + endText: 32, + setCharSpacing: 33, + setWordSpacing: 34, + setHScale: 35, + setLeading: 36, + setFont: 37, + setTextRenderingMode: 38, + setTextRise: 39, + moveText: 40, + setLeadingMoveText: 41, + setTextMatrix: 42, + nextLine: 43, + showText: 44, + showSpacedText: 45, + nextLineShowText: 46, + nextLineSetSpacingShowText: 47, + setCharWidth: 48, + setCharWidthAndBounds: 49, + setStrokeColorSpace: 50, + setFillColorSpace: 51, + setStrokeColor: 52, + setStrokeColorN: 53, + setFillColor: 54, + setFillColorN: 55, + setStrokeGray: 56, + setFillGray: 57, + setStrokeRGBColor: 58, + setFillRGBColor: 59, + setStrokeCMYKColor: 60, + setFillCMYKColor: 61, + shadingFill: 62, + beginInlineImage: 63, + beginImageData: 64, + endInlineImage: 65, + paintXObject: 66, + markPoint: 67, + markPointProps: 68, + beginMarkedContent: 69, + beginMarkedContentProps: 70, + endMarkedContent: 71, + beginCompat: 72, + endCompat: 73, + paintFormXObjectBegin: 74, + paintFormXObjectEnd: 75, + beginGroup: 76, + endGroup: 77, + beginAnnotations: 78, + endAnnotations: 79, + beginAnnotation: 80, + endAnnotation: 81, + paintJpegXObject: 82, + paintImageMaskXObject: 83, + paintImageMaskXObjectGroup: 84, + paintImageXObject: 85, + paintInlineImageXObject: 86, + paintInlineImageXObjectGroup: 87, + paintImageXObjectRepeat: 88, + paintImageMaskXObjectRepeat: 89, + paintSolidColorImageMask: 90, + constructPath: 91 +}; +var verbosity = VERBOSITY_LEVELS.warnings; +function setVerbosityLevel(level) { + verbosity = level; +} +function getVerbosityLevel() { + return verbosity; +} +function info(msg) { + if (verbosity >= VERBOSITY_LEVELS.infos) { + console.log('Info: ' + msg); + } +} +function warn(msg) { + if (verbosity >= VERBOSITY_LEVELS.warnings) { + console.log('Warning: ' + msg); + } +} +function deprecated(details) { + console.log('Deprecated API usage: ' + details); +} +function error(msg) { + if (verbosity >= VERBOSITY_LEVELS.errors) { + console.log('Error: ' + msg); + console.log(backtrace()); + } + throw new Error(msg); +} +function backtrace() { + try { + throw new Error(); + } catch (e) { + return e.stack ? e.stack.split('\n').slice(2).join('\n') : ''; + } +} +function assert(cond, msg) { + if (!cond) { + error(msg); + } +} +var UNSUPPORTED_FEATURES = { + unknown: 'unknown', + forms: 'forms', + javaScript: 'javaScript', + smask: 'smask', + shadingPattern: 'shadingPattern', + font: 'font' +}; +function isSameOrigin(baseUrl, otherUrl) { + try { + var base = new URL(baseUrl); + if (!base.origin || base.origin === 'null') { + return false; + } + } catch (e) { + return false; + } + var other = new URL(otherUrl, base); + return base.origin === other.origin; +} +function isValidProtocol(url) { + if (!url) { + return false; + } + switch (url.protocol) { + case 'http:': + case 'https:': + case 'ftp:': + case 'mailto:': + case 'tel:': + return true; + default: + return false; + } +} +function createValidAbsoluteUrl(url, baseUrl) { + if (!url) { + return null; + } + try { + var absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url); + if (isValidProtocol(absoluteUrl)) { + return absoluteUrl; + } + } catch (ex) { + } + return null; +} +function shadow(obj, prop, value) { + Object.defineProperty(obj, prop, { + value: value, + enumerable: true, + configurable: true, + writable: false + }); + return value; +} +function getLookupTableFactory(initializer) { + var lookup; + return function () { + if (initializer) { + lookup = Object.create(null); + initializer(lookup); + initializer = null; + } + return lookup; + }; +} +var PasswordResponses = { + NEED_PASSWORD: 1, + INCORRECT_PASSWORD: 2 +}; +var PasswordException = function PasswordExceptionClosure() { + function PasswordException(msg, code) { + this.name = 'PasswordException'; + this.message = msg; + this.code = code; + } + PasswordException.prototype = new Error(); + PasswordException.constructor = PasswordException; + return PasswordException; +}(); +var UnknownErrorException = function UnknownErrorExceptionClosure() { + function UnknownErrorException(msg, details) { + this.name = 'UnknownErrorException'; + this.message = msg; + this.details = details; + } + UnknownErrorException.prototype = new Error(); + UnknownErrorException.constructor = UnknownErrorException; + return UnknownErrorException; +}(); +var InvalidPDFException = function InvalidPDFExceptionClosure() { + function InvalidPDFException(msg) { + this.name = 'InvalidPDFException'; + this.message = msg; + } + InvalidPDFException.prototype = new Error(); + InvalidPDFException.constructor = InvalidPDFException; + return InvalidPDFException; +}(); +var MissingPDFException = function MissingPDFExceptionClosure() { + function MissingPDFException(msg) { + this.name = 'MissingPDFException'; + this.message = msg; + } + MissingPDFException.prototype = new Error(); + MissingPDFException.constructor = MissingPDFException; + return MissingPDFException; +}(); +var UnexpectedResponseException = function UnexpectedResponseExceptionClosure() { + function UnexpectedResponseException(msg, status) { + this.name = 'UnexpectedResponseException'; + this.message = msg; + this.status = status; + } + UnexpectedResponseException.prototype = new Error(); + UnexpectedResponseException.constructor = UnexpectedResponseException; + return UnexpectedResponseException; +}(); +var NotImplementedException = function NotImplementedExceptionClosure() { + function NotImplementedException(msg) { + this.message = msg; + } + NotImplementedException.prototype = new Error(); + NotImplementedException.prototype.name = 'NotImplementedException'; + NotImplementedException.constructor = NotImplementedException; + return NotImplementedException; +}(); +var MissingDataException = function MissingDataExceptionClosure() { + function MissingDataException(begin, end) { + this.begin = begin; + this.end = end; + this.message = 'Missing data [' + begin + ', ' + end + ')'; + } + MissingDataException.prototype = new Error(); + MissingDataException.prototype.name = 'MissingDataException'; + MissingDataException.constructor = MissingDataException; + return MissingDataException; +}(); +var XRefParseException = function XRefParseExceptionClosure() { + function XRefParseException(msg) { + this.message = msg; + } + XRefParseException.prototype = new Error(); + XRefParseException.prototype.name = 'XRefParseException'; + XRefParseException.constructor = XRefParseException; + return XRefParseException; +}(); +var NullCharactersRegExp = /\x00/g; +function removeNullCharacters(str) { + if (typeof str !== 'string') { + warn('The argument for removeNullCharacters must be a string.'); + return str; + } + return str.replace(NullCharactersRegExp, ''); +} +function bytesToString(bytes) { + assert(bytes !== null && typeof bytes === 'object' && bytes.length !== undefined, 'Invalid argument for bytesToString'); + var length = bytes.length; + var MAX_ARGUMENT_COUNT = 8192; + if (length < MAX_ARGUMENT_COUNT) { + return String.fromCharCode.apply(null, bytes); + } + var strBuf = []; + for (var i = 0; i < length; i += MAX_ARGUMENT_COUNT) { + var chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length); + var chunk = bytes.subarray(i, chunkEnd); + strBuf.push(String.fromCharCode.apply(null, chunk)); + } + return strBuf.join(''); +} +function stringToBytes(str) { + assert(typeof str === 'string', 'Invalid argument for stringToBytes'); + var length = str.length; + var bytes = new Uint8Array(length); + for (var i = 0; i < length; ++i) { + bytes[i] = str.charCodeAt(i) & 0xFF; + } + return bytes; +} +function arrayByteLength(arr) { + if (arr.length !== undefined) { + return arr.length; + } + assert(arr.byteLength !== undefined); + return arr.byteLength; +} +function arraysToBytes(arr) { + if (arr.length === 1 && arr[0] instanceof Uint8Array) { + return arr[0]; + } + var resultLength = 0; + var i, ii = arr.length; + var item, itemLength; + for (i = 0; i < ii; i++) { + item = arr[i]; + itemLength = arrayByteLength(item); + resultLength += itemLength; + } + var pos = 0; + var data = new Uint8Array(resultLength); + for (i = 0; i < ii; i++) { + item = arr[i]; + if (!(item instanceof Uint8Array)) { + if (typeof item === 'string') { + item = stringToBytes(item); + } else { + item = new Uint8Array(item); + } + } + itemLength = item.byteLength; + data.set(item, pos); + pos += itemLength; + } + return data; +} +function string32(value) { + return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff); +} +function log2(x) { + var n = 1, i = 0; + while (x > n) { + n <<= 1; + i++; + } + return i; +} +function readInt8(data, start) { + return data[start] << 24 >> 24; +} +function readUint16(data, offset) { + return data[offset] << 8 | data[offset + 1]; +} +function readUint32(data, offset) { + return (data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]) >>> 0; +} +function isLittleEndian() { + var buffer8 = new Uint8Array(2); + buffer8[0] = 1; + var buffer16 = new Uint16Array(buffer8.buffer); + return buffer16[0] === 1; +} +function isEvalSupported() { + try { + new Function(''); + return true; + } catch (e) { + return false; + } +} +var Uint32ArrayView = function Uint32ArrayViewClosure() { + function Uint32ArrayView(buffer, length) { + this.buffer = buffer; + this.byteLength = buffer.length; + this.length = length === undefined ? this.byteLength >> 2 : length; + ensureUint32ArrayViewProps(this.length); + } + Uint32ArrayView.prototype = Object.create(null); + var uint32ArrayViewSetters = 0; + function createUint32ArrayProp(index) { + return { + get: function () { + var buffer = this.buffer, offset = index << 2; + return (buffer[offset] | buffer[offset + 1] << 8 | buffer[offset + 2] << 16 | buffer[offset + 3] << 24) >>> 0; + }, + set: function (value) { + var buffer = this.buffer, offset = index << 2; + buffer[offset] = value & 255; + buffer[offset + 1] = value >> 8 & 255; + buffer[offset + 2] = value >> 16 & 255; + buffer[offset + 3] = value >>> 24 & 255; + } + }; + } + function ensureUint32ArrayViewProps(length) { + while (uint32ArrayViewSetters < length) { + Object.defineProperty(Uint32ArrayView.prototype, uint32ArrayViewSetters, createUint32ArrayProp(uint32ArrayViewSetters)); + uint32ArrayViewSetters++; + } + } + return Uint32ArrayView; +}(); +exports.Uint32ArrayView = Uint32ArrayView; +var IDENTITY_MATRIX = [ + 1, + 0, + 0, + 1, + 0, + 0 +]; +var Util = function UtilClosure() { + function Util() { + } + var rgbBuf = [ + 'rgb(', + 0, + ',', + 0, + ',', + 0, + ')' + ]; + Util.makeCssRgb = function Util_makeCssRgb(r, g, b) { + rgbBuf[1] = r; + rgbBuf[3] = g; + rgbBuf[5] = b; + return rgbBuf.join(''); + }; + Util.transform = function Util_transform(m1, m2) { + return [ + m1[0] * m2[0] + m1[2] * m2[1], + m1[1] * m2[0] + m1[3] * m2[1], + m1[0] * m2[2] + m1[2] * m2[3], + m1[1] * m2[2] + m1[3] * m2[3], + m1[0] * m2[4] + m1[2] * m2[5] + m1[4], + m1[1] * m2[4] + m1[3] * m2[5] + m1[5] + ]; + }; + Util.applyTransform = function Util_applyTransform(p, m) { + var xt = p[0] * m[0] + p[1] * m[2] + m[4]; + var yt = p[0] * m[1] + p[1] * m[3] + m[5]; + return [ + xt, + yt + ]; + }; + Util.applyInverseTransform = function Util_applyInverseTransform(p, m) { + var d = m[0] * m[3] - m[1] * m[2]; + var xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d; + var yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d; + return [ + xt, + yt + ]; + }; + Util.getAxialAlignedBoundingBox = function Util_getAxialAlignedBoundingBox(r, m) { + var p1 = Util.applyTransform(r, m); + var p2 = Util.applyTransform(r.slice(2, 4), m); + var p3 = Util.applyTransform([ + r[0], + r[3] + ], m); + var p4 = Util.applyTransform([ + r[2], + r[1] + ], m); + return [ + Math.min(p1[0], p2[0], p3[0], p4[0]), + Math.min(p1[1], p2[1], p3[1], p4[1]), + Math.max(p1[0], p2[0], p3[0], p4[0]), + Math.max(p1[1], p2[1], p3[1], p4[1]) + ]; + }; + Util.inverseTransform = function Util_inverseTransform(m) { + var d = m[0] * m[3] - m[1] * m[2]; + return [ + m[3] / d, + -m[1] / d, + -m[2] / d, + m[0] / d, + (m[2] * m[5] - m[4] * m[3]) / d, + (m[4] * m[1] - m[5] * m[0]) / d + ]; + }; + Util.apply3dTransform = function Util_apply3dTransform(m, v) { + return [ + m[0] * v[0] + m[1] * v[1] + m[2] * v[2], + m[3] * v[0] + m[4] * v[1] + m[5] * v[2], + m[6] * v[0] + m[7] * v[1] + m[8] * v[2] + ]; + }; + Util.singularValueDecompose2dScale = function Util_singularValueDecompose2dScale(m) { + var transpose = [ + m[0], + m[2], + m[1], + m[3] + ]; + var a = m[0] * transpose[0] + m[1] * transpose[2]; + var b = m[0] * transpose[1] + m[1] * transpose[3]; + var c = m[2] * transpose[0] + m[3] * transpose[2]; + var d = m[2] * transpose[1] + m[3] * transpose[3]; + var first = (a + d) / 2; + var second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2; + var sx = first + second || 1; + var sy = first - second || 1; + return [ + Math.sqrt(sx), + Math.sqrt(sy) + ]; + }; + Util.normalizeRect = function Util_normalizeRect(rect) { + var r = rect.slice(0); + if (rect[0] > rect[2]) { + r[0] = rect[2]; + r[2] = rect[0]; + } + if (rect[1] > rect[3]) { + r[1] = rect[3]; + r[3] = rect[1]; + } + return r; + }; + Util.intersect = function Util_intersect(rect1, rect2) { + function compare(a, b) { + return a - b; + } + var orderedX = [ + rect1[0], + rect1[2], + rect2[0], + rect2[2] + ].sort(compare), orderedY = [ + rect1[1], + rect1[3], + rect2[1], + rect2[3] + ].sort(compare), result = []; + rect1 = Util.normalizeRect(rect1); + rect2 = Util.normalizeRect(rect2); + if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) { + result[0] = orderedX[1]; + result[2] = orderedX[2]; + } else { + return false; + } + if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) { + result[1] = orderedY[1]; + result[3] = orderedY[2]; + } else { + return false; + } + return result; + }; + Util.sign = function Util_sign(num) { + return num < 0 ? -1 : 1; + }; + var ROMAN_NUMBER_MAP = [ + '', + 'C', + 'CC', + 'CCC', + 'CD', + 'D', + 'DC', + 'DCC', + 'DCCC', + 'CM', + '', + 'X', + 'XX', + 'XXX', + 'XL', + 'L', + 'LX', + 'LXX', + 'LXXX', + 'XC', + '', + 'I', + 'II', + 'III', + 'IV', + 'V', + 'VI', + 'VII', + 'VIII', + 'IX' + ]; + Util.toRoman = function Util_toRoman(number, lowerCase) { + assert(isInt(number) && number > 0, 'The number should be a positive integer.'); + var pos, romanBuf = []; + while (number >= 1000) { + number -= 1000; + romanBuf.push('M'); + } + pos = number / 100 | 0; + number %= 100; + romanBuf.push(ROMAN_NUMBER_MAP[pos]); + pos = number / 10 | 0; + number %= 10; + romanBuf.push(ROMAN_NUMBER_MAP[10 + pos]); + romanBuf.push(ROMAN_NUMBER_MAP[20 + number]); + var romanStr = romanBuf.join(''); + return lowerCase ? romanStr.toLowerCase() : romanStr; + }; + Util.appendToArray = function Util_appendToArray(arr1, arr2) { + Array.prototype.push.apply(arr1, arr2); + }; + Util.prependToArray = function Util_prependToArray(arr1, arr2) { + Array.prototype.unshift.apply(arr1, arr2); + }; + Util.extendObj = function extendObj(obj1, obj2) { + for (var key in obj2) { + obj1[key] = obj2[key]; + } + }; + Util.getInheritableProperty = function Util_getInheritableProperty(dict, name, getArray) { + while (dict && !dict.has(name)) { + dict = dict.get('Parent'); + } + if (!dict) { + return null; + } + return getArray ? dict.getArray(name) : dict.get(name); + }; + Util.inherit = function Util_inherit(sub, base, prototype) { + sub.prototype = Object.create(base.prototype); + sub.prototype.constructor = sub; + for (var prop in prototype) { + sub.prototype[prop] = prototype[prop]; + } + }; + Util.loadScript = function Util_loadScript(src, callback) { + var script = document.createElement('script'); + var loaded = false; + script.setAttribute('src', src); + if (callback) { + script.onload = function () { + if (!loaded) { + callback(); + } + loaded = true; + }; + } + document.getElementsByTagName('head')[0].appendChild(script); + }; + return Util; +}(); +var PageViewport = function PageViewportClosure() { + function PageViewport(viewBox, scale, rotation, offsetX, offsetY, dontFlip) { + this.viewBox = viewBox; + this.scale = scale; + this.rotation = rotation; + this.offsetX = offsetX; + this.offsetY = offsetY; + var centerX = (viewBox[2] + viewBox[0]) / 2; + var centerY = (viewBox[3] + viewBox[1]) / 2; + var rotateA, rotateB, rotateC, rotateD; + rotation = rotation % 360; + rotation = rotation < 0 ? rotation + 360 : rotation; + switch (rotation) { + case 180: + rotateA = -1; + rotateB = 0; + rotateC = 0; + rotateD = 1; + break; + case 90: + rotateA = 0; + rotateB = 1; + rotateC = 1; + rotateD = 0; + break; + case 270: + rotateA = 0; + rotateB = -1; + rotateC = -1; + rotateD = 0; + break; + default: + rotateA = 1; + rotateB = 0; + rotateC = 0; + rotateD = -1; + break; + } + if (dontFlip) { + rotateC = -rotateC; + rotateD = -rotateD; + } + var offsetCanvasX, offsetCanvasY; + var width, height; + if (rotateA === 0) { + offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX; + offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY; + width = Math.abs(viewBox[3] - viewBox[1]) * scale; + height = Math.abs(viewBox[2] - viewBox[0]) * scale; + } else { + offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX; + offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY; + width = Math.abs(viewBox[2] - viewBox[0]) * scale; + height = Math.abs(viewBox[3] - viewBox[1]) * scale; + } + this.transform = [ + rotateA * scale, + rotateB * scale, + rotateC * scale, + rotateD * scale, + offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, + offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY + ]; + this.width = width; + this.height = height; + this.fontScale = scale; + } + PageViewport.prototype = { + clone: function PageViewPort_clone(args) { + args = args || {}; + var scale = 'scale' in args ? args.scale : this.scale; + var rotation = 'rotation' in args ? args.rotation : this.rotation; + return new PageViewport(this.viewBox.slice(), scale, rotation, this.offsetX, this.offsetY, args.dontFlip); + }, + convertToViewportPoint: function PageViewport_convertToViewportPoint(x, y) { + return Util.applyTransform([ + x, + y + ], this.transform); + }, + convertToViewportRectangle: function PageViewport_convertToViewportRectangle(rect) { + var tl = Util.applyTransform([ + rect[0], + rect[1] + ], this.transform); + var br = Util.applyTransform([ + rect[2], + rect[3] + ], this.transform); + return [ + tl[0], + tl[1], + br[0], + br[1] + ]; + }, + convertToPdfPoint: function PageViewport_convertToPdfPoint(x, y) { + return Util.applyInverseTransform([ + x, + y + ], this.transform); + } + }; + return PageViewport; +}(); +var PDFStringTranslateTable = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x2D8, + 0x2C7, + 0x2C6, + 0x2D9, + 0x2DD, + 0x2DB, + 0x2DA, + 0x2DC, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0x2022, + 0x2020, + 0x2021, + 0x2026, + 0x2014, + 0x2013, + 0x192, + 0x2044, + 0x2039, + 0x203A, + 0x2212, + 0x2030, + 0x201E, + 0x201C, + 0x201D, + 0x2018, + 0x2019, + 0x201A, + 0x2122, + 0xFB01, + 0xFB02, + 0x141, + 0x152, + 0x160, + 0x178, + 0x17D, + 0x131, + 0x142, + 0x153, + 0x161, + 0x17E, + 0, + 0x20AC +]; +function stringToPDFString(str) { + var i, n = str.length, strBuf = []; + if (str[0] === '\xFE' && str[1] === '\xFF') { + for (i = 2; i < n; i += 2) { + strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1))); + } + } else { + for (i = 0; i < n; ++i) { + var code = PDFStringTranslateTable[str.charCodeAt(i)]; + strBuf.push(code ? String.fromCharCode(code) : str.charAt(i)); + } + } + return strBuf.join(''); +} +function stringToUTF8String(str) { + return decodeURIComponent(escape(str)); +} +function utf8StringToString(str) { + return unescape(encodeURIComponent(str)); +} +function isEmptyObj(obj) { + for (var key in obj) { + return false; + } + return true; +} +function isBool(v) { + return typeof v === 'boolean'; +} +function isInt(v) { + return typeof v === 'number' && (v | 0) === v; +} +function isNum(v) { + return typeof v === 'number'; +} +function isString(v) { + return typeof v === 'string'; +} +function isArray(v) { + return v instanceof Array; +} +function isArrayBuffer(v) { + return typeof v === 'object' && v !== null && v.byteLength !== undefined; +} +function isSpace(ch) { + return ch === 0x20 || ch === 0x09 || ch === 0x0D || ch === 0x0A; +} +function isNodeJS() { + if (typeof __pdfjsdev_webpack__ === 'undefined') { + return typeof process === 'object' && process + '' === '[object process]'; + } + return false; +} +function createPromiseCapability() { + var capability = {}; + capability.promise = new Promise(function (resolve, reject) { + capability.resolve = resolve; + capability.reject = reject; + }); + return capability; +} +var StatTimer = function StatTimerClosure() { + function rpad(str, pad, length) { + while (str.length < length) { + str += pad; + } + return str; + } + function StatTimer() { + this.started = Object.create(null); + this.times = []; + this.enabled = true; + } + StatTimer.prototype = { + time: function StatTimer_time(name) { + if (!this.enabled) { + return; + } + if (name in this.started) { + warn('Timer is already running for ' + name); + } + this.started[name] = Date.now(); + }, + timeEnd: function StatTimer_timeEnd(name) { + if (!this.enabled) { + return; + } + if (!(name in this.started)) { + warn('Timer has not been started for ' + name); + } + this.times.push({ + 'name': name, + 'start': this.started[name], + 'end': Date.now() + }); + delete this.started[name]; + }, + toString: function StatTimer_toString() { + var i, ii; + var times = this.times; + var out = ''; + var longest = 0; + for (i = 0, ii = times.length; i < ii; ++i) { + var name = times[i]['name']; + if (name.length > longest) { + longest = name.length; + } + } + for (i = 0, ii = times.length; i < ii; ++i) { + var span = times[i]; + var duration = span.end - span.start; + out += rpad(span['name'], ' ', longest) + ' ' + duration + 'ms\n'; + } + return out; + } + }; + return StatTimer; +}(); +var createBlob = function createBlob(data, contentType) { + if (typeof Blob !== 'undefined') { + return new Blob([data], { type: contentType }); + } + warn('The "Blob" constructor is not supported.'); +}; +var createObjectURL = function createObjectURLClosure() { + var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + return function createObjectURL(data, contentType, forceDataSchema) { + if (!forceDataSchema && typeof URL !== 'undefined' && URL.createObjectURL) { + var blob = createBlob(data, contentType); + return URL.createObjectURL(blob); + } + var buffer = 'data:' + contentType + ';base64,'; + for (var i = 0, ii = data.length; i < ii; i += 3) { + var b1 = data[i] & 0xFF; + var b2 = data[i + 1] & 0xFF; + var b3 = data[i + 2] & 0xFF; + var d1 = b1 >> 2, d2 = (b1 & 3) << 4 | b2 >> 4; + var d3 = i + 1 < ii ? (b2 & 0xF) << 2 | b3 >> 6 : 64; + var d4 = i + 2 < ii ? b3 & 0x3F : 64; + buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4]; + } + return buffer; + }; +}(); +function MessageHandler(sourceName, targetName, comObj) { + this.sourceName = sourceName; + this.targetName = targetName; + this.comObj = comObj; + this.callbackIndex = 1; + this.postMessageTransfers = true; + var callbacksCapabilities = this.callbacksCapabilities = Object.create(null); + var ah = this.actionHandler = Object.create(null); + this._onComObjOnMessage = function messageHandlerComObjOnMessage(event) { + var data = event.data; + if (data.targetName !== this.sourceName) { + return; + } + if (data.isReply) { + var callbackId = data.callbackId; + if (data.callbackId in callbacksCapabilities) { + var callback = callbacksCapabilities[callbackId]; + delete callbacksCapabilities[callbackId]; + if ('error' in data) { + callback.reject(data.error); + } else { + callback.resolve(data.data); + } + } else { + error('Cannot resolve callback ' + callbackId); + } + } else if (data.action in ah) { + var action = ah[data.action]; + if (data.callbackId) { + var sourceName = this.sourceName; + var targetName = data.sourceName; + Promise.resolve().then(function () { + return action[0].call(action[1], data.data); + }).then(function (result) { + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + isReply: true, + callbackId: data.callbackId, + data: result + }); + }, function (reason) { + if (reason instanceof Error) { + reason = reason + ''; + } + comObj.postMessage({ + sourceName: sourceName, + targetName: targetName, + isReply: true, + callbackId: data.callbackId, + error: reason + }); + }); + } else { + action[0].call(action[1], data.data); + } + } else { + error('Unknown action from worker: ' + data.action); + } + }.bind(this); + comObj.addEventListener('message', this._onComObjOnMessage); +} +MessageHandler.prototype = { + on: function messageHandlerOn(actionName, handler, scope) { + var ah = this.actionHandler; + if (ah[actionName]) { + error('There is already an actionName called "' + actionName + '"'); + } + ah[actionName] = [ + handler, + scope + ]; + }, + send: function messageHandlerSend(actionName, data, transfers) { + var message = { + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data: data + }; + this.postMessage(message, transfers); + }, + sendWithPromise: function messageHandlerSendWithPromise(actionName, data, transfers) { + var callbackId = this.callbackIndex++; + var message = { + sourceName: this.sourceName, + targetName: this.targetName, + action: actionName, + data: data, + callbackId: callbackId + }; + var capability = createPromiseCapability(); + this.callbacksCapabilities[callbackId] = capability; + try { + this.postMessage(message, transfers); + } catch (e) { + capability.reject(e); + } + return capability.promise; + }, + postMessage: function (message, transfers) { + if (transfers && this.postMessageTransfers) { + this.comObj.postMessage(message, transfers); + } else { + this.comObj.postMessage(message); + } + }, + destroy: function () { + this.comObj.removeEventListener('message', this._onComObjOnMessage); + } +}; +function loadJpegStream(id, imageUrl, objs) { + var img = new Image(); + img.onload = function loadJpegStream_onloadClosure() { + objs.resolve(id, img); + }; + img.onerror = function loadJpegStream_onerrorClosure() { + objs.resolve(id, null); + warn('Error during JPEG image loading'); + }; + img.src = imageUrl; +} +exports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX; +exports.IDENTITY_MATRIX = IDENTITY_MATRIX; +exports.OPS = OPS; +exports.VERBOSITY_LEVELS = VERBOSITY_LEVELS; +exports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES; +exports.AnnotationBorderStyleType = AnnotationBorderStyleType; +exports.AnnotationFieldFlag = AnnotationFieldFlag; +exports.AnnotationFlag = AnnotationFlag; +exports.AnnotationType = AnnotationType; +exports.FontType = FontType; +exports.ImageKind = ImageKind; +exports.CMapCompressionType = CMapCompressionType; +exports.InvalidPDFException = InvalidPDFException; +exports.MessageHandler = MessageHandler; +exports.MissingDataException = MissingDataException; +exports.MissingPDFException = MissingPDFException; +exports.NotImplementedException = NotImplementedException; +exports.PageViewport = PageViewport; +exports.PasswordException = PasswordException; +exports.PasswordResponses = PasswordResponses; +exports.StatTimer = StatTimer; +exports.StreamType = StreamType; +exports.TextRenderingMode = TextRenderingMode; +exports.UnexpectedResponseException = UnexpectedResponseException; +exports.UnknownErrorException = UnknownErrorException; +exports.Util = Util; +exports.XRefParseException = XRefParseException; +exports.arrayByteLength = arrayByteLength; +exports.arraysToBytes = arraysToBytes; +exports.assert = assert; +exports.bytesToString = bytesToString; +exports.createBlob = createBlob; +exports.createPromiseCapability = createPromiseCapability; +exports.createObjectURL = createObjectURL; +exports.deprecated = deprecated; +exports.error = error; +exports.getLookupTableFactory = getLookupTableFactory; +exports.getVerbosityLevel = getVerbosityLevel; +exports.globalScope = globalScope; +exports.info = info; +exports.isArray = isArray; +exports.isArrayBuffer = isArrayBuffer; +exports.isBool = isBool; +exports.isEmptyObj = isEmptyObj; +exports.isInt = isInt; +exports.isNum = isNum; +exports.isString = isString; +exports.isSpace = isSpace; +exports.isNodeJS = isNodeJS; +exports.isSameOrigin = isSameOrigin; +exports.createValidAbsoluteUrl = createValidAbsoluteUrl; +exports.isLittleEndian = isLittleEndian; +exports.isEvalSupported = isEvalSupported; +exports.loadJpegStream = loadJpegStream; +exports.log2 = log2; +exports.readInt8 = readInt8; +exports.readUint16 = readUint16; +exports.readUint32 = readUint32; +exports.removeNullCharacters = removeNullCharacters; +exports.setVerbosityLevel = setVerbosityLevel; +exports.shadow = shadow; +exports.string32 = string32; +exports.stringToBytes = stringToBytes; +exports.stringToPDFString = stringToPDFString; +exports.stringToUTF8String = stringToUTF8String; +exports.utf8StringToString = utf8StringToString; +exports.warn = warn; +/* WEBPACK VAR INJECTION */}.call(exports, __w_pdfjs_require__(9))) + +/***/ }), +/* 1 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var isArray = sharedUtil.isArray; +var EOF = {}; +var Name = function NameClosure() { + function Name(name) { + this.name = name; + } + Name.prototype = {}; + var nameCache = Object.create(null); + Name.get = function Name_get(name) { + var nameValue = nameCache[name]; + return nameValue ? nameValue : nameCache[name] = new Name(name); + }; + return Name; +}(); +var Cmd = function CmdClosure() { + function Cmd(cmd) { + this.cmd = cmd; + } + Cmd.prototype = {}; + var cmdCache = Object.create(null); + Cmd.get = function Cmd_get(cmd) { + var cmdValue = cmdCache[cmd]; + return cmdValue ? cmdValue : cmdCache[cmd] = new Cmd(cmd); + }; + return Cmd; +}(); +var Dict = function DictClosure() { + var nonSerializable = function nonSerializableClosure() { + return nonSerializable; + }; + function Dict(xref) { + this.map = Object.create(null); + this.xref = xref; + this.objId = null; + this.suppressEncryption = false; + this.__nonSerializable__ = nonSerializable; + } + Dict.prototype = { + assignXref: function Dict_assignXref(newXref) { + this.xref = newXref; + }, + get: function Dict_get(key1, key2, key3) { + var value; + var xref = this.xref, suppressEncryption = this.suppressEncryption; + if (typeof (value = this.map[key1]) !== 'undefined' || key1 in this.map || typeof key2 === 'undefined') { + return xref ? xref.fetchIfRef(value, suppressEncryption) : value; + } + if (typeof (value = this.map[key2]) !== 'undefined' || key2 in this.map || typeof key3 === 'undefined') { + return xref ? xref.fetchIfRef(value, suppressEncryption) : value; + } + value = this.map[key3] || null; + return xref ? xref.fetchIfRef(value, suppressEncryption) : value; + }, + getAsync: function Dict_getAsync(key1, key2, key3) { + var value; + var xref = this.xref, suppressEncryption = this.suppressEncryption; + if (typeof (value = this.map[key1]) !== 'undefined' || key1 in this.map || typeof key2 === 'undefined') { + if (xref) { + return xref.fetchIfRefAsync(value, suppressEncryption); + } + return Promise.resolve(value); + } + if (typeof (value = this.map[key2]) !== 'undefined' || key2 in this.map || typeof key3 === 'undefined') { + if (xref) { + return xref.fetchIfRefAsync(value, suppressEncryption); + } + return Promise.resolve(value); + } + value = this.map[key3] || null; + if (xref) { + return xref.fetchIfRefAsync(value, suppressEncryption); + } + return Promise.resolve(value); + }, + getArray: function Dict_getArray(key1, key2, key3) { + var value = this.get(key1, key2, key3); + var xref = this.xref, suppressEncryption = this.suppressEncryption; + if (!isArray(value) || !xref) { + return value; + } + value = value.slice(); + for (var i = 0, ii = value.length; i < ii; i++) { + if (!isRef(value[i])) { + continue; + } + value[i] = xref.fetch(value[i], suppressEncryption); + } + return value; + }, + getRaw: function Dict_getRaw(key) { + return this.map[key]; + }, + getKeys: function Dict_getKeys() { + return Object.keys(this.map); + }, + set: function Dict_set(key, value) { + this.map[key] = value; + }, + has: function Dict_has(key) { + return key in this.map; + }, + forEach: function Dict_forEach(callback) { + for (var key in this.map) { + callback(key, this.get(key)); + } + } + }; + Dict.empty = new Dict(null); + Dict.merge = function Dict_merge(xref, dictArray) { + var mergedDict = new Dict(xref); + for (var i = 0, ii = dictArray.length; i < ii; i++) { + var dict = dictArray[i]; + if (!isDict(dict)) { + continue; + } + for (var keyName in dict.map) { + if (mergedDict.map[keyName]) { + continue; + } + mergedDict.map[keyName] = dict.map[keyName]; + } + } + return mergedDict; + }; + return Dict; +}(); +var Ref = function RefClosure() { + function Ref(num, gen) { + this.num = num; + this.gen = gen; + } + Ref.prototype = { + toString: function Ref_toString() { + var str = this.num + 'R'; + if (this.gen !== 0) { + str += this.gen; + } + return str; + } + }; + return Ref; +}(); +var RefSet = function RefSetClosure() { + function RefSet() { + this.dict = Object.create(null); + } + RefSet.prototype = { + has: function RefSet_has(ref) { + return ref.toString() in this.dict; + }, + put: function RefSet_put(ref) { + this.dict[ref.toString()] = true; + }, + remove: function RefSet_remove(ref) { + delete this.dict[ref.toString()]; + } + }; + return RefSet; +}(); +var RefSetCache = function RefSetCacheClosure() { + function RefSetCache() { + this.dict = Object.create(null); + } + RefSetCache.prototype = { + get: function RefSetCache_get(ref) { + return this.dict[ref.toString()]; + }, + has: function RefSetCache_has(ref) { + return ref.toString() in this.dict; + }, + put: function RefSetCache_put(ref, obj) { + this.dict[ref.toString()] = obj; + }, + putAlias: function RefSetCache_putAlias(ref, aliasRef) { + this.dict[ref.toString()] = this.get(aliasRef); + }, + forEach: function RefSetCache_forEach(fn, thisArg) { + for (var i in this.dict) { + fn.call(thisArg, this.dict[i]); + } + }, + clear: function RefSetCache_clear() { + this.dict = Object.create(null); + } + }; + return RefSetCache; +}(); +function isEOF(v) { + return v === EOF; +} +function isName(v, name) { + return v instanceof Name && (name === undefined || v.name === name); +} +function isCmd(v, cmd) { + return v instanceof Cmd && (cmd === undefined || v.cmd === cmd); +} +function isDict(v, type) { + return v instanceof Dict && (type === undefined || isName(v.get('Type'), type)); +} +function isRef(v) { + return v instanceof Ref; +} +function isRefsEqual(v1, v2) { + return v1.num === v2.num && v1.gen === v2.gen; +} +function isStream(v) { + return typeof v === 'object' && v !== null && v.getBytes !== undefined; +} +exports.EOF = EOF; +exports.Cmd = Cmd; +exports.Dict = Dict; +exports.Name = Name; +exports.Ref = Ref; +exports.RefSet = RefSet; +exports.RefSetCache = RefSetCache; +exports.isEOF = isEOF; +exports.isCmd = isCmd; +exports.isDict = isDict; +exports.isName = isName; +exports.isRef = isRef; +exports.isRefsEqual = isRefsEqual; +exports.isStream = isStream; + +/***/ }), +/* 2 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreJbig2 = __w_pdfjs_require__(28); +var coreJpg = __w_pdfjs_require__(29); +var coreJpx = __w_pdfjs_require__(15); +var Util = sharedUtil.Util; +var error = sharedUtil.error; +var info = sharedUtil.info; +var isInt = sharedUtil.isInt; +var isArray = sharedUtil.isArray; +var createObjectURL = sharedUtil.createObjectURL; +var shadow = sharedUtil.shadow; +var isSpace = sharedUtil.isSpace; +var Dict = corePrimitives.Dict; +var isDict = corePrimitives.isDict; +var isStream = corePrimitives.isStream; +var Jbig2Image = coreJbig2.Jbig2Image; +var JpegImage = coreJpg.JpegImage; +var JpxImage = coreJpx.JpxImage; +var Stream = function StreamClosure() { + function Stream(arrayBuffer, start, length, dict) { + this.bytes = arrayBuffer instanceof Uint8Array ? arrayBuffer : new Uint8Array(arrayBuffer); + this.start = start || 0; + this.pos = this.start; + this.end = start + length || this.bytes.length; + this.dict = dict; + } + Stream.prototype = { + get length() { + return this.end - this.start; + }, + get isEmpty() { + return this.length === 0; + }, + getByte: function Stream_getByte() { + if (this.pos >= this.end) { + return -1; + } + return this.bytes[this.pos++]; + }, + getUint16: function Stream_getUint16() { + var b0 = this.getByte(); + var b1 = this.getByte(); + if (b0 === -1 || b1 === -1) { + return -1; + } + return (b0 << 8) + b1; + }, + getInt32: function Stream_getInt32() { + var b0 = this.getByte(); + var b1 = this.getByte(); + var b2 = this.getByte(); + var b3 = this.getByte(); + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + }, + getBytes: function Stream_getBytes(length) { + var bytes = this.bytes; + var pos = this.pos; + var strEnd = this.end; + if (!length) { + return bytes.subarray(pos, strEnd); + } + var end = pos + length; + if (end > strEnd) { + end = strEnd; + } + this.pos = end; + return bytes.subarray(pos, end); + }, + peekByte: function Stream_peekByte() { + var peekedByte = this.getByte(); + this.pos--; + return peekedByte; + }, + peekBytes: function Stream_peekBytes(length) { + var bytes = this.getBytes(length); + this.pos -= bytes.length; + return bytes; + }, + skip: function Stream_skip(n) { + if (!n) { + n = 1; + } + this.pos += n; + }, + reset: function Stream_reset() { + this.pos = this.start; + }, + moveStart: function Stream_moveStart() { + this.start = this.pos; + }, + makeSubStream: function Stream_makeSubStream(start, length, dict) { + return new Stream(this.bytes.buffer, start, length, dict); + } + }; + return Stream; +}(); +var StringStream = function StringStreamClosure() { + function StringStream(str) { + var length = str.length; + var bytes = new Uint8Array(length); + for (var n = 0; n < length; ++n) { + bytes[n] = str.charCodeAt(n); + } + Stream.call(this, bytes); + } + StringStream.prototype = Stream.prototype; + return StringStream; +}(); +var DecodeStream = function DecodeStreamClosure() { + var emptyBuffer = new Uint8Array(0); + function DecodeStream(maybeMinBufferLength) { + this.pos = 0; + this.bufferLength = 0; + this.eof = false; + this.buffer = emptyBuffer; + this.minBufferLength = 512; + if (maybeMinBufferLength) { + while (this.minBufferLength < maybeMinBufferLength) { + this.minBufferLength *= 2; + } + } + } + DecodeStream.prototype = { + get isEmpty() { + while (!this.eof && this.bufferLength === 0) { + this.readBlock(); + } + return this.bufferLength === 0; + }, + ensureBuffer: function DecodeStream_ensureBuffer(requested) { + var buffer = this.buffer; + if (requested <= buffer.byteLength) { + return buffer; + } + var size = this.minBufferLength; + while (size < requested) { + size *= 2; + } + var buffer2 = new Uint8Array(size); + buffer2.set(buffer); + return this.buffer = buffer2; + }, + getByte: function DecodeStream_getByte() { + var pos = this.pos; + while (this.bufferLength <= pos) { + if (this.eof) { + return -1; + } + this.readBlock(); + } + return this.buffer[this.pos++]; + }, + getUint16: function DecodeStream_getUint16() { + var b0 = this.getByte(); + var b1 = this.getByte(); + if (b0 === -1 || b1 === -1) { + return -1; + } + return (b0 << 8) + b1; + }, + getInt32: function DecodeStream_getInt32() { + var b0 = this.getByte(); + var b1 = this.getByte(); + var b2 = this.getByte(); + var b3 = this.getByte(); + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + }, + getBytes: function DecodeStream_getBytes(length) { + var end, pos = this.pos; + if (length) { + this.ensureBuffer(pos + length); + end = pos + length; + while (!this.eof && this.bufferLength < end) { + this.readBlock(); + } + var bufEnd = this.bufferLength; + if (end > bufEnd) { + end = bufEnd; + } + } else { + while (!this.eof) { + this.readBlock(); + } + end = this.bufferLength; + } + this.pos = end; + return this.buffer.subarray(pos, end); + }, + peekByte: function DecodeStream_peekByte() { + var peekedByte = this.getByte(); + this.pos--; + return peekedByte; + }, + peekBytes: function DecodeStream_peekBytes(length) { + var bytes = this.getBytes(length); + this.pos -= bytes.length; + return bytes; + }, + makeSubStream: function DecodeStream_makeSubStream(start, length, dict) { + var end = start + length; + while (this.bufferLength <= end && !this.eof) { + this.readBlock(); + } + return new Stream(this.buffer, start, length, dict); + }, + skip: function DecodeStream_skip(n) { + if (!n) { + n = 1; + } + this.pos += n; + }, + reset: function DecodeStream_reset() { + this.pos = 0; + }, + getBaseStreams: function DecodeStream_getBaseStreams() { + if (this.str && this.str.getBaseStreams) { + return this.str.getBaseStreams(); + } + return []; + } + }; + return DecodeStream; +}(); +var StreamsSequenceStream = function StreamsSequenceStreamClosure() { + function StreamsSequenceStream(streams) { + this.streams = streams; + DecodeStream.call(this, null); + } + StreamsSequenceStream.prototype = Object.create(DecodeStream.prototype); + StreamsSequenceStream.prototype.readBlock = function streamSequenceStreamReadBlock() { + var streams = this.streams; + if (streams.length === 0) { + this.eof = true; + return; + } + var stream = streams.shift(); + var chunk = stream.getBytes(); + var bufferLength = this.bufferLength; + var newLength = bufferLength + chunk.length; + var buffer = this.ensureBuffer(newLength); + buffer.set(chunk, bufferLength); + this.bufferLength = newLength; + }; + StreamsSequenceStream.prototype.getBaseStreams = function StreamsSequenceStream_getBaseStreams() { + var baseStreams = []; + for (var i = 0, ii = this.streams.length; i < ii; i++) { + var stream = this.streams[i]; + if (stream.getBaseStreams) { + Util.appendToArray(baseStreams, stream.getBaseStreams()); + } + } + return baseStreams; + }; + return StreamsSequenceStream; +}(); +var FlateStream = function FlateStreamClosure() { + var codeLenCodeMap = new Int32Array([ + 16, + 17, + 18, + 0, + 8, + 7, + 9, + 6, + 10, + 5, + 11, + 4, + 12, + 3, + 13, + 2, + 14, + 1, + 15 + ]); + var lengthDecode = new Int32Array([ + 0x00003, + 0x00004, + 0x00005, + 0x00006, + 0x00007, + 0x00008, + 0x00009, + 0x0000a, + 0x1000b, + 0x1000d, + 0x1000f, + 0x10011, + 0x20013, + 0x20017, + 0x2001b, + 0x2001f, + 0x30023, + 0x3002b, + 0x30033, + 0x3003b, + 0x40043, + 0x40053, + 0x40063, + 0x40073, + 0x50083, + 0x500a3, + 0x500c3, + 0x500e3, + 0x00102, + 0x00102, + 0x00102 + ]); + var distDecode = new Int32Array([ + 0x00001, + 0x00002, + 0x00003, + 0x00004, + 0x10005, + 0x10007, + 0x20009, + 0x2000d, + 0x30011, + 0x30019, + 0x40021, + 0x40031, + 0x50041, + 0x50061, + 0x60081, + 0x600c1, + 0x70101, + 0x70181, + 0x80201, + 0x80301, + 0x90401, + 0x90601, + 0xa0801, + 0xa0c01, + 0xb1001, + 0xb1801, + 0xc2001, + 0xc3001, + 0xd4001, + 0xd6001 + ]); + var fixedLitCodeTab = [ + new Int32Array([ + 0x70100, + 0x80050, + 0x80010, + 0x80118, + 0x70110, + 0x80070, + 0x80030, + 0x900c0, + 0x70108, + 0x80060, + 0x80020, + 0x900a0, + 0x80000, + 0x80080, + 0x80040, + 0x900e0, + 0x70104, + 0x80058, + 0x80018, + 0x90090, + 0x70114, + 0x80078, + 0x80038, + 0x900d0, + 0x7010c, + 0x80068, + 0x80028, + 0x900b0, + 0x80008, + 0x80088, + 0x80048, + 0x900f0, + 0x70102, + 0x80054, + 0x80014, + 0x8011c, + 0x70112, + 0x80074, + 0x80034, + 0x900c8, + 0x7010a, + 0x80064, + 0x80024, + 0x900a8, + 0x80004, + 0x80084, + 0x80044, + 0x900e8, + 0x70106, + 0x8005c, + 0x8001c, + 0x90098, + 0x70116, + 0x8007c, + 0x8003c, + 0x900d8, + 0x7010e, + 0x8006c, + 0x8002c, + 0x900b8, + 0x8000c, + 0x8008c, + 0x8004c, + 0x900f8, + 0x70101, + 0x80052, + 0x80012, + 0x8011a, + 0x70111, + 0x80072, + 0x80032, + 0x900c4, + 0x70109, + 0x80062, + 0x80022, + 0x900a4, + 0x80002, + 0x80082, + 0x80042, + 0x900e4, + 0x70105, + 0x8005a, + 0x8001a, + 0x90094, + 0x70115, + 0x8007a, + 0x8003a, + 0x900d4, + 0x7010d, + 0x8006a, + 0x8002a, + 0x900b4, + 0x8000a, + 0x8008a, + 0x8004a, + 0x900f4, + 0x70103, + 0x80056, + 0x80016, + 0x8011e, + 0x70113, + 0x80076, + 0x80036, + 0x900cc, + 0x7010b, + 0x80066, + 0x80026, + 0x900ac, + 0x80006, + 0x80086, + 0x80046, + 0x900ec, + 0x70107, + 0x8005e, + 0x8001e, + 0x9009c, + 0x70117, + 0x8007e, + 0x8003e, + 0x900dc, + 0x7010f, + 0x8006e, + 0x8002e, + 0x900bc, + 0x8000e, + 0x8008e, + 0x8004e, + 0x900fc, + 0x70100, + 0x80051, + 0x80011, + 0x80119, + 0x70110, + 0x80071, + 0x80031, + 0x900c2, + 0x70108, + 0x80061, + 0x80021, + 0x900a2, + 0x80001, + 0x80081, + 0x80041, + 0x900e2, + 0x70104, + 0x80059, + 0x80019, + 0x90092, + 0x70114, + 0x80079, + 0x80039, + 0x900d2, + 0x7010c, + 0x80069, + 0x80029, + 0x900b2, + 0x80009, + 0x80089, + 0x80049, + 0x900f2, + 0x70102, + 0x80055, + 0x80015, + 0x8011d, + 0x70112, + 0x80075, + 0x80035, + 0x900ca, + 0x7010a, + 0x80065, + 0x80025, + 0x900aa, + 0x80005, + 0x80085, + 0x80045, + 0x900ea, + 0x70106, + 0x8005d, + 0x8001d, + 0x9009a, + 0x70116, + 0x8007d, + 0x8003d, + 0x900da, + 0x7010e, + 0x8006d, + 0x8002d, + 0x900ba, + 0x8000d, + 0x8008d, + 0x8004d, + 0x900fa, + 0x70101, + 0x80053, + 0x80013, + 0x8011b, + 0x70111, + 0x80073, + 0x80033, + 0x900c6, + 0x70109, + 0x80063, + 0x80023, + 0x900a6, + 0x80003, + 0x80083, + 0x80043, + 0x900e6, + 0x70105, + 0x8005b, + 0x8001b, + 0x90096, + 0x70115, + 0x8007b, + 0x8003b, + 0x900d6, + 0x7010d, + 0x8006b, + 0x8002b, + 0x900b6, + 0x8000b, + 0x8008b, + 0x8004b, + 0x900f6, + 0x70103, + 0x80057, + 0x80017, + 0x8011f, + 0x70113, + 0x80077, + 0x80037, + 0x900ce, + 0x7010b, + 0x80067, + 0x80027, + 0x900ae, + 0x80007, + 0x80087, + 0x80047, + 0x900ee, + 0x70107, + 0x8005f, + 0x8001f, + 0x9009e, + 0x70117, + 0x8007f, + 0x8003f, + 0x900de, + 0x7010f, + 0x8006f, + 0x8002f, + 0x900be, + 0x8000f, + 0x8008f, + 0x8004f, + 0x900fe, + 0x70100, + 0x80050, + 0x80010, + 0x80118, + 0x70110, + 0x80070, + 0x80030, + 0x900c1, + 0x70108, + 0x80060, + 0x80020, + 0x900a1, + 0x80000, + 0x80080, + 0x80040, + 0x900e1, + 0x70104, + 0x80058, + 0x80018, + 0x90091, + 0x70114, + 0x80078, + 0x80038, + 0x900d1, + 0x7010c, + 0x80068, + 0x80028, + 0x900b1, + 0x80008, + 0x80088, + 0x80048, + 0x900f1, + 0x70102, + 0x80054, + 0x80014, + 0x8011c, + 0x70112, + 0x80074, + 0x80034, + 0x900c9, + 0x7010a, + 0x80064, + 0x80024, + 0x900a9, + 0x80004, + 0x80084, + 0x80044, + 0x900e9, + 0x70106, + 0x8005c, + 0x8001c, + 0x90099, + 0x70116, + 0x8007c, + 0x8003c, + 0x900d9, + 0x7010e, + 0x8006c, + 0x8002c, + 0x900b9, + 0x8000c, + 0x8008c, + 0x8004c, + 0x900f9, + 0x70101, + 0x80052, + 0x80012, + 0x8011a, + 0x70111, + 0x80072, + 0x80032, + 0x900c5, + 0x70109, + 0x80062, + 0x80022, + 0x900a5, + 0x80002, + 0x80082, + 0x80042, + 0x900e5, + 0x70105, + 0x8005a, + 0x8001a, + 0x90095, + 0x70115, + 0x8007a, + 0x8003a, + 0x900d5, + 0x7010d, + 0x8006a, + 0x8002a, + 0x900b5, + 0x8000a, + 0x8008a, + 0x8004a, + 0x900f5, + 0x70103, + 0x80056, + 0x80016, + 0x8011e, + 0x70113, + 0x80076, + 0x80036, + 0x900cd, + 0x7010b, + 0x80066, + 0x80026, + 0x900ad, + 0x80006, + 0x80086, + 0x80046, + 0x900ed, + 0x70107, + 0x8005e, + 0x8001e, + 0x9009d, + 0x70117, + 0x8007e, + 0x8003e, + 0x900dd, + 0x7010f, + 0x8006e, + 0x8002e, + 0x900bd, + 0x8000e, + 0x8008e, + 0x8004e, + 0x900fd, + 0x70100, + 0x80051, + 0x80011, + 0x80119, + 0x70110, + 0x80071, + 0x80031, + 0x900c3, + 0x70108, + 0x80061, + 0x80021, + 0x900a3, + 0x80001, + 0x80081, + 0x80041, + 0x900e3, + 0x70104, + 0x80059, + 0x80019, + 0x90093, + 0x70114, + 0x80079, + 0x80039, + 0x900d3, + 0x7010c, + 0x80069, + 0x80029, + 0x900b3, + 0x80009, + 0x80089, + 0x80049, + 0x900f3, + 0x70102, + 0x80055, + 0x80015, + 0x8011d, + 0x70112, + 0x80075, + 0x80035, + 0x900cb, + 0x7010a, + 0x80065, + 0x80025, + 0x900ab, + 0x80005, + 0x80085, + 0x80045, + 0x900eb, + 0x70106, + 0x8005d, + 0x8001d, + 0x9009b, + 0x70116, + 0x8007d, + 0x8003d, + 0x900db, + 0x7010e, + 0x8006d, + 0x8002d, + 0x900bb, + 0x8000d, + 0x8008d, + 0x8004d, + 0x900fb, + 0x70101, + 0x80053, + 0x80013, + 0x8011b, + 0x70111, + 0x80073, + 0x80033, + 0x900c7, + 0x70109, + 0x80063, + 0x80023, + 0x900a7, + 0x80003, + 0x80083, + 0x80043, + 0x900e7, + 0x70105, + 0x8005b, + 0x8001b, + 0x90097, + 0x70115, + 0x8007b, + 0x8003b, + 0x900d7, + 0x7010d, + 0x8006b, + 0x8002b, + 0x900b7, + 0x8000b, + 0x8008b, + 0x8004b, + 0x900f7, + 0x70103, + 0x80057, + 0x80017, + 0x8011f, + 0x70113, + 0x80077, + 0x80037, + 0x900cf, + 0x7010b, + 0x80067, + 0x80027, + 0x900af, + 0x80007, + 0x80087, + 0x80047, + 0x900ef, + 0x70107, + 0x8005f, + 0x8001f, + 0x9009f, + 0x70117, + 0x8007f, + 0x8003f, + 0x900df, + 0x7010f, + 0x8006f, + 0x8002f, + 0x900bf, + 0x8000f, + 0x8008f, + 0x8004f, + 0x900ff + ]), + 9 + ]; + var fixedDistCodeTab = [ + new Int32Array([ + 0x50000, + 0x50010, + 0x50008, + 0x50018, + 0x50004, + 0x50014, + 0x5000c, + 0x5001c, + 0x50002, + 0x50012, + 0x5000a, + 0x5001a, + 0x50006, + 0x50016, + 0x5000e, + 0x00000, + 0x50001, + 0x50011, + 0x50009, + 0x50019, + 0x50005, + 0x50015, + 0x5000d, + 0x5001d, + 0x50003, + 0x50013, + 0x5000b, + 0x5001b, + 0x50007, + 0x50017, + 0x5000f, + 0x00000 + ]), + 5 + ]; + function FlateStream(str, maybeLength) { + this.str = str; + this.dict = str.dict; + var cmf = str.getByte(); + var flg = str.getByte(); + if (cmf === -1 || flg === -1) { + error('Invalid header in flate stream: ' + cmf + ', ' + flg); + } + if ((cmf & 0x0f) !== 0x08) { + error('Unknown compression method in flate stream: ' + cmf + ', ' + flg); + } + if (((cmf << 8) + flg) % 31 !== 0) { + error('Bad FCHECK in flate stream: ' + cmf + ', ' + flg); + } + if (flg & 0x20) { + error('FDICT bit set in flate stream: ' + cmf + ', ' + flg); + } + this.codeSize = 0; + this.codeBuf = 0; + DecodeStream.call(this, maybeLength); + } + FlateStream.prototype = Object.create(DecodeStream.prototype); + FlateStream.prototype.getBits = function FlateStream_getBits(bits) { + var str = this.str; + var codeSize = this.codeSize; + var codeBuf = this.codeBuf; + var b; + while (codeSize < bits) { + if ((b = str.getByte()) === -1) { + error('Bad encoding in flate stream'); + } + codeBuf |= b << codeSize; + codeSize += 8; + } + b = codeBuf & (1 << bits) - 1; + this.codeBuf = codeBuf >> bits; + this.codeSize = codeSize -= bits; + return b; + }; + FlateStream.prototype.getCode = function FlateStream_getCode(table) { + var str = this.str; + var codes = table[0]; + var maxLen = table[1]; + var codeSize = this.codeSize; + var codeBuf = this.codeBuf; + var b; + while (codeSize < maxLen) { + if ((b = str.getByte()) === -1) { + break; + } + codeBuf |= b << codeSize; + codeSize += 8; + } + var code = codes[codeBuf & (1 << maxLen) - 1]; + var codeLen = code >> 16; + var codeVal = code & 0xffff; + if (codeLen < 1 || codeSize < codeLen) { + error('Bad encoding in flate stream'); + } + this.codeBuf = codeBuf >> codeLen; + this.codeSize = codeSize - codeLen; + return codeVal; + }; + FlateStream.prototype.generateHuffmanTable = function flateStreamGenerateHuffmanTable(lengths) { + var n = lengths.length; + var maxLen = 0; + var i; + for (i = 0; i < n; ++i) { + if (lengths[i] > maxLen) { + maxLen = lengths[i]; + } + } + var size = 1 << maxLen; + var codes = new Int32Array(size); + for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) { + for (var val = 0; val < n; ++val) { + if (lengths[val] === len) { + var code2 = 0; + var t = code; + for (i = 0; i < len; ++i) { + code2 = code2 << 1 | t & 1; + t >>= 1; + } + for (i = code2; i < size; i += skip) { + codes[i] = len << 16 | val; + } + ++code; + } + } + } + return [ + codes, + maxLen + ]; + }; + FlateStream.prototype.readBlock = function FlateStream_readBlock() { + var buffer, len; + var str = this.str; + var hdr = this.getBits(3); + if (hdr & 1) { + this.eof = true; + } + hdr >>= 1; + if (hdr === 0) { + var b; + if ((b = str.getByte()) === -1) { + error('Bad block header in flate stream'); + } + var blockLen = b; + if ((b = str.getByte()) === -1) { + error('Bad block header in flate stream'); + } + blockLen |= b << 8; + if ((b = str.getByte()) === -1) { + error('Bad block header in flate stream'); + } + var check = b; + if ((b = str.getByte()) === -1) { + error('Bad block header in flate stream'); + } + check |= b << 8; + if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) { + error('Bad uncompressed block length in flate stream'); + } + this.codeBuf = 0; + this.codeSize = 0; + var bufferLength = this.bufferLength; + buffer = this.ensureBuffer(bufferLength + blockLen); + var end = bufferLength + blockLen; + this.bufferLength = end; + if (blockLen === 0) { + if (str.peekByte() === -1) { + this.eof = true; + } + } else { + for (var n = bufferLength; n < end; ++n) { + if ((b = str.getByte()) === -1) { + this.eof = true; + break; + } + buffer[n] = b; + } + } + return; + } + var litCodeTable; + var distCodeTable; + if (hdr === 1) { + litCodeTable = fixedLitCodeTab; + distCodeTable = fixedDistCodeTab; + } else if (hdr === 2) { + var numLitCodes = this.getBits(5) + 257; + var numDistCodes = this.getBits(5) + 1; + var numCodeLenCodes = this.getBits(4) + 4; + var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length); + var i; + for (i = 0; i < numCodeLenCodes; ++i) { + codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3); + } + var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths); + len = 0; + i = 0; + var codes = numLitCodes + numDistCodes; + var codeLengths = new Uint8Array(codes); + var bitsLength, bitsOffset, what; + while (i < codes) { + var code = this.getCode(codeLenCodeTab); + if (code === 16) { + bitsLength = 2; + bitsOffset = 3; + what = len; + } else if (code === 17) { + bitsLength = 3; + bitsOffset = 3; + what = len = 0; + } else if (code === 18) { + bitsLength = 7; + bitsOffset = 11; + what = len = 0; + } else { + codeLengths[i++] = len = code; + continue; + } + var repeatLength = this.getBits(bitsLength) + bitsOffset; + while (repeatLength-- > 0) { + codeLengths[i++] = what; + } + } + litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes)); + distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes)); + } else { + error('Unknown block type in flate stream'); + } + buffer = this.buffer; + var limit = buffer ? buffer.length : 0; + var pos = this.bufferLength; + while (true) { + var code1 = this.getCode(litCodeTable); + if (code1 < 256) { + if (pos + 1 >= limit) { + buffer = this.ensureBuffer(pos + 1); + limit = buffer.length; + } + buffer[pos++] = code1; + continue; + } + if (code1 === 256) { + this.bufferLength = pos; + return; + } + code1 -= 257; + code1 = lengthDecode[code1]; + var code2 = code1 >> 16; + if (code2 > 0) { + code2 = this.getBits(code2); + } + len = (code1 & 0xffff) + code2; + code1 = this.getCode(distCodeTable); + code1 = distDecode[code1]; + code2 = code1 >> 16; + if (code2 > 0) { + code2 = this.getBits(code2); + } + var dist = (code1 & 0xffff) + code2; + if (pos + len >= limit) { + buffer = this.ensureBuffer(pos + len); + limit = buffer.length; + } + for (var k = 0; k < len; ++k, ++pos) { + buffer[pos] = buffer[pos - dist]; + } + } + }; + return FlateStream; +}(); +var PredictorStream = function PredictorStreamClosure() { + function PredictorStream(str, maybeLength, params) { + if (!isDict(params)) { + return str; + } + var predictor = this.predictor = params.get('Predictor') || 1; + if (predictor <= 1) { + return str; + } + if (predictor !== 2 && (predictor < 10 || predictor > 15)) { + error('Unsupported predictor: ' + predictor); + } + if (predictor === 2) { + this.readBlock = this.readBlockTiff; + } else { + this.readBlock = this.readBlockPng; + } + this.str = str; + this.dict = str.dict; + var colors = this.colors = params.get('Colors') || 1; + var bits = this.bits = params.get('BitsPerComponent') || 8; + var columns = this.columns = params.get('Columns') || 1; + this.pixBytes = colors * bits + 7 >> 3; + this.rowBytes = columns * colors * bits + 7 >> 3; + DecodeStream.call(this, maybeLength); + return this; + } + PredictorStream.prototype = Object.create(DecodeStream.prototype); + PredictorStream.prototype.readBlockTiff = function predictorStreamReadBlockTiff() { + var rowBytes = this.rowBytes; + var bufferLength = this.bufferLength; + var buffer = this.ensureBuffer(bufferLength + rowBytes); + var bits = this.bits; + var colors = this.colors; + var rawBytes = this.str.getBytes(rowBytes); + this.eof = !rawBytes.length; + if (this.eof) { + return; + } + var inbuf = 0, outbuf = 0; + var inbits = 0, outbits = 0; + var pos = bufferLength; + var i; + if (bits === 1 && colors === 1) { + for (i = 0; i < rowBytes; ++i) { + var c = rawBytes[i] ^ inbuf; + c ^= c >> 1; + c ^= c >> 2; + c ^= c >> 4; + inbuf = (c & 1) << 7; + buffer[pos++] = c; + } + } else if (bits === 8) { + for (i = 0; i < colors; ++i) { + buffer[pos++] = rawBytes[i]; + } + for (; i < rowBytes; ++i) { + buffer[pos] = buffer[pos - colors] + rawBytes[i]; + pos++; + } + } else { + var compArray = new Uint8Array(colors + 1); + var bitMask = (1 << bits) - 1; + var j = 0, k = bufferLength; + var columns = this.columns; + for (i = 0; i < columns; ++i) { + for (var kk = 0; kk < colors; ++kk) { + if (inbits < bits) { + inbuf = inbuf << 8 | rawBytes[j++] & 0xFF; + inbits += 8; + } + compArray[kk] = compArray[kk] + (inbuf >> inbits - bits) & bitMask; + inbits -= bits; + outbuf = outbuf << bits | compArray[kk]; + outbits += bits; + if (outbits >= 8) { + buffer[k++] = outbuf >> outbits - 8 & 0xFF; + outbits -= 8; + } + } + } + if (outbits > 0) { + buffer[k++] = (outbuf << 8 - outbits) + (inbuf & (1 << 8 - outbits) - 1); + } + } + this.bufferLength += rowBytes; + }; + PredictorStream.prototype.readBlockPng = function predictorStreamReadBlockPng() { + var rowBytes = this.rowBytes; + var pixBytes = this.pixBytes; + var predictor = this.str.getByte(); + var rawBytes = this.str.getBytes(rowBytes); + this.eof = !rawBytes.length; + if (this.eof) { + return; + } + var bufferLength = this.bufferLength; + var buffer = this.ensureBuffer(bufferLength + rowBytes); + var prevRow = buffer.subarray(bufferLength - rowBytes, bufferLength); + if (prevRow.length === 0) { + prevRow = new Uint8Array(rowBytes); + } + var i, j = bufferLength, up, c; + switch (predictor) { + case 0: + for (i = 0; i < rowBytes; ++i) { + buffer[j++] = rawBytes[i]; + } + break; + case 1: + for (i = 0; i < pixBytes; ++i) { + buffer[j++] = rawBytes[i]; + } + for (; i < rowBytes; ++i) { + buffer[j] = buffer[j - pixBytes] + rawBytes[i] & 0xFF; + j++; + } + break; + case 2: + for (i = 0; i < rowBytes; ++i) { + buffer[j++] = prevRow[i] + rawBytes[i] & 0xFF; + } + break; + case 3: + for (i = 0; i < pixBytes; ++i) { + buffer[j++] = (prevRow[i] >> 1) + rawBytes[i]; + } + for (; i < rowBytes; ++i) { + buffer[j] = (prevRow[i] + buffer[j - pixBytes] >> 1) + rawBytes[i] & 0xFF; + j++; + } + break; + case 4: + for (i = 0; i < pixBytes; ++i) { + up = prevRow[i]; + c = rawBytes[i]; + buffer[j++] = up + c; + } + for (; i < rowBytes; ++i) { + up = prevRow[i]; + var upLeft = prevRow[i - pixBytes]; + var left = buffer[j - pixBytes]; + var p = left + up - upLeft; + var pa = p - left; + if (pa < 0) { + pa = -pa; + } + var pb = p - up; + if (pb < 0) { + pb = -pb; + } + var pc = p - upLeft; + if (pc < 0) { + pc = -pc; + } + c = rawBytes[i]; + if (pa <= pb && pa <= pc) { + buffer[j++] = left + c; + } else if (pb <= pc) { + buffer[j++] = up + c; + } else { + buffer[j++] = upLeft + c; + } + } + break; + default: + error('Unsupported predictor: ' + predictor); + } + this.bufferLength += rowBytes; + }; + 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 shadow(this, 'bytes', this.stream.getBytes(this.maybeLength)); + }, + configurable: true + }); + JpegStream.prototype.ensureBuffer = function JpegStream_ensureBuffer(req) { + if (this.bufferLength) { + return; + } + var jpegImage = new JpegImage(); + var decodeArr = this.dict.getArray('Decode', 'D'); + if (this.forceRGB && 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 (isDict(this.params)) { + var colorTransform = this.params.get('ColorTransform'); + if (isInt(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 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 shadow(this, 'bytes', this.stream.getBytes(this.maybeLength)); + }, + configurable: true + }); + JpxStream.prototype.ensureBuffer = function JpxStream_ensureBuffer(req) { + if (this.bufferLength) { + return; + } + var jpxImage = new 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 Uint8Array(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 Jbig2Stream = function Jbig2StreamClosure() { + function Jbig2Stream(stream, maybeLength, dict, params) { + this.stream = stream; + this.maybeLength = maybeLength; + this.dict = dict; + this.params = params; + DecodeStream.call(this, maybeLength); + } + Jbig2Stream.prototype = Object.create(DecodeStream.prototype); + Object.defineProperty(Jbig2Stream.prototype, 'bytes', { + get: function Jbig2Stream_bytes() { + return shadow(this, 'bytes', this.stream.getBytes(this.maybeLength)); + }, + configurable: true + }); + Jbig2Stream.prototype.ensureBuffer = function Jbig2Stream_ensureBuffer(req) { + if (this.bufferLength) { + return; + } + var jbig2Image = new Jbig2Image(); + var chunks = []; + if (isDict(this.params)) { + var globalsStream = this.params.get('JBIG2Globals'); + if (isStream(globalsStream)) { + var globals = globalsStream.getBytes(); + chunks.push({ + data: globals, + start: 0, + end: globals.length + }); + } + } + chunks.push({ + data: this.bytes, + start: 0, + end: this.bytes.length + }); + var data = jbig2Image.parseChunks(chunks); + var dataLength = data.length; + for (var i = 0; i < dataLength; i++) { + data[i] ^= 0xFF; + } + this.buffer = data; + this.bufferLength = dataLength; + this.eof = true; + }; + return Jbig2Stream; +}(); +var DecryptStream = function DecryptStreamClosure() { + function DecryptStream(str, maybeLength, decrypt) { + this.str = str; + this.dict = str.dict; + this.decrypt = decrypt; + this.nextChunk = null; + this.initialized = false; + DecodeStream.call(this, maybeLength); + } + var chunkSize = 512; + DecryptStream.prototype = Object.create(DecodeStream.prototype); + DecryptStream.prototype.readBlock = function DecryptStream_readBlock() { + var chunk; + if (this.initialized) { + chunk = this.nextChunk; + } else { + chunk = this.str.getBytes(chunkSize); + this.initialized = true; + } + if (!chunk || chunk.length === 0) { + this.eof = true; + return; + } + this.nextChunk = this.str.getBytes(chunkSize); + var hasMoreData = this.nextChunk && this.nextChunk.length > 0; + var decrypt = this.decrypt; + chunk = decrypt(chunk, !hasMoreData); + var bufferLength = this.bufferLength; + var i, n = chunk.length; + var buffer = this.ensureBuffer(bufferLength + n); + for (i = 0; i < n; i++) { + buffer[bufferLength++] = chunk[i]; + } + this.bufferLength = bufferLength; + }; + return DecryptStream; +}(); +var Ascii85Stream = function Ascii85StreamClosure() { + function Ascii85Stream(str, maybeLength) { + this.str = str; + this.dict = str.dict; + this.input = new Uint8Array(5); + if (maybeLength) { + maybeLength = 0.8 * maybeLength; + } + DecodeStream.call(this, maybeLength); + } + Ascii85Stream.prototype = Object.create(DecodeStream.prototype); + Ascii85Stream.prototype.readBlock = function Ascii85Stream_readBlock() { + var TILDA_CHAR = 0x7E; + var Z_LOWER_CHAR = 0x7A; + var EOF = -1; + var str = this.str; + var c = str.getByte(); + while (isSpace(c)) { + c = str.getByte(); + } + if (c === EOF || c === TILDA_CHAR) { + this.eof = true; + return; + } + var bufferLength = this.bufferLength, buffer; + var i; + if (c === Z_LOWER_CHAR) { + buffer = this.ensureBuffer(bufferLength + 4); + for (i = 0; i < 4; ++i) { + buffer[bufferLength + i] = 0; + } + this.bufferLength += 4; + } else { + var input = this.input; + input[0] = c; + for (i = 1; i < 5; ++i) { + c = str.getByte(); + while (isSpace(c)) { + c = str.getByte(); + } + input[i] = c; + if (c === EOF || c === TILDA_CHAR) { + break; + } + } + buffer = this.ensureBuffer(bufferLength + i - 1); + this.bufferLength += i - 1; + if (i < 5) { + for (; i < 5; ++i) { + input[i] = 0x21 + 84; + } + this.eof = true; + } + var t = 0; + for (i = 0; i < 5; ++i) { + t = t * 85 + (input[i] - 0x21); + } + for (i = 3; i >= 0; --i) { + buffer[bufferLength + i] = t & 0xFF; + t >>= 8; + } + } + }; + return Ascii85Stream; +}(); +var AsciiHexStream = function AsciiHexStreamClosure() { + function AsciiHexStream(str, maybeLength) { + this.str = str; + this.dict = str.dict; + this.firstDigit = -1; + if (maybeLength) { + maybeLength = 0.5 * maybeLength; + } + DecodeStream.call(this, maybeLength); + } + AsciiHexStream.prototype = Object.create(DecodeStream.prototype); + AsciiHexStream.prototype.readBlock = function AsciiHexStream_readBlock() { + var UPSTREAM_BLOCK_SIZE = 8000; + var bytes = this.str.getBytes(UPSTREAM_BLOCK_SIZE); + if (!bytes.length) { + this.eof = true; + return; + } + var maxDecodeLength = bytes.length + 1 >> 1; + var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength); + var bufferLength = this.bufferLength; + var firstDigit = this.firstDigit; + for (var i = 0, ii = bytes.length; i < ii; i++) { + var ch = bytes[i], digit; + if (ch >= 0x30 && ch <= 0x39) { + digit = ch & 0x0F; + } else if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) { + digit = (ch & 0x0F) + 9; + } else if (ch === 0x3E) { + this.eof = true; + break; + } else { + continue; + } + if (firstDigit < 0) { + firstDigit = digit; + } else { + buffer[bufferLength++] = firstDigit << 4 | digit; + firstDigit = -1; + } + } + if (firstDigit >= 0 && this.eof) { + buffer[bufferLength++] = firstDigit << 4; + firstDigit = -1; + } + this.firstDigit = firstDigit; + this.bufferLength = bufferLength; + }; + return AsciiHexStream; +}(); +var RunLengthStream = function RunLengthStreamClosure() { + function RunLengthStream(str, maybeLength) { + this.str = str; + this.dict = str.dict; + DecodeStream.call(this, maybeLength); + } + RunLengthStream.prototype = Object.create(DecodeStream.prototype); + RunLengthStream.prototype.readBlock = function RunLengthStream_readBlock() { + var repeatHeader = this.str.getBytes(2); + if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) { + this.eof = true; + return; + } + var buffer; + var bufferLength = this.bufferLength; + var n = repeatHeader[0]; + if (n < 128) { + buffer = this.ensureBuffer(bufferLength + n + 1); + buffer[bufferLength++] = repeatHeader[1]; + if (n > 0) { + var source = this.str.getBytes(n); + buffer.set(source, bufferLength); + bufferLength += n; + } + } else { + n = 257 - n; + var b = repeatHeader[1]; + buffer = this.ensureBuffer(bufferLength + n + 1); + for (var i = 0; i < n; i++) { + buffer[bufferLength++] = b; + } + } + this.bufferLength = bufferLength; + }; + return RunLengthStream; +}(); +var CCITTFaxStream = function CCITTFaxStreamClosure() { + var ccittEOL = -2; + var ccittEOF = -1; + var twoDimPass = 0; + var twoDimHoriz = 1; + var twoDimVert0 = 2; + var twoDimVertR1 = 3; + var twoDimVertL1 = 4; + var twoDimVertR2 = 5; + var twoDimVertL2 = 6; + var twoDimVertR3 = 7; + var twoDimVertL3 = 8; + var twoDimTable = [ + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 7, + twoDimVertL3 + ], + [ + 7, + twoDimVertR3 + ], + [ + 6, + twoDimVertL2 + ], + [ + 6, + twoDimVertL2 + ], + [ + 6, + twoDimVertR2 + ], + [ + 6, + twoDimVertR2 + ], + [ + 4, + twoDimPass + ], + [ + 4, + twoDimPass + ], + [ + 4, + twoDimPass + ], + [ + 4, + twoDimPass + ], + [ + 4, + twoDimPass + ], + [ + 4, + twoDimPass + ], + [ + 4, + twoDimPass + ], + [ + 4, + twoDimPass + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimHoriz + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertL1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 3, + twoDimVertR1 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ], + [ + 1, + twoDimVert0 + ] + ]; + var whiteTable1 = [ + [ + -1, + -1 + ], + [ + 12, + ccittEOL + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 11, + 1792 + ], + [ + 11, + 1792 + ], + [ + 12, + 1984 + ], + [ + 12, + 2048 + ], + [ + 12, + 2112 + ], + [ + 12, + 2176 + ], + [ + 12, + 2240 + ], + [ + 12, + 2304 + ], + [ + 11, + 1856 + ], + [ + 11, + 1856 + ], + [ + 11, + 1920 + ], + [ + 11, + 1920 + ], + [ + 12, + 2368 + ], + [ + 12, + 2432 + ], + [ + 12, + 2496 + ], + [ + 12, + 2560 + ] + ]; + var whiteTable2 = [ + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 8, + 29 + ], + [ + 8, + 29 + ], + [ + 8, + 30 + ], + [ + 8, + 30 + ], + [ + 8, + 45 + ], + [ + 8, + 45 + ], + [ + 8, + 46 + ], + [ + 8, + 46 + ], + [ + 7, + 22 + ], + [ + 7, + 22 + ], + [ + 7, + 22 + ], + [ + 7, + 22 + ], + [ + 7, + 23 + ], + [ + 7, + 23 + ], + [ + 7, + 23 + ], + [ + 7, + 23 + ], + [ + 8, + 47 + ], + [ + 8, + 47 + ], + [ + 8, + 48 + ], + [ + 8, + 48 + ], + [ + 6, + 13 + ], + [ + 6, + 13 + ], + [ + 6, + 13 + ], + [ + 6, + 13 + ], + [ + 6, + 13 + ], + [ + 6, + 13 + ], + [ + 6, + 13 + ], + [ + 6, + 13 + ], + [ + 7, + 20 + ], + [ + 7, + 20 + ], + [ + 7, + 20 + ], + [ + 7, + 20 + ], + [ + 8, + 33 + ], + [ + 8, + 33 + ], + [ + 8, + 34 + ], + [ + 8, + 34 + ], + [ + 8, + 35 + ], + [ + 8, + 35 + ], + [ + 8, + 36 + ], + [ + 8, + 36 + ], + [ + 8, + 37 + ], + [ + 8, + 37 + ], + [ + 8, + 38 + ], + [ + 8, + 38 + ], + [ + 7, + 19 + ], + [ + 7, + 19 + ], + [ + 7, + 19 + ], + [ + 7, + 19 + ], + [ + 8, + 31 + ], + [ + 8, + 31 + ], + [ + 8, + 32 + ], + [ + 8, + 32 + ], + [ + 6, + 1 + ], + [ + 6, + 1 + ], + [ + 6, + 1 + ], + [ + 6, + 1 + ], + [ + 6, + 1 + ], + [ + 6, + 1 + ], + [ + 6, + 1 + ], + [ + 6, + 1 + ], + [ + 6, + 12 + ], + [ + 6, + 12 + ], + [ + 6, + 12 + ], + [ + 6, + 12 + ], + [ + 6, + 12 + ], + [ + 6, + 12 + ], + [ + 6, + 12 + ], + [ + 6, + 12 + ], + [ + 8, + 53 + ], + [ + 8, + 53 + ], + [ + 8, + 54 + ], + [ + 8, + 54 + ], + [ + 7, + 26 + ], + [ + 7, + 26 + ], + [ + 7, + 26 + ], + [ + 7, + 26 + ], + [ + 8, + 39 + ], + [ + 8, + 39 + ], + [ + 8, + 40 + ], + [ + 8, + 40 + ], + [ + 8, + 41 + ], + [ + 8, + 41 + ], + [ + 8, + 42 + ], + [ + 8, + 42 + ], + [ + 8, + 43 + ], + [ + 8, + 43 + ], + [ + 8, + 44 + ], + [ + 8, + 44 + ], + [ + 7, + 21 + ], + [ + 7, + 21 + ], + [ + 7, + 21 + ], + [ + 7, + 21 + ], + [ + 7, + 28 + ], + [ + 7, + 28 + ], + [ + 7, + 28 + ], + [ + 7, + 28 + ], + [ + 8, + 61 + ], + [ + 8, + 61 + ], + [ + 8, + 62 + ], + [ + 8, + 62 + ], + [ + 8, + 63 + ], + [ + 8, + 63 + ], + [ + 8, + 0 + ], + [ + 8, + 0 + ], + [ + 8, + 320 + ], + [ + 8, + 320 + ], + [ + 8, + 384 + ], + [ + 8, + 384 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 10 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 5, + 11 + ], + [ + 7, + 27 + ], + [ + 7, + 27 + ], + [ + 7, + 27 + ], + [ + 7, + 27 + ], + [ + 8, + 59 + ], + [ + 8, + 59 + ], + [ + 8, + 60 + ], + [ + 8, + 60 + ], + [ + 9, + 1472 + ], + [ + 9, + 1536 + ], + [ + 9, + 1600 + ], + [ + 9, + 1728 + ], + [ + 7, + 18 + ], + [ + 7, + 18 + ], + [ + 7, + 18 + ], + [ + 7, + 18 + ], + [ + 7, + 24 + ], + [ + 7, + 24 + ], + [ + 7, + 24 + ], + [ + 7, + 24 + ], + [ + 8, + 49 + ], + [ + 8, + 49 + ], + [ + 8, + 50 + ], + [ + 8, + 50 + ], + [ + 8, + 51 + ], + [ + 8, + 51 + ], + [ + 8, + 52 + ], + [ + 8, + 52 + ], + [ + 7, + 25 + ], + [ + 7, + 25 + ], + [ + 7, + 25 + ], + [ + 7, + 25 + ], + [ + 8, + 55 + ], + [ + 8, + 55 + ], + [ + 8, + 56 + ], + [ + 8, + 56 + ], + [ + 8, + 57 + ], + [ + 8, + 57 + ], + [ + 8, + 58 + ], + [ + 8, + 58 + ], + [ + 6, + 192 + ], + [ + 6, + 192 + ], + [ + 6, + 192 + ], + [ + 6, + 192 + ], + [ + 6, + 192 + ], + [ + 6, + 192 + ], + [ + 6, + 192 + ], + [ + 6, + 192 + ], + [ + 6, + 1664 + ], + [ + 6, + 1664 + ], + [ + 6, + 1664 + ], + [ + 6, + 1664 + ], + [ + 6, + 1664 + ], + [ + 6, + 1664 + ], + [ + 6, + 1664 + ], + [ + 6, + 1664 + ], + [ + 8, + 448 + ], + [ + 8, + 448 + ], + [ + 8, + 512 + ], + [ + 8, + 512 + ], + [ + 9, + 704 + ], + [ + 9, + 768 + ], + [ + 8, + 640 + ], + [ + 8, + 640 + ], + [ + 8, + 576 + ], + [ + 8, + 576 + ], + [ + 9, + 832 + ], + [ + 9, + 896 + ], + [ + 9, + 960 + ], + [ + 9, + 1024 + ], + [ + 9, + 1088 + ], + [ + 9, + 1152 + ], + [ + 9, + 1216 + ], + [ + 9, + 1280 + ], + [ + 9, + 1344 + ], + [ + 9, + 1408 + ], + [ + 7, + 256 + ], + [ + 7, + 256 + ], + [ + 7, + 256 + ], + [ + 7, + 256 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 2 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 4, + 3 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 128 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 8 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 5, + 9 + ], + [ + 6, + 16 + ], + [ + 6, + 16 + ], + [ + 6, + 16 + ], + [ + 6, + 16 + ], + [ + 6, + 16 + ], + [ + 6, + 16 + ], + [ + 6, + 16 + ], + [ + 6, + 16 + ], + [ + 6, + 17 + ], + [ + 6, + 17 + ], + [ + 6, + 17 + ], + [ + 6, + 17 + ], + [ + 6, + 17 + ], + [ + 6, + 17 + ], + [ + 6, + 17 + ], + [ + 6, + 17 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 4 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 6, + 14 + ], + [ + 6, + 14 + ], + [ + 6, + 14 + ], + [ + 6, + 14 + ], + [ + 6, + 14 + ], + [ + 6, + 14 + ], + [ + 6, + 14 + ], + [ + 6, + 14 + ], + [ + 6, + 15 + ], + [ + 6, + 15 + ], + [ + 6, + 15 + ], + [ + 6, + 15 + ], + [ + 6, + 15 + ], + [ + 6, + 15 + ], + [ + 6, + 15 + ], + [ + 6, + 15 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 5, + 64 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ], + [ + 4, + 7 + ] + ]; + var blackTable1 = [ + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 12, + ccittEOL + ], + [ + 12, + ccittEOL + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 11, + 1792 + ], + [ + 11, + 1792 + ], + [ + 11, + 1792 + ], + [ + 11, + 1792 + ], + [ + 12, + 1984 + ], + [ + 12, + 1984 + ], + [ + 12, + 2048 + ], + [ + 12, + 2048 + ], + [ + 12, + 2112 + ], + [ + 12, + 2112 + ], + [ + 12, + 2176 + ], + [ + 12, + 2176 + ], + [ + 12, + 2240 + ], + [ + 12, + 2240 + ], + [ + 12, + 2304 + ], + [ + 12, + 2304 + ], + [ + 11, + 1856 + ], + [ + 11, + 1856 + ], + [ + 11, + 1856 + ], + [ + 11, + 1856 + ], + [ + 11, + 1920 + ], + [ + 11, + 1920 + ], + [ + 11, + 1920 + ], + [ + 11, + 1920 + ], + [ + 12, + 2368 + ], + [ + 12, + 2368 + ], + [ + 12, + 2432 + ], + [ + 12, + 2432 + ], + [ + 12, + 2496 + ], + [ + 12, + 2496 + ], + [ + 12, + 2560 + ], + [ + 12, + 2560 + ], + [ + 10, + 18 + ], + [ + 10, + 18 + ], + [ + 10, + 18 + ], + [ + 10, + 18 + ], + [ + 10, + 18 + ], + [ + 10, + 18 + ], + [ + 10, + 18 + ], + [ + 10, + 18 + ], + [ + 12, + 52 + ], + [ + 12, + 52 + ], + [ + 13, + 640 + ], + [ + 13, + 704 + ], + [ + 13, + 768 + ], + [ + 13, + 832 + ], + [ + 12, + 55 + ], + [ + 12, + 55 + ], + [ + 12, + 56 + ], + [ + 12, + 56 + ], + [ + 13, + 1280 + ], + [ + 13, + 1344 + ], + [ + 13, + 1408 + ], + [ + 13, + 1472 + ], + [ + 12, + 59 + ], + [ + 12, + 59 + ], + [ + 12, + 60 + ], + [ + 12, + 60 + ], + [ + 13, + 1536 + ], + [ + 13, + 1600 + ], + [ + 11, + 24 + ], + [ + 11, + 24 + ], + [ + 11, + 24 + ], + [ + 11, + 24 + ], + [ + 11, + 25 + ], + [ + 11, + 25 + ], + [ + 11, + 25 + ], + [ + 11, + 25 + ], + [ + 13, + 1664 + ], + [ + 13, + 1728 + ], + [ + 12, + 320 + ], + [ + 12, + 320 + ], + [ + 12, + 384 + ], + [ + 12, + 384 + ], + [ + 12, + 448 + ], + [ + 12, + 448 + ], + [ + 13, + 512 + ], + [ + 13, + 576 + ], + [ + 12, + 53 + ], + [ + 12, + 53 + ], + [ + 12, + 54 + ], + [ + 12, + 54 + ], + [ + 13, + 896 + ], + [ + 13, + 960 + ], + [ + 13, + 1024 + ], + [ + 13, + 1088 + ], + [ + 13, + 1152 + ], + [ + 13, + 1216 + ], + [ + 10, + 64 + ], + [ + 10, + 64 + ], + [ + 10, + 64 + ], + [ + 10, + 64 + ], + [ + 10, + 64 + ], + [ + 10, + 64 + ], + [ + 10, + 64 + ], + [ + 10, + 64 + ] + ]; + var blackTable2 = [ + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 8, + 13 + ], + [ + 11, + 23 + ], + [ + 11, + 23 + ], + [ + 12, + 50 + ], + [ + 12, + 51 + ], + [ + 12, + 44 + ], + [ + 12, + 45 + ], + [ + 12, + 46 + ], + [ + 12, + 47 + ], + [ + 12, + 57 + ], + [ + 12, + 58 + ], + [ + 12, + 61 + ], + [ + 12, + 256 + ], + [ + 10, + 16 + ], + [ + 10, + 16 + ], + [ + 10, + 16 + ], + [ + 10, + 16 + ], + [ + 10, + 17 + ], + [ + 10, + 17 + ], + [ + 10, + 17 + ], + [ + 10, + 17 + ], + [ + 12, + 48 + ], + [ + 12, + 49 + ], + [ + 12, + 62 + ], + [ + 12, + 63 + ], + [ + 12, + 30 + ], + [ + 12, + 31 + ], + [ + 12, + 32 + ], + [ + 12, + 33 + ], + [ + 12, + 40 + ], + [ + 12, + 41 + ], + [ + 11, + 22 + ], + [ + 11, + 22 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 8, + 14 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 10 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 7, + 11 + ], + [ + 9, + 15 + ], + [ + 9, + 15 + ], + [ + 9, + 15 + ], + [ + 9, + 15 + ], + [ + 9, + 15 + ], + [ + 9, + 15 + ], + [ + 9, + 15 + ], + [ + 9, + 15 + ], + [ + 12, + 128 + ], + [ + 12, + 192 + ], + [ + 12, + 26 + ], + [ + 12, + 27 + ], + [ + 12, + 28 + ], + [ + 12, + 29 + ], + [ + 11, + 19 + ], + [ + 11, + 19 + ], + [ + 11, + 20 + ], + [ + 11, + 20 + ], + [ + 12, + 34 + ], + [ + 12, + 35 + ], + [ + 12, + 36 + ], + [ + 12, + 37 + ], + [ + 12, + 38 + ], + [ + 12, + 39 + ], + [ + 11, + 21 + ], + [ + 11, + 21 + ], + [ + 12, + 42 + ], + [ + 12, + 43 + ], + [ + 10, + 0 + ], + [ + 10, + 0 + ], + [ + 10, + 0 + ], + [ + 10, + 0 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ], + [ + 7, + 12 + ] + ]; + var blackTable3 = [ + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + -1, + -1 + ], + [ + 6, + 9 + ], + [ + 6, + 8 + ], + [ + 5, + 7 + ], + [ + 5, + 7 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 6 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 4, + 5 + ], + [ + 3, + 1 + ], + [ + 3, + 1 + ], + [ + 3, + 1 + ], + [ + 3, + 1 + ], + [ + 3, + 1 + ], + [ + 3, + 1 + ], + [ + 3, + 1 + ], + [ + 3, + 1 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 3, + 4 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 3 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ], + [ + 2, + 2 + ] + ]; + function CCITTFaxStream(str, maybeLength, params) { + this.str = str; + this.dict = str.dict; + params = params || Dict.empty; + this.encoding = params.get('K') || 0; + this.eoline = params.get('EndOfLine') || false; + this.byteAlign = params.get('EncodedByteAlign') || false; + this.columns = params.get('Columns') || 1728; + this.rows = params.get('Rows') || 0; + var eoblock = params.get('EndOfBlock'); + if (eoblock === null || eoblock === undefined) { + eoblock = true; + } + this.eoblock = eoblock; + this.black = params.get('BlackIs1') || false; + this.codingLine = new Uint32Array(this.columns + 1); + this.refLine = new Uint32Array(this.columns + 2); + this.codingLine[0] = this.columns; + this.codingPos = 0; + this.row = 0; + this.nextLine2D = this.encoding < 0; + this.inputBits = 0; + this.inputBuf = 0; + this.outputBits = 0; + var code1; + while ((code1 = this.lookBits(12)) === 0) { + this.eatBits(1); + } + if (code1 === 1) { + this.eatBits(12); + } + if (this.encoding > 0) { + this.nextLine2D = !this.lookBits(1); + this.eatBits(1); + } + DecodeStream.call(this, maybeLength); + } + CCITTFaxStream.prototype = Object.create(DecodeStream.prototype); + CCITTFaxStream.prototype.readBlock = function CCITTFaxStream_readBlock() { + while (!this.eof) { + var c = this.lookChar(); + this.ensureBuffer(this.bufferLength + 1); + this.buffer[this.bufferLength++] = c; + } + }; + CCITTFaxStream.prototype.addPixels = function ccittFaxStreamAddPixels(a1, blackPixels) { + var codingLine = this.codingLine; + var codingPos = this.codingPos; + if (a1 > codingLine[codingPos]) { + if (a1 > this.columns) { + info('row is wrong length'); + this.err = true; + a1 = this.columns; + } + if (codingPos & 1 ^ blackPixels) { + ++codingPos; + } + codingLine[codingPos] = a1; + } + this.codingPos = codingPos; + }; + CCITTFaxStream.prototype.addPixelsNeg = function ccittFaxStreamAddPixelsNeg(a1, blackPixels) { + var codingLine = this.codingLine; + var codingPos = this.codingPos; + if (a1 > codingLine[codingPos]) { + if (a1 > this.columns) { + info('row is wrong length'); + this.err = true; + a1 = this.columns; + } + if (codingPos & 1 ^ blackPixels) { + ++codingPos; + } + codingLine[codingPos] = a1; + } else if (a1 < codingLine[codingPos]) { + if (a1 < 0) { + info('invalid code'); + this.err = true; + a1 = 0; + } + while (codingPos > 0 && a1 < codingLine[codingPos - 1]) { + --codingPos; + } + codingLine[codingPos] = a1; + } + this.codingPos = codingPos; + }; + CCITTFaxStream.prototype.lookChar = function CCITTFaxStream_lookChar() { + var refLine = this.refLine; + var codingLine = this.codingLine; + var columns = this.columns; + var refPos, blackPixels, bits, i; + if (this.outputBits === 0) { + if (this.eof) { + return null; + } + this.err = false; + var code1, code2, code3; + if (this.nextLine2D) { + for (i = 0; codingLine[i] < columns; ++i) { + refLine[i] = codingLine[i]; + } + refLine[i++] = columns; + refLine[i] = columns; + codingLine[0] = 0; + this.codingPos = 0; + refPos = 0; + blackPixels = 0; + while (codingLine[this.codingPos] < columns) { + code1 = this.getTwoDimCode(); + switch (code1) { + case twoDimPass: + this.addPixels(refLine[refPos + 1], blackPixels); + if (refLine[refPos + 1] < columns) { + refPos += 2; + } + break; + case twoDimHoriz: + code1 = code2 = 0; + if (blackPixels) { + do { + code1 += code3 = this.getBlackCode(); + } while (code3 >= 64); + do { + code2 += code3 = this.getWhiteCode(); + } while (code3 >= 64); + } else { + do { + code1 += code3 = this.getWhiteCode(); + } while (code3 >= 64); + do { + code2 += code3 = this.getBlackCode(); + } while (code3 >= 64); + } + this.addPixels(codingLine[this.codingPos] + code1, blackPixels); + if (codingLine[this.codingPos] < columns) { + this.addPixels(codingLine[this.codingPos] + code2, blackPixels ^ 1); + } + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + break; + case twoDimVertR3: + this.addPixels(refLine[refPos] + 3, blackPixels); + blackPixels ^= 1; + if (codingLine[this.codingPos] < columns) { + ++refPos; + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + } + break; + case twoDimVertR2: + this.addPixels(refLine[refPos] + 2, blackPixels); + blackPixels ^= 1; + if (codingLine[this.codingPos] < columns) { + ++refPos; + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + } + break; + case twoDimVertR1: + this.addPixels(refLine[refPos] + 1, blackPixels); + blackPixels ^= 1; + if (codingLine[this.codingPos] < columns) { + ++refPos; + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + } + break; + case twoDimVert0: + this.addPixels(refLine[refPos], blackPixels); + blackPixels ^= 1; + if (codingLine[this.codingPos] < columns) { + ++refPos; + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + } + break; + case twoDimVertL3: + this.addPixelsNeg(refLine[refPos] - 3, blackPixels); + blackPixels ^= 1; + if (codingLine[this.codingPos] < columns) { + if (refPos > 0) { + --refPos; + } else { + ++refPos; + } + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + } + break; + case twoDimVertL2: + this.addPixelsNeg(refLine[refPos] - 2, blackPixels); + blackPixels ^= 1; + if (codingLine[this.codingPos] < columns) { + if (refPos > 0) { + --refPos; + } else { + ++refPos; + } + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + } + break; + case twoDimVertL1: + this.addPixelsNeg(refLine[refPos] - 1, blackPixels); + blackPixels ^= 1; + if (codingLine[this.codingPos] < columns) { + if (refPos > 0) { + --refPos; + } else { + ++refPos; + } + while (refLine[refPos] <= codingLine[this.codingPos] && refLine[refPos] < columns) { + refPos += 2; + } + } + break; + case ccittEOF: + this.addPixels(columns, 0); + this.eof = true; + break; + default: + info('bad 2d code'); + this.addPixels(columns, 0); + this.err = true; + } + } + } else { + codingLine[0] = 0; + this.codingPos = 0; + blackPixels = 0; + while (codingLine[this.codingPos] < columns) { + code1 = 0; + if (blackPixels) { + do { + code1 += code3 = this.getBlackCode(); + } while (code3 >= 64); + } else { + do { + code1 += code3 = this.getWhiteCode(); + } while (code3 >= 64); + } + this.addPixels(codingLine[this.codingPos] + code1, blackPixels); + blackPixels ^= 1; + } + } + var gotEOL = false; + if (this.byteAlign) { + this.inputBits &= ~7; + } + if (!this.eoblock && this.row === this.rows - 1) { + this.eof = true; + } else { + code1 = this.lookBits(12); + if (this.eoline) { + while (code1 !== ccittEOF && code1 !== 1) { + this.eatBits(1); + code1 = this.lookBits(12); + } + } else { + while (code1 === 0) { + this.eatBits(1); + code1 = this.lookBits(12); + } + } + if (code1 === 1) { + this.eatBits(12); + gotEOL = true; + } else if (code1 === ccittEOF) { + this.eof = true; + } + } + if (!this.eof && this.encoding > 0) { + this.nextLine2D = !this.lookBits(1); + this.eatBits(1); + } + if (this.eoblock && gotEOL && this.byteAlign) { + code1 = this.lookBits(12); + if (code1 === 1) { + this.eatBits(12); + if (this.encoding > 0) { + this.lookBits(1); + this.eatBits(1); + } + if (this.encoding >= 0) { + for (i = 0; i < 4; ++i) { + code1 = this.lookBits(12); + if (code1 !== 1) { + info('bad rtc code: ' + code1); + } + this.eatBits(12); + if (this.encoding > 0) { + this.lookBits(1); + this.eatBits(1); + } + } + } + this.eof = true; + } + } else if (this.err && this.eoline) { + while (true) { + code1 = this.lookBits(13); + if (code1 === ccittEOF) { + this.eof = true; + return null; + } + if (code1 >> 1 === 1) { + break; + } + this.eatBits(1); + } + this.eatBits(12); + if (this.encoding > 0) { + this.eatBits(1); + this.nextLine2D = !(code1 & 1); + } + } + if (codingLine[0] > 0) { + this.outputBits = codingLine[this.codingPos = 0]; + } else { + this.outputBits = codingLine[this.codingPos = 1]; + } + this.row++; + } + var c; + if (this.outputBits >= 8) { + c = this.codingPos & 1 ? 0 : 0xFF; + this.outputBits -= 8; + if (this.outputBits === 0 && codingLine[this.codingPos] < columns) { + this.codingPos++; + this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1]; + } + } else { + bits = 8; + c = 0; + do { + if (this.outputBits > bits) { + c <<= bits; + if (!(this.codingPos & 1)) { + c |= 0xFF >> 8 - bits; + } + this.outputBits -= bits; + bits = 0; + } else { + c <<= this.outputBits; + if (!(this.codingPos & 1)) { + c |= 0xFF >> 8 - this.outputBits; + } + bits -= this.outputBits; + this.outputBits = 0; + if (codingLine[this.codingPos] < columns) { + this.codingPos++; + this.outputBits = codingLine[this.codingPos] - codingLine[this.codingPos - 1]; + } else if (bits > 0) { + c <<= bits; + bits = 0; + } + } + } while (bits); + } + if (this.black) { + c ^= 0xFF; + } + return c; + }; + CCITTFaxStream.prototype.findTableCode = function ccittFaxStreamFindTableCode(start, end, table, limit) { + var limitValue = limit || 0; + for (var i = start; i <= end; ++i) { + var code = this.lookBits(i); + if (code === ccittEOF) { + return [ + true, + 1, + false + ]; + } + if (i < end) { + code <<= end - i; + } + if (!limitValue || code >= limitValue) { + var p = table[code - limitValue]; + if (p[0] === i) { + this.eatBits(i); + return [ + true, + p[1], + true + ]; + } + } + } + return [ + false, + 0, + false + ]; + }; + CCITTFaxStream.prototype.getTwoDimCode = function ccittFaxStreamGetTwoDimCode() { + var code = 0; + var p; + if (this.eoblock) { + code = this.lookBits(7); + p = twoDimTable[code]; + if (p && p[0] > 0) { + this.eatBits(p[0]); + return p[1]; + } + } else { + var result = this.findTableCode(1, 7, twoDimTable); + if (result[0] && result[2]) { + return result[1]; + } + } + info('Bad two dim code'); + return ccittEOF; + }; + CCITTFaxStream.prototype.getWhiteCode = function ccittFaxStreamGetWhiteCode() { + var code = 0; + var p; + if (this.eoblock) { + code = this.lookBits(12); + if (code === ccittEOF) { + return 1; + } + if (code >> 5 === 0) { + p = whiteTable1[code]; + } else { + p = whiteTable2[code >> 3]; + } + if (p[0] > 0) { + this.eatBits(p[0]); + return p[1]; + } + } else { + var result = this.findTableCode(1, 9, whiteTable2); + if (result[0]) { + return result[1]; + } + result = this.findTableCode(11, 12, whiteTable1); + if (result[0]) { + return result[1]; + } + } + info('bad white code'); + this.eatBits(1); + return 1; + }; + CCITTFaxStream.prototype.getBlackCode = function ccittFaxStreamGetBlackCode() { + var code, p; + if (this.eoblock) { + code = this.lookBits(13); + if (code === ccittEOF) { + return 1; + } + if (code >> 7 === 0) { + p = blackTable1[code]; + } else if (code >> 9 === 0 && code >> 7 !== 0) { + p = blackTable2[(code >> 1) - 64]; + } else { + p = blackTable3[code >> 7]; + } + if (p[0] > 0) { + this.eatBits(p[0]); + return p[1]; + } + } else { + var result = this.findTableCode(2, 6, blackTable3); + if (result[0]) { + return result[1]; + } + result = this.findTableCode(7, 12, blackTable2, 64); + if (result[0]) { + return result[1]; + } + result = this.findTableCode(10, 13, blackTable1); + if (result[0]) { + return result[1]; + } + } + info('bad black code'); + this.eatBits(1); + return 1; + }; + CCITTFaxStream.prototype.lookBits = function CCITTFaxStream_lookBits(n) { + var c; + while (this.inputBits < n) { + if ((c = this.str.getByte()) === -1) { + if (this.inputBits === 0) { + return ccittEOF; + } + return this.inputBuf << n - this.inputBits & 0xFFFF >> 16 - n; + } + this.inputBuf = this.inputBuf << 8 | c; + this.inputBits += 8; + } + return this.inputBuf >> this.inputBits - n & 0xFFFF >> 16 - n; + }; + CCITTFaxStream.prototype.eatBits = function CCITTFaxStream_eatBits(n) { + if ((this.inputBits -= n) < 0) { + this.inputBits = 0; + } + }; + return CCITTFaxStream; +}(); +var LZWStream = function LZWStreamClosure() { + function LZWStream(str, maybeLength, earlyChange) { + this.str = str; + this.dict = str.dict; + this.cachedData = 0; + this.bitsCached = 0; + var maxLzwDictionarySize = 4096; + var lzwState = { + earlyChange: earlyChange, + codeLength: 9, + nextCode: 258, + dictionaryValues: new Uint8Array(maxLzwDictionarySize), + dictionaryLengths: new Uint16Array(maxLzwDictionarySize), + dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize), + currentSequence: new Uint8Array(maxLzwDictionarySize), + currentSequenceLength: 0 + }; + for (var i = 0; i < 256; ++i) { + lzwState.dictionaryValues[i] = i; + lzwState.dictionaryLengths[i] = 1; + } + this.lzwState = lzwState; + DecodeStream.call(this, maybeLength); + } + LZWStream.prototype = Object.create(DecodeStream.prototype); + LZWStream.prototype.readBits = function LZWStream_readBits(n) { + var bitsCached = this.bitsCached; + var cachedData = this.cachedData; + while (bitsCached < n) { + var c = this.str.getByte(); + if (c === -1) { + this.eof = true; + return null; + } + cachedData = cachedData << 8 | c; + bitsCached += 8; + } + this.bitsCached = bitsCached -= n; + this.cachedData = cachedData; + this.lastCode = null; + return cachedData >>> bitsCached & (1 << n) - 1; + }; + LZWStream.prototype.readBlock = function LZWStream_readBlock() { + var blockSize = 512; + var estimatedDecodedSize = blockSize * 2, decodedSizeDelta = blockSize; + var i, j, q; + var lzwState = this.lzwState; + if (!lzwState) { + return; + } + var earlyChange = lzwState.earlyChange; + var nextCode = lzwState.nextCode; + var dictionaryValues = lzwState.dictionaryValues; + var dictionaryLengths = lzwState.dictionaryLengths; + var dictionaryPrevCodes = lzwState.dictionaryPrevCodes; + var codeLength = lzwState.codeLength; + var prevCode = lzwState.prevCode; + var currentSequence = lzwState.currentSequence; + var currentSequenceLength = lzwState.currentSequenceLength; + var decodedLength = 0; + var currentBufferLength = this.bufferLength; + var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); + for (i = 0; i < blockSize; i++) { + var code = this.readBits(codeLength); + var hasPrev = currentSequenceLength > 0; + if (code < 256) { + currentSequence[0] = code; + currentSequenceLength = 1; + } else if (code >= 258) { + if (code < nextCode) { + currentSequenceLength = dictionaryLengths[code]; + for (j = currentSequenceLength - 1, q = code; j >= 0; j--) { + currentSequence[j] = dictionaryValues[q]; + q = dictionaryPrevCodes[q]; + } + } else { + currentSequence[currentSequenceLength++] = currentSequence[0]; + } + } else if (code === 256) { + codeLength = 9; + nextCode = 258; + currentSequenceLength = 0; + continue; + } else { + this.eof = true; + delete this.lzwState; + break; + } + if (hasPrev) { + dictionaryPrevCodes[nextCode] = prevCode; + dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1; + dictionaryValues[nextCode] = currentSequence[0]; + nextCode++; + codeLength = nextCode + earlyChange & nextCode + earlyChange - 1 ? codeLength : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0; + } + prevCode = code; + decodedLength += currentSequenceLength; + if (estimatedDecodedSize < decodedLength) { + do { + estimatedDecodedSize += decodedSizeDelta; + } while (estimatedDecodedSize < decodedLength); + buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize); + } + for (j = 0; j < currentSequenceLength; j++) { + buffer[currentBufferLength++] = currentSequence[j]; + } + } + lzwState.nextCode = nextCode; + lzwState.codeLength = codeLength; + lzwState.prevCode = prevCode; + lzwState.currentSequenceLength = currentSequenceLength; + this.bufferLength = currentBufferLength; + }; + return LZWStream; +}(); +var NullStream = function NullStreamClosure() { + function NullStream() { + Stream.call(this, new Uint8Array(0)); + } + NullStream.prototype = Stream.prototype; + return NullStream; +}(); +exports.Ascii85Stream = Ascii85Stream; +exports.AsciiHexStream = AsciiHexStream; +exports.CCITTFaxStream = CCITTFaxStream; +exports.DecryptStream = DecryptStream; +exports.DecodeStream = DecodeStream; +exports.FlateStream = FlateStream; +exports.Jbig2Stream = Jbig2Stream; +exports.JpegStream = JpegStream; +exports.JpxStream = JpxStream; +exports.NullStream = NullStream; +exports.PredictorStream = PredictorStream; +exports.RunLengthStream = RunLengthStream; +exports.Stream = Stream; +exports.StreamsSequenceStream = StreamsSequenceStream; +exports.StringStream = StringStream; +exports.LZWStream = LZWStream; + +/***/ }), +/* 3 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreFunction = __w_pdfjs_require__(6); +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var isString = sharedUtil.isString; +var shadow = sharedUtil.shadow; +var warn = sharedUtil.warn; +var isDict = corePrimitives.isDict; +var isName = corePrimitives.isName; +var isStream = corePrimitives.isStream; +var PDFFunction = coreFunction.PDFFunction; +var ColorSpace = function ColorSpaceClosure() { + function resizeRgbImage(src, bpc, w1, h1, w2, h2, alpha01, dest) { + var COMPONENTS = 3; + alpha01 = alpha01 !== 1 ? 0 : alpha01; + var xRatio = w1 / w2; + var yRatio = h1 / h2; + var i, j, py, newIndex = 0, oldIndex; + var xScaled = new Uint16Array(w2); + var w1Scanline = w1 * COMPONENTS; + for (i = 0; i < w2; i++) { + xScaled[i] = Math.floor(i * xRatio) * COMPONENTS; + } + for (i = 0; i < h2; i++) { + py = Math.floor(i * yRatio) * w1Scanline; + for (j = 0; j < w2; j++) { + oldIndex = py + xScaled[j]; + dest[newIndex++] = src[oldIndex++]; + dest[newIndex++] = src[oldIndex++]; + dest[newIndex++] = src[oldIndex++]; + newIndex += alpha01; + } + } + } + function ColorSpace() { + error('should not call ColorSpace constructor'); + } + ColorSpace.prototype = { + getRgb: function ColorSpace_getRgb(src, srcOffset) { + var rgb = new Uint8Array(3); + this.getRgbItem(src, srcOffset, rgb, 0); + return rgb; + }, + getRgbItem: function ColorSpace_getRgbItem(src, srcOffset, dest, destOffset) { + error('Should not call ColorSpace.getRgbItem'); + }, + getRgbBuffer: function ColorSpace_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + error('Should not call ColorSpace.getRgbBuffer'); + }, + getOutputLength: function ColorSpace_getOutputLength(inputLength, alpha01) { + error('Should not call ColorSpace.getOutputLength'); + }, + isPassthrough: function ColorSpace_isPassthrough(bits) { + return false; + }, + fillRgb: function ColorSpace_fillRgb(dest, originalWidth, originalHeight, width, height, actualHeight, bpc, comps, alpha01) { + var count = originalWidth * originalHeight; + var rgbBuf = null; + var numComponentColors = 1 << bpc; + var needsResizing = originalHeight !== height || originalWidth !== width; + var i, ii; + if (this.isPassthrough(bpc)) { + rgbBuf = comps; + } else if (this.numComps === 1 && count > numComponentColors && this.name !== 'DeviceGray' && this.name !== 'DeviceRGB') { + var allColors = bpc <= 8 ? new Uint8Array(numComponentColors) : new Uint16Array(numComponentColors); + var key; + for (i = 0; i < numComponentColors; i++) { + allColors[i] = i; + } + var colorMap = new Uint8Array(numComponentColors * 3); + this.getRgbBuffer(allColors, 0, numComponentColors, colorMap, 0, bpc, 0); + var destPos, rgbPos; + if (!needsResizing) { + destPos = 0; + for (i = 0; i < count; ++i) { + key = comps[i] * 3; + dest[destPos++] = colorMap[key]; + dest[destPos++] = colorMap[key + 1]; + dest[destPos++] = colorMap[key + 2]; + destPos += alpha01; + } + } else { + rgbBuf = new Uint8Array(count * 3); + rgbPos = 0; + for (i = 0; i < count; ++i) { + key = comps[i] * 3; + rgbBuf[rgbPos++] = colorMap[key]; + rgbBuf[rgbPos++] = colorMap[key + 1]; + rgbBuf[rgbPos++] = colorMap[key + 2]; + } + } + } else { + if (!needsResizing) { + this.getRgbBuffer(comps, 0, width * actualHeight, dest, 0, bpc, alpha01); + } else { + rgbBuf = new Uint8Array(count * 3); + this.getRgbBuffer(comps, 0, count, rgbBuf, 0, bpc, 0); + } + } + if (rgbBuf) { + if (needsResizing) { + resizeRgbImage(rgbBuf, bpc, originalWidth, originalHeight, width, height, alpha01, dest); + } else { + rgbPos = 0; + destPos = 0; + for (i = 0, ii = width * actualHeight; i < ii; i++) { + dest[destPos++] = rgbBuf[rgbPos++]; + dest[destPos++] = rgbBuf[rgbPos++]; + dest[destPos++] = rgbBuf[rgbPos++]; + destPos += alpha01; + } + } + } + }, + usesZeroToOneRange: true + }; + ColorSpace.parse = function ColorSpace_parse(cs, xref, res) { + var IR = ColorSpace.parseToIR(cs, xref, res); + if (IR instanceof AlternateCS) { + return IR; + } + return ColorSpace.fromIR(IR); + }; + ColorSpace.fromIR = function ColorSpace_fromIR(IR) { + var name = isArray(IR) ? IR[0] : IR; + var whitePoint, blackPoint, gamma; + switch (name) { + case 'DeviceGrayCS': + return this.singletons.gray; + case 'DeviceRgbCS': + return this.singletons.rgb; + case 'DeviceCmykCS': + return this.singletons.cmyk; + case 'CalGrayCS': + whitePoint = IR[1]; + blackPoint = IR[2]; + gamma = IR[3]; + return new CalGrayCS(whitePoint, blackPoint, gamma); + case 'CalRGBCS': + whitePoint = IR[1]; + blackPoint = IR[2]; + gamma = IR[3]; + var matrix = IR[4]; + return new CalRGBCS(whitePoint, blackPoint, gamma, matrix); + case 'PatternCS': + var basePatternCS = IR[1]; + if (basePatternCS) { + basePatternCS = ColorSpace.fromIR(basePatternCS); + } + return new PatternCS(basePatternCS); + case 'IndexedCS': + var baseIndexedCS = IR[1]; + var hiVal = IR[2]; + var lookup = IR[3]; + return new IndexedCS(ColorSpace.fromIR(baseIndexedCS), hiVal, lookup); + case 'AlternateCS': + var numComps = IR[1]; + var alt = IR[2]; + var tintFnIR = IR[3]; + return new AlternateCS(numComps, ColorSpace.fromIR(alt), PDFFunction.fromIR(tintFnIR)); + case 'LabCS': + whitePoint = IR[1]; + blackPoint = IR[2]; + var range = IR[3]; + return new LabCS(whitePoint, blackPoint, range); + default: + error('Unknown name ' + name); + } + return null; + }; + ColorSpace.parseToIR = function ColorSpace_parseToIR(cs, xref, res) { + if (isName(cs)) { + var colorSpaces = res.get('ColorSpace'); + if (isDict(colorSpaces)) { + var refcs = colorSpaces.get(cs.name); + if (refcs) { + cs = refcs; + } + } + } + cs = xref.fetchIfRef(cs); + if (isName(cs)) { + switch (cs.name) { + case 'DeviceGray': + case 'G': + return 'DeviceGrayCS'; + case 'DeviceRGB': + case 'RGB': + return 'DeviceRgbCS'; + case 'DeviceCMYK': + case 'CMYK': + return 'DeviceCmykCS'; + case 'Pattern': + return [ + 'PatternCS', + null + ]; + default: + error('unrecognized colorspace ' + cs.name); + } + } else if (isArray(cs)) { + var mode = xref.fetchIfRef(cs[0]).name; + var numComps, params, alt, whitePoint, blackPoint, gamma; + switch (mode) { + case 'DeviceGray': + case 'G': + return 'DeviceGrayCS'; + case 'DeviceRGB': + case 'RGB': + return 'DeviceRgbCS'; + case 'DeviceCMYK': + case 'CMYK': + return 'DeviceCmykCS'; + case 'CalGray': + params = xref.fetchIfRef(cs[1]); + whitePoint = params.getArray('WhitePoint'); + blackPoint = params.getArray('BlackPoint'); + gamma = params.get('Gamma'); + return [ + 'CalGrayCS', + whitePoint, + blackPoint, + gamma + ]; + case 'CalRGB': + params = xref.fetchIfRef(cs[1]); + whitePoint = params.getArray('WhitePoint'); + blackPoint = params.getArray('BlackPoint'); + gamma = params.getArray('Gamma'); + var matrix = params.getArray('Matrix'); + return [ + 'CalRGBCS', + whitePoint, + blackPoint, + gamma, + matrix + ]; + case 'ICCBased': + var stream = xref.fetchIfRef(cs[1]); + var dict = stream.dict; + numComps = dict.get('N'); + alt = dict.get('Alternate'); + if (alt) { + var altIR = ColorSpace.parseToIR(alt, xref, res); + var altCS = ColorSpace.fromIR(altIR); + if (altCS.numComps === numComps) { + return altIR; + } + warn('ICCBased color space: Ignoring incorrect /Alternate entry.'); + } + if (numComps === 1) { + return 'DeviceGrayCS'; + } else if (numComps === 3) { + return 'DeviceRgbCS'; + } else if (numComps === 4) { + return 'DeviceCmykCS'; + } + break; + case 'Pattern': + var basePatternCS = cs[1] || null; + if (basePatternCS) { + basePatternCS = ColorSpace.parseToIR(basePatternCS, xref, res); + } + return [ + 'PatternCS', + basePatternCS + ]; + case 'Indexed': + case 'I': + var baseIndexedCS = ColorSpace.parseToIR(cs[1], xref, res); + var hiVal = xref.fetchIfRef(cs[2]) + 1; + var lookup = xref.fetchIfRef(cs[3]); + if (isStream(lookup)) { + lookup = lookup.getBytes(); + } + return [ + 'IndexedCS', + baseIndexedCS, + hiVal, + lookup + ]; + case 'Separation': + case 'DeviceN': + var name = xref.fetchIfRef(cs[1]); + numComps = isArray(name) ? name.length : 1; + alt = ColorSpace.parseToIR(cs[2], xref, res); + var tintFnIR = PDFFunction.getIR(xref, xref.fetchIfRef(cs[3])); + return [ + 'AlternateCS', + numComps, + alt, + tintFnIR + ]; + case 'Lab': + params = xref.fetchIfRef(cs[1]); + whitePoint = params.getArray('WhitePoint'); + blackPoint = params.getArray('BlackPoint'); + var range = params.getArray('Range'); + return [ + 'LabCS', + whitePoint, + blackPoint, + range + ]; + default: + error('unimplemented color space object "' + mode + '"'); + } + } else { + error('unrecognized color space object: "' + cs + '"'); + } + return null; + }; + ColorSpace.isDefaultDecode = function ColorSpace_isDefaultDecode(decode, n) { + if (!isArray(decode)) { + return true; + } + if (n * 2 !== decode.length) { + warn('The decode map is not the correct length'); + return true; + } + for (var i = 0, ii = decode.length; i < ii; i += 2) { + if (decode[i] !== 0 || decode[i + 1] !== 1) { + return false; + } + } + return true; + }; + ColorSpace.singletons = { + get gray() { + return shadow(this, 'gray', new DeviceGrayCS()); + }, + get rgb() { + return shadow(this, 'rgb', new DeviceRgbCS()); + }, + get cmyk() { + return shadow(this, 'cmyk', new DeviceCmykCS()); + } + }; + return ColorSpace; +}(); +var AlternateCS = function AlternateCSClosure() { + function AlternateCS(numComps, base, tintFn) { + this.name = 'Alternate'; + this.numComps = numComps; + this.defaultColor = new Float32Array(numComps); + for (var i = 0; i < numComps; ++i) { + this.defaultColor[i] = 1; + } + this.base = base; + this.tintFn = tintFn; + this.tmpBuf = new Float32Array(base.numComps); + } + AlternateCS.prototype = { + getRgb: ColorSpace.prototype.getRgb, + getRgbItem: function AlternateCS_getRgbItem(src, srcOffset, dest, destOffset) { + var tmpBuf = this.tmpBuf; + this.tintFn(src, srcOffset, tmpBuf, 0); + this.base.getRgbItem(tmpBuf, 0, dest, destOffset); + }, + getRgbBuffer: function AlternateCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + var tintFn = this.tintFn; + var base = this.base; + var scale = 1 / ((1 << bits) - 1); + var baseNumComps = base.numComps; + var usesZeroToOneRange = base.usesZeroToOneRange; + var isPassthrough = (base.isPassthrough(8) || !usesZeroToOneRange) && alpha01 === 0; + var pos = isPassthrough ? destOffset : 0; + var baseBuf = isPassthrough ? dest : new Uint8Array(baseNumComps * count); + var numComps = this.numComps; + var scaled = new Float32Array(numComps); + var tinted = new Float32Array(baseNumComps); + var i, j; + for (i = 0; i < count; i++) { + for (j = 0; j < numComps; j++) { + scaled[j] = src[srcOffset++] * scale; + } + tintFn(scaled, 0, tinted, 0); + if (usesZeroToOneRange) { + for (j = 0; j < baseNumComps; j++) { + baseBuf[pos++] = tinted[j] * 255; + } + } else { + base.getRgbItem(tinted, 0, baseBuf, pos); + pos += baseNumComps; + } + } + if (!isPassthrough) { + base.getRgbBuffer(baseBuf, 0, count, dest, destOffset, 8, alpha01); + } + }, + getOutputLength: function AlternateCS_getOutputLength(inputLength, alpha01) { + return this.base.getOutputLength(inputLength * this.base.numComps / this.numComps, alpha01); + }, + isPassthrough: ColorSpace.prototype.isPassthrough, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function AlternateCS_isDefaultDecode(decodeMap) { + return ColorSpace.isDefaultDecode(decodeMap, this.numComps); + }, + usesZeroToOneRange: true + }; + return AlternateCS; +}(); +var PatternCS = function PatternCSClosure() { + function PatternCS(baseCS) { + this.name = 'Pattern'; + this.base = baseCS; + } + PatternCS.prototype = {}; + return PatternCS; +}(); +var IndexedCS = function IndexedCSClosure() { + function IndexedCS(base, highVal, lookup) { + this.name = 'Indexed'; + this.numComps = 1; + this.defaultColor = new Uint8Array(this.numComps); + this.base = base; + this.highVal = highVal; + var baseNumComps = base.numComps; + var length = baseNumComps * highVal; + if (isStream(lookup)) { + this.lookup = new Uint8Array(length); + var bytes = lookup.getBytes(length); + this.lookup.set(bytes); + } else if (isString(lookup)) { + this.lookup = new Uint8Array(length); + for (var i = 0; i < length; ++i) { + this.lookup[i] = lookup.charCodeAt(i); + } + } else if (lookup instanceof Uint8Array || lookup instanceof Array) { + this.lookup = lookup; + } else { + error('Unrecognized lookup table: ' + lookup); + } + } + IndexedCS.prototype = { + getRgb: ColorSpace.prototype.getRgb, + getRgbItem: function IndexedCS_getRgbItem(src, srcOffset, dest, destOffset) { + var numComps = this.base.numComps; + var start = src[srcOffset] * numComps; + this.base.getRgbItem(this.lookup, start, dest, destOffset); + }, + getRgbBuffer: function IndexedCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + var base = this.base; + var numComps = base.numComps; + var outputDelta = base.getOutputLength(numComps, alpha01); + var lookup = this.lookup; + for (var i = 0; i < count; ++i) { + var lookupPos = src[srcOffset++] * numComps; + base.getRgbBuffer(lookup, lookupPos, 1, dest, destOffset, 8, alpha01); + destOffset += outputDelta; + } + }, + getOutputLength: function IndexedCS_getOutputLength(inputLength, alpha01) { + return this.base.getOutputLength(inputLength * this.base.numComps, alpha01); + }, + isPassthrough: ColorSpace.prototype.isPassthrough, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function IndexedCS_isDefaultDecode(decodeMap) { + return true; + }, + usesZeroToOneRange: true + }; + return IndexedCS; +}(); +var DeviceGrayCS = function DeviceGrayCSClosure() { + function DeviceGrayCS() { + this.name = 'DeviceGray'; + this.numComps = 1; + this.defaultColor = new Float32Array(this.numComps); + } + DeviceGrayCS.prototype = { + getRgb: ColorSpace.prototype.getRgb, + getRgbItem: function DeviceGrayCS_getRgbItem(src, srcOffset, dest, destOffset) { + var c = src[srcOffset] * 255 | 0; + c = c < 0 ? 0 : c > 255 ? 255 : c; + dest[destOffset] = dest[destOffset + 1] = dest[destOffset + 2] = c; + }, + getRgbBuffer: function DeviceGrayCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + var scale = 255 / ((1 << bits) - 1); + var j = srcOffset, q = destOffset; + for (var i = 0; i < count; ++i) { + var c = scale * src[j++] | 0; + dest[q++] = c; + dest[q++] = c; + dest[q++] = c; + q += alpha01; + } + }, + getOutputLength: function DeviceGrayCS_getOutputLength(inputLength, alpha01) { + return inputLength * (3 + alpha01); + }, + isPassthrough: ColorSpace.prototype.isPassthrough, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function DeviceGrayCS_isDefaultDecode(decodeMap) { + return ColorSpace.isDefaultDecode(decodeMap, this.numComps); + }, + usesZeroToOneRange: true + }; + return DeviceGrayCS; +}(); +var DeviceRgbCS = function DeviceRgbCSClosure() { + function DeviceRgbCS() { + this.name = 'DeviceRGB'; + this.numComps = 3; + this.defaultColor = new Float32Array(this.numComps); + } + DeviceRgbCS.prototype = { + getRgb: ColorSpace.prototype.getRgb, + getRgbItem: function DeviceRgbCS_getRgbItem(src, srcOffset, dest, destOffset) { + var r = src[srcOffset] * 255 | 0; + var g = src[srcOffset + 1] * 255 | 0; + var b = src[srcOffset + 2] * 255 | 0; + dest[destOffset] = r < 0 ? 0 : r > 255 ? 255 : r; + dest[destOffset + 1] = g < 0 ? 0 : g > 255 ? 255 : g; + dest[destOffset + 2] = b < 0 ? 0 : b > 255 ? 255 : b; + }, + getRgbBuffer: function DeviceRgbCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + if (bits === 8 && alpha01 === 0) { + dest.set(src.subarray(srcOffset, srcOffset + count * 3), destOffset); + return; + } + var scale = 255 / ((1 << bits) - 1); + var j = srcOffset, q = destOffset; + for (var i = 0; i < count; ++i) { + dest[q++] = scale * src[j++] | 0; + dest[q++] = scale * src[j++] | 0; + dest[q++] = scale * src[j++] | 0; + q += alpha01; + } + }, + getOutputLength: function DeviceRgbCS_getOutputLength(inputLength, alpha01) { + return inputLength * (3 + alpha01) / 3 | 0; + }, + isPassthrough: function DeviceRgbCS_isPassthrough(bits) { + return bits === 8; + }, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function DeviceRgbCS_isDefaultDecode(decodeMap) { + return ColorSpace.isDefaultDecode(decodeMap, this.numComps); + }, + usesZeroToOneRange: true + }; + return DeviceRgbCS; +}(); +var DeviceCmykCS = function DeviceCmykCSClosure() { + function convertToRgb(src, srcOffset, srcScale, dest, destOffset) { + var c = src[srcOffset + 0] * srcScale; + var m = src[srcOffset + 1] * srcScale; + var y = src[srcOffset + 2] * srcScale; + var k = src[srcOffset + 3] * srcScale; + var r = c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k + -285.2331026137004) + m * (1.7149763477362134 * m - 5.6096736904047315 * y + -17.873870861415444 * k - 5.497006427196366) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 17.5119270841813) + k * (-21.86122147463605 * k - 189.48180835922747) + 255 | 0; + var g = c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k + -79.2970844816548) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 190.9453302588951) + y * (4.444339102852739 * y + 9.8632861493405 * k - 24.86741582555878) + k * (-20.737325471181034 * k - 187.80453709719578) + 255 | 0; + var b = c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k + -14.183576799673286) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 112.23884253719248) + y * (0.03296041114873217 * y + 115.60384449646641 * k + -193.58209356861505) + k * (-22.33816807309886 * k - 180.12613974708367) + 255 | 0; + dest[destOffset] = r > 255 ? 255 : r < 0 ? 0 : r; + dest[destOffset + 1] = g > 255 ? 255 : g < 0 ? 0 : g; + dest[destOffset + 2] = b > 255 ? 255 : b < 0 ? 0 : b; + } + function DeviceCmykCS() { + this.name = 'DeviceCMYK'; + this.numComps = 4; + this.defaultColor = new Float32Array(this.numComps); + this.defaultColor[3] = 1; + } + DeviceCmykCS.prototype = { + getRgb: ColorSpace.prototype.getRgb, + getRgbItem: function DeviceCmykCS_getRgbItem(src, srcOffset, dest, destOffset) { + convertToRgb(src, srcOffset, 1, dest, destOffset); + }, + getRgbBuffer: function DeviceCmykCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + var scale = 1 / ((1 << bits) - 1); + for (var i = 0; i < count; i++) { + convertToRgb(src, srcOffset, scale, dest, destOffset); + srcOffset += 4; + destOffset += 3 + alpha01; + } + }, + getOutputLength: function DeviceCmykCS_getOutputLength(inputLength, alpha01) { + return inputLength / 4 * (3 + alpha01) | 0; + }, + isPassthrough: ColorSpace.prototype.isPassthrough, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function DeviceCmykCS_isDefaultDecode(decodeMap) { + return ColorSpace.isDefaultDecode(decodeMap, this.numComps); + }, + usesZeroToOneRange: true + }; + return DeviceCmykCS; +}(); +var CalGrayCS = function CalGrayCSClosure() { + function CalGrayCS(whitePoint, blackPoint, gamma) { + this.name = 'CalGray'; + this.numComps = 1; + this.defaultColor = new Float32Array(this.numComps); + if (!whitePoint) { + error('WhitePoint missing - required for color space CalGray'); + } + blackPoint = blackPoint || [ + 0, + 0, + 0 + ]; + gamma = gamma || 1; + this.XW = whitePoint[0]; + this.YW = whitePoint[1]; + this.ZW = whitePoint[2]; + this.XB = blackPoint[0]; + this.YB = blackPoint[1]; + this.ZB = blackPoint[2]; + this.G = gamma; + if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) { + error('Invalid WhitePoint components for ' + this.name + ', no fallback available'); + } + if (this.XB < 0 || this.YB < 0 || this.ZB < 0) { + info('Invalid BlackPoint for ' + this.name + ', falling back to default'); + this.XB = this.YB = this.ZB = 0; + } + if (this.XB !== 0 || this.YB !== 0 || this.ZB !== 0) { + warn(this.name + ', BlackPoint: XB: ' + this.XB + ', YB: ' + this.YB + ', ZB: ' + this.ZB + ', only default values are supported.'); + } + if (this.G < 1) { + info('Invalid Gamma: ' + this.G + ' for ' + this.name + ', falling back to default'); + this.G = 1; + } + } + function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) { + var A = src[srcOffset] * scale; + var AG = Math.pow(A, cs.G); + var L = cs.YW * AG; + var val = Math.max(295.8 * Math.pow(L, 0.333333333333333333) - 40.8, 0) | 0; + dest[destOffset] = val; + dest[destOffset + 1] = val; + dest[destOffset + 2] = val; + } + CalGrayCS.prototype = { + getRgb: ColorSpace.prototype.getRgb, + getRgbItem: function CalGrayCS_getRgbItem(src, srcOffset, dest, destOffset) { + convertToRgb(this, src, srcOffset, dest, destOffset, 1); + }, + getRgbBuffer: function CalGrayCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + var scale = 1 / ((1 << bits) - 1); + for (var i = 0; i < count; ++i) { + convertToRgb(this, src, srcOffset, dest, destOffset, scale); + srcOffset += 1; + destOffset += 3 + alpha01; + } + }, + getOutputLength: function CalGrayCS_getOutputLength(inputLength, alpha01) { + return inputLength * (3 + alpha01); + }, + isPassthrough: ColorSpace.prototype.isPassthrough, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function CalGrayCS_isDefaultDecode(decodeMap) { + return ColorSpace.isDefaultDecode(decodeMap, this.numComps); + }, + usesZeroToOneRange: true + }; + return CalGrayCS; +}(); +var CalRGBCS = function CalRGBCSClosure() { + var BRADFORD_SCALE_MATRIX = new Float32Array([ + 0.8951, + 0.2664, + -0.1614, + -0.7502, + 1.7135, + 0.0367, + 0.0389, + -0.0685, + 1.0296 + ]); + var BRADFORD_SCALE_INVERSE_MATRIX = new Float32Array([ + 0.9869929, + -0.1470543, + 0.1599627, + 0.4323053, + 0.5183603, + 0.0492912, + -0.0085287, + 0.0400428, + 0.9684867 + ]); + var SRGB_D65_XYZ_TO_RGB_MATRIX = new Float32Array([ + 3.2404542, + -1.5371385, + -0.4985314, + -0.9692660, + 1.8760108, + 0.0415560, + 0.0556434, + -0.2040259, + 1.0572252 + ]); + var FLAT_WHITEPOINT_MATRIX = new Float32Array([ + 1, + 1, + 1 + ]); + var tempNormalizeMatrix = new Float32Array(3); + var tempConvertMatrix1 = new Float32Array(3); + var tempConvertMatrix2 = new Float32Array(3); + var DECODE_L_CONSTANT = Math.pow((8 + 16) / 116, 3) / 8.0; + function CalRGBCS(whitePoint, blackPoint, gamma, matrix) { + this.name = 'CalRGB'; + this.numComps = 3; + this.defaultColor = new Float32Array(this.numComps); + if (!whitePoint) { + error('WhitePoint missing - required for color space CalRGB'); + } + blackPoint = blackPoint || new Float32Array(3); + gamma = gamma || new Float32Array([ + 1, + 1, + 1 + ]); + matrix = matrix || new Float32Array([ + 1, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 1 + ]); + var XW = whitePoint[0]; + var YW = whitePoint[1]; + var ZW = whitePoint[2]; + this.whitePoint = whitePoint; + var XB = blackPoint[0]; + var YB = blackPoint[1]; + var ZB = blackPoint[2]; + this.blackPoint = blackPoint; + this.GR = gamma[0]; + this.GG = gamma[1]; + this.GB = gamma[2]; + this.MXA = matrix[0]; + this.MYA = matrix[1]; + this.MZA = matrix[2]; + this.MXB = matrix[3]; + this.MYB = matrix[4]; + this.MZB = matrix[5]; + this.MXC = matrix[6]; + this.MYC = matrix[7]; + this.MZC = matrix[8]; + if (XW < 0 || ZW < 0 || YW !== 1) { + error('Invalid WhitePoint components for ' + this.name + ', no fallback available'); + } + if (XB < 0 || YB < 0 || ZB < 0) { + info('Invalid BlackPoint for ' + this.name + ' [' + XB + ', ' + YB + ', ' + ZB + '], falling back to default'); + this.blackPoint = new Float32Array(3); + } + if (this.GR < 0 || this.GG < 0 || this.GB < 0) { + info('Invalid Gamma [' + this.GR + ', ' + this.GG + ', ' + this.GB + '] for ' + this.name + ', falling back to default'); + this.GR = this.GG = this.GB = 1; + } + if (this.MXA < 0 || this.MYA < 0 || this.MZA < 0 || this.MXB < 0 || this.MYB < 0 || this.MZB < 0 || this.MXC < 0 || this.MYC < 0 || this.MZC < 0) { + info('Invalid Matrix for ' + this.name + ' [' + this.MXA + ', ' + this.MYA + ', ' + this.MZA + this.MXB + ', ' + this.MYB + ', ' + this.MZB + this.MXC + ', ' + this.MYC + ', ' + this.MZC + '], falling back to default'); + this.MXA = this.MYB = this.MZC = 1; + this.MXB = this.MYA = this.MZA = this.MXC = this.MYC = this.MZB = 0; + } + } + function matrixProduct(a, b, result) { + result[0] = a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; + result[1] = a[3] * b[0] + a[4] * b[1] + a[5] * b[2]; + result[2] = a[6] * b[0] + a[7] * b[1] + a[8] * b[2]; + } + function convertToFlat(sourceWhitePoint, LMS, result) { + result[0] = LMS[0] * 1 / sourceWhitePoint[0]; + result[1] = LMS[1] * 1 / sourceWhitePoint[1]; + result[2] = LMS[2] * 1 / sourceWhitePoint[2]; + } + function convertToD65(sourceWhitePoint, LMS, result) { + var D65X = 0.95047; + var D65Y = 1; + var D65Z = 1.08883; + result[0] = LMS[0] * D65X / sourceWhitePoint[0]; + result[1] = LMS[1] * D65Y / sourceWhitePoint[1]; + result[2] = LMS[2] * D65Z / sourceWhitePoint[2]; + } + function sRGBTransferFunction(color) { + if (color <= 0.0031308) { + return adjustToRange(0, 1, 12.92 * color); + } + return adjustToRange(0, 1, (1 + 0.055) * Math.pow(color, 1 / 2.4) - 0.055); + } + function adjustToRange(min, max, value) { + return Math.max(min, Math.min(max, value)); + } + function decodeL(L) { + if (L < 0) { + return -decodeL(-L); + } + if (L > 8.0) { + return Math.pow((L + 16) / 116, 3); + } + return L * DECODE_L_CONSTANT; + } + function compensateBlackPoint(sourceBlackPoint, XYZ_Flat, result) { + if (sourceBlackPoint[0] === 0 && sourceBlackPoint[1] === 0 && sourceBlackPoint[2] === 0) { + result[0] = XYZ_Flat[0]; + result[1] = XYZ_Flat[1]; + result[2] = XYZ_Flat[2]; + return; + } + var zeroDecodeL = decodeL(0); + var X_DST = zeroDecodeL; + var X_SRC = decodeL(sourceBlackPoint[0]); + var Y_DST = zeroDecodeL; + var Y_SRC = decodeL(sourceBlackPoint[1]); + var Z_DST = zeroDecodeL; + var Z_SRC = decodeL(sourceBlackPoint[2]); + var X_Scale = (1 - X_DST) / (1 - X_SRC); + var X_Offset = 1 - X_Scale; + var Y_Scale = (1 - Y_DST) / (1 - Y_SRC); + var Y_Offset = 1 - Y_Scale; + var Z_Scale = (1 - Z_DST) / (1 - Z_SRC); + var Z_Offset = 1 - Z_Scale; + result[0] = XYZ_Flat[0] * X_Scale + X_Offset; + result[1] = XYZ_Flat[1] * Y_Scale + Y_Offset; + result[2] = XYZ_Flat[2] * Z_Scale + Z_Offset; + } + function normalizeWhitePointToFlat(sourceWhitePoint, XYZ_In, result) { + if (sourceWhitePoint[0] === 1 && sourceWhitePoint[2] === 1) { + result[0] = XYZ_In[0]; + result[1] = XYZ_In[1]; + result[2] = XYZ_In[2]; + return; + } + var LMS = result; + matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS); + var LMS_Flat = tempNormalizeMatrix; + convertToFlat(sourceWhitePoint, LMS, LMS_Flat); + matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_Flat, result); + } + function normalizeWhitePointToD65(sourceWhitePoint, XYZ_In, result) { + var LMS = result; + matrixProduct(BRADFORD_SCALE_MATRIX, XYZ_In, LMS); + var LMS_D65 = tempNormalizeMatrix; + convertToD65(sourceWhitePoint, LMS, LMS_D65); + matrixProduct(BRADFORD_SCALE_INVERSE_MATRIX, LMS_D65, result); + } + function convertToRgb(cs, src, srcOffset, dest, destOffset, scale) { + var A = adjustToRange(0, 1, src[srcOffset] * scale); + var B = adjustToRange(0, 1, src[srcOffset + 1] * scale); + var C = adjustToRange(0, 1, src[srcOffset + 2] * scale); + var AGR = Math.pow(A, cs.GR); + var BGG = Math.pow(B, cs.GG); + var CGB = Math.pow(C, cs.GB); + var X = cs.MXA * AGR + cs.MXB * BGG + cs.MXC * CGB; + var Y = cs.MYA * AGR + cs.MYB * BGG + cs.MYC * CGB; + var Z = cs.MZA * AGR + cs.MZB * BGG + cs.MZC * CGB; + var XYZ = tempConvertMatrix1; + XYZ[0] = X; + XYZ[1] = Y; + XYZ[2] = Z; + var XYZ_Flat = tempConvertMatrix2; + normalizeWhitePointToFlat(cs.whitePoint, XYZ, XYZ_Flat); + var XYZ_Black = tempConvertMatrix1; + compensateBlackPoint(cs.blackPoint, XYZ_Flat, XYZ_Black); + var XYZ_D65 = tempConvertMatrix2; + normalizeWhitePointToD65(FLAT_WHITEPOINT_MATRIX, XYZ_Black, XYZ_D65); + var SRGB = tempConvertMatrix1; + matrixProduct(SRGB_D65_XYZ_TO_RGB_MATRIX, XYZ_D65, SRGB); + var sR = sRGBTransferFunction(SRGB[0]); + var sG = sRGBTransferFunction(SRGB[1]); + var sB = sRGBTransferFunction(SRGB[2]); + dest[destOffset] = Math.round(sR * 255); + dest[destOffset + 1] = Math.round(sG * 255); + dest[destOffset + 2] = Math.round(sB * 255); + } + CalRGBCS.prototype = { + getRgb: function CalRGBCS_getRgb(src, srcOffset) { + var rgb = new Uint8Array(3); + this.getRgbItem(src, srcOffset, rgb, 0); + return rgb; + }, + getRgbItem: function CalRGBCS_getRgbItem(src, srcOffset, dest, destOffset) { + convertToRgb(this, src, srcOffset, dest, destOffset, 1); + }, + getRgbBuffer: function CalRGBCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + var scale = 1 / ((1 << bits) - 1); + for (var i = 0; i < count; ++i) { + convertToRgb(this, src, srcOffset, dest, destOffset, scale); + srcOffset += 3; + destOffset += 3 + alpha01; + } + }, + getOutputLength: function CalRGBCS_getOutputLength(inputLength, alpha01) { + return inputLength * (3 + alpha01) / 3 | 0; + }, + isPassthrough: ColorSpace.prototype.isPassthrough, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function CalRGBCS_isDefaultDecode(decodeMap) { + return ColorSpace.isDefaultDecode(decodeMap, this.numComps); + }, + usesZeroToOneRange: true + }; + return CalRGBCS; +}(); +var LabCS = function LabCSClosure() { + function LabCS(whitePoint, blackPoint, range) { + this.name = 'Lab'; + this.numComps = 3; + this.defaultColor = new Float32Array(this.numComps); + if (!whitePoint) { + error('WhitePoint missing - required for color space Lab'); + } + blackPoint = blackPoint || [ + 0, + 0, + 0 + ]; + range = range || [ + -100, + 100, + -100, + 100 + ]; + this.XW = whitePoint[0]; + this.YW = whitePoint[1]; + this.ZW = whitePoint[2]; + this.amin = range[0]; + this.amax = range[1]; + this.bmin = range[2]; + this.bmax = range[3]; + this.XB = blackPoint[0]; + this.YB = blackPoint[1]; + this.ZB = blackPoint[2]; + if (this.XW < 0 || this.ZW < 0 || this.YW !== 1) { + error('Invalid WhitePoint components, no fallback available'); + } + if (this.XB < 0 || this.YB < 0 || this.ZB < 0) { + info('Invalid BlackPoint, falling back to default'); + this.XB = this.YB = this.ZB = 0; + } + if (this.amin > this.amax || this.bmin > this.bmax) { + info('Invalid Range, falling back to defaults'); + this.amin = -100; + this.amax = 100; + this.bmin = -100; + this.bmax = 100; + } + } + function fn_g(x) { + var result; + if (x >= 6 / 29) { + result = x * x * x; + } else { + result = 108 / 841 * (x - 4 / 29); + } + return result; + } + function decode(value, high1, low2, high2) { + return low2 + value * (high2 - low2) / high1; + } + function convertToRgb(cs, src, srcOffset, maxVal, dest, destOffset) { + var Ls = src[srcOffset]; + var as = src[srcOffset + 1]; + var bs = src[srcOffset + 2]; + if (maxVal !== false) { + Ls = decode(Ls, maxVal, 0, 100); + as = decode(as, maxVal, cs.amin, cs.amax); + bs = decode(bs, maxVal, cs.bmin, cs.bmax); + } + as = as > cs.amax ? cs.amax : as < cs.amin ? cs.amin : as; + bs = bs > cs.bmax ? cs.bmax : bs < cs.bmin ? cs.bmin : bs; + var M = (Ls + 16) / 116; + var L = M + as / 500; + var N = M - bs / 200; + var X = cs.XW * fn_g(L); + var Y = cs.YW * fn_g(M); + var Z = cs.ZW * fn_g(N); + var r, g, b; + if (cs.ZW < 1) { + r = X * 3.1339 + Y * -1.6170 + Z * -0.4906; + g = X * -0.9785 + Y * 1.9160 + Z * 0.0333; + b = X * 0.0720 + Y * -0.2290 + Z * 1.4057; + } else { + r = X * 3.2406 + Y * -1.5372 + Z * -0.4986; + g = X * -0.9689 + Y * 1.8758 + Z * 0.0415; + b = X * 0.0557 + Y * -0.2040 + Z * 1.0570; + } + dest[destOffset] = r <= 0 ? 0 : r >= 1 ? 255 : Math.sqrt(r) * 255 | 0; + dest[destOffset + 1] = g <= 0 ? 0 : g >= 1 ? 255 : Math.sqrt(g) * 255 | 0; + dest[destOffset + 2] = b <= 0 ? 0 : b >= 1 ? 255 : Math.sqrt(b) * 255 | 0; + } + LabCS.prototype = { + getRgb: ColorSpace.prototype.getRgb, + getRgbItem: function LabCS_getRgbItem(src, srcOffset, dest, destOffset) { + convertToRgb(this, src, srcOffset, false, dest, destOffset); + }, + getRgbBuffer: function LabCS_getRgbBuffer(src, srcOffset, count, dest, destOffset, bits, alpha01) { + var maxVal = (1 << bits) - 1; + for (var i = 0; i < count; i++) { + convertToRgb(this, src, srcOffset, maxVal, dest, destOffset); + srcOffset += 3; + destOffset += 3 + alpha01; + } + }, + getOutputLength: function LabCS_getOutputLength(inputLength, alpha01) { + return inputLength * (3 + alpha01) / 3 | 0; + }, + isPassthrough: ColorSpace.prototype.isPassthrough, + fillRgb: ColorSpace.prototype.fillRgb, + isDefaultDecode: function LabCS_isDefaultDecode(decodeMap) { + return true; + }, + usesZeroToOneRange: false + }; + return LabCS; +}(); +exports.ColorSpace = ColorSpace; + +/***/ }), +/* 4 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var ExpertEncoding = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'space', + 'exclamsmall', + 'Hungarumlautsmall', + '', + 'dollaroldstyle', + 'dollarsuperior', + 'ampersandsmall', + 'Acutesmall', + 'parenleftsuperior', + 'parenrightsuperior', + 'twodotenleader', + 'onedotenleader', + 'comma', + 'hyphen', + 'period', + 'fraction', + 'zerooldstyle', + 'oneoldstyle', + 'twooldstyle', + 'threeoldstyle', + 'fouroldstyle', + 'fiveoldstyle', + 'sixoldstyle', + 'sevenoldstyle', + 'eightoldstyle', + 'nineoldstyle', + 'colon', + 'semicolon', + 'commasuperior', + 'threequartersemdash', + 'periodsuperior', + 'questionsmall', + '', + 'asuperior', + 'bsuperior', + 'centsuperior', + 'dsuperior', + 'esuperior', + '', + '', + 'isuperior', + '', + '', + 'lsuperior', + 'msuperior', + 'nsuperior', + 'osuperior', + '', + '', + 'rsuperior', + 'ssuperior', + 'tsuperior', + '', + 'ff', + 'fi', + 'fl', + 'ffi', + 'ffl', + 'parenleftinferior', + '', + 'parenrightinferior', + 'Circumflexsmall', + 'hyphensuperior', + 'Gravesmall', + 'Asmall', + 'Bsmall', + 'Csmall', + 'Dsmall', + 'Esmall', + 'Fsmall', + 'Gsmall', + 'Hsmall', + 'Ismall', + 'Jsmall', + 'Ksmall', + 'Lsmall', + 'Msmall', + 'Nsmall', + 'Osmall', + 'Psmall', + 'Qsmall', + 'Rsmall', + 'Ssmall', + 'Tsmall', + 'Usmall', + 'Vsmall', + 'Wsmall', + 'Xsmall', + 'Ysmall', + 'Zsmall', + 'colonmonetary', + 'onefitted', + 'rupiah', + 'Tildesmall', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'exclamdownsmall', + 'centoldstyle', + 'Lslashsmall', + '', + '', + 'Scaronsmall', + 'Zcaronsmall', + 'Dieresissmall', + 'Brevesmall', + 'Caronsmall', + '', + 'Dotaccentsmall', + '', + '', + 'Macronsmall', + '', + '', + 'figuredash', + 'hypheninferior', + '', + '', + 'Ogoneksmall', + 'Ringsmall', + 'Cedillasmall', + '', + '', + '', + 'onequarter', + 'onehalf', + 'threequarters', + 'questiondownsmall', + 'oneeighth', + 'threeeighths', + 'fiveeighths', + 'seveneighths', + 'onethird', + 'twothirds', + '', + '', + 'zerosuperior', + 'onesuperior', + 'twosuperior', + 'threesuperior', + 'foursuperior', + 'fivesuperior', + 'sixsuperior', + 'sevensuperior', + 'eightsuperior', + 'ninesuperior', + 'zeroinferior', + 'oneinferior', + 'twoinferior', + 'threeinferior', + 'fourinferior', + 'fiveinferior', + 'sixinferior', + 'seveninferior', + 'eightinferior', + 'nineinferior', + 'centinferior', + 'dollarinferior', + 'periodinferior', + 'commainferior', + 'Agravesmall', + 'Aacutesmall', + 'Acircumflexsmall', + 'Atildesmall', + 'Adieresissmall', + 'Aringsmall', + 'AEsmall', + 'Ccedillasmall', + 'Egravesmall', + 'Eacutesmall', + 'Ecircumflexsmall', + 'Edieresissmall', + 'Igravesmall', + 'Iacutesmall', + 'Icircumflexsmall', + 'Idieresissmall', + 'Ethsmall', + 'Ntildesmall', + 'Ogravesmall', + 'Oacutesmall', + 'Ocircumflexsmall', + 'Otildesmall', + 'Odieresissmall', + 'OEsmall', + 'Oslashsmall', + 'Ugravesmall', + 'Uacutesmall', + 'Ucircumflexsmall', + 'Udieresissmall', + 'Yacutesmall', + 'Thornsmall', + 'Ydieresissmall' +]; +var MacExpertEncoding = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'space', + 'exclamsmall', + 'Hungarumlautsmall', + 'centoldstyle', + 'dollaroldstyle', + 'dollarsuperior', + 'ampersandsmall', + 'Acutesmall', + 'parenleftsuperior', + 'parenrightsuperior', + 'twodotenleader', + 'onedotenleader', + 'comma', + 'hyphen', + 'period', + 'fraction', + 'zerooldstyle', + 'oneoldstyle', + 'twooldstyle', + 'threeoldstyle', + 'fouroldstyle', + 'fiveoldstyle', + 'sixoldstyle', + 'sevenoldstyle', + 'eightoldstyle', + 'nineoldstyle', + 'colon', + 'semicolon', + '', + 'threequartersemdash', + '', + 'questionsmall', + '', + '', + '', + '', + 'Ethsmall', + '', + '', + 'onequarter', + 'onehalf', + 'threequarters', + 'oneeighth', + 'threeeighths', + 'fiveeighths', + 'seveneighths', + 'onethird', + 'twothirds', + '', + '', + '', + '', + '', + '', + 'ff', + 'fi', + 'fl', + 'ffi', + 'ffl', + 'parenleftinferior', + '', + 'parenrightinferior', + 'Circumflexsmall', + 'hypheninferior', + 'Gravesmall', + 'Asmall', + 'Bsmall', + 'Csmall', + 'Dsmall', + 'Esmall', + 'Fsmall', + 'Gsmall', + 'Hsmall', + 'Ismall', + 'Jsmall', + 'Ksmall', + 'Lsmall', + 'Msmall', + 'Nsmall', + 'Osmall', + 'Psmall', + 'Qsmall', + 'Rsmall', + 'Ssmall', + 'Tsmall', + 'Usmall', + 'Vsmall', + 'Wsmall', + 'Xsmall', + 'Ysmall', + 'Zsmall', + 'colonmonetary', + 'onefitted', + 'rupiah', + 'Tildesmall', + '', + '', + 'asuperior', + 'centsuperior', + '', + '', + '', + '', + 'Aacutesmall', + 'Agravesmall', + 'Acircumflexsmall', + 'Adieresissmall', + 'Atildesmall', + 'Aringsmall', + 'Ccedillasmall', + 'Eacutesmall', + 'Egravesmall', + 'Ecircumflexsmall', + 'Edieresissmall', + 'Iacutesmall', + 'Igravesmall', + 'Icircumflexsmall', + 'Idieresissmall', + 'Ntildesmall', + 'Oacutesmall', + 'Ogravesmall', + 'Ocircumflexsmall', + 'Odieresissmall', + 'Otildesmall', + 'Uacutesmall', + 'Ugravesmall', + 'Ucircumflexsmall', + 'Udieresissmall', + '', + 'eightsuperior', + 'fourinferior', + 'threeinferior', + 'sixinferior', + 'eightinferior', + 'seveninferior', + 'Scaronsmall', + '', + 'centinferior', + 'twoinferior', + '', + 'Dieresissmall', + '', + 'Caronsmall', + 'osuperior', + 'fiveinferior', + '', + 'commainferior', + 'periodinferior', + 'Yacutesmall', + '', + 'dollarinferior', + '', + 'Thornsmall', + '', + 'nineinferior', + 'zeroinferior', + 'Zcaronsmall', + 'AEsmall', + 'Oslashsmall', + 'questiondownsmall', + 'oneinferior', + 'Lslashsmall', + '', + '', + '', + '', + '', + '', + 'Cedillasmall', + '', + '', + '', + '', + '', + 'OEsmall', + 'figuredash', + 'hyphensuperior', + '', + '', + '', + '', + 'exclamdownsmall', + '', + 'Ydieresissmall', + '', + 'onesuperior', + 'twosuperior', + 'threesuperior', + 'foursuperior', + 'fivesuperior', + 'sixsuperior', + 'sevensuperior', + 'ninesuperior', + 'zerosuperior', + '', + 'esuperior', + 'rsuperior', + 'tsuperior', + '', + '', + 'isuperior', + 'ssuperior', + 'dsuperior', + '', + '', + '', + '', + '', + 'lsuperior', + 'Ogoneksmall', + 'Brevesmall', + 'Macronsmall', + 'bsuperior', + 'nsuperior', + 'msuperior', + 'commasuperior', + 'periodsuperior', + 'Dotaccentsmall', + 'Ringsmall' +]; +var MacRomanEncoding = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'space', + 'exclam', + 'quotedbl', + 'numbersign', + 'dollar', + 'percent', + 'ampersand', + 'quotesingle', + 'parenleft', + 'parenright', + 'asterisk', + 'plus', + 'comma', + 'hyphen', + 'period', + 'slash', + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'colon', + 'semicolon', + 'less', + 'equal', + 'greater', + 'question', + 'at', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + 'bracketleft', + 'backslash', + 'bracketright', + 'asciicircum', + 'underscore', + 'grave', + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + 'braceleft', + 'bar', + 'braceright', + 'asciitilde', + '', + 'Adieresis', + 'Aring', + 'Ccedilla', + 'Eacute', + 'Ntilde', + 'Odieresis', + 'Udieresis', + 'aacute', + 'agrave', + 'acircumflex', + 'adieresis', + 'atilde', + 'aring', + 'ccedilla', + 'eacute', + 'egrave', + 'ecircumflex', + 'edieresis', + 'iacute', + 'igrave', + 'icircumflex', + 'idieresis', + 'ntilde', + 'oacute', + 'ograve', + 'ocircumflex', + 'odieresis', + 'otilde', + 'uacute', + 'ugrave', + 'ucircumflex', + 'udieresis', + 'dagger', + 'degree', + 'cent', + 'sterling', + 'section', + 'bullet', + 'paragraph', + 'germandbls', + 'registered', + 'copyright', + 'trademark', + 'acute', + 'dieresis', + 'notequal', + 'AE', + 'Oslash', + 'infinity', + 'plusminus', + 'lessequal', + 'greaterequal', + 'yen', + 'mu', + 'partialdiff', + 'summation', + 'product', + 'pi', + 'integral', + 'ordfeminine', + 'ordmasculine', + 'Omega', + 'ae', + 'oslash', + 'questiondown', + 'exclamdown', + 'logicalnot', + 'radical', + 'florin', + 'approxequal', + 'Delta', + 'guillemotleft', + 'guillemotright', + 'ellipsis', + 'space', + 'Agrave', + 'Atilde', + 'Otilde', + 'OE', + 'oe', + 'endash', + 'emdash', + 'quotedblleft', + 'quotedblright', + 'quoteleft', + 'quoteright', + 'divide', + 'lozenge', + 'ydieresis', + 'Ydieresis', + 'fraction', + 'currency', + 'guilsinglleft', + 'guilsinglright', + 'fi', + 'fl', + 'daggerdbl', + 'periodcentered', + 'quotesinglbase', + 'quotedblbase', + 'perthousand', + 'Acircumflex', + 'Ecircumflex', + 'Aacute', + 'Edieresis', + 'Egrave', + 'Iacute', + 'Icircumflex', + 'Idieresis', + 'Igrave', + 'Oacute', + 'Ocircumflex', + 'apple', + 'Ograve', + 'Uacute', + 'Ucircumflex', + 'Ugrave', + 'dotlessi', + 'circumflex', + 'tilde', + 'macron', + 'breve', + 'dotaccent', + 'ring', + 'cedilla', + 'hungarumlaut', + 'ogonek', + 'caron' +]; +var StandardEncoding = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'space', + 'exclam', + 'quotedbl', + 'numbersign', + 'dollar', + 'percent', + 'ampersand', + 'quoteright', + 'parenleft', + 'parenright', + 'asterisk', + 'plus', + 'comma', + 'hyphen', + 'period', + 'slash', + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'colon', + 'semicolon', + 'less', + 'equal', + 'greater', + 'question', + 'at', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + 'bracketleft', + 'backslash', + 'bracketright', + 'asciicircum', + 'underscore', + 'quoteleft', + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + 'braceleft', + 'bar', + 'braceright', + 'asciitilde', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'exclamdown', + 'cent', + 'sterling', + 'fraction', + 'yen', + 'florin', + 'section', + 'currency', + 'quotesingle', + 'quotedblleft', + 'guillemotleft', + 'guilsinglleft', + 'guilsinglright', + 'fi', + 'fl', + '', + 'endash', + 'dagger', + 'daggerdbl', + 'periodcentered', + '', + 'paragraph', + 'bullet', + 'quotesinglbase', + 'quotedblbase', + 'quotedblright', + 'guillemotright', + 'ellipsis', + 'perthousand', + '', + 'questiondown', + '', + 'grave', + 'acute', + 'circumflex', + 'tilde', + 'macron', + 'breve', + 'dotaccent', + 'dieresis', + '', + 'ring', + 'cedilla', + '', + 'hungarumlaut', + 'ogonek', + 'caron', + 'emdash', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'AE', + '', + 'ordfeminine', + '', + '', + '', + '', + 'Lslash', + 'Oslash', + 'OE', + 'ordmasculine', + '', + '', + '', + '', + '', + 'ae', + '', + '', + '', + 'dotlessi', + '', + '', + 'lslash', + 'oslash', + 'oe', + 'germandbls' +]; +var WinAnsiEncoding = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'space', + 'exclam', + 'quotedbl', + 'numbersign', + 'dollar', + 'percent', + 'ampersand', + 'quotesingle', + 'parenleft', + 'parenright', + 'asterisk', + 'plus', + 'comma', + 'hyphen', + 'period', + 'slash', + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'colon', + 'semicolon', + 'less', + 'equal', + 'greater', + 'question', + 'at', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + 'bracketleft', + 'backslash', + 'bracketright', + 'asciicircum', + 'underscore', + 'grave', + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + 'braceleft', + 'bar', + 'braceright', + 'asciitilde', + 'bullet', + 'Euro', + 'bullet', + 'quotesinglbase', + 'florin', + 'quotedblbase', + 'ellipsis', + 'dagger', + 'daggerdbl', + 'circumflex', + 'perthousand', + 'Scaron', + 'guilsinglleft', + 'OE', + 'bullet', + 'Zcaron', + 'bullet', + 'bullet', + 'quoteleft', + 'quoteright', + 'quotedblleft', + 'quotedblright', + 'bullet', + 'endash', + 'emdash', + 'tilde', + 'trademark', + 'scaron', + 'guilsinglright', + 'oe', + 'bullet', + 'zcaron', + 'Ydieresis', + 'space', + 'exclamdown', + 'cent', + 'sterling', + 'currency', + 'yen', + 'brokenbar', + 'section', + 'dieresis', + 'copyright', + 'ordfeminine', + 'guillemotleft', + 'logicalnot', + 'hyphen', + 'registered', + 'macron', + 'degree', + 'plusminus', + 'twosuperior', + 'threesuperior', + 'acute', + 'mu', + 'paragraph', + 'periodcentered', + 'cedilla', + 'onesuperior', + 'ordmasculine', + 'guillemotright', + 'onequarter', + 'onehalf', + 'threequarters', + 'questiondown', + 'Agrave', + 'Aacute', + 'Acircumflex', + 'Atilde', + 'Adieresis', + 'Aring', + 'AE', + 'Ccedilla', + 'Egrave', + 'Eacute', + 'Ecircumflex', + 'Edieresis', + 'Igrave', + 'Iacute', + 'Icircumflex', + 'Idieresis', + 'Eth', + 'Ntilde', + 'Ograve', + 'Oacute', + 'Ocircumflex', + 'Otilde', + 'Odieresis', + 'multiply', + 'Oslash', + 'Ugrave', + 'Uacute', + 'Ucircumflex', + 'Udieresis', + 'Yacute', + 'Thorn', + 'germandbls', + 'agrave', + 'aacute', + 'acircumflex', + 'atilde', + 'adieresis', + 'aring', + 'ae', + 'ccedilla', + 'egrave', + 'eacute', + 'ecircumflex', + 'edieresis', + 'igrave', + 'iacute', + 'icircumflex', + 'idieresis', + 'eth', + 'ntilde', + 'ograve', + 'oacute', + 'ocircumflex', + 'otilde', + 'odieresis', + 'divide', + 'oslash', + 'ugrave', + 'uacute', + 'ucircumflex', + 'udieresis', + 'yacute', + 'thorn', + 'ydieresis' +]; +var SymbolSetEncoding = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'space', + 'exclam', + 'universal', + 'numbersign', + 'existential', + 'percent', + 'ampersand', + 'suchthat', + 'parenleft', + 'parenright', + 'asteriskmath', + 'plus', + 'comma', + 'minus', + 'period', + 'slash', + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'colon', + 'semicolon', + 'less', + 'equal', + 'greater', + 'question', + 'congruent', + 'Alpha', + 'Beta', + 'Chi', + 'Delta', + 'Epsilon', + 'Phi', + 'Gamma', + 'Eta', + 'Iota', + 'theta1', + 'Kappa', + 'Lambda', + 'Mu', + 'Nu', + 'Omicron', + 'Pi', + 'Theta', + 'Rho', + 'Sigma', + 'Tau', + 'Upsilon', + 'sigma1', + 'Omega', + 'Xi', + 'Psi', + 'Zeta', + 'bracketleft', + 'therefore', + 'bracketright', + 'perpendicular', + 'underscore', + 'radicalex', + 'alpha', + 'beta', + 'chi', + 'delta', + 'epsilon', + 'phi', + 'gamma', + 'eta', + 'iota', + 'phi1', + 'kappa', + 'lambda', + 'mu', + 'nu', + 'omicron', + 'pi', + 'theta', + 'rho', + 'sigma', + 'tau', + 'upsilon', + 'omega1', + 'omega', + 'xi', + 'psi', + 'zeta', + 'braceleft', + 'bar', + 'braceright', + 'similar', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'Euro', + 'Upsilon1', + 'minute', + 'lessequal', + 'fraction', + 'infinity', + 'florin', + 'club', + 'diamond', + 'heart', + 'spade', + 'arrowboth', + 'arrowleft', + 'arrowup', + 'arrowright', + 'arrowdown', + 'degree', + 'plusminus', + 'second', + 'greaterequal', + 'multiply', + 'proportional', + 'partialdiff', + 'bullet', + 'divide', + 'notequal', + 'equivalence', + 'approxequal', + 'ellipsis', + 'arrowvertex', + 'arrowhorizex', + 'carriagereturn', + 'aleph', + 'Ifraktur', + 'Rfraktur', + 'weierstrass', + 'circlemultiply', + 'circleplus', + 'emptyset', + 'intersection', + 'union', + 'propersuperset', + 'reflexsuperset', + 'notsubset', + 'propersubset', + 'reflexsubset', + 'element', + 'notelement', + 'angle', + 'gradient', + 'registerserif', + 'copyrightserif', + 'trademarkserif', + 'product', + 'radical', + 'dotmath', + 'logicalnot', + 'logicaland', + 'logicalor', + 'arrowdblboth', + 'arrowdblleft', + 'arrowdblup', + 'arrowdblright', + 'arrowdbldown', + 'lozenge', + 'angleleft', + 'registersans', + 'copyrightsans', + 'trademarksans', + 'summation', + 'parenlefttp', + 'parenleftex', + 'parenleftbt', + 'bracketlefttp', + 'bracketleftex', + 'bracketleftbt', + 'bracelefttp', + 'braceleftmid', + 'braceleftbt', + 'braceex', + '', + 'angleright', + 'integral', + 'integraltp', + 'integralex', + 'integralbt', + 'parenrighttp', + 'parenrightex', + 'parenrightbt', + 'bracketrighttp', + 'bracketrightex', + 'bracketrightbt', + 'bracerighttp', + 'bracerightmid', + 'bracerightbt' +]; +var ZapfDingbatsEncoding = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'space', + 'a1', + 'a2', + 'a202', + 'a3', + 'a4', + 'a5', + 'a119', + 'a118', + 'a117', + 'a11', + 'a12', + 'a13', + 'a14', + 'a15', + 'a16', + 'a105', + 'a17', + 'a18', + 'a19', + 'a20', + 'a21', + 'a22', + 'a23', + 'a24', + 'a25', + 'a26', + 'a27', + 'a28', + 'a6', + 'a7', + 'a8', + 'a9', + 'a10', + 'a29', + 'a30', + 'a31', + 'a32', + 'a33', + 'a34', + 'a35', + 'a36', + 'a37', + 'a38', + 'a39', + 'a40', + 'a41', + 'a42', + 'a43', + 'a44', + 'a45', + 'a46', + 'a47', + 'a48', + 'a49', + 'a50', + 'a51', + 'a52', + 'a53', + 'a54', + 'a55', + 'a56', + 'a57', + 'a58', + 'a59', + 'a60', + 'a61', + 'a62', + 'a63', + 'a64', + 'a65', + 'a66', + 'a67', + 'a68', + 'a69', + 'a70', + 'a71', + 'a72', + 'a73', + 'a74', + 'a203', + 'a75', + 'a204', + 'a76', + 'a77', + 'a78', + 'a79', + 'a81', + 'a82', + 'a83', + 'a84', + 'a97', + 'a98', + 'a99', + 'a100', + '', + 'a89', + 'a90', + 'a93', + 'a94', + 'a91', + 'a92', + 'a205', + 'a85', + 'a206', + 'a86', + 'a87', + 'a88', + 'a95', + 'a96', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + 'a101', + 'a102', + 'a103', + 'a104', + 'a106', + 'a107', + 'a108', + 'a112', + 'a111', + 'a110', + 'a109', + 'a120', + 'a121', + 'a122', + 'a123', + 'a124', + 'a125', + 'a126', + 'a127', + 'a128', + 'a129', + 'a130', + 'a131', + 'a132', + 'a133', + 'a134', + 'a135', + 'a136', + 'a137', + 'a138', + 'a139', + 'a140', + 'a141', + 'a142', + 'a143', + 'a144', + 'a145', + 'a146', + 'a147', + 'a148', + 'a149', + 'a150', + 'a151', + 'a152', + 'a153', + 'a154', + 'a155', + 'a156', + 'a157', + 'a158', + 'a159', + 'a160', + 'a161', + 'a163', + 'a164', + 'a196', + 'a165', + 'a192', + 'a166', + 'a167', + 'a168', + 'a169', + 'a170', + 'a171', + 'a172', + 'a173', + 'a162', + 'a174', + 'a175', + 'a176', + 'a177', + 'a178', + 'a179', + 'a193', + 'a180', + 'a199', + 'a181', + 'a200', + 'a182', + '', + 'a201', + 'a183', + 'a184', + 'a197', + 'a185', + 'a194', + 'a198', + 'a186', + 'a195', + 'a187', + 'a188', + 'a189', + 'a190', + 'a191' +]; +function getEncoding(encodingName) { + switch (encodingName) { + case 'WinAnsiEncoding': + return WinAnsiEncoding; + case 'StandardEncoding': + return StandardEncoding; + case 'MacRomanEncoding': + return MacRomanEncoding; + case 'SymbolSetEncoding': + return SymbolSetEncoding; + case 'ZapfDingbatsEncoding': + return ZapfDingbatsEncoding; + case 'ExpertEncoding': + return ExpertEncoding; + case 'MacExpertEncoding': + return MacExpertEncoding; + default: + return null; + } +} +exports.WinAnsiEncoding = WinAnsiEncoding; +exports.StandardEncoding = StandardEncoding; +exports.MacRomanEncoding = MacRomanEncoding; +exports.SymbolSetEncoding = SymbolSetEncoding; +exports.ZapfDingbatsEncoding = ZapfDingbatsEncoding; +exports.ExpertEncoding = ExpertEncoding; +exports.getEncoding = getEncoding; + +/***/ }), +/* 5 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreStream = __w_pdfjs_require__(2); +var MissingDataException = sharedUtil.MissingDataException; +var StreamType = sharedUtil.StreamType; +var assert = sharedUtil.assert; +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var isInt = sharedUtil.isInt; +var isNum = sharedUtil.isNum; +var isString = sharedUtil.isString; +var warn = sharedUtil.warn; +var EOF = corePrimitives.EOF; +var Cmd = corePrimitives.Cmd; +var Dict = corePrimitives.Dict; +var Name = corePrimitives.Name; +var Ref = corePrimitives.Ref; +var isEOF = corePrimitives.isEOF; +var isCmd = corePrimitives.isCmd; +var isDict = corePrimitives.isDict; +var isName = corePrimitives.isName; +var Ascii85Stream = coreStream.Ascii85Stream; +var AsciiHexStream = coreStream.AsciiHexStream; +var CCITTFaxStream = coreStream.CCITTFaxStream; +var FlateStream = coreStream.FlateStream; +var Jbig2Stream = coreStream.Jbig2Stream; +var JpegStream = coreStream.JpegStream; +var JpxStream = coreStream.JpxStream; +var LZWStream = coreStream.LZWStream; +var NullStream = coreStream.NullStream; +var PredictorStream = coreStream.PredictorStream; +var RunLengthStream = coreStream.RunLengthStream; +var MAX_LENGTH_TO_CACHE = 1000; +var Parser = function ParserClosure() { + function Parser(lexer, allowStreams, xref, recoveryMode) { + this.lexer = lexer; + this.allowStreams = allowStreams; + this.xref = xref; + this.recoveryMode = recoveryMode || false; + this.imageCache = Object.create(null); + this.refill(); + } + Parser.prototype = { + refill: function Parser_refill() { + this.buf1 = this.lexer.getObj(); + this.buf2 = this.lexer.getObj(); + }, + shift: function Parser_shift() { + if (isCmd(this.buf2, 'ID')) { + this.buf1 = this.buf2; + this.buf2 = null; + } else { + this.buf1 = this.buf2; + this.buf2 = this.lexer.getObj(); + } + }, + tryShift: function Parser_tryShift() { + try { + this.shift(); + return true; + } catch (e) { + if (e instanceof MissingDataException) { + throw e; + } + return false; + } + }, + getObj: function Parser_getObj(cipherTransform) { + var buf1 = this.buf1; + this.shift(); + if (buf1 instanceof Cmd) { + switch (buf1.cmd) { + case 'BI': + return this.makeInlineImage(cipherTransform); + case '[': + var array = []; + while (!isCmd(this.buf1, ']') && !isEOF(this.buf1)) { + array.push(this.getObj(cipherTransform)); + } + if (isEOF(this.buf1)) { + if (!this.recoveryMode) { + error('End of file inside array'); + } + return array; + } + this.shift(); + return array; + case '<<': + var dict = new Dict(this.xref); + while (!isCmd(this.buf1, '>>') && !isEOF(this.buf1)) { + if (!isName(this.buf1)) { + info('Malformed dictionary: key must be a name object'); + this.shift(); + continue; + } + var key = this.buf1.name; + this.shift(); + if (isEOF(this.buf1)) { + break; + } + dict.set(key, this.getObj(cipherTransform)); + } + if (isEOF(this.buf1)) { + if (!this.recoveryMode) { + error('End of file inside dictionary'); + } + return dict; + } + if (isCmd(this.buf2, 'stream')) { + return this.allowStreams ? this.makeStream(dict, cipherTransform) : dict; + } + this.shift(); + return dict; + default: + return buf1; + } + } + if (isInt(buf1)) { + var num = buf1; + if (isInt(this.buf1) && isCmd(this.buf2, 'R')) { + var ref = new Ref(num, this.buf1); + this.shift(); + this.shift(); + return ref; + } + return num; + } + if (isString(buf1)) { + var str = buf1; + if (cipherTransform) { + str = cipherTransform.decryptString(str); + } + return str; + } + return buf1; + }, + findDefaultInlineStreamEnd: function Parser_findDefaultInlineStreamEnd(stream) { + var E = 0x45, I = 0x49, SPACE = 0x20, LF = 0xA, CR = 0xD; + var startPos = stream.pos, state = 0, ch, i, n, followingBytes; + while ((ch = stream.getByte()) !== -1) { + if (state === 0) { + state = ch === E ? 1 : 0; + } else if (state === 1) { + state = ch === I ? 2 : 0; + } else { + assert(state === 2); + if (ch === SPACE || ch === LF || ch === CR) { + n = 5; + followingBytes = stream.peekBytes(n); + for (i = 0; i < n; i++) { + ch = followingBytes[i]; + if (ch !== LF && ch !== CR && (ch < SPACE || ch > 0x7F)) { + state = 0; + break; + } + } + if (state === 2) { + break; + } + } else { + state = 0; + } + } + } + return stream.pos - 4 - startPos; + }, + findDCTDecodeInlineStreamEnd: function Parser_findDCTDecodeInlineStreamEnd(stream) { + var startPos = stream.pos, foundEOI = false, b, markerLength, length; + while ((b = stream.getByte()) !== -1) { + if (b !== 0xFF) { + continue; + } + switch (stream.getByte()) { + case 0x00: + break; + case 0xFF: + stream.skip(-1); + break; + case 0xD9: + foundEOI = true; + break; + case 0xC0: + case 0xC1: + case 0xC2: + case 0xC3: + case 0xC5: + case 0xC6: + case 0xC7: + case 0xC9: + case 0xCA: + case 0xCB: + case 0xCD: + case 0xCE: + case 0xCF: + case 0xC4: + case 0xCC: + case 0xDA: + case 0xDB: + case 0xDC: + case 0xDD: + case 0xDE: + case 0xDF: + case 0xE0: + case 0xE1: + case 0xE2: + case 0xE3: + case 0xE4: + case 0xE5: + case 0xE6: + case 0xE7: + case 0xE8: + case 0xE9: + case 0xEA: + case 0xEB: + case 0xEC: + case 0xED: + case 0xEE: + case 0xEF: + case 0xFE: + markerLength = stream.getUint16(); + if (markerLength > 2) { + stream.skip(markerLength - 2); + } else { + stream.skip(-2); + } + break; + } + if (foundEOI) { + break; + } + } + length = stream.pos - startPos; + if (b === -1) { + warn('Inline DCTDecode image stream: ' + 'EOI marker not found, searching for /EI/ instead.'); + stream.skip(-length); + return this.findDefaultInlineStreamEnd(stream); + } + this.inlineStreamSkipEI(stream); + return length; + }, + findASCII85DecodeInlineStreamEnd: function Parser_findASCII85DecodeInlineStreamEnd(stream) { + var TILDE = 0x7E, GT = 0x3E; + var startPos = stream.pos, ch, length; + while ((ch = stream.getByte()) !== -1) { + if (ch === TILDE && stream.peekByte() === GT) { + stream.skip(); + break; + } + } + length = stream.pos - startPos; + if (ch === -1) { + warn('Inline ASCII85Decode image stream: ' + 'EOD marker not found, searching for /EI/ instead.'); + stream.skip(-length); + return this.findDefaultInlineStreamEnd(stream); + } + this.inlineStreamSkipEI(stream); + return length; + }, + findASCIIHexDecodeInlineStreamEnd: function Parser_findASCIIHexDecodeInlineStreamEnd(stream) { + var GT = 0x3E; + var startPos = stream.pos, ch, length; + while ((ch = stream.getByte()) !== -1) { + if (ch === GT) { + break; + } + } + length = stream.pos - startPos; + if (ch === -1) { + warn('Inline ASCIIHexDecode image stream: ' + 'EOD marker not found, searching for /EI/ instead.'); + stream.skip(-length); + return this.findDefaultInlineStreamEnd(stream); + } + this.inlineStreamSkipEI(stream); + return length; + }, + inlineStreamSkipEI: function Parser_inlineStreamSkipEI(stream) { + var E = 0x45, I = 0x49; + var state = 0, ch; + while ((ch = stream.getByte()) !== -1) { + if (state === 0) { + state = ch === E ? 1 : 0; + } else if (state === 1) { + state = ch === I ? 2 : 0; + } else if (state === 2) { + break; + } + } + }, + makeInlineImage: function Parser_makeInlineImage(cipherTransform) { + var lexer = this.lexer; + var stream = lexer.stream; + var dict = new Dict(this.xref); + while (!isCmd(this.buf1, 'ID') && !isEOF(this.buf1)) { + if (!isName(this.buf1)) { + error('Dictionary key must be a name object'); + } + var key = this.buf1.name; + this.shift(); + if (isEOF(this.buf1)) { + break; + } + dict.set(key, this.getObj(cipherTransform)); + } + var filter = dict.get('Filter', 'F'), filterName; + if (isName(filter)) { + filterName = filter.name; + } else if (isArray(filter)) { + var filterZero = this.xref.fetchIfRef(filter[0]); + if (isName(filterZero)) { + filterName = filterZero.name; + } + } + var startPos = stream.pos, length, i, ii; + if (filterName === 'DCTDecode' || filterName === 'DCT') { + length = this.findDCTDecodeInlineStreamEnd(stream); + } else if (filterName === 'ASCII85Decide' || filterName === 'A85') { + length = this.findASCII85DecodeInlineStreamEnd(stream); + } else if (filterName === 'ASCIIHexDecode' || filterName === 'AHx') { + length = this.findASCIIHexDecodeInlineStreamEnd(stream); + } else { + length = this.findDefaultInlineStreamEnd(stream); + } + var imageStream = stream.makeSubStream(startPos, length, dict); + var adler32; + if (length < MAX_LENGTH_TO_CACHE) { + var imageBytes = imageStream.getBytes(); + imageStream.reset(); + var a = 1; + var b = 0; + for (i = 0, ii = imageBytes.length; i < ii; ++i) { + a += imageBytes[i] & 0xff; + b += a; + } + adler32 = b % 65521 << 16 | a % 65521; + if (this.imageCache.adler32 === adler32) { + this.buf2 = Cmd.get('EI'); + this.shift(); + this.imageCache[adler32].reset(); + return this.imageCache[adler32]; + } + } + if (cipherTransform) { + imageStream = cipherTransform.createStream(imageStream, length); + } + imageStream = this.filter(imageStream, dict, length); + imageStream.dict = dict; + if (adler32 !== undefined) { + imageStream.cacheKey = 'inline_' + length + '_' + adler32; + this.imageCache[adler32] = imageStream; + } + this.buf2 = Cmd.get('EI'); + this.shift(); + return imageStream; + }, + makeStream: function Parser_makeStream(dict, cipherTransform) { + var lexer = this.lexer; + var stream = lexer.stream; + lexer.skipToNextLine(); + var pos = stream.pos - 1; + var length = dict.get('Length'); + if (!isInt(length)) { + info('Bad ' + length + ' attribute in stream'); + length = 0; + } + stream.pos = pos + length; + lexer.nextChar(); + if (this.tryShift() && isCmd(this.buf2, 'endstream')) { + this.shift(); + } else { + stream.pos = pos; + var SCAN_BLOCK_SIZE = 2048; + var ENDSTREAM_SIGNATURE_LENGTH = 9; + var ENDSTREAM_SIGNATURE = [ + 0x65, + 0x6E, + 0x64, + 0x73, + 0x74, + 0x72, + 0x65, + 0x61, + 0x6D + ]; + var skipped = 0, found = false, i, j; + while (stream.pos < stream.end) { + var scanBytes = stream.peekBytes(SCAN_BLOCK_SIZE); + var scanLength = scanBytes.length - ENDSTREAM_SIGNATURE_LENGTH; + if (scanLength <= 0) { + break; + } + found = false; + i = 0; + while (i < scanLength) { + j = 0; + while (j < ENDSTREAM_SIGNATURE_LENGTH && scanBytes[i + j] === ENDSTREAM_SIGNATURE[j]) { + j++; + } + if (j >= ENDSTREAM_SIGNATURE_LENGTH) { + found = true; + break; + } + i++; + } + if (found) { + skipped += i; + stream.pos += i; + break; + } + skipped += scanLength; + stream.pos += scanLength; + } + if (!found) { + error('Missing endstream'); + } + length = skipped; + lexer.nextChar(); + this.shift(); + this.shift(); + } + this.shift(); + stream = stream.makeSubStream(pos, length, dict); + if (cipherTransform) { + stream = cipherTransform.createStream(stream, length); + } + stream = this.filter(stream, dict, length); + stream.dict = dict; + return stream; + }, + filter: function Parser_filter(stream, dict, length) { + var filter = dict.get('Filter', 'F'); + var params = dict.get('DecodeParms', 'DP'); + if (isName(filter)) { + if (isArray(params)) { + params = this.xref.fetchIfRef(params[0]); + } + return this.makeFilter(stream, filter.name, length, params); + } + var maybeLength = length; + if (isArray(filter)) { + var filterArray = filter; + var paramsArray = params; + for (var i = 0, ii = filterArray.length; i < ii; ++i) { + filter = this.xref.fetchIfRef(filterArray[i]); + if (!isName(filter)) { + error('Bad filter name: ' + filter); + } + params = null; + if (isArray(paramsArray) && i in paramsArray) { + params = this.xref.fetchIfRef(paramsArray[i]); + } + stream = this.makeFilter(stream, filter.name, maybeLength, params); + maybeLength = null; + } + } + return stream; + }, + makeFilter: function Parser_makeFilter(stream, name, maybeLength, params) { + if (maybeLength === 0) { + warn('Empty "' + name + '" stream.'); + return new NullStream(stream); + } + 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 LZWStream(stream, maybeLength, earlyChange); + } + if (name === 'DCTDecode' || name === 'DCT') { + xrefStreamStats[StreamType.DCT] = true; + return new JpegStream(stream, maybeLength, stream.dict, params); + } + if (name === 'JPXDecode' || name === 'JPX') { + xrefStreamStats[StreamType.JPX] = true; + return new JpxStream(stream, maybeLength, stream.dict, params); + } + 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, params); + } + warn('filter "' + name + '" not supported yet'); + return stream; + } catch (ex) { + if (ex instanceof MissingDataException) { + throw ex; + } + warn('Invalid stream: \"' + ex + '\"'); + return new NullStream(stream); + } + } + }; + return Parser; +}(); +var Lexer = function LexerClosure() { + function Lexer(stream, knownCommands) { + this.stream = stream; + this.nextChar(); + this.strBuf = []; + this.knownCommands = knownCommands; + } + var specialChars = [ + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 0, + 1, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 2, + 0, + 2, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]; + function toHexDigit(ch) { + if (ch >= 0x30 && ch <= 0x39) { + return ch & 0x0F; + } + if (ch >= 0x41 && ch <= 0x46 || ch >= 0x61 && ch <= 0x66) { + return (ch & 0x0F) + 9; + } + return -1; + } + Lexer.prototype = { + nextChar: function Lexer_nextChar() { + return this.currentChar = this.stream.getByte(); + }, + peekChar: function Lexer_peekChar() { + return this.stream.peekByte(); + }, + getNumber: function Lexer_getNumber() { + var ch = this.currentChar; + var eNotation = false; + var divideBy = 0; + var sign = 1; + if (ch === 0x2D) { + sign = -1; + ch = this.nextChar(); + if (ch === 0x2D) { + ch = this.nextChar(); + } + } else if (ch === 0x2B) { + ch = this.nextChar(); + } + if (ch === 0x2E) { + divideBy = 10; + ch = this.nextChar(); + } + if (ch < 0x30 || ch > 0x39) { + error('Invalid number: ' + String.fromCharCode(ch)); + return 0; + } + var baseValue = ch - 0x30; + var powerValue = 0; + var powerValueSign = 1; + while ((ch = this.nextChar()) >= 0) { + if (0x30 <= ch && ch <= 0x39) { + var currentDigit = ch - 0x30; + if (eNotation) { + powerValue = powerValue * 10 + currentDigit; + } else { + if (divideBy !== 0) { + divideBy *= 10; + } + baseValue = baseValue * 10 + currentDigit; + } + } else if (ch === 0x2E) { + if (divideBy === 0) { + divideBy = 1; + } else { + break; + } + } else if (ch === 0x2D) { + warn('Badly formatted number'); + } else if (ch === 0x45 || ch === 0x65) { + ch = this.peekChar(); + if (ch === 0x2B || ch === 0x2D) { + powerValueSign = ch === 0x2D ? -1 : 1; + this.nextChar(); + } else if (ch < 0x30 || ch > 0x39) { + break; + } + eNotation = true; + } else { + break; + } + } + if (divideBy !== 0) { + baseValue /= divideBy; + } + if (eNotation) { + baseValue *= Math.pow(10, powerValueSign * powerValue); + } + return sign * baseValue; + }, + getString: function Lexer_getString() { + var numParen = 1; + var done = false; + var strBuf = this.strBuf; + strBuf.length = 0; + var ch = this.nextChar(); + while (true) { + var charBuffered = false; + switch (ch | 0) { + case -1: + warn('Unterminated string'); + done = true; + break; + case 0x28: + ++numParen; + strBuf.push('('); + break; + case 0x29: + if (--numParen === 0) { + this.nextChar(); + done = true; + } else { + strBuf.push(')'); + } + break; + case 0x5C: + ch = this.nextChar(); + switch (ch) { + case -1: + warn('Unterminated string'); + done = true; + break; + case 0x6E: + strBuf.push('\n'); + break; + case 0x72: + strBuf.push('\r'); + break; + case 0x74: + strBuf.push('\t'); + break; + case 0x62: + strBuf.push('\b'); + break; + case 0x66: + strBuf.push('\f'); + break; + case 0x5C: + case 0x28: + case 0x29: + strBuf.push(String.fromCharCode(ch)); + break; + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + var x = ch & 0x0F; + ch = this.nextChar(); + charBuffered = true; + if (ch >= 0x30 && ch <= 0x37) { + x = (x << 3) + (ch & 0x0F); + ch = this.nextChar(); + if (ch >= 0x30 && ch <= 0x37) { + charBuffered = false; + x = (x << 3) + (ch & 0x0F); + } + } + strBuf.push(String.fromCharCode(x)); + break; + case 0x0D: + if (this.peekChar() === 0x0A) { + this.nextChar(); + } + break; + case 0x0A: + break; + default: + strBuf.push(String.fromCharCode(ch)); + break; + } + break; + default: + strBuf.push(String.fromCharCode(ch)); + break; + } + if (done) { + break; + } + if (!charBuffered) { + ch = this.nextChar(); + } + } + return strBuf.join(''); + }, + getName: function Lexer_getName() { + var ch, previousCh; + var strBuf = this.strBuf; + strBuf.length = 0; + while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) { + if (ch === 0x23) { + ch = this.nextChar(); + if (specialChars[ch]) { + warn('Lexer_getName: ' + 'NUMBER SIGN (#) should be followed by a hexadecimal number.'); + strBuf.push('#'); + break; + } + var x = toHexDigit(ch); + if (x !== -1) { + previousCh = ch; + ch = this.nextChar(); + var x2 = toHexDigit(ch); + if (x2 === -1) { + warn('Lexer_getName: Illegal digit (' + String.fromCharCode(ch) + ') in hexadecimal number.'); + strBuf.push('#', String.fromCharCode(previousCh)); + if (specialChars[ch]) { + break; + } + strBuf.push(String.fromCharCode(ch)); + continue; + } + strBuf.push(String.fromCharCode(x << 4 | x2)); + } else { + strBuf.push('#', String.fromCharCode(ch)); + } + } else { + strBuf.push(String.fromCharCode(ch)); + } + } + if (strBuf.length > 127) { + warn('name token is longer than allowed by the spec: ' + strBuf.length); + } + return Name.get(strBuf.join('')); + }, + getHexString: function Lexer_getHexString() { + var strBuf = this.strBuf; + strBuf.length = 0; + var ch = this.currentChar; + var isFirstHex = true; + var firstDigit; + var secondDigit; + while (true) { + if (ch < 0) { + warn('Unterminated hex string'); + break; + } else if (ch === 0x3E) { + this.nextChar(); + break; + } else if (specialChars[ch] === 1) { + ch = this.nextChar(); + continue; + } else { + if (isFirstHex) { + firstDigit = toHexDigit(ch); + if (firstDigit === -1) { + warn('Ignoring invalid character "' + ch + '" in hex string'); + ch = this.nextChar(); + continue; + } + } else { + secondDigit = toHexDigit(ch); + if (secondDigit === -1) { + warn('Ignoring invalid character "' + ch + '" in hex string'); + ch = this.nextChar(); + continue; + } + strBuf.push(String.fromCharCode(firstDigit << 4 | secondDigit)); + } + isFirstHex = !isFirstHex; + ch = this.nextChar(); + } + } + return strBuf.join(''); + }, + getObj: function Lexer_getObj() { + var comment = false; + var ch = this.currentChar; + while (true) { + if (ch < 0) { + return EOF; + } + if (comment) { + if (ch === 0x0A || ch === 0x0D) { + comment = false; + } + } else if (ch === 0x25) { + comment = true; + } else if (specialChars[ch] !== 1) { + break; + } + ch = this.nextChar(); + } + switch (ch | 0) { + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + case 0x38: + case 0x39: + case 0x2B: + case 0x2D: + case 0x2E: + return this.getNumber(); + case 0x28: + return this.getString(); + case 0x2F: + return this.getName(); + case 0x5B: + this.nextChar(); + return Cmd.get('['); + case 0x5D: + this.nextChar(); + return Cmd.get(']'); + case 0x3C: + ch = this.nextChar(); + if (ch === 0x3C) { + this.nextChar(); + return Cmd.get('<<'); + } + return this.getHexString(); + case 0x3E: + ch = this.nextChar(); + if (ch === 0x3E) { + this.nextChar(); + return Cmd.get('>>'); + } + return Cmd.get('>'); + case 0x7B: + this.nextChar(); + return Cmd.get('{'); + case 0x7D: + this.nextChar(); + return Cmd.get('}'); + case 0x29: + this.nextChar(); + error('Illegal character: ' + ch); + break; + } + var str = String.fromCharCode(ch); + var knownCommands = this.knownCommands; + var knownCommandFound = knownCommands && knownCommands[str] !== undefined; + while ((ch = this.nextChar()) >= 0 && !specialChars[ch]) { + var possibleCommand = str + String.fromCharCode(ch); + if (knownCommandFound && knownCommands[possibleCommand] === undefined) { + break; + } + if (str.length === 128) { + error('Command token too long: ' + str.length); + } + str = possibleCommand; + knownCommandFound = knownCommands && knownCommands[str] !== undefined; + } + if (str === 'true') { + return true; + } + if (str === 'false') { + return false; + } + if (str === 'null') { + return null; + } + return Cmd.get(str); + }, + skipToNextLine: function Lexer_skipToNextLine() { + var ch = this.currentChar; + while (ch >= 0) { + if (ch === 0x0D) { + ch = this.nextChar(); + if (ch === 0x0A) { + this.nextChar(); + } + break; + } else if (ch === 0x0A) { + this.nextChar(); + break; + } + ch = this.nextChar(); + } + } + }; + return Lexer; +}(); +var Linearization = { + create: function LinearizationCreate(stream) { + function getInt(name, allowZeroValue) { + var obj = linDict.get(name); + if (isInt(obj) && (allowZeroValue ? obj >= 0 : obj > 0)) { + return obj; + } + throw new Error('The "' + name + '" parameter in the linearization ' + 'dictionary is invalid.'); + } + function getHints() { + var hints = linDict.get('H'), hintsLength, item; + if (isArray(hints) && ((hintsLength = hints.length) === 2 || hintsLength === 4)) { + for (var index = 0; index < hintsLength; index++) { + if (!(isInt(item = hints[index]) && item > 0)) { + throw new Error('Hint (' + index + ') in the linearization dictionary is invalid.'); + } + } + return hints; + } + throw new Error('Hint array in the linearization dictionary is invalid.'); + } + var parser = new Parser(new Lexer(stream), false, null); + var obj1 = parser.getObj(); + var obj2 = parser.getObj(); + var obj3 = parser.getObj(); + var linDict = parser.getObj(); + var obj, length; + if (!(isInt(obj1) && isInt(obj2) && isCmd(obj3, 'obj') && isDict(linDict) && isNum(obj = linDict.get('Linearized')) && obj > 0)) { + return null; + } else if ((length = getInt('L')) !== stream.length) { + throw new Error('The "L" parameter in the linearization dictionary ' + 'does not equal the stream length.'); + } + return { + length: length, + hints: getHints(), + objectNumberFirst: getInt('O'), + endFirst: getInt('E'), + numPages: getInt('N'), + mainXRefEntriesOffset: getInt('T'), + pageFirst: linDict.has('P') ? getInt('P', true) : 0 + }; + } +}; +exports.Lexer = Lexer; +exports.Linearization = Linearization; +exports.Parser = Parser; + +/***/ }), +/* 6 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var corePsParser = __w_pdfjs_require__(34); +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var isBool = sharedUtil.isBool; +var isDict = corePrimitives.isDict; +var isStream = corePrimitives.isStream; +var PostScriptLexer = corePsParser.PostScriptLexer; +var PostScriptParser = corePsParser.PostScriptParser; +var PDFFunction = function PDFFunctionClosure() { + var CONSTRUCT_SAMPLED = 0; + var CONSTRUCT_INTERPOLATED = 2; + var CONSTRUCT_STICHED = 3; + var CONSTRUCT_POSTSCRIPT = 4; + return { + getSampleArray: function PDFFunction_getSampleArray(size, outputSize, bps, str) { + var i, ii; + var length = 1; + for (i = 0, ii = size.length; i < ii; i++) { + length *= size[i]; + } + length *= outputSize; + var array = new Array(length); + var codeSize = 0; + var codeBuf = 0; + var sampleMul = 1.0 / (Math.pow(2.0, bps) - 1); + var strBytes = str.getBytes((length * bps + 7) / 8); + var strIdx = 0; + for (i = 0; i < length; i++) { + while (codeSize < bps) { + codeBuf <<= 8; + codeBuf |= strBytes[strIdx++]; + codeSize += 8; + } + codeSize -= bps; + array[i] = (codeBuf >> codeSize) * sampleMul; + codeBuf &= (1 << codeSize) - 1; + } + return array; + }, + getIR: function PDFFunction_getIR(xref, fn) { + var dict = fn.dict; + if (!dict) { + dict = fn; + } + var types = [ + this.constructSampled, + null, + this.constructInterpolated, + this.constructStiched, + this.constructPostScript + ]; + var typeNum = dict.get('FunctionType'); + var typeFn = types[typeNum]; + if (!typeFn) { + error('Unknown type of function'); + } + return typeFn.call(this, fn, dict, xref); + }, + fromIR: function PDFFunction_fromIR(IR) { + var type = IR[0]; + switch (type) { + case CONSTRUCT_SAMPLED: + return this.constructSampledFromIR(IR); + case CONSTRUCT_INTERPOLATED: + return this.constructInterpolatedFromIR(IR); + case CONSTRUCT_STICHED: + return this.constructStichedFromIR(IR); + default: + return this.constructPostScriptFromIR(IR); + } + }, + parse: function PDFFunction_parse(xref, fn) { + var IR = this.getIR(xref, fn); + return this.fromIR(IR); + }, + parseArray: function PDFFunction_parseArray(xref, fnObj) { + if (!isArray(fnObj)) { + return this.parse(xref, fnObj); + } + var fnArray = []; + for (var j = 0, jj = fnObj.length; j < jj; j++) { + var obj = xref.fetchIfRef(fnObj[j]); + fnArray.push(PDFFunction.parse(xref, obj)); + } + return function (src, srcOffset, dest, destOffset) { + for (var i = 0, ii = fnArray.length; i < ii; i++) { + fnArray[i](src, srcOffset, dest, destOffset + i); + } + }; + }, + constructSampled: function PDFFunction_constructSampled(str, dict) { + function toMultiArray(arr) { + var inputLength = arr.length; + var out = []; + var index = 0; + for (var i = 0; i < inputLength; i += 2) { + out[index] = [ + arr[i], + arr[i + 1] + ]; + ++index; + } + return out; + } + var domain = dict.getArray('Domain'); + var range = dict.getArray('Range'); + if (!domain || !range) { + error('No domain or range'); + } + var inputSize = domain.length / 2; + var outputSize = range.length / 2; + domain = toMultiArray(domain); + range = toMultiArray(range); + var size = dict.get('Size'); + var bps = dict.get('BitsPerSample'); + var order = dict.get('Order') || 1; + if (order !== 1) { + info('No support for cubic spline interpolation: ' + order); + } + var encode = dict.getArray('Encode'); + if (!encode) { + encode = []; + for (var i = 0; i < inputSize; ++i) { + encode.push(0); + encode.push(size[i] - 1); + } + } + encode = toMultiArray(encode); + var decode = dict.getArray('Decode'); + if (!decode) { + decode = range; + } else { + decode = toMultiArray(decode); + } + var samples = this.getSampleArray(size, outputSize, bps, str); + return [ + CONSTRUCT_SAMPLED, + inputSize, + domain, + encode, + decode, + samples, + size, + outputSize, + Math.pow(2, bps) - 1, + range + ]; + }, + constructSampledFromIR: function PDFFunction_constructSampledFromIR(IR) { + function interpolate(x, xmin, xmax, ymin, ymax) { + return ymin + (x - xmin) * ((ymax - ymin) / (xmax - xmin)); + } + return function constructSampledFromIRResult(src, srcOffset, dest, destOffset) { + var m = IR[1]; + var domain = IR[2]; + var encode = IR[3]; + var decode = IR[4]; + var samples = IR[5]; + var size = IR[6]; + var n = IR[7]; + var range = IR[9]; + var cubeVertices = 1 << m; + var cubeN = new Float64Array(cubeVertices); + var cubeVertex = new Uint32Array(cubeVertices); + var i, j; + for (j = 0; j < cubeVertices; j++) { + cubeN[j] = 1; + } + var k = n, pos = 1; + for (i = 0; i < m; ++i) { + var domain_2i = domain[i][0]; + var domain_2i_1 = domain[i][1]; + var xi = Math.min(Math.max(src[srcOffset + i], domain_2i), domain_2i_1); + var e = interpolate(xi, domain_2i, domain_2i_1, encode[i][0], encode[i][1]); + var size_i = size[i]; + e = Math.min(Math.max(e, 0), size_i - 1); + var e0 = e < size_i - 1 ? Math.floor(e) : e - 1; + var n0 = e0 + 1 - e; + var n1 = e - e0; + var offset0 = e0 * k; + var offset1 = offset0 + k; + for (j = 0; j < cubeVertices; j++) { + if (j & pos) { + cubeN[j] *= n1; + cubeVertex[j] += offset1; + } else { + cubeN[j] *= n0; + cubeVertex[j] += offset0; + } + } + k *= size_i; + pos <<= 1; + } + for (j = 0; j < n; ++j) { + var rj = 0; + for (i = 0; i < cubeVertices; i++) { + rj += samples[cubeVertex[i] + j] * cubeN[i]; + } + rj = interpolate(rj, 0, 1, decode[j][0], decode[j][1]); + dest[destOffset + j] = Math.min(Math.max(rj, range[j][0]), range[j][1]); + } + }; + }, + constructInterpolated: function PDFFunction_constructInterpolated(str, dict) { + var c0 = dict.getArray('C0') || [0]; + var c1 = dict.getArray('C1') || [1]; + var n = dict.get('N'); + if (!isArray(c0) || !isArray(c1)) { + error('Illegal dictionary for interpolated function'); + } + var length = c0.length; + var diff = []; + for (var i = 0; i < length; ++i) { + diff.push(c1[i] - c0[i]); + } + return [ + CONSTRUCT_INTERPOLATED, + c0, + diff, + n + ]; + }, + constructInterpolatedFromIR: function PDFFunction_constructInterpolatedFromIR(IR) { + var c0 = IR[1]; + var diff = IR[2]; + var n = IR[3]; + var length = diff.length; + return function constructInterpolatedFromIRResult(src, srcOffset, dest, destOffset) { + var x = n === 1 ? src[srcOffset] : Math.pow(src[srcOffset], n); + for (var j = 0; j < length; ++j) { + dest[destOffset + j] = c0[j] + x * diff[j]; + } + }; + }, + constructStiched: function PDFFunction_constructStiched(fn, dict, xref) { + var domain = dict.getArray('Domain'); + if (!domain) { + error('No domain'); + } + var inputSize = domain.length / 2; + if (inputSize !== 1) { + error('Bad domain for stiched function'); + } + var fnRefs = dict.get('Functions'); + var fns = []; + for (var i = 0, ii = fnRefs.length; i < ii; ++i) { + fns.push(PDFFunction.getIR(xref, xref.fetchIfRef(fnRefs[i]))); + } + var bounds = dict.getArray('Bounds'); + var encode = dict.getArray('Encode'); + return [ + CONSTRUCT_STICHED, + domain, + bounds, + encode, + fns + ]; + }, + constructStichedFromIR: function PDFFunction_constructStichedFromIR(IR) { + var domain = IR[1]; + var bounds = IR[2]; + var encode = IR[3]; + var fnsIR = IR[4]; + var fns = []; + var tmpBuf = new Float32Array(1); + for (var i = 0, ii = fnsIR.length; i < ii; i++) { + fns.push(PDFFunction.fromIR(fnsIR[i])); + } + return function constructStichedFromIRResult(src, srcOffset, dest, destOffset) { + var clip = function constructStichedFromIRClip(v, min, max) { + if (v > max) { + v = max; + } else if (v < min) { + v = min; + } + return v; + }; + var v = clip(src[srcOffset], domain[0], domain[1]); + for (var i = 0, ii = bounds.length; i < ii; ++i) { + if (v < bounds[i]) { + break; + } + } + var dmin = domain[0]; + if (i > 0) { + dmin = bounds[i - 1]; + } + var dmax = domain[1]; + if (i < bounds.length) { + dmax = bounds[i]; + } + var rmin = encode[2 * i]; + var rmax = encode[2 * i + 1]; + tmpBuf[0] = dmin === dmax ? rmin : rmin + (v - dmin) * (rmax - rmin) / (dmax - dmin); + fns[i](tmpBuf, 0, dest, destOffset); + }; + }, + constructPostScript: function PDFFunction_constructPostScript(fn, dict, xref) { + var domain = dict.getArray('Domain'); + var range = dict.getArray('Range'); + if (!domain) { + error('No domain.'); + } + if (!range) { + error('No range.'); + } + var lexer = new PostScriptLexer(fn); + var parser = new PostScriptParser(lexer); + var code = parser.parse(); + return [ + CONSTRUCT_POSTSCRIPT, + domain, + range, + code + ]; + }, + constructPostScriptFromIR: function PDFFunction_constructPostScriptFromIR(IR) { + var domain = IR[1]; + var range = IR[2]; + var code = IR[3]; + var compiled = new PostScriptCompiler().compile(code, domain, range); + if (compiled) { + return new Function('src', 'srcOffset', 'dest', 'destOffset', compiled); + } + info('Unable to compile PS function'); + var numOutputs = range.length >> 1; + var numInputs = domain.length >> 1; + var evaluator = new PostScriptEvaluator(code); + var cache = Object.create(null); + var MAX_CACHE_SIZE = 2048 * 4; + var cache_available = MAX_CACHE_SIZE; + var tmpBuf = new Float32Array(numInputs); + return function constructPostScriptFromIRResult(src, srcOffset, dest, destOffset) { + var i, value; + var key = ''; + var input = tmpBuf; + for (i = 0; i < numInputs; i++) { + value = src[srcOffset + i]; + input[i] = value; + key += value + '_'; + } + var cachedValue = cache[key]; + if (cachedValue !== undefined) { + dest.set(cachedValue, destOffset); + return; + } + var output = new Float32Array(numOutputs); + var stack = evaluator.execute(input); + var stackIndex = stack.length - numOutputs; + for (i = 0; i < numOutputs; i++) { + value = stack[stackIndex + i]; + var bound = range[i * 2]; + if (value < bound) { + value = bound; + } else { + bound = range[i * 2 + 1]; + if (value > bound) { + value = bound; + } + } + output[i] = value; + } + if (cache_available > 0) { + cache_available--; + cache[key] = output; + } + dest.set(output, destOffset); + }; + } + }; +}(); +function isPDFFunction(v) { + var fnDict; + if (typeof v !== 'object') { + return false; + } else if (isDict(v)) { + fnDict = v; + } else if (isStream(v)) { + fnDict = v.dict; + } else { + return false; + } + return fnDict.has('FunctionType'); +} +var PostScriptStack = function PostScriptStackClosure() { + var MAX_STACK_SIZE = 100; + function PostScriptStack(initialStack) { + this.stack = !initialStack ? [] : Array.prototype.slice.call(initialStack, 0); + } + PostScriptStack.prototype = { + push: function PostScriptStack_push(value) { + if (this.stack.length >= MAX_STACK_SIZE) { + error('PostScript function stack overflow.'); + } + this.stack.push(value); + }, + pop: function PostScriptStack_pop() { + if (this.stack.length <= 0) { + error('PostScript function stack underflow.'); + } + return this.stack.pop(); + }, + copy: function PostScriptStack_copy(n) { + if (this.stack.length + n >= MAX_STACK_SIZE) { + error('PostScript function stack overflow.'); + } + var stack = this.stack; + for (var i = stack.length - n, j = n - 1; j >= 0; j--, i++) { + stack.push(stack[i]); + } + }, + index: function PostScriptStack_index(n) { + this.push(this.stack[this.stack.length - n - 1]); + }, + roll: function PostScriptStack_roll(n, p) { + var stack = this.stack; + var l = stack.length - n; + var r = stack.length - 1, c = l + (p - Math.floor(p / n) * n), i, j, t; + for (i = l, j = r; i < j; i++, j--) { + t = stack[i]; + stack[i] = stack[j]; + stack[j] = t; + } + for (i = l, j = c - 1; i < j; i++, j--) { + t = stack[i]; + stack[i] = stack[j]; + stack[j] = t; + } + for (i = c, j = r; i < j; i++, j--) { + t = stack[i]; + stack[i] = stack[j]; + stack[j] = t; + } + } + }; + return PostScriptStack; +}(); +var PostScriptEvaluator = function PostScriptEvaluatorClosure() { + function PostScriptEvaluator(operators) { + this.operators = operators; + } + PostScriptEvaluator.prototype = { + execute: function PostScriptEvaluator_execute(initialStack) { + var stack = new PostScriptStack(initialStack); + var counter = 0; + var operators = this.operators; + var length = operators.length; + var operator, a, b; + while (counter < length) { + operator = operators[counter++]; + if (typeof operator === 'number') { + stack.push(operator); + continue; + } + switch (operator) { + case 'jz': + b = stack.pop(); + a = stack.pop(); + if (!a) { + counter = b; + } + break; + case 'j': + a = stack.pop(); + counter = a; + break; + case 'abs': + a = stack.pop(); + stack.push(Math.abs(a)); + break; + case 'add': + b = stack.pop(); + a = stack.pop(); + stack.push(a + b); + break; + case 'and': + b = stack.pop(); + a = stack.pop(); + if (isBool(a) && isBool(b)) { + stack.push(a && b); + } else { + stack.push(a & b); + } + break; + case 'atan': + a = stack.pop(); + stack.push(Math.atan(a)); + break; + case 'bitshift': + b = stack.pop(); + a = stack.pop(); + if (a > 0) { + stack.push(a << b); + } else { + stack.push(a >> b); + } + break; + case 'ceiling': + a = stack.pop(); + stack.push(Math.ceil(a)); + break; + case 'copy': + a = stack.pop(); + stack.copy(a); + break; + case 'cos': + a = stack.pop(); + stack.push(Math.cos(a)); + break; + case 'cvi': + a = stack.pop() | 0; + stack.push(a); + break; + case 'cvr': + break; + case 'div': + b = stack.pop(); + a = stack.pop(); + stack.push(a / b); + break; + case 'dup': + stack.copy(1); + break; + case 'eq': + b = stack.pop(); + a = stack.pop(); + stack.push(a === b); + break; + case 'exch': + stack.roll(2, 1); + break; + case 'exp': + b = stack.pop(); + a = stack.pop(); + stack.push(Math.pow(a, b)); + break; + case 'false': + stack.push(false); + break; + case 'floor': + a = stack.pop(); + stack.push(Math.floor(a)); + break; + case 'ge': + b = stack.pop(); + a = stack.pop(); + stack.push(a >= b); + break; + case 'gt': + b = stack.pop(); + a = stack.pop(); + stack.push(a > b); + break; + case 'idiv': + b = stack.pop(); + a = stack.pop(); + stack.push(a / b | 0); + break; + case 'index': + a = stack.pop(); + stack.index(a); + break; + case 'le': + b = stack.pop(); + a = stack.pop(); + stack.push(a <= b); + break; + case 'ln': + a = stack.pop(); + stack.push(Math.log(a)); + break; + case 'log': + a = stack.pop(); + stack.push(Math.log(a) / Math.LN10); + break; + case 'lt': + b = stack.pop(); + a = stack.pop(); + stack.push(a < b); + break; + case 'mod': + b = stack.pop(); + a = stack.pop(); + stack.push(a % b); + break; + case 'mul': + b = stack.pop(); + a = stack.pop(); + stack.push(a * b); + break; + case 'ne': + b = stack.pop(); + a = stack.pop(); + stack.push(a !== b); + break; + case 'neg': + a = stack.pop(); + stack.push(-a); + break; + case 'not': + a = stack.pop(); + if (isBool(a)) { + stack.push(!a); + } else { + stack.push(~a); + } + break; + case 'or': + b = stack.pop(); + a = stack.pop(); + if (isBool(a) && isBool(b)) { + stack.push(a || b); + } else { + stack.push(a | b); + } + break; + case 'pop': + stack.pop(); + break; + case 'roll': + b = stack.pop(); + a = stack.pop(); + stack.roll(a, b); + break; + case 'round': + a = stack.pop(); + stack.push(Math.round(a)); + break; + case 'sin': + a = stack.pop(); + stack.push(Math.sin(a)); + break; + case 'sqrt': + a = stack.pop(); + stack.push(Math.sqrt(a)); + break; + case 'sub': + b = stack.pop(); + a = stack.pop(); + stack.push(a - b); + break; + case 'true': + stack.push(true); + break; + case 'truncate': + a = stack.pop(); + a = a < 0 ? Math.ceil(a) : Math.floor(a); + stack.push(a); + break; + case 'xor': + b = stack.pop(); + a = stack.pop(); + if (isBool(a) && isBool(b)) { + stack.push(a !== b); + } else { + stack.push(a ^ b); + } + break; + default: + error('Unknown operator ' + operator); + break; + } + } + return stack.stack; + } + }; + return PostScriptEvaluator; +}(); +var PostScriptCompiler = function PostScriptCompilerClosure() { + function AstNode(type) { + this.type = type; + } + AstNode.prototype.visit = function (visitor) { + throw new Error('abstract method'); + }; + function AstArgument(index, min, max) { + AstNode.call(this, 'args'); + this.index = index; + this.min = min; + this.max = max; + } + AstArgument.prototype = Object.create(AstNode.prototype); + AstArgument.prototype.visit = function (visitor) { + visitor.visitArgument(this); + }; + function AstLiteral(number) { + AstNode.call(this, 'literal'); + this.number = number; + this.min = number; + this.max = number; + } + AstLiteral.prototype = Object.create(AstNode.prototype); + AstLiteral.prototype.visit = function (visitor) { + visitor.visitLiteral(this); + }; + function AstBinaryOperation(op, arg1, arg2, min, max) { + AstNode.call(this, 'binary'); + this.op = op; + this.arg1 = arg1; + this.arg2 = arg2; + this.min = min; + this.max = max; + } + AstBinaryOperation.prototype = Object.create(AstNode.prototype); + AstBinaryOperation.prototype.visit = function (visitor) { + visitor.visitBinaryOperation(this); + }; + function AstMin(arg, max) { + AstNode.call(this, 'max'); + this.arg = arg; + this.min = arg.min; + this.max = max; + } + AstMin.prototype = Object.create(AstNode.prototype); + AstMin.prototype.visit = function (visitor) { + visitor.visitMin(this); + }; + function AstVariable(index, min, max) { + AstNode.call(this, 'var'); + this.index = index; + this.min = min; + this.max = max; + } + AstVariable.prototype = Object.create(AstNode.prototype); + AstVariable.prototype.visit = function (visitor) { + visitor.visitVariable(this); + }; + function AstVariableDefinition(variable, arg) { + AstNode.call(this, 'definition'); + this.variable = variable; + this.arg = arg; + } + AstVariableDefinition.prototype = Object.create(AstNode.prototype); + AstVariableDefinition.prototype.visit = function (visitor) { + visitor.visitVariableDefinition(this); + }; + function ExpressionBuilderVisitor() { + this.parts = []; + } + ExpressionBuilderVisitor.prototype = { + visitArgument: function (arg) { + this.parts.push('Math.max(', arg.min, ', Math.min(', arg.max, ', src[srcOffset + ', arg.index, ']))'); + }, + visitVariable: function (variable) { + this.parts.push('v', variable.index); + }, + visitLiteral: function (literal) { + this.parts.push(literal.number); + }, + visitBinaryOperation: function (operation) { + this.parts.push('('); + operation.arg1.visit(this); + this.parts.push(' ', operation.op, ' '); + operation.arg2.visit(this); + this.parts.push(')'); + }, + visitVariableDefinition: function (definition) { + this.parts.push('var '); + definition.variable.visit(this); + this.parts.push(' = '); + definition.arg.visit(this); + this.parts.push(';'); + }, + visitMin: function (max) { + this.parts.push('Math.min('); + max.arg.visit(this); + this.parts.push(', ', max.max, ')'); + }, + toString: function () { + return this.parts.join(''); + } + }; + function buildAddOperation(num1, num2) { + if (num2.type === 'literal' && num2.number === 0) { + return num1; + } + if (num1.type === 'literal' && num1.number === 0) { + return num2; + } + if (num2.type === 'literal' && num1.type === 'literal') { + return new AstLiteral(num1.number + num2.number); + } + return new AstBinaryOperation('+', num1, num2, num1.min + num2.min, num1.max + num2.max); + } + function buildMulOperation(num1, num2) { + if (num2.type === 'literal') { + if (num2.number === 0) { + return new AstLiteral(0); + } else if (num2.number === 1) { + return num1; + } else if (num1.type === 'literal') { + return new AstLiteral(num1.number * num2.number); + } + } + if (num1.type === 'literal') { + if (num1.number === 0) { + return new AstLiteral(0); + } else if (num1.number === 1) { + return num2; + } + } + var min = Math.min(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max); + var max = Math.max(num1.min * num2.min, num1.min * num2.max, num1.max * num2.min, num1.max * num2.max); + return new AstBinaryOperation('*', num1, num2, min, max); + } + function buildSubOperation(num1, num2) { + if (num2.type === 'literal') { + if (num2.number === 0) { + return num1; + } else if (num1.type === 'literal') { + return new AstLiteral(num1.number - num2.number); + } + } + if (num2.type === 'binary' && num2.op === '-' && num1.type === 'literal' && num1.number === 1 && num2.arg1.type === 'literal' && num2.arg1.number === 1) { + return num2.arg2; + } + return new AstBinaryOperation('-', num1, num2, num1.min - num2.max, num1.max - num2.min); + } + function buildMinOperation(num1, max) { + if (num1.min >= max) { + return new AstLiteral(max); + } else if (num1.max <= max) { + return num1; + } + return new AstMin(num1, max); + } + function PostScriptCompiler() { + } + PostScriptCompiler.prototype = { + compile: function PostScriptCompiler_compile(code, domain, range) { + var stack = []; + var i, ii; + var instructions = []; + var inputSize = domain.length >> 1, outputSize = range.length >> 1; + var lastRegister = 0; + var n, j; + var num1, num2, ast1, ast2, tmpVar, item; + for (i = 0; i < inputSize; i++) { + stack.push(new AstArgument(i, domain[i * 2], domain[i * 2 + 1])); + } + for (i = 0, ii = code.length; i < ii; i++) { + item = code[i]; + if (typeof item === 'number') { + stack.push(new AstLiteral(item)); + continue; + } + switch (item) { + case 'add': + if (stack.length < 2) { + return null; + } + num2 = stack.pop(); + num1 = stack.pop(); + stack.push(buildAddOperation(num1, num2)); + break; + case 'cvr': + if (stack.length < 1) { + return null; + } + break; + case 'mul': + if (stack.length < 2) { + return null; + } + num2 = stack.pop(); + num1 = stack.pop(); + stack.push(buildMulOperation(num1, num2)); + break; + case 'sub': + if (stack.length < 2) { + return null; + } + num2 = stack.pop(); + num1 = stack.pop(); + stack.push(buildSubOperation(num1, num2)); + break; + case 'exch': + if (stack.length < 2) { + return null; + } + ast1 = stack.pop(); + ast2 = stack.pop(); + stack.push(ast1, ast2); + break; + case 'pop': + if (stack.length < 1) { + return null; + } + stack.pop(); + break; + case 'index': + if (stack.length < 1) { + return null; + } + num1 = stack.pop(); + if (num1.type !== 'literal') { + return null; + } + n = num1.number; + if (n < 0 || (n | 0) !== n || stack.length < n) { + return null; + } + ast1 = stack[stack.length - n - 1]; + if (ast1.type === 'literal' || ast1.type === 'var') { + stack.push(ast1); + break; + } + tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max); + stack[stack.length - n - 1] = tmpVar; + stack.push(tmpVar); + instructions.push(new AstVariableDefinition(tmpVar, ast1)); + break; + case 'dup': + if (stack.length < 1) { + return null; + } + if (typeof code[i + 1] === 'number' && code[i + 2] === 'gt' && code[i + 3] === i + 7 && code[i + 4] === 'jz' && code[i + 5] === 'pop' && code[i + 6] === code[i + 1]) { + num1 = stack.pop(); + stack.push(buildMinOperation(num1, code[i + 1])); + i += 6; + break; + } + ast1 = stack[stack.length - 1]; + if (ast1.type === 'literal' || ast1.type === 'var') { + stack.push(ast1); + break; + } + tmpVar = new AstVariable(lastRegister++, ast1.min, ast1.max); + stack[stack.length - 1] = tmpVar; + stack.push(tmpVar); + instructions.push(new AstVariableDefinition(tmpVar, ast1)); + break; + case 'roll': + if (stack.length < 2) { + return null; + } + num2 = stack.pop(); + num1 = stack.pop(); + if (num2.type !== 'literal' || num1.type !== 'literal') { + return null; + } + j = num2.number; + n = num1.number; + if (n <= 0 || (n | 0) !== n || (j | 0) !== j || stack.length < n) { + return null; + } + j = (j % n + n) % n; + if (j === 0) { + break; + } + Array.prototype.push.apply(stack, stack.splice(stack.length - n, n - j)); + break; + default: + return null; + } + } + if (stack.length !== outputSize) { + return null; + } + var result = []; + instructions.forEach(function (instruction) { + var statementBuilder = new ExpressionBuilderVisitor(); + instruction.visit(statementBuilder); + result.push(statementBuilder.toString()); + }); + stack.forEach(function (expr, i) { + var statementBuilder = new ExpressionBuilderVisitor(); + expr.visit(statementBuilder); + var min = range[i * 2], max = range[i * 2 + 1]; + var out = [statementBuilder.toString()]; + if (min > expr.min) { + out.unshift('Math.max(', min, ', '); + out.push(')'); + } + if (max < expr.max) { + out.unshift('Math.min(', max, ', '); + out.push(')'); + } + out.unshift('dest[destOffset + ', i, '] = '); + out.push(';'); + result.push(out.join('')); + }); + return result.join('\n'); + } + }; + return PostScriptCompiler; +}(); +exports.isPDFFunction = isPDFFunction; +exports.PDFFunction = PDFFunction; +exports.PostScriptEvaluator = PostScriptEvaluator; +exports.PostScriptCompiler = PostScriptCompiler; + +/***/ }), +/* 7 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var getLookupTableFactory = sharedUtil.getLookupTableFactory; +var getGlyphsUnicode = getLookupTableFactory(function (t) { + t['A'] = 0x0041; + t['AE'] = 0x00C6; + t['AEacute'] = 0x01FC; + t['AEmacron'] = 0x01E2; + t['AEsmall'] = 0xF7E6; + t['Aacute'] = 0x00C1; + t['Aacutesmall'] = 0xF7E1; + t['Abreve'] = 0x0102; + t['Abreveacute'] = 0x1EAE; + t['Abrevecyrillic'] = 0x04D0; + t['Abrevedotbelow'] = 0x1EB6; + t['Abrevegrave'] = 0x1EB0; + t['Abrevehookabove'] = 0x1EB2; + t['Abrevetilde'] = 0x1EB4; + t['Acaron'] = 0x01CD; + t['Acircle'] = 0x24B6; + t['Acircumflex'] = 0x00C2; + t['Acircumflexacute'] = 0x1EA4; + t['Acircumflexdotbelow'] = 0x1EAC; + t['Acircumflexgrave'] = 0x1EA6; + t['Acircumflexhookabove'] = 0x1EA8; + t['Acircumflexsmall'] = 0xF7E2; + t['Acircumflextilde'] = 0x1EAA; + t['Acute'] = 0xF6C9; + t['Acutesmall'] = 0xF7B4; + t['Acyrillic'] = 0x0410; + t['Adblgrave'] = 0x0200; + t['Adieresis'] = 0x00C4; + t['Adieresiscyrillic'] = 0x04D2; + t['Adieresismacron'] = 0x01DE; + t['Adieresissmall'] = 0xF7E4; + t['Adotbelow'] = 0x1EA0; + t['Adotmacron'] = 0x01E0; + t['Agrave'] = 0x00C0; + t['Agravesmall'] = 0xF7E0; + t['Ahookabove'] = 0x1EA2; + t['Aiecyrillic'] = 0x04D4; + t['Ainvertedbreve'] = 0x0202; + t['Alpha'] = 0x0391; + t['Alphatonos'] = 0x0386; + t['Amacron'] = 0x0100; + t['Amonospace'] = 0xFF21; + t['Aogonek'] = 0x0104; + t['Aring'] = 0x00C5; + t['Aringacute'] = 0x01FA; + t['Aringbelow'] = 0x1E00; + t['Aringsmall'] = 0xF7E5; + t['Asmall'] = 0xF761; + t['Atilde'] = 0x00C3; + t['Atildesmall'] = 0xF7E3; + t['Aybarmenian'] = 0x0531; + t['B'] = 0x0042; + t['Bcircle'] = 0x24B7; + t['Bdotaccent'] = 0x1E02; + t['Bdotbelow'] = 0x1E04; + t['Becyrillic'] = 0x0411; + t['Benarmenian'] = 0x0532; + t['Beta'] = 0x0392; + t['Bhook'] = 0x0181; + t['Blinebelow'] = 0x1E06; + t['Bmonospace'] = 0xFF22; + t['Brevesmall'] = 0xF6F4; + t['Bsmall'] = 0xF762; + t['Btopbar'] = 0x0182; + t['C'] = 0x0043; + t['Caarmenian'] = 0x053E; + t['Cacute'] = 0x0106; + t['Caron'] = 0xF6CA; + t['Caronsmall'] = 0xF6F5; + t['Ccaron'] = 0x010C; + t['Ccedilla'] = 0x00C7; + t['Ccedillaacute'] = 0x1E08; + t['Ccedillasmall'] = 0xF7E7; + t['Ccircle'] = 0x24B8; + t['Ccircumflex'] = 0x0108; + t['Cdot'] = 0x010A; + t['Cdotaccent'] = 0x010A; + t['Cedillasmall'] = 0xF7B8; + t['Chaarmenian'] = 0x0549; + t['Cheabkhasiancyrillic'] = 0x04BC; + t['Checyrillic'] = 0x0427; + t['Chedescenderabkhasiancyrillic'] = 0x04BE; + t['Chedescendercyrillic'] = 0x04B6; + t['Chedieresiscyrillic'] = 0x04F4; + t['Cheharmenian'] = 0x0543; + t['Chekhakassiancyrillic'] = 0x04CB; + t['Cheverticalstrokecyrillic'] = 0x04B8; + t['Chi'] = 0x03A7; + t['Chook'] = 0x0187; + t['Circumflexsmall'] = 0xF6F6; + t['Cmonospace'] = 0xFF23; + t['Coarmenian'] = 0x0551; + t['Csmall'] = 0xF763; + t['D'] = 0x0044; + t['DZ'] = 0x01F1; + t['DZcaron'] = 0x01C4; + t['Daarmenian'] = 0x0534; + t['Dafrican'] = 0x0189; + t['Dcaron'] = 0x010E; + t['Dcedilla'] = 0x1E10; + t['Dcircle'] = 0x24B9; + t['Dcircumflexbelow'] = 0x1E12; + t['Dcroat'] = 0x0110; + t['Ddotaccent'] = 0x1E0A; + t['Ddotbelow'] = 0x1E0C; + t['Decyrillic'] = 0x0414; + t['Deicoptic'] = 0x03EE; + t['Delta'] = 0x2206; + t['Deltagreek'] = 0x0394; + t['Dhook'] = 0x018A; + t['Dieresis'] = 0xF6CB; + t['DieresisAcute'] = 0xF6CC; + t['DieresisGrave'] = 0xF6CD; + t['Dieresissmall'] = 0xF7A8; + t['Digammagreek'] = 0x03DC; + t['Djecyrillic'] = 0x0402; + t['Dlinebelow'] = 0x1E0E; + t['Dmonospace'] = 0xFF24; + t['Dotaccentsmall'] = 0xF6F7; + t['Dslash'] = 0x0110; + t['Dsmall'] = 0xF764; + t['Dtopbar'] = 0x018B; + t['Dz'] = 0x01F2; + t['Dzcaron'] = 0x01C5; + t['Dzeabkhasiancyrillic'] = 0x04E0; + t['Dzecyrillic'] = 0x0405; + t['Dzhecyrillic'] = 0x040F; + t['E'] = 0x0045; + t['Eacute'] = 0x00C9; + t['Eacutesmall'] = 0xF7E9; + t['Ebreve'] = 0x0114; + t['Ecaron'] = 0x011A; + t['Ecedillabreve'] = 0x1E1C; + t['Echarmenian'] = 0x0535; + t['Ecircle'] = 0x24BA; + t['Ecircumflex'] = 0x00CA; + t['Ecircumflexacute'] = 0x1EBE; + t['Ecircumflexbelow'] = 0x1E18; + t['Ecircumflexdotbelow'] = 0x1EC6; + t['Ecircumflexgrave'] = 0x1EC0; + t['Ecircumflexhookabove'] = 0x1EC2; + t['Ecircumflexsmall'] = 0xF7EA; + t['Ecircumflextilde'] = 0x1EC4; + t['Ecyrillic'] = 0x0404; + t['Edblgrave'] = 0x0204; + t['Edieresis'] = 0x00CB; + t['Edieresissmall'] = 0xF7EB; + t['Edot'] = 0x0116; + t['Edotaccent'] = 0x0116; + t['Edotbelow'] = 0x1EB8; + t['Efcyrillic'] = 0x0424; + t['Egrave'] = 0x00C8; + t['Egravesmall'] = 0xF7E8; + t['Eharmenian'] = 0x0537; + t['Ehookabove'] = 0x1EBA; + t['Eightroman'] = 0x2167; + t['Einvertedbreve'] = 0x0206; + t['Eiotifiedcyrillic'] = 0x0464; + t['Elcyrillic'] = 0x041B; + t['Elevenroman'] = 0x216A; + t['Emacron'] = 0x0112; + t['Emacronacute'] = 0x1E16; + t['Emacrongrave'] = 0x1E14; + t['Emcyrillic'] = 0x041C; + t['Emonospace'] = 0xFF25; + t['Encyrillic'] = 0x041D; + t['Endescendercyrillic'] = 0x04A2; + t['Eng'] = 0x014A; + t['Enghecyrillic'] = 0x04A4; + t['Enhookcyrillic'] = 0x04C7; + t['Eogonek'] = 0x0118; + t['Eopen'] = 0x0190; + t['Epsilon'] = 0x0395; + t['Epsilontonos'] = 0x0388; + t['Ercyrillic'] = 0x0420; + t['Ereversed'] = 0x018E; + t['Ereversedcyrillic'] = 0x042D; + t['Escyrillic'] = 0x0421; + t['Esdescendercyrillic'] = 0x04AA; + t['Esh'] = 0x01A9; + t['Esmall'] = 0xF765; + t['Eta'] = 0x0397; + t['Etarmenian'] = 0x0538; + t['Etatonos'] = 0x0389; + t['Eth'] = 0x00D0; + t['Ethsmall'] = 0xF7F0; + t['Etilde'] = 0x1EBC; + t['Etildebelow'] = 0x1E1A; + t['Euro'] = 0x20AC; + t['Ezh'] = 0x01B7; + t['Ezhcaron'] = 0x01EE; + t['Ezhreversed'] = 0x01B8; + t['F'] = 0x0046; + t['Fcircle'] = 0x24BB; + t['Fdotaccent'] = 0x1E1E; + t['Feharmenian'] = 0x0556; + t['Feicoptic'] = 0x03E4; + t['Fhook'] = 0x0191; + t['Fitacyrillic'] = 0x0472; + t['Fiveroman'] = 0x2164; + t['Fmonospace'] = 0xFF26; + t['Fourroman'] = 0x2163; + t['Fsmall'] = 0xF766; + t['G'] = 0x0047; + t['GBsquare'] = 0x3387; + t['Gacute'] = 0x01F4; + t['Gamma'] = 0x0393; + t['Gammaafrican'] = 0x0194; + t['Gangiacoptic'] = 0x03EA; + t['Gbreve'] = 0x011E; + t['Gcaron'] = 0x01E6; + t['Gcedilla'] = 0x0122; + t['Gcircle'] = 0x24BC; + t['Gcircumflex'] = 0x011C; + t['Gcommaaccent'] = 0x0122; + t['Gdot'] = 0x0120; + t['Gdotaccent'] = 0x0120; + t['Gecyrillic'] = 0x0413; + t['Ghadarmenian'] = 0x0542; + t['Ghemiddlehookcyrillic'] = 0x0494; + t['Ghestrokecyrillic'] = 0x0492; + t['Gheupturncyrillic'] = 0x0490; + t['Ghook'] = 0x0193; + t['Gimarmenian'] = 0x0533; + t['Gjecyrillic'] = 0x0403; + t['Gmacron'] = 0x1E20; + t['Gmonospace'] = 0xFF27; + t['Grave'] = 0xF6CE; + t['Gravesmall'] = 0xF760; + t['Gsmall'] = 0xF767; + t['Gsmallhook'] = 0x029B; + t['Gstroke'] = 0x01E4; + t['H'] = 0x0048; + t['H18533'] = 0x25CF; + t['H18543'] = 0x25AA; + t['H18551'] = 0x25AB; + t['H22073'] = 0x25A1; + t['HPsquare'] = 0x33CB; + t['Haabkhasiancyrillic'] = 0x04A8; + t['Hadescendercyrillic'] = 0x04B2; + t['Hardsigncyrillic'] = 0x042A; + t['Hbar'] = 0x0126; + t['Hbrevebelow'] = 0x1E2A; + t['Hcedilla'] = 0x1E28; + t['Hcircle'] = 0x24BD; + t['Hcircumflex'] = 0x0124; + t['Hdieresis'] = 0x1E26; + t['Hdotaccent'] = 0x1E22; + t['Hdotbelow'] = 0x1E24; + t['Hmonospace'] = 0xFF28; + t['Hoarmenian'] = 0x0540; + t['Horicoptic'] = 0x03E8; + t['Hsmall'] = 0xF768; + t['Hungarumlaut'] = 0xF6CF; + t['Hungarumlautsmall'] = 0xF6F8; + t['Hzsquare'] = 0x3390; + t['I'] = 0x0049; + t['IAcyrillic'] = 0x042F; + t['IJ'] = 0x0132; + t['IUcyrillic'] = 0x042E; + t['Iacute'] = 0x00CD; + t['Iacutesmall'] = 0xF7ED; + t['Ibreve'] = 0x012C; + t['Icaron'] = 0x01CF; + t['Icircle'] = 0x24BE; + t['Icircumflex'] = 0x00CE; + t['Icircumflexsmall'] = 0xF7EE; + t['Icyrillic'] = 0x0406; + t['Idblgrave'] = 0x0208; + t['Idieresis'] = 0x00CF; + t['Idieresisacute'] = 0x1E2E; + t['Idieresiscyrillic'] = 0x04E4; + t['Idieresissmall'] = 0xF7EF; + t['Idot'] = 0x0130; + t['Idotaccent'] = 0x0130; + t['Idotbelow'] = 0x1ECA; + t['Iebrevecyrillic'] = 0x04D6; + t['Iecyrillic'] = 0x0415; + t['Ifraktur'] = 0x2111; + t['Igrave'] = 0x00CC; + t['Igravesmall'] = 0xF7EC; + t['Ihookabove'] = 0x1EC8; + t['Iicyrillic'] = 0x0418; + t['Iinvertedbreve'] = 0x020A; + t['Iishortcyrillic'] = 0x0419; + t['Imacron'] = 0x012A; + t['Imacroncyrillic'] = 0x04E2; + t['Imonospace'] = 0xFF29; + t['Iniarmenian'] = 0x053B; + t['Iocyrillic'] = 0x0401; + t['Iogonek'] = 0x012E; + t['Iota'] = 0x0399; + t['Iotaafrican'] = 0x0196; + t['Iotadieresis'] = 0x03AA; + t['Iotatonos'] = 0x038A; + t['Ismall'] = 0xF769; + t['Istroke'] = 0x0197; + t['Itilde'] = 0x0128; + t['Itildebelow'] = 0x1E2C; + t['Izhitsacyrillic'] = 0x0474; + t['Izhitsadblgravecyrillic'] = 0x0476; + t['J'] = 0x004A; + t['Jaarmenian'] = 0x0541; + t['Jcircle'] = 0x24BF; + t['Jcircumflex'] = 0x0134; + t['Jecyrillic'] = 0x0408; + t['Jheharmenian'] = 0x054B; + t['Jmonospace'] = 0xFF2A; + t['Jsmall'] = 0xF76A; + t['K'] = 0x004B; + t['KBsquare'] = 0x3385; + t['KKsquare'] = 0x33CD; + t['Kabashkircyrillic'] = 0x04A0; + t['Kacute'] = 0x1E30; + t['Kacyrillic'] = 0x041A; + t['Kadescendercyrillic'] = 0x049A; + t['Kahookcyrillic'] = 0x04C3; + t['Kappa'] = 0x039A; + t['Kastrokecyrillic'] = 0x049E; + t['Kaverticalstrokecyrillic'] = 0x049C; + t['Kcaron'] = 0x01E8; + t['Kcedilla'] = 0x0136; + t['Kcircle'] = 0x24C0; + t['Kcommaaccent'] = 0x0136; + t['Kdotbelow'] = 0x1E32; + t['Keharmenian'] = 0x0554; + t['Kenarmenian'] = 0x053F; + t['Khacyrillic'] = 0x0425; + t['Kheicoptic'] = 0x03E6; + t['Khook'] = 0x0198; + t['Kjecyrillic'] = 0x040C; + t['Klinebelow'] = 0x1E34; + t['Kmonospace'] = 0xFF2B; + t['Koppacyrillic'] = 0x0480; + t['Koppagreek'] = 0x03DE; + t['Ksicyrillic'] = 0x046E; + t['Ksmall'] = 0xF76B; + t['L'] = 0x004C; + t['LJ'] = 0x01C7; + t['LL'] = 0xF6BF; + t['Lacute'] = 0x0139; + t['Lambda'] = 0x039B; + t['Lcaron'] = 0x013D; + t['Lcedilla'] = 0x013B; + t['Lcircle'] = 0x24C1; + t['Lcircumflexbelow'] = 0x1E3C; + t['Lcommaaccent'] = 0x013B; + t['Ldot'] = 0x013F; + t['Ldotaccent'] = 0x013F; + t['Ldotbelow'] = 0x1E36; + t['Ldotbelowmacron'] = 0x1E38; + t['Liwnarmenian'] = 0x053C; + t['Lj'] = 0x01C8; + t['Ljecyrillic'] = 0x0409; + t['Llinebelow'] = 0x1E3A; + t['Lmonospace'] = 0xFF2C; + t['Lslash'] = 0x0141; + t['Lslashsmall'] = 0xF6F9; + t['Lsmall'] = 0xF76C; + t['M'] = 0x004D; + t['MBsquare'] = 0x3386; + t['Macron'] = 0xF6D0; + t['Macronsmall'] = 0xF7AF; + t['Macute'] = 0x1E3E; + t['Mcircle'] = 0x24C2; + t['Mdotaccent'] = 0x1E40; + t['Mdotbelow'] = 0x1E42; + t['Menarmenian'] = 0x0544; + t['Mmonospace'] = 0xFF2D; + t['Msmall'] = 0xF76D; + t['Mturned'] = 0x019C; + t['Mu'] = 0x039C; + t['N'] = 0x004E; + t['NJ'] = 0x01CA; + t['Nacute'] = 0x0143; + t['Ncaron'] = 0x0147; + t['Ncedilla'] = 0x0145; + t['Ncircle'] = 0x24C3; + t['Ncircumflexbelow'] = 0x1E4A; + t['Ncommaaccent'] = 0x0145; + t['Ndotaccent'] = 0x1E44; + t['Ndotbelow'] = 0x1E46; + t['Nhookleft'] = 0x019D; + t['Nineroman'] = 0x2168; + t['Nj'] = 0x01CB; + t['Njecyrillic'] = 0x040A; + t['Nlinebelow'] = 0x1E48; + t['Nmonospace'] = 0xFF2E; + t['Nowarmenian'] = 0x0546; + t['Nsmall'] = 0xF76E; + t['Ntilde'] = 0x00D1; + t['Ntildesmall'] = 0xF7F1; + t['Nu'] = 0x039D; + t['O'] = 0x004F; + t['OE'] = 0x0152; + t['OEsmall'] = 0xF6FA; + t['Oacute'] = 0x00D3; + t['Oacutesmall'] = 0xF7F3; + t['Obarredcyrillic'] = 0x04E8; + t['Obarreddieresiscyrillic'] = 0x04EA; + t['Obreve'] = 0x014E; + t['Ocaron'] = 0x01D1; + t['Ocenteredtilde'] = 0x019F; + t['Ocircle'] = 0x24C4; + t['Ocircumflex'] = 0x00D4; + t['Ocircumflexacute'] = 0x1ED0; + t['Ocircumflexdotbelow'] = 0x1ED8; + t['Ocircumflexgrave'] = 0x1ED2; + t['Ocircumflexhookabove'] = 0x1ED4; + t['Ocircumflexsmall'] = 0xF7F4; + t['Ocircumflextilde'] = 0x1ED6; + t['Ocyrillic'] = 0x041E; + t['Odblacute'] = 0x0150; + t['Odblgrave'] = 0x020C; + t['Odieresis'] = 0x00D6; + t['Odieresiscyrillic'] = 0x04E6; + t['Odieresissmall'] = 0xF7F6; + t['Odotbelow'] = 0x1ECC; + t['Ogoneksmall'] = 0xF6FB; + t['Ograve'] = 0x00D2; + t['Ogravesmall'] = 0xF7F2; + t['Oharmenian'] = 0x0555; + t['Ohm'] = 0x2126; + t['Ohookabove'] = 0x1ECE; + t['Ohorn'] = 0x01A0; + t['Ohornacute'] = 0x1EDA; + t['Ohorndotbelow'] = 0x1EE2; + t['Ohorngrave'] = 0x1EDC; + t['Ohornhookabove'] = 0x1EDE; + t['Ohorntilde'] = 0x1EE0; + t['Ohungarumlaut'] = 0x0150; + t['Oi'] = 0x01A2; + t['Oinvertedbreve'] = 0x020E; + t['Omacron'] = 0x014C; + t['Omacronacute'] = 0x1E52; + t['Omacrongrave'] = 0x1E50; + t['Omega'] = 0x2126; + t['Omegacyrillic'] = 0x0460; + t['Omegagreek'] = 0x03A9; + t['Omegaroundcyrillic'] = 0x047A; + t['Omegatitlocyrillic'] = 0x047C; + t['Omegatonos'] = 0x038F; + t['Omicron'] = 0x039F; + t['Omicrontonos'] = 0x038C; + t['Omonospace'] = 0xFF2F; + t['Oneroman'] = 0x2160; + t['Oogonek'] = 0x01EA; + t['Oogonekmacron'] = 0x01EC; + t['Oopen'] = 0x0186; + t['Oslash'] = 0x00D8; + t['Oslashacute'] = 0x01FE; + t['Oslashsmall'] = 0xF7F8; + t['Osmall'] = 0xF76F; + t['Ostrokeacute'] = 0x01FE; + t['Otcyrillic'] = 0x047E; + t['Otilde'] = 0x00D5; + t['Otildeacute'] = 0x1E4C; + t['Otildedieresis'] = 0x1E4E; + t['Otildesmall'] = 0xF7F5; + t['P'] = 0x0050; + t['Pacute'] = 0x1E54; + t['Pcircle'] = 0x24C5; + t['Pdotaccent'] = 0x1E56; + t['Pecyrillic'] = 0x041F; + t['Peharmenian'] = 0x054A; + t['Pemiddlehookcyrillic'] = 0x04A6; + t['Phi'] = 0x03A6; + t['Phook'] = 0x01A4; + t['Pi'] = 0x03A0; + t['Piwrarmenian'] = 0x0553; + t['Pmonospace'] = 0xFF30; + t['Psi'] = 0x03A8; + t['Psicyrillic'] = 0x0470; + t['Psmall'] = 0xF770; + t['Q'] = 0x0051; + t['Qcircle'] = 0x24C6; + t['Qmonospace'] = 0xFF31; + t['Qsmall'] = 0xF771; + t['R'] = 0x0052; + t['Raarmenian'] = 0x054C; + t['Racute'] = 0x0154; + t['Rcaron'] = 0x0158; + t['Rcedilla'] = 0x0156; + t['Rcircle'] = 0x24C7; + t['Rcommaaccent'] = 0x0156; + t['Rdblgrave'] = 0x0210; + t['Rdotaccent'] = 0x1E58; + t['Rdotbelow'] = 0x1E5A; + t['Rdotbelowmacron'] = 0x1E5C; + t['Reharmenian'] = 0x0550; + t['Rfraktur'] = 0x211C; + t['Rho'] = 0x03A1; + t['Ringsmall'] = 0xF6FC; + t['Rinvertedbreve'] = 0x0212; + t['Rlinebelow'] = 0x1E5E; + t['Rmonospace'] = 0xFF32; + t['Rsmall'] = 0xF772; + t['Rsmallinverted'] = 0x0281; + t['Rsmallinvertedsuperior'] = 0x02B6; + t['S'] = 0x0053; + t['SF010000'] = 0x250C; + t['SF020000'] = 0x2514; + t['SF030000'] = 0x2510; + t['SF040000'] = 0x2518; + t['SF050000'] = 0x253C; + t['SF060000'] = 0x252C; + t['SF070000'] = 0x2534; + t['SF080000'] = 0x251C; + t['SF090000'] = 0x2524; + t['SF100000'] = 0x2500; + t['SF110000'] = 0x2502; + t['SF190000'] = 0x2561; + t['SF200000'] = 0x2562; + t['SF210000'] = 0x2556; + t['SF220000'] = 0x2555; + t['SF230000'] = 0x2563; + t['SF240000'] = 0x2551; + t['SF250000'] = 0x2557; + t['SF260000'] = 0x255D; + t['SF270000'] = 0x255C; + t['SF280000'] = 0x255B; + t['SF360000'] = 0x255E; + t['SF370000'] = 0x255F; + t['SF380000'] = 0x255A; + t['SF390000'] = 0x2554; + t['SF400000'] = 0x2569; + t['SF410000'] = 0x2566; + t['SF420000'] = 0x2560; + t['SF430000'] = 0x2550; + t['SF440000'] = 0x256C; + t['SF450000'] = 0x2567; + t['SF460000'] = 0x2568; + t['SF470000'] = 0x2564; + t['SF480000'] = 0x2565; + t['SF490000'] = 0x2559; + t['SF500000'] = 0x2558; + t['SF510000'] = 0x2552; + t['SF520000'] = 0x2553; + t['SF530000'] = 0x256B; + t['SF540000'] = 0x256A; + t['Sacute'] = 0x015A; + t['Sacutedotaccent'] = 0x1E64; + t['Sampigreek'] = 0x03E0; + t['Scaron'] = 0x0160; + t['Scarondotaccent'] = 0x1E66; + t['Scaronsmall'] = 0xF6FD; + t['Scedilla'] = 0x015E; + t['Schwa'] = 0x018F; + t['Schwacyrillic'] = 0x04D8; + t['Schwadieresiscyrillic'] = 0x04DA; + t['Scircle'] = 0x24C8; + t['Scircumflex'] = 0x015C; + t['Scommaaccent'] = 0x0218; + t['Sdotaccent'] = 0x1E60; + t['Sdotbelow'] = 0x1E62; + t['Sdotbelowdotaccent'] = 0x1E68; + t['Seharmenian'] = 0x054D; + t['Sevenroman'] = 0x2166; + t['Shaarmenian'] = 0x0547; + t['Shacyrillic'] = 0x0428; + t['Shchacyrillic'] = 0x0429; + t['Sheicoptic'] = 0x03E2; + t['Shhacyrillic'] = 0x04BA; + t['Shimacoptic'] = 0x03EC; + t['Sigma'] = 0x03A3; + t['Sixroman'] = 0x2165; + t['Smonospace'] = 0xFF33; + t['Softsigncyrillic'] = 0x042C; + t['Ssmall'] = 0xF773; + t['Stigmagreek'] = 0x03DA; + t['T'] = 0x0054; + t['Tau'] = 0x03A4; + t['Tbar'] = 0x0166; + t['Tcaron'] = 0x0164; + t['Tcedilla'] = 0x0162; + t['Tcircle'] = 0x24C9; + t['Tcircumflexbelow'] = 0x1E70; + t['Tcommaaccent'] = 0x0162; + t['Tdotaccent'] = 0x1E6A; + t['Tdotbelow'] = 0x1E6C; + t['Tecyrillic'] = 0x0422; + t['Tedescendercyrillic'] = 0x04AC; + t['Tenroman'] = 0x2169; + t['Tetsecyrillic'] = 0x04B4; + t['Theta'] = 0x0398; + t['Thook'] = 0x01AC; + t['Thorn'] = 0x00DE; + t['Thornsmall'] = 0xF7FE; + t['Threeroman'] = 0x2162; + t['Tildesmall'] = 0xF6FE; + t['Tiwnarmenian'] = 0x054F; + t['Tlinebelow'] = 0x1E6E; + t['Tmonospace'] = 0xFF34; + t['Toarmenian'] = 0x0539; + t['Tonefive'] = 0x01BC; + t['Tonesix'] = 0x0184; + t['Tonetwo'] = 0x01A7; + t['Tretroflexhook'] = 0x01AE; + t['Tsecyrillic'] = 0x0426; + t['Tshecyrillic'] = 0x040B; + t['Tsmall'] = 0xF774; + t['Twelveroman'] = 0x216B; + t['Tworoman'] = 0x2161; + t['U'] = 0x0055; + t['Uacute'] = 0x00DA; + t['Uacutesmall'] = 0xF7FA; + t['Ubreve'] = 0x016C; + t['Ucaron'] = 0x01D3; + t['Ucircle'] = 0x24CA; + t['Ucircumflex'] = 0x00DB; + t['Ucircumflexbelow'] = 0x1E76; + t['Ucircumflexsmall'] = 0xF7FB; + t['Ucyrillic'] = 0x0423; + t['Udblacute'] = 0x0170; + t['Udblgrave'] = 0x0214; + t['Udieresis'] = 0x00DC; + t['Udieresisacute'] = 0x01D7; + t['Udieresisbelow'] = 0x1E72; + t['Udieresiscaron'] = 0x01D9; + t['Udieresiscyrillic'] = 0x04F0; + t['Udieresisgrave'] = 0x01DB; + t['Udieresismacron'] = 0x01D5; + t['Udieresissmall'] = 0xF7FC; + t['Udotbelow'] = 0x1EE4; + t['Ugrave'] = 0x00D9; + t['Ugravesmall'] = 0xF7F9; + t['Uhookabove'] = 0x1EE6; + t['Uhorn'] = 0x01AF; + t['Uhornacute'] = 0x1EE8; + t['Uhorndotbelow'] = 0x1EF0; + t['Uhorngrave'] = 0x1EEA; + t['Uhornhookabove'] = 0x1EEC; + t['Uhorntilde'] = 0x1EEE; + t['Uhungarumlaut'] = 0x0170; + t['Uhungarumlautcyrillic'] = 0x04F2; + t['Uinvertedbreve'] = 0x0216; + t['Ukcyrillic'] = 0x0478; + t['Umacron'] = 0x016A; + t['Umacroncyrillic'] = 0x04EE; + t['Umacrondieresis'] = 0x1E7A; + t['Umonospace'] = 0xFF35; + t['Uogonek'] = 0x0172; + t['Upsilon'] = 0x03A5; + t['Upsilon1'] = 0x03D2; + t['Upsilonacutehooksymbolgreek'] = 0x03D3; + t['Upsilonafrican'] = 0x01B1; + t['Upsilondieresis'] = 0x03AB; + t['Upsilondieresishooksymbolgreek'] = 0x03D4; + t['Upsilonhooksymbol'] = 0x03D2; + t['Upsilontonos'] = 0x038E; + t['Uring'] = 0x016E; + t['Ushortcyrillic'] = 0x040E; + t['Usmall'] = 0xF775; + t['Ustraightcyrillic'] = 0x04AE; + t['Ustraightstrokecyrillic'] = 0x04B0; + t['Utilde'] = 0x0168; + t['Utildeacute'] = 0x1E78; + t['Utildebelow'] = 0x1E74; + t['V'] = 0x0056; + t['Vcircle'] = 0x24CB; + t['Vdotbelow'] = 0x1E7E; + t['Vecyrillic'] = 0x0412; + t['Vewarmenian'] = 0x054E; + t['Vhook'] = 0x01B2; + t['Vmonospace'] = 0xFF36; + t['Voarmenian'] = 0x0548; + t['Vsmall'] = 0xF776; + t['Vtilde'] = 0x1E7C; + t['W'] = 0x0057; + t['Wacute'] = 0x1E82; + t['Wcircle'] = 0x24CC; + t['Wcircumflex'] = 0x0174; + t['Wdieresis'] = 0x1E84; + t['Wdotaccent'] = 0x1E86; + t['Wdotbelow'] = 0x1E88; + t['Wgrave'] = 0x1E80; + t['Wmonospace'] = 0xFF37; + t['Wsmall'] = 0xF777; + t['X'] = 0x0058; + t['Xcircle'] = 0x24CD; + t['Xdieresis'] = 0x1E8C; + t['Xdotaccent'] = 0x1E8A; + t['Xeharmenian'] = 0x053D; + t['Xi'] = 0x039E; + t['Xmonospace'] = 0xFF38; + t['Xsmall'] = 0xF778; + t['Y'] = 0x0059; + t['Yacute'] = 0x00DD; + t['Yacutesmall'] = 0xF7FD; + t['Yatcyrillic'] = 0x0462; + t['Ycircle'] = 0x24CE; + t['Ycircumflex'] = 0x0176; + t['Ydieresis'] = 0x0178; + t['Ydieresissmall'] = 0xF7FF; + t['Ydotaccent'] = 0x1E8E; + t['Ydotbelow'] = 0x1EF4; + t['Yericyrillic'] = 0x042B; + t['Yerudieresiscyrillic'] = 0x04F8; + t['Ygrave'] = 0x1EF2; + t['Yhook'] = 0x01B3; + t['Yhookabove'] = 0x1EF6; + t['Yiarmenian'] = 0x0545; + t['Yicyrillic'] = 0x0407; + t['Yiwnarmenian'] = 0x0552; + t['Ymonospace'] = 0xFF39; + t['Ysmall'] = 0xF779; + t['Ytilde'] = 0x1EF8; + t['Yusbigcyrillic'] = 0x046A; + t['Yusbigiotifiedcyrillic'] = 0x046C; + t['Yuslittlecyrillic'] = 0x0466; + t['Yuslittleiotifiedcyrillic'] = 0x0468; + t['Z'] = 0x005A; + t['Zaarmenian'] = 0x0536; + t['Zacute'] = 0x0179; + t['Zcaron'] = 0x017D; + t['Zcaronsmall'] = 0xF6FF; + t['Zcircle'] = 0x24CF; + t['Zcircumflex'] = 0x1E90; + t['Zdot'] = 0x017B; + t['Zdotaccent'] = 0x017B; + t['Zdotbelow'] = 0x1E92; + t['Zecyrillic'] = 0x0417; + t['Zedescendercyrillic'] = 0x0498; + t['Zedieresiscyrillic'] = 0x04DE; + t['Zeta'] = 0x0396; + t['Zhearmenian'] = 0x053A; + t['Zhebrevecyrillic'] = 0x04C1; + t['Zhecyrillic'] = 0x0416; + t['Zhedescendercyrillic'] = 0x0496; + t['Zhedieresiscyrillic'] = 0x04DC; + t['Zlinebelow'] = 0x1E94; + t['Zmonospace'] = 0xFF3A; + t['Zsmall'] = 0xF77A; + t['Zstroke'] = 0x01B5; + t['a'] = 0x0061; + t['aabengali'] = 0x0986; + t['aacute'] = 0x00E1; + t['aadeva'] = 0x0906; + t['aagujarati'] = 0x0A86; + t['aagurmukhi'] = 0x0A06; + t['aamatragurmukhi'] = 0x0A3E; + t['aarusquare'] = 0x3303; + t['aavowelsignbengali'] = 0x09BE; + t['aavowelsigndeva'] = 0x093E; + t['aavowelsigngujarati'] = 0x0ABE; + t['abbreviationmarkarmenian'] = 0x055F; + t['abbreviationsigndeva'] = 0x0970; + t['abengali'] = 0x0985; + t['abopomofo'] = 0x311A; + t['abreve'] = 0x0103; + t['abreveacute'] = 0x1EAF; + t['abrevecyrillic'] = 0x04D1; + t['abrevedotbelow'] = 0x1EB7; + t['abrevegrave'] = 0x1EB1; + t['abrevehookabove'] = 0x1EB3; + t['abrevetilde'] = 0x1EB5; + t['acaron'] = 0x01CE; + t['acircle'] = 0x24D0; + t['acircumflex'] = 0x00E2; + t['acircumflexacute'] = 0x1EA5; + t['acircumflexdotbelow'] = 0x1EAD; + t['acircumflexgrave'] = 0x1EA7; + t['acircumflexhookabove'] = 0x1EA9; + t['acircumflextilde'] = 0x1EAB; + t['acute'] = 0x00B4; + t['acutebelowcmb'] = 0x0317; + t['acutecmb'] = 0x0301; + t['acutecomb'] = 0x0301; + t['acutedeva'] = 0x0954; + t['acutelowmod'] = 0x02CF; + t['acutetonecmb'] = 0x0341; + t['acyrillic'] = 0x0430; + t['adblgrave'] = 0x0201; + t['addakgurmukhi'] = 0x0A71; + t['adeva'] = 0x0905; + t['adieresis'] = 0x00E4; + t['adieresiscyrillic'] = 0x04D3; + t['adieresismacron'] = 0x01DF; + t['adotbelow'] = 0x1EA1; + t['adotmacron'] = 0x01E1; + t['ae'] = 0x00E6; + t['aeacute'] = 0x01FD; + t['aekorean'] = 0x3150; + t['aemacron'] = 0x01E3; + t['afii00208'] = 0x2015; + t['afii08941'] = 0x20A4; + t['afii10017'] = 0x0410; + t['afii10018'] = 0x0411; + t['afii10019'] = 0x0412; + t['afii10020'] = 0x0413; + t['afii10021'] = 0x0414; + t['afii10022'] = 0x0415; + t['afii10023'] = 0x0401; + t['afii10024'] = 0x0416; + t['afii10025'] = 0x0417; + t['afii10026'] = 0x0418; + t['afii10027'] = 0x0419; + t['afii10028'] = 0x041A; + t['afii10029'] = 0x041B; + t['afii10030'] = 0x041C; + t['afii10031'] = 0x041D; + t['afii10032'] = 0x041E; + t['afii10033'] = 0x041F; + t['afii10034'] = 0x0420; + t['afii10035'] = 0x0421; + t['afii10036'] = 0x0422; + t['afii10037'] = 0x0423; + t['afii10038'] = 0x0424; + t['afii10039'] = 0x0425; + t['afii10040'] = 0x0426; + t['afii10041'] = 0x0427; + t['afii10042'] = 0x0428; + t['afii10043'] = 0x0429; + t['afii10044'] = 0x042A; + t['afii10045'] = 0x042B; + t['afii10046'] = 0x042C; + t['afii10047'] = 0x042D; + t['afii10048'] = 0x042E; + t['afii10049'] = 0x042F; + t['afii10050'] = 0x0490; + t['afii10051'] = 0x0402; + t['afii10052'] = 0x0403; + t['afii10053'] = 0x0404; + t['afii10054'] = 0x0405; + t['afii10055'] = 0x0406; + t['afii10056'] = 0x0407; + t['afii10057'] = 0x0408; + t['afii10058'] = 0x0409; + t['afii10059'] = 0x040A; + t['afii10060'] = 0x040B; + t['afii10061'] = 0x040C; + t['afii10062'] = 0x040E; + t['afii10063'] = 0xF6C4; + t['afii10064'] = 0xF6C5; + t['afii10065'] = 0x0430; + t['afii10066'] = 0x0431; + t['afii10067'] = 0x0432; + t['afii10068'] = 0x0433; + t['afii10069'] = 0x0434; + t['afii10070'] = 0x0435; + t['afii10071'] = 0x0451; + t['afii10072'] = 0x0436; + t['afii10073'] = 0x0437; + t['afii10074'] = 0x0438; + t['afii10075'] = 0x0439; + t['afii10076'] = 0x043A; + t['afii10077'] = 0x043B; + t['afii10078'] = 0x043C; + t['afii10079'] = 0x043D; + t['afii10080'] = 0x043E; + t['afii10081'] = 0x043F; + t['afii10082'] = 0x0440; + t['afii10083'] = 0x0441; + t['afii10084'] = 0x0442; + t['afii10085'] = 0x0443; + t['afii10086'] = 0x0444; + t['afii10087'] = 0x0445; + t['afii10088'] = 0x0446; + t['afii10089'] = 0x0447; + t['afii10090'] = 0x0448; + t['afii10091'] = 0x0449; + t['afii10092'] = 0x044A; + t['afii10093'] = 0x044B; + t['afii10094'] = 0x044C; + t['afii10095'] = 0x044D; + t['afii10096'] = 0x044E; + t['afii10097'] = 0x044F; + t['afii10098'] = 0x0491; + t['afii10099'] = 0x0452; + t['afii10100'] = 0x0453; + t['afii10101'] = 0x0454; + t['afii10102'] = 0x0455; + t['afii10103'] = 0x0456; + t['afii10104'] = 0x0457; + t['afii10105'] = 0x0458; + t['afii10106'] = 0x0459; + t['afii10107'] = 0x045A; + t['afii10108'] = 0x045B; + t['afii10109'] = 0x045C; + t['afii10110'] = 0x045E; + t['afii10145'] = 0x040F; + t['afii10146'] = 0x0462; + t['afii10147'] = 0x0472; + t['afii10148'] = 0x0474; + t['afii10192'] = 0xF6C6; + t['afii10193'] = 0x045F; + t['afii10194'] = 0x0463; + t['afii10195'] = 0x0473; + t['afii10196'] = 0x0475; + t['afii10831'] = 0xF6C7; + t['afii10832'] = 0xF6C8; + t['afii10846'] = 0x04D9; + t['afii299'] = 0x200E; + t['afii300'] = 0x200F; + t['afii301'] = 0x200D; + t['afii57381'] = 0x066A; + t['afii57388'] = 0x060C; + t['afii57392'] = 0x0660; + t['afii57393'] = 0x0661; + t['afii57394'] = 0x0662; + t['afii57395'] = 0x0663; + t['afii57396'] = 0x0664; + t['afii57397'] = 0x0665; + t['afii57398'] = 0x0666; + t['afii57399'] = 0x0667; + t['afii57400'] = 0x0668; + t['afii57401'] = 0x0669; + t['afii57403'] = 0x061B; + t['afii57407'] = 0x061F; + t['afii57409'] = 0x0621; + t['afii57410'] = 0x0622; + t['afii57411'] = 0x0623; + t['afii57412'] = 0x0624; + t['afii57413'] = 0x0625; + t['afii57414'] = 0x0626; + t['afii57415'] = 0x0627; + t['afii57416'] = 0x0628; + t['afii57417'] = 0x0629; + t['afii57418'] = 0x062A; + t['afii57419'] = 0x062B; + t['afii57420'] = 0x062C; + t['afii57421'] = 0x062D; + t['afii57422'] = 0x062E; + t['afii57423'] = 0x062F; + t['afii57424'] = 0x0630; + t['afii57425'] = 0x0631; + t['afii57426'] = 0x0632; + t['afii57427'] = 0x0633; + t['afii57428'] = 0x0634; + t['afii57429'] = 0x0635; + t['afii57430'] = 0x0636; + t['afii57431'] = 0x0637; + t['afii57432'] = 0x0638; + t['afii57433'] = 0x0639; + t['afii57434'] = 0x063A; + t['afii57440'] = 0x0640; + t['afii57441'] = 0x0641; + t['afii57442'] = 0x0642; + t['afii57443'] = 0x0643; + t['afii57444'] = 0x0644; + t['afii57445'] = 0x0645; + t['afii57446'] = 0x0646; + t['afii57448'] = 0x0648; + t['afii57449'] = 0x0649; + t['afii57450'] = 0x064A; + t['afii57451'] = 0x064B; + t['afii57452'] = 0x064C; + t['afii57453'] = 0x064D; + t['afii57454'] = 0x064E; + t['afii57455'] = 0x064F; + t['afii57456'] = 0x0650; + t['afii57457'] = 0x0651; + t['afii57458'] = 0x0652; + t['afii57470'] = 0x0647; + t['afii57505'] = 0x06A4; + t['afii57506'] = 0x067E; + t['afii57507'] = 0x0686; + t['afii57508'] = 0x0698; + t['afii57509'] = 0x06AF; + t['afii57511'] = 0x0679; + t['afii57512'] = 0x0688; + t['afii57513'] = 0x0691; + t['afii57514'] = 0x06BA; + t['afii57519'] = 0x06D2; + t['afii57534'] = 0x06D5; + t['afii57636'] = 0x20AA; + t['afii57645'] = 0x05BE; + t['afii57658'] = 0x05C3; + t['afii57664'] = 0x05D0; + t['afii57665'] = 0x05D1; + t['afii57666'] = 0x05D2; + t['afii57667'] = 0x05D3; + t['afii57668'] = 0x05D4; + t['afii57669'] = 0x05D5; + t['afii57670'] = 0x05D6; + t['afii57671'] = 0x05D7; + t['afii57672'] = 0x05D8; + t['afii57673'] = 0x05D9; + t['afii57674'] = 0x05DA; + t['afii57675'] = 0x05DB; + t['afii57676'] = 0x05DC; + t['afii57677'] = 0x05DD; + t['afii57678'] = 0x05DE; + t['afii57679'] = 0x05DF; + t['afii57680'] = 0x05E0; + t['afii57681'] = 0x05E1; + t['afii57682'] = 0x05E2; + t['afii57683'] = 0x05E3; + t['afii57684'] = 0x05E4; + t['afii57685'] = 0x05E5; + t['afii57686'] = 0x05E6; + t['afii57687'] = 0x05E7; + t['afii57688'] = 0x05E8; + t['afii57689'] = 0x05E9; + t['afii57690'] = 0x05EA; + t['afii57694'] = 0xFB2A; + t['afii57695'] = 0xFB2B; + t['afii57700'] = 0xFB4B; + t['afii57705'] = 0xFB1F; + t['afii57716'] = 0x05F0; + t['afii57717'] = 0x05F1; + t['afii57718'] = 0x05F2; + t['afii57723'] = 0xFB35; + t['afii57793'] = 0x05B4; + t['afii57794'] = 0x05B5; + t['afii57795'] = 0x05B6; + t['afii57796'] = 0x05BB; + t['afii57797'] = 0x05B8; + t['afii57798'] = 0x05B7; + t['afii57799'] = 0x05B0; + t['afii57800'] = 0x05B2; + t['afii57801'] = 0x05B1; + t['afii57802'] = 0x05B3; + t['afii57803'] = 0x05C2; + t['afii57804'] = 0x05C1; + t['afii57806'] = 0x05B9; + t['afii57807'] = 0x05BC; + t['afii57839'] = 0x05BD; + t['afii57841'] = 0x05BF; + t['afii57842'] = 0x05C0; + t['afii57929'] = 0x02BC; + t['afii61248'] = 0x2105; + t['afii61289'] = 0x2113; + t['afii61352'] = 0x2116; + t['afii61573'] = 0x202C; + t['afii61574'] = 0x202D; + t['afii61575'] = 0x202E; + t['afii61664'] = 0x200C; + t['afii63167'] = 0x066D; + t['afii64937'] = 0x02BD; + t['agrave'] = 0x00E0; + t['agujarati'] = 0x0A85; + t['agurmukhi'] = 0x0A05; + t['ahiragana'] = 0x3042; + t['ahookabove'] = 0x1EA3; + t['aibengali'] = 0x0990; + t['aibopomofo'] = 0x311E; + t['aideva'] = 0x0910; + t['aiecyrillic'] = 0x04D5; + t['aigujarati'] = 0x0A90; + t['aigurmukhi'] = 0x0A10; + t['aimatragurmukhi'] = 0x0A48; + t['ainarabic'] = 0x0639; + t['ainfinalarabic'] = 0xFECA; + t['aininitialarabic'] = 0xFECB; + t['ainmedialarabic'] = 0xFECC; + t['ainvertedbreve'] = 0x0203; + t['aivowelsignbengali'] = 0x09C8; + t['aivowelsigndeva'] = 0x0948; + t['aivowelsigngujarati'] = 0x0AC8; + t['akatakana'] = 0x30A2; + t['akatakanahalfwidth'] = 0xFF71; + t['akorean'] = 0x314F; + t['alef'] = 0x05D0; + t['alefarabic'] = 0x0627; + t['alefdageshhebrew'] = 0xFB30; + t['aleffinalarabic'] = 0xFE8E; + t['alefhamzaabovearabic'] = 0x0623; + t['alefhamzaabovefinalarabic'] = 0xFE84; + t['alefhamzabelowarabic'] = 0x0625; + t['alefhamzabelowfinalarabic'] = 0xFE88; + t['alefhebrew'] = 0x05D0; + t['aleflamedhebrew'] = 0xFB4F; + t['alefmaddaabovearabic'] = 0x0622; + t['alefmaddaabovefinalarabic'] = 0xFE82; + t['alefmaksuraarabic'] = 0x0649; + t['alefmaksurafinalarabic'] = 0xFEF0; + t['alefmaksurainitialarabic'] = 0xFEF3; + t['alefmaksuramedialarabic'] = 0xFEF4; + t['alefpatahhebrew'] = 0xFB2E; + t['alefqamatshebrew'] = 0xFB2F; + t['aleph'] = 0x2135; + t['allequal'] = 0x224C; + t['alpha'] = 0x03B1; + t['alphatonos'] = 0x03AC; + t['amacron'] = 0x0101; + t['amonospace'] = 0xFF41; + t['ampersand'] = 0x0026; + t['ampersandmonospace'] = 0xFF06; + t['ampersandsmall'] = 0xF726; + t['amsquare'] = 0x33C2; + t['anbopomofo'] = 0x3122; + t['angbopomofo'] = 0x3124; + t['angbracketleft'] = 0x3008; + t['angbracketright'] = 0x3009; + t['angkhankhuthai'] = 0x0E5A; + t['angle'] = 0x2220; + t['anglebracketleft'] = 0x3008; + t['anglebracketleftvertical'] = 0xFE3F; + t['anglebracketright'] = 0x3009; + t['anglebracketrightvertical'] = 0xFE40; + t['angleleft'] = 0x2329; + t['angleright'] = 0x232A; + t['angstrom'] = 0x212B; + t['anoteleia'] = 0x0387; + t['anudattadeva'] = 0x0952; + t['anusvarabengali'] = 0x0982; + t['anusvaradeva'] = 0x0902; + t['anusvaragujarati'] = 0x0A82; + t['aogonek'] = 0x0105; + t['apaatosquare'] = 0x3300; + t['aparen'] = 0x249C; + t['apostrophearmenian'] = 0x055A; + t['apostrophemod'] = 0x02BC; + t['apple'] = 0xF8FF; + t['approaches'] = 0x2250; + t['approxequal'] = 0x2248; + t['approxequalorimage'] = 0x2252; + t['approximatelyequal'] = 0x2245; + t['araeaekorean'] = 0x318E; + t['araeakorean'] = 0x318D; + t['arc'] = 0x2312; + t['arighthalfring'] = 0x1E9A; + t['aring'] = 0x00E5; + t['aringacute'] = 0x01FB; + t['aringbelow'] = 0x1E01; + t['arrowboth'] = 0x2194; + t['arrowdashdown'] = 0x21E3; + t['arrowdashleft'] = 0x21E0; + t['arrowdashright'] = 0x21E2; + t['arrowdashup'] = 0x21E1; + t['arrowdblboth'] = 0x21D4; + t['arrowdbldown'] = 0x21D3; + t['arrowdblleft'] = 0x21D0; + t['arrowdblright'] = 0x21D2; + t['arrowdblup'] = 0x21D1; + t['arrowdown'] = 0x2193; + t['arrowdownleft'] = 0x2199; + t['arrowdownright'] = 0x2198; + t['arrowdownwhite'] = 0x21E9; + t['arrowheaddownmod'] = 0x02C5; + t['arrowheadleftmod'] = 0x02C2; + t['arrowheadrightmod'] = 0x02C3; + t['arrowheadupmod'] = 0x02C4; + t['arrowhorizex'] = 0xF8E7; + t['arrowleft'] = 0x2190; + t['arrowleftdbl'] = 0x21D0; + t['arrowleftdblstroke'] = 0x21CD; + t['arrowleftoverright'] = 0x21C6; + t['arrowleftwhite'] = 0x21E6; + t['arrowright'] = 0x2192; + t['arrowrightdblstroke'] = 0x21CF; + t['arrowrightheavy'] = 0x279E; + t['arrowrightoverleft'] = 0x21C4; + t['arrowrightwhite'] = 0x21E8; + t['arrowtableft'] = 0x21E4; + t['arrowtabright'] = 0x21E5; + t['arrowup'] = 0x2191; + t['arrowupdn'] = 0x2195; + t['arrowupdnbse'] = 0x21A8; + t['arrowupdownbase'] = 0x21A8; + t['arrowupleft'] = 0x2196; + t['arrowupleftofdown'] = 0x21C5; + t['arrowupright'] = 0x2197; + t['arrowupwhite'] = 0x21E7; + t['arrowvertex'] = 0xF8E6; + t['asciicircum'] = 0x005E; + t['asciicircummonospace'] = 0xFF3E; + t['asciitilde'] = 0x007E; + t['asciitildemonospace'] = 0xFF5E; + t['ascript'] = 0x0251; + t['ascriptturned'] = 0x0252; + t['asmallhiragana'] = 0x3041; + t['asmallkatakana'] = 0x30A1; + t['asmallkatakanahalfwidth'] = 0xFF67; + t['asterisk'] = 0x002A; + t['asteriskaltonearabic'] = 0x066D; + t['asteriskarabic'] = 0x066D; + t['asteriskmath'] = 0x2217; + t['asteriskmonospace'] = 0xFF0A; + t['asterisksmall'] = 0xFE61; + t['asterism'] = 0x2042; + t['asuperior'] = 0xF6E9; + t['asymptoticallyequal'] = 0x2243; + t['at'] = 0x0040; + t['atilde'] = 0x00E3; + t['atmonospace'] = 0xFF20; + t['atsmall'] = 0xFE6B; + t['aturned'] = 0x0250; + t['aubengali'] = 0x0994; + t['aubopomofo'] = 0x3120; + t['audeva'] = 0x0914; + t['augujarati'] = 0x0A94; + t['augurmukhi'] = 0x0A14; + t['aulengthmarkbengali'] = 0x09D7; + t['aumatragurmukhi'] = 0x0A4C; + t['auvowelsignbengali'] = 0x09CC; + t['auvowelsigndeva'] = 0x094C; + t['auvowelsigngujarati'] = 0x0ACC; + t['avagrahadeva'] = 0x093D; + t['aybarmenian'] = 0x0561; + t['ayin'] = 0x05E2; + t['ayinaltonehebrew'] = 0xFB20; + t['ayinhebrew'] = 0x05E2; + t['b'] = 0x0062; + t['babengali'] = 0x09AC; + t['backslash'] = 0x005C; + t['backslashmonospace'] = 0xFF3C; + t['badeva'] = 0x092C; + t['bagujarati'] = 0x0AAC; + t['bagurmukhi'] = 0x0A2C; + t['bahiragana'] = 0x3070; + t['bahtthai'] = 0x0E3F; + t['bakatakana'] = 0x30D0; + t['bar'] = 0x007C; + t['barmonospace'] = 0xFF5C; + t['bbopomofo'] = 0x3105; + t['bcircle'] = 0x24D1; + t['bdotaccent'] = 0x1E03; + t['bdotbelow'] = 0x1E05; + t['beamedsixteenthnotes'] = 0x266C; + t['because'] = 0x2235; + t['becyrillic'] = 0x0431; + t['beharabic'] = 0x0628; + t['behfinalarabic'] = 0xFE90; + t['behinitialarabic'] = 0xFE91; + t['behiragana'] = 0x3079; + t['behmedialarabic'] = 0xFE92; + t['behmeeminitialarabic'] = 0xFC9F; + t['behmeemisolatedarabic'] = 0xFC08; + t['behnoonfinalarabic'] = 0xFC6D; + t['bekatakana'] = 0x30D9; + t['benarmenian'] = 0x0562; + t['bet'] = 0x05D1; + t['beta'] = 0x03B2; + t['betasymbolgreek'] = 0x03D0; + t['betdagesh'] = 0xFB31; + t['betdageshhebrew'] = 0xFB31; + t['bethebrew'] = 0x05D1; + t['betrafehebrew'] = 0xFB4C; + t['bhabengali'] = 0x09AD; + t['bhadeva'] = 0x092D; + t['bhagujarati'] = 0x0AAD; + t['bhagurmukhi'] = 0x0A2D; + t['bhook'] = 0x0253; + t['bihiragana'] = 0x3073; + t['bikatakana'] = 0x30D3; + t['bilabialclick'] = 0x0298; + t['bindigurmukhi'] = 0x0A02; + t['birusquare'] = 0x3331; + t['blackcircle'] = 0x25CF; + t['blackdiamond'] = 0x25C6; + t['blackdownpointingtriangle'] = 0x25BC; + t['blackleftpointingpointer'] = 0x25C4; + t['blackleftpointingtriangle'] = 0x25C0; + t['blacklenticularbracketleft'] = 0x3010; + t['blacklenticularbracketleftvertical'] = 0xFE3B; + t['blacklenticularbracketright'] = 0x3011; + t['blacklenticularbracketrightvertical'] = 0xFE3C; + t['blacklowerlefttriangle'] = 0x25E3; + t['blacklowerrighttriangle'] = 0x25E2; + t['blackrectangle'] = 0x25AC; + t['blackrightpointingpointer'] = 0x25BA; + t['blackrightpointingtriangle'] = 0x25B6; + t['blacksmallsquare'] = 0x25AA; + t['blacksmilingface'] = 0x263B; + t['blacksquare'] = 0x25A0; + t['blackstar'] = 0x2605; + t['blackupperlefttriangle'] = 0x25E4; + t['blackupperrighttriangle'] = 0x25E5; + t['blackuppointingsmalltriangle'] = 0x25B4; + t['blackuppointingtriangle'] = 0x25B2; + t['blank'] = 0x2423; + t['blinebelow'] = 0x1E07; + t['block'] = 0x2588; + t['bmonospace'] = 0xFF42; + t['bobaimaithai'] = 0x0E1A; + t['bohiragana'] = 0x307C; + t['bokatakana'] = 0x30DC; + t['bparen'] = 0x249D; + t['bqsquare'] = 0x33C3; + t['braceex'] = 0xF8F4; + t['braceleft'] = 0x007B; + t['braceleftbt'] = 0xF8F3; + t['braceleftmid'] = 0xF8F2; + t['braceleftmonospace'] = 0xFF5B; + t['braceleftsmall'] = 0xFE5B; + t['bracelefttp'] = 0xF8F1; + t['braceleftvertical'] = 0xFE37; + t['braceright'] = 0x007D; + t['bracerightbt'] = 0xF8FE; + t['bracerightmid'] = 0xF8FD; + t['bracerightmonospace'] = 0xFF5D; + t['bracerightsmall'] = 0xFE5C; + t['bracerighttp'] = 0xF8FC; + t['bracerightvertical'] = 0xFE38; + t['bracketleft'] = 0x005B; + t['bracketleftbt'] = 0xF8F0; + t['bracketleftex'] = 0xF8EF; + t['bracketleftmonospace'] = 0xFF3B; + t['bracketlefttp'] = 0xF8EE; + t['bracketright'] = 0x005D; + t['bracketrightbt'] = 0xF8FB; + t['bracketrightex'] = 0xF8FA; + t['bracketrightmonospace'] = 0xFF3D; + t['bracketrighttp'] = 0xF8F9; + t['breve'] = 0x02D8; + t['brevebelowcmb'] = 0x032E; + t['brevecmb'] = 0x0306; + t['breveinvertedbelowcmb'] = 0x032F; + t['breveinvertedcmb'] = 0x0311; + t['breveinverteddoublecmb'] = 0x0361; + t['bridgebelowcmb'] = 0x032A; + t['bridgeinvertedbelowcmb'] = 0x033A; + t['brokenbar'] = 0x00A6; + t['bstroke'] = 0x0180; + t['bsuperior'] = 0xF6EA; + t['btopbar'] = 0x0183; + t['buhiragana'] = 0x3076; + t['bukatakana'] = 0x30D6; + t['bullet'] = 0x2022; + t['bulletinverse'] = 0x25D8; + t['bulletoperator'] = 0x2219; + t['bullseye'] = 0x25CE; + t['c'] = 0x0063; + t['caarmenian'] = 0x056E; + t['cabengali'] = 0x099A; + t['cacute'] = 0x0107; + t['cadeva'] = 0x091A; + t['cagujarati'] = 0x0A9A; + t['cagurmukhi'] = 0x0A1A; + t['calsquare'] = 0x3388; + t['candrabindubengali'] = 0x0981; + t['candrabinducmb'] = 0x0310; + t['candrabindudeva'] = 0x0901; + t['candrabindugujarati'] = 0x0A81; + t['capslock'] = 0x21EA; + t['careof'] = 0x2105; + t['caron'] = 0x02C7; + t['caronbelowcmb'] = 0x032C; + t['caroncmb'] = 0x030C; + t['carriagereturn'] = 0x21B5; + t['cbopomofo'] = 0x3118; + t['ccaron'] = 0x010D; + t['ccedilla'] = 0x00E7; + t['ccedillaacute'] = 0x1E09; + t['ccircle'] = 0x24D2; + t['ccircumflex'] = 0x0109; + t['ccurl'] = 0x0255; + t['cdot'] = 0x010B; + t['cdotaccent'] = 0x010B; + t['cdsquare'] = 0x33C5; + t['cedilla'] = 0x00B8; + t['cedillacmb'] = 0x0327; + t['cent'] = 0x00A2; + t['centigrade'] = 0x2103; + t['centinferior'] = 0xF6DF; + t['centmonospace'] = 0xFFE0; + t['centoldstyle'] = 0xF7A2; + t['centsuperior'] = 0xF6E0; + t['chaarmenian'] = 0x0579; + t['chabengali'] = 0x099B; + t['chadeva'] = 0x091B; + t['chagujarati'] = 0x0A9B; + t['chagurmukhi'] = 0x0A1B; + t['chbopomofo'] = 0x3114; + t['cheabkhasiancyrillic'] = 0x04BD; + t['checkmark'] = 0x2713; + t['checyrillic'] = 0x0447; + t['chedescenderabkhasiancyrillic'] = 0x04BF; + t['chedescendercyrillic'] = 0x04B7; + t['chedieresiscyrillic'] = 0x04F5; + t['cheharmenian'] = 0x0573; + t['chekhakassiancyrillic'] = 0x04CC; + t['cheverticalstrokecyrillic'] = 0x04B9; + t['chi'] = 0x03C7; + t['chieuchacirclekorean'] = 0x3277; + t['chieuchaparenkorean'] = 0x3217; + t['chieuchcirclekorean'] = 0x3269; + t['chieuchkorean'] = 0x314A; + t['chieuchparenkorean'] = 0x3209; + t['chochangthai'] = 0x0E0A; + t['chochanthai'] = 0x0E08; + t['chochingthai'] = 0x0E09; + t['chochoethai'] = 0x0E0C; + t['chook'] = 0x0188; + t['cieucacirclekorean'] = 0x3276; + t['cieucaparenkorean'] = 0x3216; + t['cieuccirclekorean'] = 0x3268; + t['cieuckorean'] = 0x3148; + t['cieucparenkorean'] = 0x3208; + t['cieucuparenkorean'] = 0x321C; + t['circle'] = 0x25CB; + t['circlecopyrt'] = 0x00A9; + t['circlemultiply'] = 0x2297; + t['circleot'] = 0x2299; + t['circleplus'] = 0x2295; + t['circlepostalmark'] = 0x3036; + t['circlewithlefthalfblack'] = 0x25D0; + t['circlewithrighthalfblack'] = 0x25D1; + t['circumflex'] = 0x02C6; + t['circumflexbelowcmb'] = 0x032D; + t['circumflexcmb'] = 0x0302; + t['clear'] = 0x2327; + t['clickalveolar'] = 0x01C2; + t['clickdental'] = 0x01C0; + t['clicklateral'] = 0x01C1; + t['clickretroflex'] = 0x01C3; + t['club'] = 0x2663; + t['clubsuitblack'] = 0x2663; + t['clubsuitwhite'] = 0x2667; + t['cmcubedsquare'] = 0x33A4; + t['cmonospace'] = 0xFF43; + t['cmsquaredsquare'] = 0x33A0; + t['coarmenian'] = 0x0581; + t['colon'] = 0x003A; + t['colonmonetary'] = 0x20A1; + t['colonmonospace'] = 0xFF1A; + t['colonsign'] = 0x20A1; + t['colonsmall'] = 0xFE55; + t['colontriangularhalfmod'] = 0x02D1; + t['colontriangularmod'] = 0x02D0; + t['comma'] = 0x002C; + t['commaabovecmb'] = 0x0313; + t['commaaboverightcmb'] = 0x0315; + t['commaaccent'] = 0xF6C3; + t['commaarabic'] = 0x060C; + t['commaarmenian'] = 0x055D; + t['commainferior'] = 0xF6E1; + t['commamonospace'] = 0xFF0C; + t['commareversedabovecmb'] = 0x0314; + t['commareversedmod'] = 0x02BD; + t['commasmall'] = 0xFE50; + t['commasuperior'] = 0xF6E2; + t['commaturnedabovecmb'] = 0x0312; + t['commaturnedmod'] = 0x02BB; + t['compass'] = 0x263C; + t['congruent'] = 0x2245; + t['contourintegral'] = 0x222E; + t['control'] = 0x2303; + t['controlACK'] = 0x0006; + t['controlBEL'] = 0x0007; + t['controlBS'] = 0x0008; + t['controlCAN'] = 0x0018; + t['controlCR'] = 0x000D; + t['controlDC1'] = 0x0011; + t['controlDC2'] = 0x0012; + t['controlDC3'] = 0x0013; + t['controlDC4'] = 0x0014; + t['controlDEL'] = 0x007F; + t['controlDLE'] = 0x0010; + t['controlEM'] = 0x0019; + t['controlENQ'] = 0x0005; + t['controlEOT'] = 0x0004; + t['controlESC'] = 0x001B; + t['controlETB'] = 0x0017; + t['controlETX'] = 0x0003; + t['controlFF'] = 0x000C; + t['controlFS'] = 0x001C; + t['controlGS'] = 0x001D; + t['controlHT'] = 0x0009; + t['controlLF'] = 0x000A; + t['controlNAK'] = 0x0015; + t['controlNULL'] = 0x0000; + t['controlRS'] = 0x001E; + t['controlSI'] = 0x000F; + t['controlSO'] = 0x000E; + t['controlSOT'] = 0x0002; + t['controlSTX'] = 0x0001; + t['controlSUB'] = 0x001A; + t['controlSYN'] = 0x0016; + t['controlUS'] = 0x001F; + t['controlVT'] = 0x000B; + t['copyright'] = 0x00A9; + t['copyrightsans'] = 0xF8E9; + t['copyrightserif'] = 0xF6D9; + t['cornerbracketleft'] = 0x300C; + t['cornerbracketlefthalfwidth'] = 0xFF62; + t['cornerbracketleftvertical'] = 0xFE41; + t['cornerbracketright'] = 0x300D; + t['cornerbracketrighthalfwidth'] = 0xFF63; + t['cornerbracketrightvertical'] = 0xFE42; + t['corporationsquare'] = 0x337F; + t['cosquare'] = 0x33C7; + t['coverkgsquare'] = 0x33C6; + t['cparen'] = 0x249E; + t['cruzeiro'] = 0x20A2; + t['cstretched'] = 0x0297; + t['curlyand'] = 0x22CF; + t['curlyor'] = 0x22CE; + t['currency'] = 0x00A4; + t['cyrBreve'] = 0xF6D1; + t['cyrFlex'] = 0xF6D2; + t['cyrbreve'] = 0xF6D4; + t['cyrflex'] = 0xF6D5; + t['d'] = 0x0064; + t['daarmenian'] = 0x0564; + t['dabengali'] = 0x09A6; + t['dadarabic'] = 0x0636; + t['dadeva'] = 0x0926; + t['dadfinalarabic'] = 0xFEBE; + t['dadinitialarabic'] = 0xFEBF; + t['dadmedialarabic'] = 0xFEC0; + t['dagesh'] = 0x05BC; + t['dageshhebrew'] = 0x05BC; + t['dagger'] = 0x2020; + t['daggerdbl'] = 0x2021; + t['dagujarati'] = 0x0AA6; + t['dagurmukhi'] = 0x0A26; + t['dahiragana'] = 0x3060; + t['dakatakana'] = 0x30C0; + t['dalarabic'] = 0x062F; + t['dalet'] = 0x05D3; + t['daletdagesh'] = 0xFB33; + t['daletdageshhebrew'] = 0xFB33; + t['dalethebrew'] = 0x05D3; + t['dalfinalarabic'] = 0xFEAA; + t['dammaarabic'] = 0x064F; + t['dammalowarabic'] = 0x064F; + t['dammatanaltonearabic'] = 0x064C; + t['dammatanarabic'] = 0x064C; + t['danda'] = 0x0964; + t['dargahebrew'] = 0x05A7; + t['dargalefthebrew'] = 0x05A7; + t['dasiapneumatacyrilliccmb'] = 0x0485; + t['dblGrave'] = 0xF6D3; + t['dblanglebracketleft'] = 0x300A; + t['dblanglebracketleftvertical'] = 0xFE3D; + t['dblanglebracketright'] = 0x300B; + t['dblanglebracketrightvertical'] = 0xFE3E; + t['dblarchinvertedbelowcmb'] = 0x032B; + t['dblarrowleft'] = 0x21D4; + t['dblarrowright'] = 0x21D2; + t['dbldanda'] = 0x0965; + t['dblgrave'] = 0xF6D6; + t['dblgravecmb'] = 0x030F; + t['dblintegral'] = 0x222C; + t['dbllowline'] = 0x2017; + t['dbllowlinecmb'] = 0x0333; + t['dbloverlinecmb'] = 0x033F; + t['dblprimemod'] = 0x02BA; + t['dblverticalbar'] = 0x2016; + t['dblverticallineabovecmb'] = 0x030E; + t['dbopomofo'] = 0x3109; + t['dbsquare'] = 0x33C8; + t['dcaron'] = 0x010F; + t['dcedilla'] = 0x1E11; + t['dcircle'] = 0x24D3; + t['dcircumflexbelow'] = 0x1E13; + t['dcroat'] = 0x0111; + t['ddabengali'] = 0x09A1; + t['ddadeva'] = 0x0921; + t['ddagujarati'] = 0x0AA1; + t['ddagurmukhi'] = 0x0A21; + t['ddalarabic'] = 0x0688; + t['ddalfinalarabic'] = 0xFB89; + t['dddhadeva'] = 0x095C; + t['ddhabengali'] = 0x09A2; + t['ddhadeva'] = 0x0922; + t['ddhagujarati'] = 0x0AA2; + t['ddhagurmukhi'] = 0x0A22; + t['ddotaccent'] = 0x1E0B; + t['ddotbelow'] = 0x1E0D; + t['decimalseparatorarabic'] = 0x066B; + t['decimalseparatorpersian'] = 0x066B; + t['decyrillic'] = 0x0434; + t['degree'] = 0x00B0; + t['dehihebrew'] = 0x05AD; + t['dehiragana'] = 0x3067; + t['deicoptic'] = 0x03EF; + t['dekatakana'] = 0x30C7; + t['deleteleft'] = 0x232B; + t['deleteright'] = 0x2326; + t['delta'] = 0x03B4; + t['deltaturned'] = 0x018D; + t['denominatorminusonenumeratorbengali'] = 0x09F8; + t['dezh'] = 0x02A4; + t['dhabengali'] = 0x09A7; + t['dhadeva'] = 0x0927; + t['dhagujarati'] = 0x0AA7; + t['dhagurmukhi'] = 0x0A27; + t['dhook'] = 0x0257; + t['dialytikatonos'] = 0x0385; + t['dialytikatonoscmb'] = 0x0344; + t['diamond'] = 0x2666; + t['diamondsuitwhite'] = 0x2662; + t['dieresis'] = 0x00A8; + t['dieresisacute'] = 0xF6D7; + t['dieresisbelowcmb'] = 0x0324; + t['dieresiscmb'] = 0x0308; + t['dieresisgrave'] = 0xF6D8; + t['dieresistonos'] = 0x0385; + t['dihiragana'] = 0x3062; + t['dikatakana'] = 0x30C2; + t['dittomark'] = 0x3003; + t['divide'] = 0x00F7; + t['divides'] = 0x2223; + t['divisionslash'] = 0x2215; + t['djecyrillic'] = 0x0452; + t['dkshade'] = 0x2593; + t['dlinebelow'] = 0x1E0F; + t['dlsquare'] = 0x3397; + t['dmacron'] = 0x0111; + t['dmonospace'] = 0xFF44; + t['dnblock'] = 0x2584; + t['dochadathai'] = 0x0E0E; + t['dodekthai'] = 0x0E14; + t['dohiragana'] = 0x3069; + t['dokatakana'] = 0x30C9; + t['dollar'] = 0x0024; + t['dollarinferior'] = 0xF6E3; + t['dollarmonospace'] = 0xFF04; + t['dollaroldstyle'] = 0xF724; + t['dollarsmall'] = 0xFE69; + t['dollarsuperior'] = 0xF6E4; + t['dong'] = 0x20AB; + t['dorusquare'] = 0x3326; + t['dotaccent'] = 0x02D9; + t['dotaccentcmb'] = 0x0307; + t['dotbelowcmb'] = 0x0323; + t['dotbelowcomb'] = 0x0323; + t['dotkatakana'] = 0x30FB; + t['dotlessi'] = 0x0131; + t['dotlessj'] = 0xF6BE; + t['dotlessjstrokehook'] = 0x0284; + t['dotmath'] = 0x22C5; + t['dottedcircle'] = 0x25CC; + t['doubleyodpatah'] = 0xFB1F; + t['doubleyodpatahhebrew'] = 0xFB1F; + t['downtackbelowcmb'] = 0x031E; + t['downtackmod'] = 0x02D5; + t['dparen'] = 0x249F; + t['dsuperior'] = 0xF6EB; + t['dtail'] = 0x0256; + t['dtopbar'] = 0x018C; + t['duhiragana'] = 0x3065; + t['dukatakana'] = 0x30C5; + t['dz'] = 0x01F3; + t['dzaltone'] = 0x02A3; + t['dzcaron'] = 0x01C6; + t['dzcurl'] = 0x02A5; + t['dzeabkhasiancyrillic'] = 0x04E1; + t['dzecyrillic'] = 0x0455; + t['dzhecyrillic'] = 0x045F; + t['e'] = 0x0065; + t['eacute'] = 0x00E9; + t['earth'] = 0x2641; + t['ebengali'] = 0x098F; + t['ebopomofo'] = 0x311C; + t['ebreve'] = 0x0115; + t['ecandradeva'] = 0x090D; + t['ecandragujarati'] = 0x0A8D; + t['ecandravowelsigndeva'] = 0x0945; + t['ecandravowelsigngujarati'] = 0x0AC5; + t['ecaron'] = 0x011B; + t['ecedillabreve'] = 0x1E1D; + t['echarmenian'] = 0x0565; + t['echyiwnarmenian'] = 0x0587; + t['ecircle'] = 0x24D4; + t['ecircumflex'] = 0x00EA; + t['ecircumflexacute'] = 0x1EBF; + t['ecircumflexbelow'] = 0x1E19; + t['ecircumflexdotbelow'] = 0x1EC7; + t['ecircumflexgrave'] = 0x1EC1; + t['ecircumflexhookabove'] = 0x1EC3; + t['ecircumflextilde'] = 0x1EC5; + t['ecyrillic'] = 0x0454; + t['edblgrave'] = 0x0205; + t['edeva'] = 0x090F; + t['edieresis'] = 0x00EB; + t['edot'] = 0x0117; + t['edotaccent'] = 0x0117; + t['edotbelow'] = 0x1EB9; + t['eegurmukhi'] = 0x0A0F; + t['eematragurmukhi'] = 0x0A47; + t['efcyrillic'] = 0x0444; + t['egrave'] = 0x00E8; + t['egujarati'] = 0x0A8F; + t['eharmenian'] = 0x0567; + t['ehbopomofo'] = 0x311D; + t['ehiragana'] = 0x3048; + t['ehookabove'] = 0x1EBB; + t['eibopomofo'] = 0x311F; + t['eight'] = 0x0038; + t['eightarabic'] = 0x0668; + t['eightbengali'] = 0x09EE; + t['eightcircle'] = 0x2467; + t['eightcircleinversesansserif'] = 0x2791; + t['eightdeva'] = 0x096E; + t['eighteencircle'] = 0x2471; + t['eighteenparen'] = 0x2485; + t['eighteenperiod'] = 0x2499; + t['eightgujarati'] = 0x0AEE; + t['eightgurmukhi'] = 0x0A6E; + t['eighthackarabic'] = 0x0668; + t['eighthangzhou'] = 0x3028; + t['eighthnotebeamed'] = 0x266B; + t['eightideographicparen'] = 0x3227; + t['eightinferior'] = 0x2088; + t['eightmonospace'] = 0xFF18; + t['eightoldstyle'] = 0xF738; + t['eightparen'] = 0x247B; + t['eightperiod'] = 0x248F; + t['eightpersian'] = 0x06F8; + t['eightroman'] = 0x2177; + t['eightsuperior'] = 0x2078; + t['eightthai'] = 0x0E58; + t['einvertedbreve'] = 0x0207; + t['eiotifiedcyrillic'] = 0x0465; + t['ekatakana'] = 0x30A8; + t['ekatakanahalfwidth'] = 0xFF74; + t['ekonkargurmukhi'] = 0x0A74; + t['ekorean'] = 0x3154; + t['elcyrillic'] = 0x043B; + t['element'] = 0x2208; + t['elevencircle'] = 0x246A; + t['elevenparen'] = 0x247E; + t['elevenperiod'] = 0x2492; + t['elevenroman'] = 0x217A; + t['ellipsis'] = 0x2026; + t['ellipsisvertical'] = 0x22EE; + t['emacron'] = 0x0113; + t['emacronacute'] = 0x1E17; + t['emacrongrave'] = 0x1E15; + t['emcyrillic'] = 0x043C; + t['emdash'] = 0x2014; + t['emdashvertical'] = 0xFE31; + t['emonospace'] = 0xFF45; + t['emphasismarkarmenian'] = 0x055B; + t['emptyset'] = 0x2205; + t['enbopomofo'] = 0x3123; + t['encyrillic'] = 0x043D; + t['endash'] = 0x2013; + t['endashvertical'] = 0xFE32; + t['endescendercyrillic'] = 0x04A3; + t['eng'] = 0x014B; + t['engbopomofo'] = 0x3125; + t['enghecyrillic'] = 0x04A5; + t['enhookcyrillic'] = 0x04C8; + t['enspace'] = 0x2002; + t['eogonek'] = 0x0119; + t['eokorean'] = 0x3153; + t['eopen'] = 0x025B; + t['eopenclosed'] = 0x029A; + t['eopenreversed'] = 0x025C; + t['eopenreversedclosed'] = 0x025E; + t['eopenreversedhook'] = 0x025D; + t['eparen'] = 0x24A0; + t['epsilon'] = 0x03B5; + t['epsilontonos'] = 0x03AD; + t['equal'] = 0x003D; + t['equalmonospace'] = 0xFF1D; + t['equalsmall'] = 0xFE66; + t['equalsuperior'] = 0x207C; + t['equivalence'] = 0x2261; + t['erbopomofo'] = 0x3126; + t['ercyrillic'] = 0x0440; + t['ereversed'] = 0x0258; + t['ereversedcyrillic'] = 0x044D; + t['escyrillic'] = 0x0441; + t['esdescendercyrillic'] = 0x04AB; + t['esh'] = 0x0283; + t['eshcurl'] = 0x0286; + t['eshortdeva'] = 0x090E; + t['eshortvowelsigndeva'] = 0x0946; + t['eshreversedloop'] = 0x01AA; + t['eshsquatreversed'] = 0x0285; + t['esmallhiragana'] = 0x3047; + t['esmallkatakana'] = 0x30A7; + t['esmallkatakanahalfwidth'] = 0xFF6A; + t['estimated'] = 0x212E; + t['esuperior'] = 0xF6EC; + t['eta'] = 0x03B7; + t['etarmenian'] = 0x0568; + t['etatonos'] = 0x03AE; + t['eth'] = 0x00F0; + t['etilde'] = 0x1EBD; + t['etildebelow'] = 0x1E1B; + t['etnahtafoukhhebrew'] = 0x0591; + t['etnahtafoukhlefthebrew'] = 0x0591; + t['etnahtahebrew'] = 0x0591; + t['etnahtalefthebrew'] = 0x0591; + t['eturned'] = 0x01DD; + t['eukorean'] = 0x3161; + t['euro'] = 0x20AC; + t['evowelsignbengali'] = 0x09C7; + t['evowelsigndeva'] = 0x0947; + t['evowelsigngujarati'] = 0x0AC7; + t['exclam'] = 0x0021; + t['exclamarmenian'] = 0x055C; + t['exclamdbl'] = 0x203C; + t['exclamdown'] = 0x00A1; + t['exclamdownsmall'] = 0xF7A1; + t['exclammonospace'] = 0xFF01; + t['exclamsmall'] = 0xF721; + t['existential'] = 0x2203; + t['ezh'] = 0x0292; + t['ezhcaron'] = 0x01EF; + t['ezhcurl'] = 0x0293; + t['ezhreversed'] = 0x01B9; + t['ezhtail'] = 0x01BA; + t['f'] = 0x0066; + t['fadeva'] = 0x095E; + t['fagurmukhi'] = 0x0A5E; + t['fahrenheit'] = 0x2109; + t['fathaarabic'] = 0x064E; + t['fathalowarabic'] = 0x064E; + t['fathatanarabic'] = 0x064B; + t['fbopomofo'] = 0x3108; + t['fcircle'] = 0x24D5; + t['fdotaccent'] = 0x1E1F; + t['feharabic'] = 0x0641; + t['feharmenian'] = 0x0586; + t['fehfinalarabic'] = 0xFED2; + t['fehinitialarabic'] = 0xFED3; + t['fehmedialarabic'] = 0xFED4; + t['feicoptic'] = 0x03E5; + t['female'] = 0x2640; + t['ff'] = 0xFB00; + t['ffi'] = 0xFB03; + t['ffl'] = 0xFB04; + t['fi'] = 0xFB01; + t['fifteencircle'] = 0x246E; + t['fifteenparen'] = 0x2482; + t['fifteenperiod'] = 0x2496; + t['figuredash'] = 0x2012; + t['filledbox'] = 0x25A0; + t['filledrect'] = 0x25AC; + t['finalkaf'] = 0x05DA; + t['finalkafdagesh'] = 0xFB3A; + t['finalkafdageshhebrew'] = 0xFB3A; + t['finalkafhebrew'] = 0x05DA; + t['finalmem'] = 0x05DD; + t['finalmemhebrew'] = 0x05DD; + t['finalnun'] = 0x05DF; + t['finalnunhebrew'] = 0x05DF; + t['finalpe'] = 0x05E3; + t['finalpehebrew'] = 0x05E3; + t['finaltsadi'] = 0x05E5; + t['finaltsadihebrew'] = 0x05E5; + t['firsttonechinese'] = 0x02C9; + t['fisheye'] = 0x25C9; + t['fitacyrillic'] = 0x0473; + t['five'] = 0x0035; + t['fivearabic'] = 0x0665; + t['fivebengali'] = 0x09EB; + t['fivecircle'] = 0x2464; + t['fivecircleinversesansserif'] = 0x278E; + t['fivedeva'] = 0x096B; + t['fiveeighths'] = 0x215D; + t['fivegujarati'] = 0x0AEB; + t['fivegurmukhi'] = 0x0A6B; + t['fivehackarabic'] = 0x0665; + t['fivehangzhou'] = 0x3025; + t['fiveideographicparen'] = 0x3224; + t['fiveinferior'] = 0x2085; + t['fivemonospace'] = 0xFF15; + t['fiveoldstyle'] = 0xF735; + t['fiveparen'] = 0x2478; + t['fiveperiod'] = 0x248C; + t['fivepersian'] = 0x06F5; + t['fiveroman'] = 0x2174; + t['fivesuperior'] = 0x2075; + t['fivethai'] = 0x0E55; + t['fl'] = 0xFB02; + t['florin'] = 0x0192; + t['fmonospace'] = 0xFF46; + t['fmsquare'] = 0x3399; + t['fofanthai'] = 0x0E1F; + t['fofathai'] = 0x0E1D; + t['fongmanthai'] = 0x0E4F; + t['forall'] = 0x2200; + t['four'] = 0x0034; + t['fourarabic'] = 0x0664; + t['fourbengali'] = 0x09EA; + t['fourcircle'] = 0x2463; + t['fourcircleinversesansserif'] = 0x278D; + t['fourdeva'] = 0x096A; + t['fourgujarati'] = 0x0AEA; + t['fourgurmukhi'] = 0x0A6A; + t['fourhackarabic'] = 0x0664; + t['fourhangzhou'] = 0x3024; + t['fourideographicparen'] = 0x3223; + t['fourinferior'] = 0x2084; + t['fourmonospace'] = 0xFF14; + t['fournumeratorbengali'] = 0x09F7; + t['fouroldstyle'] = 0xF734; + t['fourparen'] = 0x2477; + t['fourperiod'] = 0x248B; + t['fourpersian'] = 0x06F4; + t['fourroman'] = 0x2173; + t['foursuperior'] = 0x2074; + t['fourteencircle'] = 0x246D; + t['fourteenparen'] = 0x2481; + t['fourteenperiod'] = 0x2495; + t['fourthai'] = 0x0E54; + t['fourthtonechinese'] = 0x02CB; + t['fparen'] = 0x24A1; + t['fraction'] = 0x2044; + t['franc'] = 0x20A3; + t['g'] = 0x0067; + t['gabengali'] = 0x0997; + t['gacute'] = 0x01F5; + t['gadeva'] = 0x0917; + t['gafarabic'] = 0x06AF; + t['gaffinalarabic'] = 0xFB93; + t['gafinitialarabic'] = 0xFB94; + t['gafmedialarabic'] = 0xFB95; + t['gagujarati'] = 0x0A97; + t['gagurmukhi'] = 0x0A17; + t['gahiragana'] = 0x304C; + t['gakatakana'] = 0x30AC; + t['gamma'] = 0x03B3; + t['gammalatinsmall'] = 0x0263; + t['gammasuperior'] = 0x02E0; + t['gangiacoptic'] = 0x03EB; + t['gbopomofo'] = 0x310D; + t['gbreve'] = 0x011F; + t['gcaron'] = 0x01E7; + t['gcedilla'] = 0x0123; + t['gcircle'] = 0x24D6; + t['gcircumflex'] = 0x011D; + t['gcommaaccent'] = 0x0123; + t['gdot'] = 0x0121; + t['gdotaccent'] = 0x0121; + t['gecyrillic'] = 0x0433; + t['gehiragana'] = 0x3052; + t['gekatakana'] = 0x30B2; + t['geometricallyequal'] = 0x2251; + t['gereshaccenthebrew'] = 0x059C; + t['gereshhebrew'] = 0x05F3; + t['gereshmuqdamhebrew'] = 0x059D; + t['germandbls'] = 0x00DF; + t['gershayimaccenthebrew'] = 0x059E; + t['gershayimhebrew'] = 0x05F4; + t['getamark'] = 0x3013; + t['ghabengali'] = 0x0998; + t['ghadarmenian'] = 0x0572; + t['ghadeva'] = 0x0918; + t['ghagujarati'] = 0x0A98; + t['ghagurmukhi'] = 0x0A18; + t['ghainarabic'] = 0x063A; + t['ghainfinalarabic'] = 0xFECE; + t['ghaininitialarabic'] = 0xFECF; + t['ghainmedialarabic'] = 0xFED0; + t['ghemiddlehookcyrillic'] = 0x0495; + t['ghestrokecyrillic'] = 0x0493; + t['gheupturncyrillic'] = 0x0491; + t['ghhadeva'] = 0x095A; + t['ghhagurmukhi'] = 0x0A5A; + t['ghook'] = 0x0260; + t['ghzsquare'] = 0x3393; + t['gihiragana'] = 0x304E; + t['gikatakana'] = 0x30AE; + t['gimarmenian'] = 0x0563; + t['gimel'] = 0x05D2; + t['gimeldagesh'] = 0xFB32; + t['gimeldageshhebrew'] = 0xFB32; + t['gimelhebrew'] = 0x05D2; + t['gjecyrillic'] = 0x0453; + t['glottalinvertedstroke'] = 0x01BE; + t['glottalstop'] = 0x0294; + t['glottalstopinverted'] = 0x0296; + t['glottalstopmod'] = 0x02C0; + t['glottalstopreversed'] = 0x0295; + t['glottalstopreversedmod'] = 0x02C1; + t['glottalstopreversedsuperior'] = 0x02E4; + t['glottalstopstroke'] = 0x02A1; + t['glottalstopstrokereversed'] = 0x02A2; + t['gmacron'] = 0x1E21; + t['gmonospace'] = 0xFF47; + t['gohiragana'] = 0x3054; + t['gokatakana'] = 0x30B4; + t['gparen'] = 0x24A2; + t['gpasquare'] = 0x33AC; + t['gradient'] = 0x2207; + t['grave'] = 0x0060; + t['gravebelowcmb'] = 0x0316; + t['gravecmb'] = 0x0300; + t['gravecomb'] = 0x0300; + t['gravedeva'] = 0x0953; + t['gravelowmod'] = 0x02CE; + t['gravemonospace'] = 0xFF40; + t['gravetonecmb'] = 0x0340; + t['greater'] = 0x003E; + t['greaterequal'] = 0x2265; + t['greaterequalorless'] = 0x22DB; + t['greatermonospace'] = 0xFF1E; + t['greaterorequivalent'] = 0x2273; + t['greaterorless'] = 0x2277; + t['greateroverequal'] = 0x2267; + t['greatersmall'] = 0xFE65; + t['gscript'] = 0x0261; + t['gstroke'] = 0x01E5; + t['guhiragana'] = 0x3050; + t['guillemotleft'] = 0x00AB; + t['guillemotright'] = 0x00BB; + t['guilsinglleft'] = 0x2039; + t['guilsinglright'] = 0x203A; + t['gukatakana'] = 0x30B0; + t['guramusquare'] = 0x3318; + t['gysquare'] = 0x33C9; + t['h'] = 0x0068; + t['haabkhasiancyrillic'] = 0x04A9; + t['haaltonearabic'] = 0x06C1; + t['habengali'] = 0x09B9; + t['hadescendercyrillic'] = 0x04B3; + t['hadeva'] = 0x0939; + t['hagujarati'] = 0x0AB9; + t['hagurmukhi'] = 0x0A39; + t['haharabic'] = 0x062D; + t['hahfinalarabic'] = 0xFEA2; + t['hahinitialarabic'] = 0xFEA3; + t['hahiragana'] = 0x306F; + t['hahmedialarabic'] = 0xFEA4; + t['haitusquare'] = 0x332A; + t['hakatakana'] = 0x30CF; + t['hakatakanahalfwidth'] = 0xFF8A; + t['halantgurmukhi'] = 0x0A4D; + t['hamzaarabic'] = 0x0621; + t['hamzalowarabic'] = 0x0621; + t['hangulfiller'] = 0x3164; + t['hardsigncyrillic'] = 0x044A; + t['harpoonleftbarbup'] = 0x21BC; + t['harpoonrightbarbup'] = 0x21C0; + t['hasquare'] = 0x33CA; + t['hatafpatah'] = 0x05B2; + t['hatafpatah16'] = 0x05B2; + t['hatafpatah23'] = 0x05B2; + t['hatafpatah2f'] = 0x05B2; + t['hatafpatahhebrew'] = 0x05B2; + t['hatafpatahnarrowhebrew'] = 0x05B2; + t['hatafpatahquarterhebrew'] = 0x05B2; + t['hatafpatahwidehebrew'] = 0x05B2; + t['hatafqamats'] = 0x05B3; + t['hatafqamats1b'] = 0x05B3; + t['hatafqamats28'] = 0x05B3; + t['hatafqamats34'] = 0x05B3; + t['hatafqamatshebrew'] = 0x05B3; + t['hatafqamatsnarrowhebrew'] = 0x05B3; + t['hatafqamatsquarterhebrew'] = 0x05B3; + t['hatafqamatswidehebrew'] = 0x05B3; + t['hatafsegol'] = 0x05B1; + t['hatafsegol17'] = 0x05B1; + t['hatafsegol24'] = 0x05B1; + t['hatafsegol30'] = 0x05B1; + t['hatafsegolhebrew'] = 0x05B1; + t['hatafsegolnarrowhebrew'] = 0x05B1; + t['hatafsegolquarterhebrew'] = 0x05B1; + t['hatafsegolwidehebrew'] = 0x05B1; + t['hbar'] = 0x0127; + t['hbopomofo'] = 0x310F; + t['hbrevebelow'] = 0x1E2B; + t['hcedilla'] = 0x1E29; + t['hcircle'] = 0x24D7; + t['hcircumflex'] = 0x0125; + t['hdieresis'] = 0x1E27; + t['hdotaccent'] = 0x1E23; + t['hdotbelow'] = 0x1E25; + t['he'] = 0x05D4; + t['heart'] = 0x2665; + t['heartsuitblack'] = 0x2665; + t['heartsuitwhite'] = 0x2661; + t['hedagesh'] = 0xFB34; + t['hedageshhebrew'] = 0xFB34; + t['hehaltonearabic'] = 0x06C1; + t['heharabic'] = 0x0647; + t['hehebrew'] = 0x05D4; + t['hehfinalaltonearabic'] = 0xFBA7; + t['hehfinalalttwoarabic'] = 0xFEEA; + t['hehfinalarabic'] = 0xFEEA; + t['hehhamzaabovefinalarabic'] = 0xFBA5; + t['hehhamzaaboveisolatedarabic'] = 0xFBA4; + t['hehinitialaltonearabic'] = 0xFBA8; + t['hehinitialarabic'] = 0xFEEB; + t['hehiragana'] = 0x3078; + t['hehmedialaltonearabic'] = 0xFBA9; + t['hehmedialarabic'] = 0xFEEC; + t['heiseierasquare'] = 0x337B; + t['hekatakana'] = 0x30D8; + t['hekatakanahalfwidth'] = 0xFF8D; + t['hekutaarusquare'] = 0x3336; + t['henghook'] = 0x0267; + t['herutusquare'] = 0x3339; + t['het'] = 0x05D7; + t['hethebrew'] = 0x05D7; + t['hhook'] = 0x0266; + t['hhooksuperior'] = 0x02B1; + t['hieuhacirclekorean'] = 0x327B; + t['hieuhaparenkorean'] = 0x321B; + t['hieuhcirclekorean'] = 0x326D; + t['hieuhkorean'] = 0x314E; + t['hieuhparenkorean'] = 0x320D; + t['hihiragana'] = 0x3072; + t['hikatakana'] = 0x30D2; + t['hikatakanahalfwidth'] = 0xFF8B; + t['hiriq'] = 0x05B4; + t['hiriq14'] = 0x05B4; + t['hiriq21'] = 0x05B4; + t['hiriq2d'] = 0x05B4; + t['hiriqhebrew'] = 0x05B4; + t['hiriqnarrowhebrew'] = 0x05B4; + t['hiriqquarterhebrew'] = 0x05B4; + t['hiriqwidehebrew'] = 0x05B4; + t['hlinebelow'] = 0x1E96; + t['hmonospace'] = 0xFF48; + t['hoarmenian'] = 0x0570; + t['hohipthai'] = 0x0E2B; + t['hohiragana'] = 0x307B; + t['hokatakana'] = 0x30DB; + t['hokatakanahalfwidth'] = 0xFF8E; + t['holam'] = 0x05B9; + t['holam19'] = 0x05B9; + t['holam26'] = 0x05B9; + t['holam32'] = 0x05B9; + t['holamhebrew'] = 0x05B9; + t['holamnarrowhebrew'] = 0x05B9; + t['holamquarterhebrew'] = 0x05B9; + t['holamwidehebrew'] = 0x05B9; + t['honokhukthai'] = 0x0E2E; + t['hookabovecomb'] = 0x0309; + t['hookcmb'] = 0x0309; + t['hookpalatalizedbelowcmb'] = 0x0321; + t['hookretroflexbelowcmb'] = 0x0322; + t['hoonsquare'] = 0x3342; + t['horicoptic'] = 0x03E9; + t['horizontalbar'] = 0x2015; + t['horncmb'] = 0x031B; + t['hotsprings'] = 0x2668; + t['house'] = 0x2302; + t['hparen'] = 0x24A3; + t['hsuperior'] = 0x02B0; + t['hturned'] = 0x0265; + t['huhiragana'] = 0x3075; + t['huiitosquare'] = 0x3333; + t['hukatakana'] = 0x30D5; + t['hukatakanahalfwidth'] = 0xFF8C; + t['hungarumlaut'] = 0x02DD; + t['hungarumlautcmb'] = 0x030B; + t['hv'] = 0x0195; + t['hyphen'] = 0x002D; + t['hypheninferior'] = 0xF6E5; + t['hyphenmonospace'] = 0xFF0D; + t['hyphensmall'] = 0xFE63; + t['hyphensuperior'] = 0xF6E6; + t['hyphentwo'] = 0x2010; + t['i'] = 0x0069; + t['iacute'] = 0x00ED; + t['iacyrillic'] = 0x044F; + t['ibengali'] = 0x0987; + t['ibopomofo'] = 0x3127; + t['ibreve'] = 0x012D; + t['icaron'] = 0x01D0; + t['icircle'] = 0x24D8; + t['icircumflex'] = 0x00EE; + t['icyrillic'] = 0x0456; + t['idblgrave'] = 0x0209; + t['ideographearthcircle'] = 0x328F; + t['ideographfirecircle'] = 0x328B; + t['ideographicallianceparen'] = 0x323F; + t['ideographiccallparen'] = 0x323A; + t['ideographiccentrecircle'] = 0x32A5; + t['ideographicclose'] = 0x3006; + t['ideographiccomma'] = 0x3001; + t['ideographiccommaleft'] = 0xFF64; + t['ideographiccongratulationparen'] = 0x3237; + t['ideographiccorrectcircle'] = 0x32A3; + t['ideographicearthparen'] = 0x322F; + t['ideographicenterpriseparen'] = 0x323D; + t['ideographicexcellentcircle'] = 0x329D; + t['ideographicfestivalparen'] = 0x3240; + t['ideographicfinancialcircle'] = 0x3296; + t['ideographicfinancialparen'] = 0x3236; + t['ideographicfireparen'] = 0x322B; + t['ideographichaveparen'] = 0x3232; + t['ideographichighcircle'] = 0x32A4; + t['ideographiciterationmark'] = 0x3005; + t['ideographiclaborcircle'] = 0x3298; + t['ideographiclaborparen'] = 0x3238; + t['ideographicleftcircle'] = 0x32A7; + t['ideographiclowcircle'] = 0x32A6; + t['ideographicmedicinecircle'] = 0x32A9; + t['ideographicmetalparen'] = 0x322E; + t['ideographicmoonparen'] = 0x322A; + t['ideographicnameparen'] = 0x3234; + t['ideographicperiod'] = 0x3002; + t['ideographicprintcircle'] = 0x329E; + t['ideographicreachparen'] = 0x3243; + t['ideographicrepresentparen'] = 0x3239; + t['ideographicresourceparen'] = 0x323E; + t['ideographicrightcircle'] = 0x32A8; + t['ideographicsecretcircle'] = 0x3299; + t['ideographicselfparen'] = 0x3242; + t['ideographicsocietyparen'] = 0x3233; + t['ideographicspace'] = 0x3000; + t['ideographicspecialparen'] = 0x3235; + t['ideographicstockparen'] = 0x3231; + t['ideographicstudyparen'] = 0x323B; + t['ideographicsunparen'] = 0x3230; + t['ideographicsuperviseparen'] = 0x323C; + t['ideographicwaterparen'] = 0x322C; + t['ideographicwoodparen'] = 0x322D; + t['ideographiczero'] = 0x3007; + t['ideographmetalcircle'] = 0x328E; + t['ideographmooncircle'] = 0x328A; + t['ideographnamecircle'] = 0x3294; + t['ideographsuncircle'] = 0x3290; + t['ideographwatercircle'] = 0x328C; + t['ideographwoodcircle'] = 0x328D; + t['ideva'] = 0x0907; + t['idieresis'] = 0x00EF; + t['idieresisacute'] = 0x1E2F; + t['idieresiscyrillic'] = 0x04E5; + t['idotbelow'] = 0x1ECB; + t['iebrevecyrillic'] = 0x04D7; + t['iecyrillic'] = 0x0435; + t['ieungacirclekorean'] = 0x3275; + t['ieungaparenkorean'] = 0x3215; + t['ieungcirclekorean'] = 0x3267; + t['ieungkorean'] = 0x3147; + t['ieungparenkorean'] = 0x3207; + t['igrave'] = 0x00EC; + t['igujarati'] = 0x0A87; + t['igurmukhi'] = 0x0A07; + t['ihiragana'] = 0x3044; + t['ihookabove'] = 0x1EC9; + t['iibengali'] = 0x0988; + t['iicyrillic'] = 0x0438; + t['iideva'] = 0x0908; + t['iigujarati'] = 0x0A88; + t['iigurmukhi'] = 0x0A08; + t['iimatragurmukhi'] = 0x0A40; + t['iinvertedbreve'] = 0x020B; + t['iishortcyrillic'] = 0x0439; + t['iivowelsignbengali'] = 0x09C0; + t['iivowelsigndeva'] = 0x0940; + t['iivowelsigngujarati'] = 0x0AC0; + t['ij'] = 0x0133; + t['ikatakana'] = 0x30A4; + t['ikatakanahalfwidth'] = 0xFF72; + t['ikorean'] = 0x3163; + t['ilde'] = 0x02DC; + t['iluyhebrew'] = 0x05AC; + t['imacron'] = 0x012B; + t['imacroncyrillic'] = 0x04E3; + t['imageorapproximatelyequal'] = 0x2253; + t['imatragurmukhi'] = 0x0A3F; + t['imonospace'] = 0xFF49; + t['increment'] = 0x2206; + t['infinity'] = 0x221E; + t['iniarmenian'] = 0x056B; + t['integral'] = 0x222B; + t['integralbottom'] = 0x2321; + t['integralbt'] = 0x2321; + t['integralex'] = 0xF8F5; + t['integraltop'] = 0x2320; + t['integraltp'] = 0x2320; + t['intersection'] = 0x2229; + t['intisquare'] = 0x3305; + t['invbullet'] = 0x25D8; + t['invcircle'] = 0x25D9; + t['invsmileface'] = 0x263B; + t['iocyrillic'] = 0x0451; + t['iogonek'] = 0x012F; + t['iota'] = 0x03B9; + t['iotadieresis'] = 0x03CA; + t['iotadieresistonos'] = 0x0390; + t['iotalatin'] = 0x0269; + t['iotatonos'] = 0x03AF; + t['iparen'] = 0x24A4; + t['irigurmukhi'] = 0x0A72; + t['ismallhiragana'] = 0x3043; + t['ismallkatakana'] = 0x30A3; + t['ismallkatakanahalfwidth'] = 0xFF68; + t['issharbengali'] = 0x09FA; + t['istroke'] = 0x0268; + t['isuperior'] = 0xF6ED; + t['iterationhiragana'] = 0x309D; + t['iterationkatakana'] = 0x30FD; + t['itilde'] = 0x0129; + t['itildebelow'] = 0x1E2D; + t['iubopomofo'] = 0x3129; + t['iucyrillic'] = 0x044E; + t['ivowelsignbengali'] = 0x09BF; + t['ivowelsigndeva'] = 0x093F; + t['ivowelsigngujarati'] = 0x0ABF; + t['izhitsacyrillic'] = 0x0475; + t['izhitsadblgravecyrillic'] = 0x0477; + t['j'] = 0x006A; + t['jaarmenian'] = 0x0571; + t['jabengali'] = 0x099C; + t['jadeva'] = 0x091C; + t['jagujarati'] = 0x0A9C; + t['jagurmukhi'] = 0x0A1C; + t['jbopomofo'] = 0x3110; + t['jcaron'] = 0x01F0; + t['jcircle'] = 0x24D9; + t['jcircumflex'] = 0x0135; + t['jcrossedtail'] = 0x029D; + t['jdotlessstroke'] = 0x025F; + t['jecyrillic'] = 0x0458; + t['jeemarabic'] = 0x062C; + t['jeemfinalarabic'] = 0xFE9E; + t['jeeminitialarabic'] = 0xFE9F; + t['jeemmedialarabic'] = 0xFEA0; + t['jeharabic'] = 0x0698; + t['jehfinalarabic'] = 0xFB8B; + t['jhabengali'] = 0x099D; + t['jhadeva'] = 0x091D; + t['jhagujarati'] = 0x0A9D; + t['jhagurmukhi'] = 0x0A1D; + t['jheharmenian'] = 0x057B; + t['jis'] = 0x3004; + t['jmonospace'] = 0xFF4A; + t['jparen'] = 0x24A5; + t['jsuperior'] = 0x02B2; + t['k'] = 0x006B; + t['kabashkircyrillic'] = 0x04A1; + t['kabengali'] = 0x0995; + t['kacute'] = 0x1E31; + t['kacyrillic'] = 0x043A; + t['kadescendercyrillic'] = 0x049B; + t['kadeva'] = 0x0915; + t['kaf'] = 0x05DB; + t['kafarabic'] = 0x0643; + t['kafdagesh'] = 0xFB3B; + t['kafdageshhebrew'] = 0xFB3B; + t['kaffinalarabic'] = 0xFEDA; + t['kafhebrew'] = 0x05DB; + t['kafinitialarabic'] = 0xFEDB; + t['kafmedialarabic'] = 0xFEDC; + t['kafrafehebrew'] = 0xFB4D; + t['kagujarati'] = 0x0A95; + t['kagurmukhi'] = 0x0A15; + t['kahiragana'] = 0x304B; + t['kahookcyrillic'] = 0x04C4; + t['kakatakana'] = 0x30AB; + t['kakatakanahalfwidth'] = 0xFF76; + t['kappa'] = 0x03BA; + t['kappasymbolgreek'] = 0x03F0; + t['kapyeounmieumkorean'] = 0x3171; + t['kapyeounphieuphkorean'] = 0x3184; + t['kapyeounpieupkorean'] = 0x3178; + t['kapyeounssangpieupkorean'] = 0x3179; + t['karoriisquare'] = 0x330D; + t['kashidaautoarabic'] = 0x0640; + t['kashidaautonosidebearingarabic'] = 0x0640; + t['kasmallkatakana'] = 0x30F5; + t['kasquare'] = 0x3384; + t['kasraarabic'] = 0x0650; + t['kasratanarabic'] = 0x064D; + t['kastrokecyrillic'] = 0x049F; + t['katahiraprolongmarkhalfwidth'] = 0xFF70; + t['kaverticalstrokecyrillic'] = 0x049D; + t['kbopomofo'] = 0x310E; + t['kcalsquare'] = 0x3389; + t['kcaron'] = 0x01E9; + t['kcedilla'] = 0x0137; + t['kcircle'] = 0x24DA; + t['kcommaaccent'] = 0x0137; + t['kdotbelow'] = 0x1E33; + t['keharmenian'] = 0x0584; + t['kehiragana'] = 0x3051; + t['kekatakana'] = 0x30B1; + t['kekatakanahalfwidth'] = 0xFF79; + t['kenarmenian'] = 0x056F; + t['kesmallkatakana'] = 0x30F6; + t['kgreenlandic'] = 0x0138; + t['khabengali'] = 0x0996; + t['khacyrillic'] = 0x0445; + t['khadeva'] = 0x0916; + t['khagujarati'] = 0x0A96; + t['khagurmukhi'] = 0x0A16; + t['khaharabic'] = 0x062E; + t['khahfinalarabic'] = 0xFEA6; + t['khahinitialarabic'] = 0xFEA7; + t['khahmedialarabic'] = 0xFEA8; + t['kheicoptic'] = 0x03E7; + t['khhadeva'] = 0x0959; + t['khhagurmukhi'] = 0x0A59; + t['khieukhacirclekorean'] = 0x3278; + t['khieukhaparenkorean'] = 0x3218; + t['khieukhcirclekorean'] = 0x326A; + t['khieukhkorean'] = 0x314B; + t['khieukhparenkorean'] = 0x320A; + t['khokhaithai'] = 0x0E02; + t['khokhonthai'] = 0x0E05; + t['khokhuatthai'] = 0x0E03; + t['khokhwaithai'] = 0x0E04; + t['khomutthai'] = 0x0E5B; + t['khook'] = 0x0199; + t['khorakhangthai'] = 0x0E06; + t['khzsquare'] = 0x3391; + t['kihiragana'] = 0x304D; + t['kikatakana'] = 0x30AD; + t['kikatakanahalfwidth'] = 0xFF77; + t['kiroguramusquare'] = 0x3315; + t['kiromeetorusquare'] = 0x3316; + t['kirosquare'] = 0x3314; + t['kiyeokacirclekorean'] = 0x326E; + t['kiyeokaparenkorean'] = 0x320E; + t['kiyeokcirclekorean'] = 0x3260; + t['kiyeokkorean'] = 0x3131; + t['kiyeokparenkorean'] = 0x3200; + t['kiyeoksioskorean'] = 0x3133; + t['kjecyrillic'] = 0x045C; + t['klinebelow'] = 0x1E35; + t['klsquare'] = 0x3398; + t['kmcubedsquare'] = 0x33A6; + t['kmonospace'] = 0xFF4B; + t['kmsquaredsquare'] = 0x33A2; + t['kohiragana'] = 0x3053; + t['kohmsquare'] = 0x33C0; + t['kokaithai'] = 0x0E01; + t['kokatakana'] = 0x30B3; + t['kokatakanahalfwidth'] = 0xFF7A; + t['kooposquare'] = 0x331E; + t['koppacyrillic'] = 0x0481; + t['koreanstandardsymbol'] = 0x327F; + t['koroniscmb'] = 0x0343; + t['kparen'] = 0x24A6; + t['kpasquare'] = 0x33AA; + t['ksicyrillic'] = 0x046F; + t['ktsquare'] = 0x33CF; + t['kturned'] = 0x029E; + t['kuhiragana'] = 0x304F; + t['kukatakana'] = 0x30AF; + t['kukatakanahalfwidth'] = 0xFF78; + t['kvsquare'] = 0x33B8; + t['kwsquare'] = 0x33BE; + t['l'] = 0x006C; + t['labengali'] = 0x09B2; + t['lacute'] = 0x013A; + t['ladeva'] = 0x0932; + t['lagujarati'] = 0x0AB2; + t['lagurmukhi'] = 0x0A32; + t['lakkhangyaothai'] = 0x0E45; + t['lamaleffinalarabic'] = 0xFEFC; + t['lamalefhamzaabovefinalarabic'] = 0xFEF8; + t['lamalefhamzaaboveisolatedarabic'] = 0xFEF7; + t['lamalefhamzabelowfinalarabic'] = 0xFEFA; + t['lamalefhamzabelowisolatedarabic'] = 0xFEF9; + t['lamalefisolatedarabic'] = 0xFEFB; + t['lamalefmaddaabovefinalarabic'] = 0xFEF6; + t['lamalefmaddaaboveisolatedarabic'] = 0xFEF5; + t['lamarabic'] = 0x0644; + t['lambda'] = 0x03BB; + t['lambdastroke'] = 0x019B; + t['lamed'] = 0x05DC; + t['lameddagesh'] = 0xFB3C; + t['lameddageshhebrew'] = 0xFB3C; + t['lamedhebrew'] = 0x05DC; + t['lamfinalarabic'] = 0xFEDE; + t['lamhahinitialarabic'] = 0xFCCA; + t['laminitialarabic'] = 0xFEDF; + t['lamjeeminitialarabic'] = 0xFCC9; + t['lamkhahinitialarabic'] = 0xFCCB; + t['lamlamhehisolatedarabic'] = 0xFDF2; + t['lammedialarabic'] = 0xFEE0; + t['lammeemhahinitialarabic'] = 0xFD88; + t['lammeeminitialarabic'] = 0xFCCC; + t['largecircle'] = 0x25EF; + t['lbar'] = 0x019A; + t['lbelt'] = 0x026C; + t['lbopomofo'] = 0x310C; + t['lcaron'] = 0x013E; + t['lcedilla'] = 0x013C; + t['lcircle'] = 0x24DB; + t['lcircumflexbelow'] = 0x1E3D; + t['lcommaaccent'] = 0x013C; + t['ldot'] = 0x0140; + t['ldotaccent'] = 0x0140; + t['ldotbelow'] = 0x1E37; + t['ldotbelowmacron'] = 0x1E39; + t['leftangleabovecmb'] = 0x031A; + t['lefttackbelowcmb'] = 0x0318; + t['less'] = 0x003C; + t['lessequal'] = 0x2264; + t['lessequalorgreater'] = 0x22DA; + t['lessmonospace'] = 0xFF1C; + t['lessorequivalent'] = 0x2272; + t['lessorgreater'] = 0x2276; + t['lessoverequal'] = 0x2266; + t['lesssmall'] = 0xFE64; + t['lezh'] = 0x026E; + t['lfblock'] = 0x258C; + t['lhookretroflex'] = 0x026D; + t['lira'] = 0x20A4; + t['liwnarmenian'] = 0x056C; + t['lj'] = 0x01C9; + t['ljecyrillic'] = 0x0459; + t['ll'] = 0xF6C0; + t['lladeva'] = 0x0933; + t['llagujarati'] = 0x0AB3; + t['llinebelow'] = 0x1E3B; + t['llladeva'] = 0x0934; + t['llvocalicbengali'] = 0x09E1; + t['llvocalicdeva'] = 0x0961; + t['llvocalicvowelsignbengali'] = 0x09E3; + t['llvocalicvowelsigndeva'] = 0x0963; + t['lmiddletilde'] = 0x026B; + t['lmonospace'] = 0xFF4C; + t['lmsquare'] = 0x33D0; + t['lochulathai'] = 0x0E2C; + t['logicaland'] = 0x2227; + t['logicalnot'] = 0x00AC; + t['logicalnotreversed'] = 0x2310; + t['logicalor'] = 0x2228; + t['lolingthai'] = 0x0E25; + t['longs'] = 0x017F; + t['lowlinecenterline'] = 0xFE4E; + t['lowlinecmb'] = 0x0332; + t['lowlinedashed'] = 0xFE4D; + t['lozenge'] = 0x25CA; + t['lparen'] = 0x24A7; + t['lslash'] = 0x0142; + t['lsquare'] = 0x2113; + t['lsuperior'] = 0xF6EE; + t['ltshade'] = 0x2591; + t['luthai'] = 0x0E26; + t['lvocalicbengali'] = 0x098C; + t['lvocalicdeva'] = 0x090C; + t['lvocalicvowelsignbengali'] = 0x09E2; + t['lvocalicvowelsigndeva'] = 0x0962; + t['lxsquare'] = 0x33D3; + t['m'] = 0x006D; + t['mabengali'] = 0x09AE; + t['macron'] = 0x00AF; + t['macronbelowcmb'] = 0x0331; + t['macroncmb'] = 0x0304; + t['macronlowmod'] = 0x02CD; + t['macronmonospace'] = 0xFFE3; + t['macute'] = 0x1E3F; + t['madeva'] = 0x092E; + t['magujarati'] = 0x0AAE; + t['magurmukhi'] = 0x0A2E; + t['mahapakhhebrew'] = 0x05A4; + t['mahapakhlefthebrew'] = 0x05A4; + t['mahiragana'] = 0x307E; + t['maichattawalowleftthai'] = 0xF895; + t['maichattawalowrightthai'] = 0xF894; + t['maichattawathai'] = 0x0E4B; + t['maichattawaupperleftthai'] = 0xF893; + t['maieklowleftthai'] = 0xF88C; + t['maieklowrightthai'] = 0xF88B; + t['maiekthai'] = 0x0E48; + t['maiekupperleftthai'] = 0xF88A; + t['maihanakatleftthai'] = 0xF884; + t['maihanakatthai'] = 0x0E31; + t['maitaikhuleftthai'] = 0xF889; + t['maitaikhuthai'] = 0x0E47; + t['maitholowleftthai'] = 0xF88F; + t['maitholowrightthai'] = 0xF88E; + t['maithothai'] = 0x0E49; + t['maithoupperleftthai'] = 0xF88D; + t['maitrilowleftthai'] = 0xF892; + t['maitrilowrightthai'] = 0xF891; + t['maitrithai'] = 0x0E4A; + t['maitriupperleftthai'] = 0xF890; + t['maiyamokthai'] = 0x0E46; + t['makatakana'] = 0x30DE; + t['makatakanahalfwidth'] = 0xFF8F; + t['male'] = 0x2642; + t['mansyonsquare'] = 0x3347; + t['maqafhebrew'] = 0x05BE; + t['mars'] = 0x2642; + t['masoracirclehebrew'] = 0x05AF; + t['masquare'] = 0x3383; + t['mbopomofo'] = 0x3107; + t['mbsquare'] = 0x33D4; + t['mcircle'] = 0x24DC; + t['mcubedsquare'] = 0x33A5; + t['mdotaccent'] = 0x1E41; + t['mdotbelow'] = 0x1E43; + t['meemarabic'] = 0x0645; + t['meemfinalarabic'] = 0xFEE2; + t['meeminitialarabic'] = 0xFEE3; + t['meemmedialarabic'] = 0xFEE4; + t['meemmeeminitialarabic'] = 0xFCD1; + t['meemmeemisolatedarabic'] = 0xFC48; + t['meetorusquare'] = 0x334D; + t['mehiragana'] = 0x3081; + t['meizierasquare'] = 0x337E; + t['mekatakana'] = 0x30E1; + t['mekatakanahalfwidth'] = 0xFF92; + t['mem'] = 0x05DE; + t['memdagesh'] = 0xFB3E; + t['memdageshhebrew'] = 0xFB3E; + t['memhebrew'] = 0x05DE; + t['menarmenian'] = 0x0574; + t['merkhahebrew'] = 0x05A5; + t['merkhakefulahebrew'] = 0x05A6; + t['merkhakefulalefthebrew'] = 0x05A6; + t['merkhalefthebrew'] = 0x05A5; + t['mhook'] = 0x0271; + t['mhzsquare'] = 0x3392; + t['middledotkatakanahalfwidth'] = 0xFF65; + t['middot'] = 0x00B7; + t['mieumacirclekorean'] = 0x3272; + t['mieumaparenkorean'] = 0x3212; + t['mieumcirclekorean'] = 0x3264; + t['mieumkorean'] = 0x3141; + t['mieumpansioskorean'] = 0x3170; + t['mieumparenkorean'] = 0x3204; + t['mieumpieupkorean'] = 0x316E; + t['mieumsioskorean'] = 0x316F; + t['mihiragana'] = 0x307F; + t['mikatakana'] = 0x30DF; + t['mikatakanahalfwidth'] = 0xFF90; + t['minus'] = 0x2212; + t['minusbelowcmb'] = 0x0320; + t['minuscircle'] = 0x2296; + t['minusmod'] = 0x02D7; + t['minusplus'] = 0x2213; + t['minute'] = 0x2032; + t['miribaarusquare'] = 0x334A; + t['mirisquare'] = 0x3349; + t['mlonglegturned'] = 0x0270; + t['mlsquare'] = 0x3396; + t['mmcubedsquare'] = 0x33A3; + t['mmonospace'] = 0xFF4D; + t['mmsquaredsquare'] = 0x339F; + t['mohiragana'] = 0x3082; + t['mohmsquare'] = 0x33C1; + t['mokatakana'] = 0x30E2; + t['mokatakanahalfwidth'] = 0xFF93; + t['molsquare'] = 0x33D6; + t['momathai'] = 0x0E21; + t['moverssquare'] = 0x33A7; + t['moverssquaredsquare'] = 0x33A8; + t['mparen'] = 0x24A8; + t['mpasquare'] = 0x33AB; + t['mssquare'] = 0x33B3; + t['msuperior'] = 0xF6EF; + t['mturned'] = 0x026F; + t['mu'] = 0x00B5; + t['mu1'] = 0x00B5; + t['muasquare'] = 0x3382; + t['muchgreater'] = 0x226B; + t['muchless'] = 0x226A; + t['mufsquare'] = 0x338C; + t['mugreek'] = 0x03BC; + t['mugsquare'] = 0x338D; + t['muhiragana'] = 0x3080; + t['mukatakana'] = 0x30E0; + t['mukatakanahalfwidth'] = 0xFF91; + t['mulsquare'] = 0x3395; + t['multiply'] = 0x00D7; + t['mumsquare'] = 0x339B; + t['munahhebrew'] = 0x05A3; + t['munahlefthebrew'] = 0x05A3; + t['musicalnote'] = 0x266A; + t['musicalnotedbl'] = 0x266B; + t['musicflatsign'] = 0x266D; + t['musicsharpsign'] = 0x266F; + t['mussquare'] = 0x33B2; + t['muvsquare'] = 0x33B6; + t['muwsquare'] = 0x33BC; + t['mvmegasquare'] = 0x33B9; + t['mvsquare'] = 0x33B7; + t['mwmegasquare'] = 0x33BF; + t['mwsquare'] = 0x33BD; + t['n'] = 0x006E; + t['nabengali'] = 0x09A8; + t['nabla'] = 0x2207; + t['nacute'] = 0x0144; + t['nadeva'] = 0x0928; + t['nagujarati'] = 0x0AA8; + t['nagurmukhi'] = 0x0A28; + t['nahiragana'] = 0x306A; + t['nakatakana'] = 0x30CA; + t['nakatakanahalfwidth'] = 0xFF85; + t['napostrophe'] = 0x0149; + t['nasquare'] = 0x3381; + t['nbopomofo'] = 0x310B; + t['nbspace'] = 0x00A0; + t['ncaron'] = 0x0148; + t['ncedilla'] = 0x0146; + t['ncircle'] = 0x24DD; + t['ncircumflexbelow'] = 0x1E4B; + t['ncommaaccent'] = 0x0146; + t['ndotaccent'] = 0x1E45; + t['ndotbelow'] = 0x1E47; + t['nehiragana'] = 0x306D; + t['nekatakana'] = 0x30CD; + t['nekatakanahalfwidth'] = 0xFF88; + t['newsheqelsign'] = 0x20AA; + t['nfsquare'] = 0x338B; + t['ngabengali'] = 0x0999; + t['ngadeva'] = 0x0919; + t['ngagujarati'] = 0x0A99; + t['ngagurmukhi'] = 0x0A19; + t['ngonguthai'] = 0x0E07; + t['nhiragana'] = 0x3093; + t['nhookleft'] = 0x0272; + t['nhookretroflex'] = 0x0273; + t['nieunacirclekorean'] = 0x326F; + t['nieunaparenkorean'] = 0x320F; + t['nieuncieuckorean'] = 0x3135; + t['nieuncirclekorean'] = 0x3261; + t['nieunhieuhkorean'] = 0x3136; + t['nieunkorean'] = 0x3134; + t['nieunpansioskorean'] = 0x3168; + t['nieunparenkorean'] = 0x3201; + t['nieunsioskorean'] = 0x3167; + t['nieuntikeutkorean'] = 0x3166; + t['nihiragana'] = 0x306B; + t['nikatakana'] = 0x30CB; + t['nikatakanahalfwidth'] = 0xFF86; + t['nikhahitleftthai'] = 0xF899; + t['nikhahitthai'] = 0x0E4D; + t['nine'] = 0x0039; + t['ninearabic'] = 0x0669; + t['ninebengali'] = 0x09EF; + t['ninecircle'] = 0x2468; + t['ninecircleinversesansserif'] = 0x2792; + t['ninedeva'] = 0x096F; + t['ninegujarati'] = 0x0AEF; + t['ninegurmukhi'] = 0x0A6F; + t['ninehackarabic'] = 0x0669; + t['ninehangzhou'] = 0x3029; + t['nineideographicparen'] = 0x3228; + t['nineinferior'] = 0x2089; + t['ninemonospace'] = 0xFF19; + t['nineoldstyle'] = 0xF739; + t['nineparen'] = 0x247C; + t['nineperiod'] = 0x2490; + t['ninepersian'] = 0x06F9; + t['nineroman'] = 0x2178; + t['ninesuperior'] = 0x2079; + t['nineteencircle'] = 0x2472; + t['nineteenparen'] = 0x2486; + t['nineteenperiod'] = 0x249A; + t['ninethai'] = 0x0E59; + t['nj'] = 0x01CC; + t['njecyrillic'] = 0x045A; + t['nkatakana'] = 0x30F3; + t['nkatakanahalfwidth'] = 0xFF9D; + t['nlegrightlong'] = 0x019E; + t['nlinebelow'] = 0x1E49; + t['nmonospace'] = 0xFF4E; + t['nmsquare'] = 0x339A; + t['nnabengali'] = 0x09A3; + t['nnadeva'] = 0x0923; + t['nnagujarati'] = 0x0AA3; + t['nnagurmukhi'] = 0x0A23; + t['nnnadeva'] = 0x0929; + t['nohiragana'] = 0x306E; + t['nokatakana'] = 0x30CE; + t['nokatakanahalfwidth'] = 0xFF89; + t['nonbreakingspace'] = 0x00A0; + t['nonenthai'] = 0x0E13; + t['nonuthai'] = 0x0E19; + t['noonarabic'] = 0x0646; + t['noonfinalarabic'] = 0xFEE6; + t['noonghunnaarabic'] = 0x06BA; + t['noonghunnafinalarabic'] = 0xFB9F; + t['nooninitialarabic'] = 0xFEE7; + t['noonjeeminitialarabic'] = 0xFCD2; + t['noonjeemisolatedarabic'] = 0xFC4B; + t['noonmedialarabic'] = 0xFEE8; + t['noonmeeminitialarabic'] = 0xFCD5; + t['noonmeemisolatedarabic'] = 0xFC4E; + t['noonnoonfinalarabic'] = 0xFC8D; + t['notcontains'] = 0x220C; + t['notelement'] = 0x2209; + t['notelementof'] = 0x2209; + t['notequal'] = 0x2260; + t['notgreater'] = 0x226F; + t['notgreaternorequal'] = 0x2271; + t['notgreaternorless'] = 0x2279; + t['notidentical'] = 0x2262; + t['notless'] = 0x226E; + t['notlessnorequal'] = 0x2270; + t['notparallel'] = 0x2226; + t['notprecedes'] = 0x2280; + t['notsubset'] = 0x2284; + t['notsucceeds'] = 0x2281; + t['notsuperset'] = 0x2285; + t['nowarmenian'] = 0x0576; + t['nparen'] = 0x24A9; + t['nssquare'] = 0x33B1; + t['nsuperior'] = 0x207F; + t['ntilde'] = 0x00F1; + t['nu'] = 0x03BD; + t['nuhiragana'] = 0x306C; + t['nukatakana'] = 0x30CC; + t['nukatakanahalfwidth'] = 0xFF87; + t['nuktabengali'] = 0x09BC; + t['nuktadeva'] = 0x093C; + t['nuktagujarati'] = 0x0ABC; + t['nuktagurmukhi'] = 0x0A3C; + t['numbersign'] = 0x0023; + t['numbersignmonospace'] = 0xFF03; + t['numbersignsmall'] = 0xFE5F; + t['numeralsigngreek'] = 0x0374; + t['numeralsignlowergreek'] = 0x0375; + t['numero'] = 0x2116; + t['nun'] = 0x05E0; + t['nundagesh'] = 0xFB40; + t['nundageshhebrew'] = 0xFB40; + t['nunhebrew'] = 0x05E0; + t['nvsquare'] = 0x33B5; + t['nwsquare'] = 0x33BB; + t['nyabengali'] = 0x099E; + t['nyadeva'] = 0x091E; + t['nyagujarati'] = 0x0A9E; + t['nyagurmukhi'] = 0x0A1E; + t['o'] = 0x006F; + t['oacute'] = 0x00F3; + t['oangthai'] = 0x0E2D; + t['obarred'] = 0x0275; + t['obarredcyrillic'] = 0x04E9; + t['obarreddieresiscyrillic'] = 0x04EB; + t['obengali'] = 0x0993; + t['obopomofo'] = 0x311B; + t['obreve'] = 0x014F; + t['ocandradeva'] = 0x0911; + t['ocandragujarati'] = 0x0A91; + t['ocandravowelsigndeva'] = 0x0949; + t['ocandravowelsigngujarati'] = 0x0AC9; + t['ocaron'] = 0x01D2; + t['ocircle'] = 0x24DE; + t['ocircumflex'] = 0x00F4; + t['ocircumflexacute'] = 0x1ED1; + t['ocircumflexdotbelow'] = 0x1ED9; + t['ocircumflexgrave'] = 0x1ED3; + t['ocircumflexhookabove'] = 0x1ED5; + t['ocircumflextilde'] = 0x1ED7; + t['ocyrillic'] = 0x043E; + t['odblacute'] = 0x0151; + t['odblgrave'] = 0x020D; + t['odeva'] = 0x0913; + t['odieresis'] = 0x00F6; + t['odieresiscyrillic'] = 0x04E7; + t['odotbelow'] = 0x1ECD; + t['oe'] = 0x0153; + t['oekorean'] = 0x315A; + t['ogonek'] = 0x02DB; + t['ogonekcmb'] = 0x0328; + t['ograve'] = 0x00F2; + t['ogujarati'] = 0x0A93; + t['oharmenian'] = 0x0585; + t['ohiragana'] = 0x304A; + t['ohookabove'] = 0x1ECF; + t['ohorn'] = 0x01A1; + t['ohornacute'] = 0x1EDB; + t['ohorndotbelow'] = 0x1EE3; + t['ohorngrave'] = 0x1EDD; + t['ohornhookabove'] = 0x1EDF; + t['ohorntilde'] = 0x1EE1; + t['ohungarumlaut'] = 0x0151; + t['oi'] = 0x01A3; + t['oinvertedbreve'] = 0x020F; + t['okatakana'] = 0x30AA; + t['okatakanahalfwidth'] = 0xFF75; + t['okorean'] = 0x3157; + t['olehebrew'] = 0x05AB; + t['omacron'] = 0x014D; + t['omacronacute'] = 0x1E53; + t['omacrongrave'] = 0x1E51; + t['omdeva'] = 0x0950; + t['omega'] = 0x03C9; + t['omega1'] = 0x03D6; + t['omegacyrillic'] = 0x0461; + t['omegalatinclosed'] = 0x0277; + t['omegaroundcyrillic'] = 0x047B; + t['omegatitlocyrillic'] = 0x047D; + t['omegatonos'] = 0x03CE; + t['omgujarati'] = 0x0AD0; + t['omicron'] = 0x03BF; + t['omicrontonos'] = 0x03CC; + t['omonospace'] = 0xFF4F; + t['one'] = 0x0031; + t['onearabic'] = 0x0661; + t['onebengali'] = 0x09E7; + t['onecircle'] = 0x2460; + t['onecircleinversesansserif'] = 0x278A; + t['onedeva'] = 0x0967; + t['onedotenleader'] = 0x2024; + t['oneeighth'] = 0x215B; + t['onefitted'] = 0xF6DC; + t['onegujarati'] = 0x0AE7; + t['onegurmukhi'] = 0x0A67; + t['onehackarabic'] = 0x0661; + t['onehalf'] = 0x00BD; + t['onehangzhou'] = 0x3021; + t['oneideographicparen'] = 0x3220; + t['oneinferior'] = 0x2081; + t['onemonospace'] = 0xFF11; + t['onenumeratorbengali'] = 0x09F4; + t['oneoldstyle'] = 0xF731; + t['oneparen'] = 0x2474; + t['oneperiod'] = 0x2488; + t['onepersian'] = 0x06F1; + t['onequarter'] = 0x00BC; + t['oneroman'] = 0x2170; + t['onesuperior'] = 0x00B9; + t['onethai'] = 0x0E51; + t['onethird'] = 0x2153; + t['oogonek'] = 0x01EB; + t['oogonekmacron'] = 0x01ED; + t['oogurmukhi'] = 0x0A13; + t['oomatragurmukhi'] = 0x0A4B; + t['oopen'] = 0x0254; + t['oparen'] = 0x24AA; + t['openbullet'] = 0x25E6; + t['option'] = 0x2325; + t['ordfeminine'] = 0x00AA; + t['ordmasculine'] = 0x00BA; + t['orthogonal'] = 0x221F; + t['oshortdeva'] = 0x0912; + t['oshortvowelsigndeva'] = 0x094A; + t['oslash'] = 0x00F8; + t['oslashacute'] = 0x01FF; + t['osmallhiragana'] = 0x3049; + t['osmallkatakana'] = 0x30A9; + t['osmallkatakanahalfwidth'] = 0xFF6B; + t['ostrokeacute'] = 0x01FF; + t['osuperior'] = 0xF6F0; + t['otcyrillic'] = 0x047F; + t['otilde'] = 0x00F5; + t['otildeacute'] = 0x1E4D; + t['otildedieresis'] = 0x1E4F; + t['oubopomofo'] = 0x3121; + t['overline'] = 0x203E; + t['overlinecenterline'] = 0xFE4A; + t['overlinecmb'] = 0x0305; + t['overlinedashed'] = 0xFE49; + t['overlinedblwavy'] = 0xFE4C; + t['overlinewavy'] = 0xFE4B; + t['overscore'] = 0x00AF; + t['ovowelsignbengali'] = 0x09CB; + t['ovowelsigndeva'] = 0x094B; + t['ovowelsigngujarati'] = 0x0ACB; + t['p'] = 0x0070; + t['paampssquare'] = 0x3380; + t['paasentosquare'] = 0x332B; + t['pabengali'] = 0x09AA; + t['pacute'] = 0x1E55; + t['padeva'] = 0x092A; + t['pagedown'] = 0x21DF; + t['pageup'] = 0x21DE; + t['pagujarati'] = 0x0AAA; + t['pagurmukhi'] = 0x0A2A; + t['pahiragana'] = 0x3071; + t['paiyannoithai'] = 0x0E2F; + t['pakatakana'] = 0x30D1; + t['palatalizationcyrilliccmb'] = 0x0484; + t['palochkacyrillic'] = 0x04C0; + t['pansioskorean'] = 0x317F; + t['paragraph'] = 0x00B6; + t['parallel'] = 0x2225; + t['parenleft'] = 0x0028; + t['parenleftaltonearabic'] = 0xFD3E; + t['parenleftbt'] = 0xF8ED; + t['parenleftex'] = 0xF8EC; + t['parenleftinferior'] = 0x208D; + t['parenleftmonospace'] = 0xFF08; + t['parenleftsmall'] = 0xFE59; + t['parenleftsuperior'] = 0x207D; + t['parenlefttp'] = 0xF8EB; + t['parenleftvertical'] = 0xFE35; + t['parenright'] = 0x0029; + t['parenrightaltonearabic'] = 0xFD3F; + t['parenrightbt'] = 0xF8F8; + t['parenrightex'] = 0xF8F7; + t['parenrightinferior'] = 0x208E; + t['parenrightmonospace'] = 0xFF09; + t['parenrightsmall'] = 0xFE5A; + t['parenrightsuperior'] = 0x207E; + t['parenrighttp'] = 0xF8F6; + t['parenrightvertical'] = 0xFE36; + t['partialdiff'] = 0x2202; + t['paseqhebrew'] = 0x05C0; + t['pashtahebrew'] = 0x0599; + t['pasquare'] = 0x33A9; + t['patah'] = 0x05B7; + t['patah11'] = 0x05B7; + t['patah1d'] = 0x05B7; + t['patah2a'] = 0x05B7; + t['patahhebrew'] = 0x05B7; + t['patahnarrowhebrew'] = 0x05B7; + t['patahquarterhebrew'] = 0x05B7; + t['patahwidehebrew'] = 0x05B7; + t['pazerhebrew'] = 0x05A1; + t['pbopomofo'] = 0x3106; + t['pcircle'] = 0x24DF; + t['pdotaccent'] = 0x1E57; + t['pe'] = 0x05E4; + t['pecyrillic'] = 0x043F; + t['pedagesh'] = 0xFB44; + t['pedageshhebrew'] = 0xFB44; + t['peezisquare'] = 0x333B; + t['pefinaldageshhebrew'] = 0xFB43; + t['peharabic'] = 0x067E; + t['peharmenian'] = 0x057A; + t['pehebrew'] = 0x05E4; + t['pehfinalarabic'] = 0xFB57; + t['pehinitialarabic'] = 0xFB58; + t['pehiragana'] = 0x307A; + t['pehmedialarabic'] = 0xFB59; + t['pekatakana'] = 0x30DA; + t['pemiddlehookcyrillic'] = 0x04A7; + t['perafehebrew'] = 0xFB4E; + t['percent'] = 0x0025; + t['percentarabic'] = 0x066A; + t['percentmonospace'] = 0xFF05; + t['percentsmall'] = 0xFE6A; + t['period'] = 0x002E; + t['periodarmenian'] = 0x0589; + t['periodcentered'] = 0x00B7; + t['periodhalfwidth'] = 0xFF61; + t['periodinferior'] = 0xF6E7; + t['periodmonospace'] = 0xFF0E; + t['periodsmall'] = 0xFE52; + t['periodsuperior'] = 0xF6E8; + t['perispomenigreekcmb'] = 0x0342; + t['perpendicular'] = 0x22A5; + t['perthousand'] = 0x2030; + t['peseta'] = 0x20A7; + t['pfsquare'] = 0x338A; + t['phabengali'] = 0x09AB; + t['phadeva'] = 0x092B; + t['phagujarati'] = 0x0AAB; + t['phagurmukhi'] = 0x0A2B; + t['phi'] = 0x03C6; + t['phi1'] = 0x03D5; + t['phieuphacirclekorean'] = 0x327A; + t['phieuphaparenkorean'] = 0x321A; + t['phieuphcirclekorean'] = 0x326C; + t['phieuphkorean'] = 0x314D; + t['phieuphparenkorean'] = 0x320C; + t['philatin'] = 0x0278; + t['phinthuthai'] = 0x0E3A; + t['phisymbolgreek'] = 0x03D5; + t['phook'] = 0x01A5; + t['phophanthai'] = 0x0E1E; + t['phophungthai'] = 0x0E1C; + t['phosamphaothai'] = 0x0E20; + t['pi'] = 0x03C0; + t['pieupacirclekorean'] = 0x3273; + t['pieupaparenkorean'] = 0x3213; + t['pieupcieuckorean'] = 0x3176; + t['pieupcirclekorean'] = 0x3265; + t['pieupkiyeokkorean'] = 0x3172; + t['pieupkorean'] = 0x3142; + t['pieupparenkorean'] = 0x3205; + t['pieupsioskiyeokkorean'] = 0x3174; + t['pieupsioskorean'] = 0x3144; + t['pieupsiostikeutkorean'] = 0x3175; + t['pieupthieuthkorean'] = 0x3177; + t['pieuptikeutkorean'] = 0x3173; + t['pihiragana'] = 0x3074; + t['pikatakana'] = 0x30D4; + t['pisymbolgreek'] = 0x03D6; + t['piwrarmenian'] = 0x0583; + t['plus'] = 0x002B; + t['plusbelowcmb'] = 0x031F; + t['pluscircle'] = 0x2295; + t['plusminus'] = 0x00B1; + t['plusmod'] = 0x02D6; + t['plusmonospace'] = 0xFF0B; + t['plussmall'] = 0xFE62; + t['plussuperior'] = 0x207A; + t['pmonospace'] = 0xFF50; + t['pmsquare'] = 0x33D8; + t['pohiragana'] = 0x307D; + t['pointingindexdownwhite'] = 0x261F; + t['pointingindexleftwhite'] = 0x261C; + t['pointingindexrightwhite'] = 0x261E; + t['pointingindexupwhite'] = 0x261D; + t['pokatakana'] = 0x30DD; + t['poplathai'] = 0x0E1B; + t['postalmark'] = 0x3012; + t['postalmarkface'] = 0x3020; + t['pparen'] = 0x24AB; + t['precedes'] = 0x227A; + t['prescription'] = 0x211E; + t['primemod'] = 0x02B9; + t['primereversed'] = 0x2035; + t['product'] = 0x220F; + t['projective'] = 0x2305; + t['prolongedkana'] = 0x30FC; + t['propellor'] = 0x2318; + t['propersubset'] = 0x2282; + t['propersuperset'] = 0x2283; + t['proportion'] = 0x2237; + t['proportional'] = 0x221D; + t['psi'] = 0x03C8; + t['psicyrillic'] = 0x0471; + t['psilipneumatacyrilliccmb'] = 0x0486; + t['pssquare'] = 0x33B0; + t['puhiragana'] = 0x3077; + t['pukatakana'] = 0x30D7; + t['pvsquare'] = 0x33B4; + t['pwsquare'] = 0x33BA; + t['q'] = 0x0071; + t['qadeva'] = 0x0958; + t['qadmahebrew'] = 0x05A8; + t['qafarabic'] = 0x0642; + t['qaffinalarabic'] = 0xFED6; + t['qafinitialarabic'] = 0xFED7; + t['qafmedialarabic'] = 0xFED8; + t['qamats'] = 0x05B8; + t['qamats10'] = 0x05B8; + t['qamats1a'] = 0x05B8; + t['qamats1c'] = 0x05B8; + t['qamats27'] = 0x05B8; + t['qamats29'] = 0x05B8; + t['qamats33'] = 0x05B8; + t['qamatsde'] = 0x05B8; + t['qamatshebrew'] = 0x05B8; + t['qamatsnarrowhebrew'] = 0x05B8; + t['qamatsqatanhebrew'] = 0x05B8; + t['qamatsqatannarrowhebrew'] = 0x05B8; + t['qamatsqatanquarterhebrew'] = 0x05B8; + t['qamatsqatanwidehebrew'] = 0x05B8; + t['qamatsquarterhebrew'] = 0x05B8; + t['qamatswidehebrew'] = 0x05B8; + t['qarneyparahebrew'] = 0x059F; + t['qbopomofo'] = 0x3111; + t['qcircle'] = 0x24E0; + t['qhook'] = 0x02A0; + t['qmonospace'] = 0xFF51; + t['qof'] = 0x05E7; + t['qofdagesh'] = 0xFB47; + t['qofdageshhebrew'] = 0xFB47; + t['qofhebrew'] = 0x05E7; + t['qparen'] = 0x24AC; + t['quarternote'] = 0x2669; + t['qubuts'] = 0x05BB; + t['qubuts18'] = 0x05BB; + t['qubuts25'] = 0x05BB; + t['qubuts31'] = 0x05BB; + t['qubutshebrew'] = 0x05BB; + t['qubutsnarrowhebrew'] = 0x05BB; + t['qubutsquarterhebrew'] = 0x05BB; + t['qubutswidehebrew'] = 0x05BB; + t['question'] = 0x003F; + t['questionarabic'] = 0x061F; + t['questionarmenian'] = 0x055E; + t['questiondown'] = 0x00BF; + t['questiondownsmall'] = 0xF7BF; + t['questiongreek'] = 0x037E; + t['questionmonospace'] = 0xFF1F; + t['questionsmall'] = 0xF73F; + t['quotedbl'] = 0x0022; + t['quotedblbase'] = 0x201E; + t['quotedblleft'] = 0x201C; + t['quotedblmonospace'] = 0xFF02; + t['quotedblprime'] = 0x301E; + t['quotedblprimereversed'] = 0x301D; + t['quotedblright'] = 0x201D; + t['quoteleft'] = 0x2018; + t['quoteleftreversed'] = 0x201B; + t['quotereversed'] = 0x201B; + t['quoteright'] = 0x2019; + t['quoterightn'] = 0x0149; + t['quotesinglbase'] = 0x201A; + t['quotesingle'] = 0x0027; + t['quotesinglemonospace'] = 0xFF07; + t['r'] = 0x0072; + t['raarmenian'] = 0x057C; + t['rabengali'] = 0x09B0; + t['racute'] = 0x0155; + t['radeva'] = 0x0930; + t['radical'] = 0x221A; + t['radicalex'] = 0xF8E5; + t['radoverssquare'] = 0x33AE; + t['radoverssquaredsquare'] = 0x33AF; + t['radsquare'] = 0x33AD; + t['rafe'] = 0x05BF; + t['rafehebrew'] = 0x05BF; + t['ragujarati'] = 0x0AB0; + t['ragurmukhi'] = 0x0A30; + t['rahiragana'] = 0x3089; + t['rakatakana'] = 0x30E9; + t['rakatakanahalfwidth'] = 0xFF97; + t['ralowerdiagonalbengali'] = 0x09F1; + t['ramiddlediagonalbengali'] = 0x09F0; + t['ramshorn'] = 0x0264; + t['ratio'] = 0x2236; + t['rbopomofo'] = 0x3116; + t['rcaron'] = 0x0159; + t['rcedilla'] = 0x0157; + t['rcircle'] = 0x24E1; + t['rcommaaccent'] = 0x0157; + t['rdblgrave'] = 0x0211; + t['rdotaccent'] = 0x1E59; + t['rdotbelow'] = 0x1E5B; + t['rdotbelowmacron'] = 0x1E5D; + t['referencemark'] = 0x203B; + t['reflexsubset'] = 0x2286; + t['reflexsuperset'] = 0x2287; + t['registered'] = 0x00AE; + t['registersans'] = 0xF8E8; + t['registerserif'] = 0xF6DA; + t['reharabic'] = 0x0631; + t['reharmenian'] = 0x0580; + t['rehfinalarabic'] = 0xFEAE; + t['rehiragana'] = 0x308C; + t['rekatakana'] = 0x30EC; + t['rekatakanahalfwidth'] = 0xFF9A; + t['resh'] = 0x05E8; + t['reshdageshhebrew'] = 0xFB48; + t['reshhebrew'] = 0x05E8; + t['reversedtilde'] = 0x223D; + t['reviahebrew'] = 0x0597; + t['reviamugrashhebrew'] = 0x0597; + t['revlogicalnot'] = 0x2310; + t['rfishhook'] = 0x027E; + t['rfishhookreversed'] = 0x027F; + t['rhabengali'] = 0x09DD; + t['rhadeva'] = 0x095D; + t['rho'] = 0x03C1; + t['rhook'] = 0x027D; + t['rhookturned'] = 0x027B; + t['rhookturnedsuperior'] = 0x02B5; + t['rhosymbolgreek'] = 0x03F1; + t['rhotichookmod'] = 0x02DE; + t['rieulacirclekorean'] = 0x3271; + t['rieulaparenkorean'] = 0x3211; + t['rieulcirclekorean'] = 0x3263; + t['rieulhieuhkorean'] = 0x3140; + t['rieulkiyeokkorean'] = 0x313A; + t['rieulkiyeoksioskorean'] = 0x3169; + t['rieulkorean'] = 0x3139; + t['rieulmieumkorean'] = 0x313B; + t['rieulpansioskorean'] = 0x316C; + t['rieulparenkorean'] = 0x3203; + t['rieulphieuphkorean'] = 0x313F; + t['rieulpieupkorean'] = 0x313C; + t['rieulpieupsioskorean'] = 0x316B; + t['rieulsioskorean'] = 0x313D; + t['rieulthieuthkorean'] = 0x313E; + t['rieultikeutkorean'] = 0x316A; + t['rieulyeorinhieuhkorean'] = 0x316D; + t['rightangle'] = 0x221F; + t['righttackbelowcmb'] = 0x0319; + t['righttriangle'] = 0x22BF; + t['rihiragana'] = 0x308A; + t['rikatakana'] = 0x30EA; + t['rikatakanahalfwidth'] = 0xFF98; + t['ring'] = 0x02DA; + t['ringbelowcmb'] = 0x0325; + t['ringcmb'] = 0x030A; + t['ringhalfleft'] = 0x02BF; + t['ringhalfleftarmenian'] = 0x0559; + t['ringhalfleftbelowcmb'] = 0x031C; + t['ringhalfleftcentered'] = 0x02D3; + t['ringhalfright'] = 0x02BE; + t['ringhalfrightbelowcmb'] = 0x0339; + t['ringhalfrightcentered'] = 0x02D2; + t['rinvertedbreve'] = 0x0213; + t['rittorusquare'] = 0x3351; + t['rlinebelow'] = 0x1E5F; + t['rlongleg'] = 0x027C; + t['rlonglegturned'] = 0x027A; + t['rmonospace'] = 0xFF52; + t['rohiragana'] = 0x308D; + t['rokatakana'] = 0x30ED; + t['rokatakanahalfwidth'] = 0xFF9B; + t['roruathai'] = 0x0E23; + t['rparen'] = 0x24AD; + t['rrabengali'] = 0x09DC; + t['rradeva'] = 0x0931; + t['rragurmukhi'] = 0x0A5C; + t['rreharabic'] = 0x0691; + t['rrehfinalarabic'] = 0xFB8D; + t['rrvocalicbengali'] = 0x09E0; + t['rrvocalicdeva'] = 0x0960; + t['rrvocalicgujarati'] = 0x0AE0; + t['rrvocalicvowelsignbengali'] = 0x09C4; + t['rrvocalicvowelsigndeva'] = 0x0944; + t['rrvocalicvowelsigngujarati'] = 0x0AC4; + t['rsuperior'] = 0xF6F1; + t['rtblock'] = 0x2590; + t['rturned'] = 0x0279; + t['rturnedsuperior'] = 0x02B4; + t['ruhiragana'] = 0x308B; + t['rukatakana'] = 0x30EB; + t['rukatakanahalfwidth'] = 0xFF99; + t['rupeemarkbengali'] = 0x09F2; + t['rupeesignbengali'] = 0x09F3; + t['rupiah'] = 0xF6DD; + t['ruthai'] = 0x0E24; + t['rvocalicbengali'] = 0x098B; + t['rvocalicdeva'] = 0x090B; + t['rvocalicgujarati'] = 0x0A8B; + t['rvocalicvowelsignbengali'] = 0x09C3; + t['rvocalicvowelsigndeva'] = 0x0943; + t['rvocalicvowelsigngujarati'] = 0x0AC3; + t['s'] = 0x0073; + t['sabengali'] = 0x09B8; + t['sacute'] = 0x015B; + t['sacutedotaccent'] = 0x1E65; + t['sadarabic'] = 0x0635; + t['sadeva'] = 0x0938; + t['sadfinalarabic'] = 0xFEBA; + t['sadinitialarabic'] = 0xFEBB; + t['sadmedialarabic'] = 0xFEBC; + t['sagujarati'] = 0x0AB8; + t['sagurmukhi'] = 0x0A38; + t['sahiragana'] = 0x3055; + t['sakatakana'] = 0x30B5; + t['sakatakanahalfwidth'] = 0xFF7B; + t['sallallahoualayhewasallamarabic'] = 0xFDFA; + t['samekh'] = 0x05E1; + t['samekhdagesh'] = 0xFB41; + t['samekhdageshhebrew'] = 0xFB41; + t['samekhhebrew'] = 0x05E1; + t['saraaathai'] = 0x0E32; + t['saraaethai'] = 0x0E41; + t['saraaimaimalaithai'] = 0x0E44; + t['saraaimaimuanthai'] = 0x0E43; + t['saraamthai'] = 0x0E33; + t['saraathai'] = 0x0E30; + t['saraethai'] = 0x0E40; + t['saraiileftthai'] = 0xF886; + t['saraiithai'] = 0x0E35; + t['saraileftthai'] = 0xF885; + t['saraithai'] = 0x0E34; + t['saraothai'] = 0x0E42; + t['saraueeleftthai'] = 0xF888; + t['saraueethai'] = 0x0E37; + t['saraueleftthai'] = 0xF887; + t['sarauethai'] = 0x0E36; + t['sarauthai'] = 0x0E38; + t['sarauuthai'] = 0x0E39; + t['sbopomofo'] = 0x3119; + t['scaron'] = 0x0161; + t['scarondotaccent'] = 0x1E67; + t['scedilla'] = 0x015F; + t['schwa'] = 0x0259; + t['schwacyrillic'] = 0x04D9; + t['schwadieresiscyrillic'] = 0x04DB; + t['schwahook'] = 0x025A; + t['scircle'] = 0x24E2; + t['scircumflex'] = 0x015D; + t['scommaaccent'] = 0x0219; + t['sdotaccent'] = 0x1E61; + t['sdotbelow'] = 0x1E63; + t['sdotbelowdotaccent'] = 0x1E69; + t['seagullbelowcmb'] = 0x033C; + t['second'] = 0x2033; + t['secondtonechinese'] = 0x02CA; + t['section'] = 0x00A7; + t['seenarabic'] = 0x0633; + t['seenfinalarabic'] = 0xFEB2; + t['seeninitialarabic'] = 0xFEB3; + t['seenmedialarabic'] = 0xFEB4; + t['segol'] = 0x05B6; + t['segol13'] = 0x05B6; + t['segol1f'] = 0x05B6; + t['segol2c'] = 0x05B6; + t['segolhebrew'] = 0x05B6; + t['segolnarrowhebrew'] = 0x05B6; + t['segolquarterhebrew'] = 0x05B6; + t['segoltahebrew'] = 0x0592; + t['segolwidehebrew'] = 0x05B6; + t['seharmenian'] = 0x057D; + t['sehiragana'] = 0x305B; + t['sekatakana'] = 0x30BB; + t['sekatakanahalfwidth'] = 0xFF7E; + t['semicolon'] = 0x003B; + t['semicolonarabic'] = 0x061B; + t['semicolonmonospace'] = 0xFF1B; + t['semicolonsmall'] = 0xFE54; + t['semivoicedmarkkana'] = 0x309C; + t['semivoicedmarkkanahalfwidth'] = 0xFF9F; + t['sentisquare'] = 0x3322; + t['sentosquare'] = 0x3323; + t['seven'] = 0x0037; + t['sevenarabic'] = 0x0667; + t['sevenbengali'] = 0x09ED; + t['sevencircle'] = 0x2466; + t['sevencircleinversesansserif'] = 0x2790; + t['sevendeva'] = 0x096D; + t['seveneighths'] = 0x215E; + t['sevengujarati'] = 0x0AED; + t['sevengurmukhi'] = 0x0A6D; + t['sevenhackarabic'] = 0x0667; + t['sevenhangzhou'] = 0x3027; + t['sevenideographicparen'] = 0x3226; + t['seveninferior'] = 0x2087; + t['sevenmonospace'] = 0xFF17; + t['sevenoldstyle'] = 0xF737; + t['sevenparen'] = 0x247A; + t['sevenperiod'] = 0x248E; + t['sevenpersian'] = 0x06F7; + t['sevenroman'] = 0x2176; + t['sevensuperior'] = 0x2077; + t['seventeencircle'] = 0x2470; + t['seventeenparen'] = 0x2484; + t['seventeenperiod'] = 0x2498; + t['seventhai'] = 0x0E57; + t['sfthyphen'] = 0x00AD; + t['shaarmenian'] = 0x0577; + t['shabengali'] = 0x09B6; + t['shacyrillic'] = 0x0448; + t['shaddaarabic'] = 0x0651; + t['shaddadammaarabic'] = 0xFC61; + t['shaddadammatanarabic'] = 0xFC5E; + t['shaddafathaarabic'] = 0xFC60; + t['shaddakasraarabic'] = 0xFC62; + t['shaddakasratanarabic'] = 0xFC5F; + t['shade'] = 0x2592; + t['shadedark'] = 0x2593; + t['shadelight'] = 0x2591; + t['shademedium'] = 0x2592; + t['shadeva'] = 0x0936; + t['shagujarati'] = 0x0AB6; + t['shagurmukhi'] = 0x0A36; + t['shalshelethebrew'] = 0x0593; + t['shbopomofo'] = 0x3115; + t['shchacyrillic'] = 0x0449; + t['sheenarabic'] = 0x0634; + t['sheenfinalarabic'] = 0xFEB6; + t['sheeninitialarabic'] = 0xFEB7; + t['sheenmedialarabic'] = 0xFEB8; + t['sheicoptic'] = 0x03E3; + t['sheqel'] = 0x20AA; + t['sheqelhebrew'] = 0x20AA; + t['sheva'] = 0x05B0; + t['sheva115'] = 0x05B0; + t['sheva15'] = 0x05B0; + t['sheva22'] = 0x05B0; + t['sheva2e'] = 0x05B0; + t['shevahebrew'] = 0x05B0; + t['shevanarrowhebrew'] = 0x05B0; + t['shevaquarterhebrew'] = 0x05B0; + t['shevawidehebrew'] = 0x05B0; + t['shhacyrillic'] = 0x04BB; + t['shimacoptic'] = 0x03ED; + t['shin'] = 0x05E9; + t['shindagesh'] = 0xFB49; + t['shindageshhebrew'] = 0xFB49; + t['shindageshshindot'] = 0xFB2C; + t['shindageshshindothebrew'] = 0xFB2C; + t['shindageshsindot'] = 0xFB2D; + t['shindageshsindothebrew'] = 0xFB2D; + t['shindothebrew'] = 0x05C1; + t['shinhebrew'] = 0x05E9; + t['shinshindot'] = 0xFB2A; + t['shinshindothebrew'] = 0xFB2A; + t['shinsindot'] = 0xFB2B; + t['shinsindothebrew'] = 0xFB2B; + t['shook'] = 0x0282; + t['sigma'] = 0x03C3; + t['sigma1'] = 0x03C2; + t['sigmafinal'] = 0x03C2; + t['sigmalunatesymbolgreek'] = 0x03F2; + t['sihiragana'] = 0x3057; + t['sikatakana'] = 0x30B7; + t['sikatakanahalfwidth'] = 0xFF7C; + t['siluqhebrew'] = 0x05BD; + t['siluqlefthebrew'] = 0x05BD; + t['similar'] = 0x223C; + t['sindothebrew'] = 0x05C2; + t['siosacirclekorean'] = 0x3274; + t['siosaparenkorean'] = 0x3214; + t['sioscieuckorean'] = 0x317E; + t['sioscirclekorean'] = 0x3266; + t['sioskiyeokkorean'] = 0x317A; + t['sioskorean'] = 0x3145; + t['siosnieunkorean'] = 0x317B; + t['siosparenkorean'] = 0x3206; + t['siospieupkorean'] = 0x317D; + t['siostikeutkorean'] = 0x317C; + t['six'] = 0x0036; + t['sixarabic'] = 0x0666; + t['sixbengali'] = 0x09EC; + t['sixcircle'] = 0x2465; + t['sixcircleinversesansserif'] = 0x278F; + t['sixdeva'] = 0x096C; + t['sixgujarati'] = 0x0AEC; + t['sixgurmukhi'] = 0x0A6C; + t['sixhackarabic'] = 0x0666; + t['sixhangzhou'] = 0x3026; + t['sixideographicparen'] = 0x3225; + t['sixinferior'] = 0x2086; + t['sixmonospace'] = 0xFF16; + t['sixoldstyle'] = 0xF736; + t['sixparen'] = 0x2479; + t['sixperiod'] = 0x248D; + t['sixpersian'] = 0x06F6; + t['sixroman'] = 0x2175; + t['sixsuperior'] = 0x2076; + t['sixteencircle'] = 0x246F; + t['sixteencurrencydenominatorbengali'] = 0x09F9; + t['sixteenparen'] = 0x2483; + t['sixteenperiod'] = 0x2497; + t['sixthai'] = 0x0E56; + t['slash'] = 0x002F; + t['slashmonospace'] = 0xFF0F; + t['slong'] = 0x017F; + t['slongdotaccent'] = 0x1E9B; + t['smileface'] = 0x263A; + t['smonospace'] = 0xFF53; + t['sofpasuqhebrew'] = 0x05C3; + t['softhyphen'] = 0x00AD; + t['softsigncyrillic'] = 0x044C; + t['sohiragana'] = 0x305D; + t['sokatakana'] = 0x30BD; + t['sokatakanahalfwidth'] = 0xFF7F; + t['soliduslongoverlaycmb'] = 0x0338; + t['solidusshortoverlaycmb'] = 0x0337; + t['sorusithai'] = 0x0E29; + t['sosalathai'] = 0x0E28; + t['sosothai'] = 0x0E0B; + t['sosuathai'] = 0x0E2A; + t['space'] = 0x0020; + t['spacehackarabic'] = 0x0020; + t['spade'] = 0x2660; + t['spadesuitblack'] = 0x2660; + t['spadesuitwhite'] = 0x2664; + t['sparen'] = 0x24AE; + t['squarebelowcmb'] = 0x033B; + t['squarecc'] = 0x33C4; + t['squarecm'] = 0x339D; + t['squarediagonalcrosshatchfill'] = 0x25A9; + t['squarehorizontalfill'] = 0x25A4; + t['squarekg'] = 0x338F; + t['squarekm'] = 0x339E; + t['squarekmcapital'] = 0x33CE; + t['squareln'] = 0x33D1; + t['squarelog'] = 0x33D2; + t['squaremg'] = 0x338E; + t['squaremil'] = 0x33D5; + t['squaremm'] = 0x339C; + t['squaremsquared'] = 0x33A1; + t['squareorthogonalcrosshatchfill'] = 0x25A6; + t['squareupperlefttolowerrightfill'] = 0x25A7; + t['squareupperrighttolowerleftfill'] = 0x25A8; + t['squareverticalfill'] = 0x25A5; + t['squarewhitewithsmallblack'] = 0x25A3; + t['srsquare'] = 0x33DB; + t['ssabengali'] = 0x09B7; + t['ssadeva'] = 0x0937; + t['ssagujarati'] = 0x0AB7; + t['ssangcieuckorean'] = 0x3149; + t['ssanghieuhkorean'] = 0x3185; + t['ssangieungkorean'] = 0x3180; + t['ssangkiyeokkorean'] = 0x3132; + t['ssangnieunkorean'] = 0x3165; + t['ssangpieupkorean'] = 0x3143; + t['ssangsioskorean'] = 0x3146; + t['ssangtikeutkorean'] = 0x3138; + t['ssuperior'] = 0xF6F2; + t['sterling'] = 0x00A3; + t['sterlingmonospace'] = 0xFFE1; + t['strokelongoverlaycmb'] = 0x0336; + t['strokeshortoverlaycmb'] = 0x0335; + t['subset'] = 0x2282; + t['subsetnotequal'] = 0x228A; + t['subsetorequal'] = 0x2286; + t['succeeds'] = 0x227B; + t['suchthat'] = 0x220B; + t['suhiragana'] = 0x3059; + t['sukatakana'] = 0x30B9; + t['sukatakanahalfwidth'] = 0xFF7D; + t['sukunarabic'] = 0x0652; + t['summation'] = 0x2211; + t['sun'] = 0x263C; + t['superset'] = 0x2283; + t['supersetnotequal'] = 0x228B; + t['supersetorequal'] = 0x2287; + t['svsquare'] = 0x33DC; + t['syouwaerasquare'] = 0x337C; + t['t'] = 0x0074; + t['tabengali'] = 0x09A4; + t['tackdown'] = 0x22A4; + t['tackleft'] = 0x22A3; + t['tadeva'] = 0x0924; + t['tagujarati'] = 0x0AA4; + t['tagurmukhi'] = 0x0A24; + t['taharabic'] = 0x0637; + t['tahfinalarabic'] = 0xFEC2; + t['tahinitialarabic'] = 0xFEC3; + t['tahiragana'] = 0x305F; + t['tahmedialarabic'] = 0xFEC4; + t['taisyouerasquare'] = 0x337D; + t['takatakana'] = 0x30BF; + t['takatakanahalfwidth'] = 0xFF80; + t['tatweelarabic'] = 0x0640; + t['tau'] = 0x03C4; + t['tav'] = 0x05EA; + t['tavdages'] = 0xFB4A; + t['tavdagesh'] = 0xFB4A; + t['tavdageshhebrew'] = 0xFB4A; + t['tavhebrew'] = 0x05EA; + t['tbar'] = 0x0167; + t['tbopomofo'] = 0x310A; + t['tcaron'] = 0x0165; + t['tccurl'] = 0x02A8; + t['tcedilla'] = 0x0163; + t['tcheharabic'] = 0x0686; + t['tchehfinalarabic'] = 0xFB7B; + t['tchehinitialarabic'] = 0xFB7C; + t['tchehmedialarabic'] = 0xFB7D; + t['tcircle'] = 0x24E3; + t['tcircumflexbelow'] = 0x1E71; + t['tcommaaccent'] = 0x0163; + t['tdieresis'] = 0x1E97; + t['tdotaccent'] = 0x1E6B; + t['tdotbelow'] = 0x1E6D; + t['tecyrillic'] = 0x0442; + t['tedescendercyrillic'] = 0x04AD; + t['teharabic'] = 0x062A; + t['tehfinalarabic'] = 0xFE96; + t['tehhahinitialarabic'] = 0xFCA2; + t['tehhahisolatedarabic'] = 0xFC0C; + t['tehinitialarabic'] = 0xFE97; + t['tehiragana'] = 0x3066; + t['tehjeeminitialarabic'] = 0xFCA1; + t['tehjeemisolatedarabic'] = 0xFC0B; + t['tehmarbutaarabic'] = 0x0629; + t['tehmarbutafinalarabic'] = 0xFE94; + t['tehmedialarabic'] = 0xFE98; + t['tehmeeminitialarabic'] = 0xFCA4; + t['tehmeemisolatedarabic'] = 0xFC0E; + t['tehnoonfinalarabic'] = 0xFC73; + t['tekatakana'] = 0x30C6; + t['tekatakanahalfwidth'] = 0xFF83; + t['telephone'] = 0x2121; + t['telephoneblack'] = 0x260E; + t['telishagedolahebrew'] = 0x05A0; + t['telishaqetanahebrew'] = 0x05A9; + t['tencircle'] = 0x2469; + t['tenideographicparen'] = 0x3229; + t['tenparen'] = 0x247D; + t['tenperiod'] = 0x2491; + t['tenroman'] = 0x2179; + t['tesh'] = 0x02A7; + t['tet'] = 0x05D8; + t['tetdagesh'] = 0xFB38; + t['tetdageshhebrew'] = 0xFB38; + t['tethebrew'] = 0x05D8; + t['tetsecyrillic'] = 0x04B5; + t['tevirhebrew'] = 0x059B; + t['tevirlefthebrew'] = 0x059B; + t['thabengali'] = 0x09A5; + t['thadeva'] = 0x0925; + t['thagujarati'] = 0x0AA5; + t['thagurmukhi'] = 0x0A25; + t['thalarabic'] = 0x0630; + t['thalfinalarabic'] = 0xFEAC; + t['thanthakhatlowleftthai'] = 0xF898; + t['thanthakhatlowrightthai'] = 0xF897; + t['thanthakhatthai'] = 0x0E4C; + t['thanthakhatupperleftthai'] = 0xF896; + t['theharabic'] = 0x062B; + t['thehfinalarabic'] = 0xFE9A; + t['thehinitialarabic'] = 0xFE9B; + t['thehmedialarabic'] = 0xFE9C; + t['thereexists'] = 0x2203; + t['therefore'] = 0x2234; + t['theta'] = 0x03B8; + t['theta1'] = 0x03D1; + t['thetasymbolgreek'] = 0x03D1; + t['thieuthacirclekorean'] = 0x3279; + t['thieuthaparenkorean'] = 0x3219; + t['thieuthcirclekorean'] = 0x326B; + t['thieuthkorean'] = 0x314C; + t['thieuthparenkorean'] = 0x320B; + t['thirteencircle'] = 0x246C; + t['thirteenparen'] = 0x2480; + t['thirteenperiod'] = 0x2494; + t['thonangmonthothai'] = 0x0E11; + t['thook'] = 0x01AD; + t['thophuthaothai'] = 0x0E12; + t['thorn'] = 0x00FE; + t['thothahanthai'] = 0x0E17; + t['thothanthai'] = 0x0E10; + t['thothongthai'] = 0x0E18; + t['thothungthai'] = 0x0E16; + t['thousandcyrillic'] = 0x0482; + t['thousandsseparatorarabic'] = 0x066C; + t['thousandsseparatorpersian'] = 0x066C; + t['three'] = 0x0033; + t['threearabic'] = 0x0663; + t['threebengali'] = 0x09E9; + t['threecircle'] = 0x2462; + t['threecircleinversesansserif'] = 0x278C; + t['threedeva'] = 0x0969; + t['threeeighths'] = 0x215C; + t['threegujarati'] = 0x0AE9; + t['threegurmukhi'] = 0x0A69; + t['threehackarabic'] = 0x0663; + t['threehangzhou'] = 0x3023; + t['threeideographicparen'] = 0x3222; + t['threeinferior'] = 0x2083; + t['threemonospace'] = 0xFF13; + t['threenumeratorbengali'] = 0x09F6; + t['threeoldstyle'] = 0xF733; + t['threeparen'] = 0x2476; + t['threeperiod'] = 0x248A; + t['threepersian'] = 0x06F3; + t['threequarters'] = 0x00BE; + t['threequartersemdash'] = 0xF6DE; + t['threeroman'] = 0x2172; + t['threesuperior'] = 0x00B3; + t['threethai'] = 0x0E53; + t['thzsquare'] = 0x3394; + t['tihiragana'] = 0x3061; + t['tikatakana'] = 0x30C1; + t['tikatakanahalfwidth'] = 0xFF81; + t['tikeutacirclekorean'] = 0x3270; + t['tikeutaparenkorean'] = 0x3210; + t['tikeutcirclekorean'] = 0x3262; + t['tikeutkorean'] = 0x3137; + t['tikeutparenkorean'] = 0x3202; + t['tilde'] = 0x02DC; + t['tildebelowcmb'] = 0x0330; + t['tildecmb'] = 0x0303; + t['tildecomb'] = 0x0303; + t['tildedoublecmb'] = 0x0360; + t['tildeoperator'] = 0x223C; + t['tildeoverlaycmb'] = 0x0334; + t['tildeverticalcmb'] = 0x033E; + t['timescircle'] = 0x2297; + t['tipehahebrew'] = 0x0596; + t['tipehalefthebrew'] = 0x0596; + t['tippigurmukhi'] = 0x0A70; + t['titlocyrilliccmb'] = 0x0483; + t['tiwnarmenian'] = 0x057F; + t['tlinebelow'] = 0x1E6F; + t['tmonospace'] = 0xFF54; + t['toarmenian'] = 0x0569; + t['tohiragana'] = 0x3068; + t['tokatakana'] = 0x30C8; + t['tokatakanahalfwidth'] = 0xFF84; + t['tonebarextrahighmod'] = 0x02E5; + t['tonebarextralowmod'] = 0x02E9; + t['tonebarhighmod'] = 0x02E6; + t['tonebarlowmod'] = 0x02E8; + t['tonebarmidmod'] = 0x02E7; + t['tonefive'] = 0x01BD; + t['tonesix'] = 0x0185; + t['tonetwo'] = 0x01A8; + t['tonos'] = 0x0384; + t['tonsquare'] = 0x3327; + t['topatakthai'] = 0x0E0F; + t['tortoiseshellbracketleft'] = 0x3014; + t['tortoiseshellbracketleftsmall'] = 0xFE5D; + t['tortoiseshellbracketleftvertical'] = 0xFE39; + t['tortoiseshellbracketright'] = 0x3015; + t['tortoiseshellbracketrightsmall'] = 0xFE5E; + t['tortoiseshellbracketrightvertical'] = 0xFE3A; + t['totaothai'] = 0x0E15; + t['tpalatalhook'] = 0x01AB; + t['tparen'] = 0x24AF; + t['trademark'] = 0x2122; + t['trademarksans'] = 0xF8EA; + t['trademarkserif'] = 0xF6DB; + t['tretroflexhook'] = 0x0288; + t['triagdn'] = 0x25BC; + t['triaglf'] = 0x25C4; + t['triagrt'] = 0x25BA; + t['triagup'] = 0x25B2; + t['ts'] = 0x02A6; + t['tsadi'] = 0x05E6; + t['tsadidagesh'] = 0xFB46; + t['tsadidageshhebrew'] = 0xFB46; + t['tsadihebrew'] = 0x05E6; + t['tsecyrillic'] = 0x0446; + t['tsere'] = 0x05B5; + t['tsere12'] = 0x05B5; + t['tsere1e'] = 0x05B5; + t['tsere2b'] = 0x05B5; + t['tserehebrew'] = 0x05B5; + t['tserenarrowhebrew'] = 0x05B5; + t['tserequarterhebrew'] = 0x05B5; + t['tserewidehebrew'] = 0x05B5; + t['tshecyrillic'] = 0x045B; + t['tsuperior'] = 0xF6F3; + t['ttabengali'] = 0x099F; + t['ttadeva'] = 0x091F; + t['ttagujarati'] = 0x0A9F; + t['ttagurmukhi'] = 0x0A1F; + t['tteharabic'] = 0x0679; + t['ttehfinalarabic'] = 0xFB67; + t['ttehinitialarabic'] = 0xFB68; + t['ttehmedialarabic'] = 0xFB69; + t['tthabengali'] = 0x09A0; + t['tthadeva'] = 0x0920; + t['tthagujarati'] = 0x0AA0; + t['tthagurmukhi'] = 0x0A20; + t['tturned'] = 0x0287; + t['tuhiragana'] = 0x3064; + t['tukatakana'] = 0x30C4; + t['tukatakanahalfwidth'] = 0xFF82; + t['tusmallhiragana'] = 0x3063; + t['tusmallkatakana'] = 0x30C3; + t['tusmallkatakanahalfwidth'] = 0xFF6F; + t['twelvecircle'] = 0x246B; + t['twelveparen'] = 0x247F; + t['twelveperiod'] = 0x2493; + t['twelveroman'] = 0x217B; + t['twentycircle'] = 0x2473; + t['twentyhangzhou'] = 0x5344; + t['twentyparen'] = 0x2487; + t['twentyperiod'] = 0x249B; + t['two'] = 0x0032; + t['twoarabic'] = 0x0662; + t['twobengali'] = 0x09E8; + t['twocircle'] = 0x2461; + t['twocircleinversesansserif'] = 0x278B; + t['twodeva'] = 0x0968; + t['twodotenleader'] = 0x2025; + t['twodotleader'] = 0x2025; + t['twodotleadervertical'] = 0xFE30; + t['twogujarati'] = 0x0AE8; + t['twogurmukhi'] = 0x0A68; + t['twohackarabic'] = 0x0662; + t['twohangzhou'] = 0x3022; + t['twoideographicparen'] = 0x3221; + t['twoinferior'] = 0x2082; + t['twomonospace'] = 0xFF12; + t['twonumeratorbengali'] = 0x09F5; + t['twooldstyle'] = 0xF732; + t['twoparen'] = 0x2475; + t['twoperiod'] = 0x2489; + t['twopersian'] = 0x06F2; + t['tworoman'] = 0x2171; + t['twostroke'] = 0x01BB; + t['twosuperior'] = 0x00B2; + t['twothai'] = 0x0E52; + t['twothirds'] = 0x2154; + t['u'] = 0x0075; + t['uacute'] = 0x00FA; + t['ubar'] = 0x0289; + t['ubengali'] = 0x0989; + t['ubopomofo'] = 0x3128; + t['ubreve'] = 0x016D; + t['ucaron'] = 0x01D4; + t['ucircle'] = 0x24E4; + t['ucircumflex'] = 0x00FB; + t['ucircumflexbelow'] = 0x1E77; + t['ucyrillic'] = 0x0443; + t['udattadeva'] = 0x0951; + t['udblacute'] = 0x0171; + t['udblgrave'] = 0x0215; + t['udeva'] = 0x0909; + t['udieresis'] = 0x00FC; + t['udieresisacute'] = 0x01D8; + t['udieresisbelow'] = 0x1E73; + t['udieresiscaron'] = 0x01DA; + t['udieresiscyrillic'] = 0x04F1; + t['udieresisgrave'] = 0x01DC; + t['udieresismacron'] = 0x01D6; + t['udotbelow'] = 0x1EE5; + t['ugrave'] = 0x00F9; + t['ugujarati'] = 0x0A89; + t['ugurmukhi'] = 0x0A09; + t['uhiragana'] = 0x3046; + t['uhookabove'] = 0x1EE7; + t['uhorn'] = 0x01B0; + t['uhornacute'] = 0x1EE9; + t['uhorndotbelow'] = 0x1EF1; + t['uhorngrave'] = 0x1EEB; + t['uhornhookabove'] = 0x1EED; + t['uhorntilde'] = 0x1EEF; + t['uhungarumlaut'] = 0x0171; + t['uhungarumlautcyrillic'] = 0x04F3; + t['uinvertedbreve'] = 0x0217; + t['ukatakana'] = 0x30A6; + t['ukatakanahalfwidth'] = 0xFF73; + t['ukcyrillic'] = 0x0479; + t['ukorean'] = 0x315C; + t['umacron'] = 0x016B; + t['umacroncyrillic'] = 0x04EF; + t['umacrondieresis'] = 0x1E7B; + t['umatragurmukhi'] = 0x0A41; + t['umonospace'] = 0xFF55; + t['underscore'] = 0x005F; + t['underscoredbl'] = 0x2017; + t['underscoremonospace'] = 0xFF3F; + t['underscorevertical'] = 0xFE33; + t['underscorewavy'] = 0xFE4F; + t['union'] = 0x222A; + t['universal'] = 0x2200; + t['uogonek'] = 0x0173; + t['uparen'] = 0x24B0; + t['upblock'] = 0x2580; + t['upperdothebrew'] = 0x05C4; + t['upsilon'] = 0x03C5; + t['upsilondieresis'] = 0x03CB; + t['upsilondieresistonos'] = 0x03B0; + t['upsilonlatin'] = 0x028A; + t['upsilontonos'] = 0x03CD; + t['uptackbelowcmb'] = 0x031D; + t['uptackmod'] = 0x02D4; + t['uragurmukhi'] = 0x0A73; + t['uring'] = 0x016F; + t['ushortcyrillic'] = 0x045E; + t['usmallhiragana'] = 0x3045; + t['usmallkatakana'] = 0x30A5; + t['usmallkatakanahalfwidth'] = 0xFF69; + t['ustraightcyrillic'] = 0x04AF; + t['ustraightstrokecyrillic'] = 0x04B1; + t['utilde'] = 0x0169; + t['utildeacute'] = 0x1E79; + t['utildebelow'] = 0x1E75; + t['uubengali'] = 0x098A; + t['uudeva'] = 0x090A; + t['uugujarati'] = 0x0A8A; + t['uugurmukhi'] = 0x0A0A; + t['uumatragurmukhi'] = 0x0A42; + t['uuvowelsignbengali'] = 0x09C2; + t['uuvowelsigndeva'] = 0x0942; + t['uuvowelsigngujarati'] = 0x0AC2; + t['uvowelsignbengali'] = 0x09C1; + t['uvowelsigndeva'] = 0x0941; + t['uvowelsigngujarati'] = 0x0AC1; + t['v'] = 0x0076; + t['vadeva'] = 0x0935; + t['vagujarati'] = 0x0AB5; + t['vagurmukhi'] = 0x0A35; + t['vakatakana'] = 0x30F7; + t['vav'] = 0x05D5; + t['vavdagesh'] = 0xFB35; + t['vavdagesh65'] = 0xFB35; + t['vavdageshhebrew'] = 0xFB35; + t['vavhebrew'] = 0x05D5; + t['vavholam'] = 0xFB4B; + t['vavholamhebrew'] = 0xFB4B; + t['vavvavhebrew'] = 0x05F0; + t['vavyodhebrew'] = 0x05F1; + t['vcircle'] = 0x24E5; + t['vdotbelow'] = 0x1E7F; + t['vecyrillic'] = 0x0432; + t['veharabic'] = 0x06A4; + t['vehfinalarabic'] = 0xFB6B; + t['vehinitialarabic'] = 0xFB6C; + t['vehmedialarabic'] = 0xFB6D; + t['vekatakana'] = 0x30F9; + t['venus'] = 0x2640; + t['verticalbar'] = 0x007C; + t['verticallineabovecmb'] = 0x030D; + t['verticallinebelowcmb'] = 0x0329; + t['verticallinelowmod'] = 0x02CC; + t['verticallinemod'] = 0x02C8; + t['vewarmenian'] = 0x057E; + t['vhook'] = 0x028B; + t['vikatakana'] = 0x30F8; + t['viramabengali'] = 0x09CD; + t['viramadeva'] = 0x094D; + t['viramagujarati'] = 0x0ACD; + t['visargabengali'] = 0x0983; + t['visargadeva'] = 0x0903; + t['visargagujarati'] = 0x0A83; + t['vmonospace'] = 0xFF56; + t['voarmenian'] = 0x0578; + t['voicediterationhiragana'] = 0x309E; + t['voicediterationkatakana'] = 0x30FE; + t['voicedmarkkana'] = 0x309B; + t['voicedmarkkanahalfwidth'] = 0xFF9E; + t['vokatakana'] = 0x30FA; + t['vparen'] = 0x24B1; + t['vtilde'] = 0x1E7D; + t['vturned'] = 0x028C; + t['vuhiragana'] = 0x3094; + t['vukatakana'] = 0x30F4; + t['w'] = 0x0077; + t['wacute'] = 0x1E83; + t['waekorean'] = 0x3159; + t['wahiragana'] = 0x308F; + t['wakatakana'] = 0x30EF; + t['wakatakanahalfwidth'] = 0xFF9C; + t['wakorean'] = 0x3158; + t['wasmallhiragana'] = 0x308E; + t['wasmallkatakana'] = 0x30EE; + t['wattosquare'] = 0x3357; + t['wavedash'] = 0x301C; + t['wavyunderscorevertical'] = 0xFE34; + t['wawarabic'] = 0x0648; + t['wawfinalarabic'] = 0xFEEE; + t['wawhamzaabovearabic'] = 0x0624; + t['wawhamzaabovefinalarabic'] = 0xFE86; + t['wbsquare'] = 0x33DD; + t['wcircle'] = 0x24E6; + t['wcircumflex'] = 0x0175; + t['wdieresis'] = 0x1E85; + t['wdotaccent'] = 0x1E87; + t['wdotbelow'] = 0x1E89; + t['wehiragana'] = 0x3091; + t['weierstrass'] = 0x2118; + t['wekatakana'] = 0x30F1; + t['wekorean'] = 0x315E; + t['weokorean'] = 0x315D; + t['wgrave'] = 0x1E81; + t['whitebullet'] = 0x25E6; + t['whitecircle'] = 0x25CB; + t['whitecircleinverse'] = 0x25D9; + t['whitecornerbracketleft'] = 0x300E; + t['whitecornerbracketleftvertical'] = 0xFE43; + t['whitecornerbracketright'] = 0x300F; + t['whitecornerbracketrightvertical'] = 0xFE44; + t['whitediamond'] = 0x25C7; + t['whitediamondcontainingblacksmalldiamond'] = 0x25C8; + t['whitedownpointingsmalltriangle'] = 0x25BF; + t['whitedownpointingtriangle'] = 0x25BD; + t['whiteleftpointingsmalltriangle'] = 0x25C3; + t['whiteleftpointingtriangle'] = 0x25C1; + t['whitelenticularbracketleft'] = 0x3016; + t['whitelenticularbracketright'] = 0x3017; + t['whiterightpointingsmalltriangle'] = 0x25B9; + t['whiterightpointingtriangle'] = 0x25B7; + t['whitesmallsquare'] = 0x25AB; + t['whitesmilingface'] = 0x263A; + t['whitesquare'] = 0x25A1; + t['whitestar'] = 0x2606; + t['whitetelephone'] = 0x260F; + t['whitetortoiseshellbracketleft'] = 0x3018; + t['whitetortoiseshellbracketright'] = 0x3019; + t['whiteuppointingsmalltriangle'] = 0x25B5; + t['whiteuppointingtriangle'] = 0x25B3; + t['wihiragana'] = 0x3090; + t['wikatakana'] = 0x30F0; + t['wikorean'] = 0x315F; + t['wmonospace'] = 0xFF57; + t['wohiragana'] = 0x3092; + t['wokatakana'] = 0x30F2; + t['wokatakanahalfwidth'] = 0xFF66; + t['won'] = 0x20A9; + t['wonmonospace'] = 0xFFE6; + t['wowaenthai'] = 0x0E27; + t['wparen'] = 0x24B2; + t['wring'] = 0x1E98; + t['wsuperior'] = 0x02B7; + t['wturned'] = 0x028D; + t['wynn'] = 0x01BF; + t['x'] = 0x0078; + t['xabovecmb'] = 0x033D; + t['xbopomofo'] = 0x3112; + t['xcircle'] = 0x24E7; + t['xdieresis'] = 0x1E8D; + t['xdotaccent'] = 0x1E8B; + t['xeharmenian'] = 0x056D; + t['xi'] = 0x03BE; + t['xmonospace'] = 0xFF58; + t['xparen'] = 0x24B3; + t['xsuperior'] = 0x02E3; + t['y'] = 0x0079; + t['yaadosquare'] = 0x334E; + t['yabengali'] = 0x09AF; + t['yacute'] = 0x00FD; + t['yadeva'] = 0x092F; + t['yaekorean'] = 0x3152; + t['yagujarati'] = 0x0AAF; + t['yagurmukhi'] = 0x0A2F; + t['yahiragana'] = 0x3084; + t['yakatakana'] = 0x30E4; + t['yakatakanahalfwidth'] = 0xFF94; + t['yakorean'] = 0x3151; + t['yamakkanthai'] = 0x0E4E; + t['yasmallhiragana'] = 0x3083; + t['yasmallkatakana'] = 0x30E3; + t['yasmallkatakanahalfwidth'] = 0xFF6C; + t['yatcyrillic'] = 0x0463; + t['ycircle'] = 0x24E8; + t['ycircumflex'] = 0x0177; + t['ydieresis'] = 0x00FF; + t['ydotaccent'] = 0x1E8F; + t['ydotbelow'] = 0x1EF5; + t['yeharabic'] = 0x064A; + t['yehbarreearabic'] = 0x06D2; + t['yehbarreefinalarabic'] = 0xFBAF; + t['yehfinalarabic'] = 0xFEF2; + t['yehhamzaabovearabic'] = 0x0626; + t['yehhamzaabovefinalarabic'] = 0xFE8A; + t['yehhamzaaboveinitialarabic'] = 0xFE8B; + t['yehhamzaabovemedialarabic'] = 0xFE8C; + t['yehinitialarabic'] = 0xFEF3; + t['yehmedialarabic'] = 0xFEF4; + t['yehmeeminitialarabic'] = 0xFCDD; + t['yehmeemisolatedarabic'] = 0xFC58; + t['yehnoonfinalarabic'] = 0xFC94; + t['yehthreedotsbelowarabic'] = 0x06D1; + t['yekorean'] = 0x3156; + t['yen'] = 0x00A5; + t['yenmonospace'] = 0xFFE5; + t['yeokorean'] = 0x3155; + t['yeorinhieuhkorean'] = 0x3186; + t['yerahbenyomohebrew'] = 0x05AA; + t['yerahbenyomolefthebrew'] = 0x05AA; + t['yericyrillic'] = 0x044B; + t['yerudieresiscyrillic'] = 0x04F9; + t['yesieungkorean'] = 0x3181; + t['yesieungpansioskorean'] = 0x3183; + t['yesieungsioskorean'] = 0x3182; + t['yetivhebrew'] = 0x059A; + t['ygrave'] = 0x1EF3; + t['yhook'] = 0x01B4; + t['yhookabove'] = 0x1EF7; + t['yiarmenian'] = 0x0575; + t['yicyrillic'] = 0x0457; + t['yikorean'] = 0x3162; + t['yinyang'] = 0x262F; + t['yiwnarmenian'] = 0x0582; + t['ymonospace'] = 0xFF59; + t['yod'] = 0x05D9; + t['yoddagesh'] = 0xFB39; + t['yoddageshhebrew'] = 0xFB39; + t['yodhebrew'] = 0x05D9; + t['yodyodhebrew'] = 0x05F2; + t['yodyodpatahhebrew'] = 0xFB1F; + t['yohiragana'] = 0x3088; + t['yoikorean'] = 0x3189; + t['yokatakana'] = 0x30E8; + t['yokatakanahalfwidth'] = 0xFF96; + t['yokorean'] = 0x315B; + t['yosmallhiragana'] = 0x3087; + t['yosmallkatakana'] = 0x30E7; + t['yosmallkatakanahalfwidth'] = 0xFF6E; + t['yotgreek'] = 0x03F3; + t['yoyaekorean'] = 0x3188; + t['yoyakorean'] = 0x3187; + t['yoyakthai'] = 0x0E22; + t['yoyingthai'] = 0x0E0D; + t['yparen'] = 0x24B4; + t['ypogegrammeni'] = 0x037A; + t['ypogegrammenigreekcmb'] = 0x0345; + t['yr'] = 0x01A6; + t['yring'] = 0x1E99; + t['ysuperior'] = 0x02B8; + t['ytilde'] = 0x1EF9; + t['yturned'] = 0x028E; + t['yuhiragana'] = 0x3086; + t['yuikorean'] = 0x318C; + t['yukatakana'] = 0x30E6; + t['yukatakanahalfwidth'] = 0xFF95; + t['yukorean'] = 0x3160; + t['yusbigcyrillic'] = 0x046B; + t['yusbigiotifiedcyrillic'] = 0x046D; + t['yuslittlecyrillic'] = 0x0467; + t['yuslittleiotifiedcyrillic'] = 0x0469; + t['yusmallhiragana'] = 0x3085; + t['yusmallkatakana'] = 0x30E5; + t['yusmallkatakanahalfwidth'] = 0xFF6D; + t['yuyekorean'] = 0x318B; + t['yuyeokorean'] = 0x318A; + t['yyabengali'] = 0x09DF; + t['yyadeva'] = 0x095F; + t['z'] = 0x007A; + t['zaarmenian'] = 0x0566; + t['zacute'] = 0x017A; + t['zadeva'] = 0x095B; + t['zagurmukhi'] = 0x0A5B; + t['zaharabic'] = 0x0638; + t['zahfinalarabic'] = 0xFEC6; + t['zahinitialarabic'] = 0xFEC7; + t['zahiragana'] = 0x3056; + t['zahmedialarabic'] = 0xFEC8; + t['zainarabic'] = 0x0632; + t['zainfinalarabic'] = 0xFEB0; + t['zakatakana'] = 0x30B6; + t['zaqefgadolhebrew'] = 0x0595; + t['zaqefqatanhebrew'] = 0x0594; + t['zarqahebrew'] = 0x0598; + t['zayin'] = 0x05D6; + t['zayindagesh'] = 0xFB36; + t['zayindageshhebrew'] = 0xFB36; + t['zayinhebrew'] = 0x05D6; + t['zbopomofo'] = 0x3117; + t['zcaron'] = 0x017E; + t['zcircle'] = 0x24E9; + t['zcircumflex'] = 0x1E91; + t['zcurl'] = 0x0291; + t['zdot'] = 0x017C; + t['zdotaccent'] = 0x017C; + t['zdotbelow'] = 0x1E93; + t['zecyrillic'] = 0x0437; + t['zedescendercyrillic'] = 0x0499; + t['zedieresiscyrillic'] = 0x04DF; + t['zehiragana'] = 0x305C; + t['zekatakana'] = 0x30BC; + t['zero'] = 0x0030; + t['zeroarabic'] = 0x0660; + t['zerobengali'] = 0x09E6; + t['zerodeva'] = 0x0966; + t['zerogujarati'] = 0x0AE6; + t['zerogurmukhi'] = 0x0A66; + t['zerohackarabic'] = 0x0660; + t['zeroinferior'] = 0x2080; + t['zeromonospace'] = 0xFF10; + t['zerooldstyle'] = 0xF730; + t['zeropersian'] = 0x06F0; + t['zerosuperior'] = 0x2070; + t['zerothai'] = 0x0E50; + t['zerowidthjoiner'] = 0xFEFF; + t['zerowidthnonjoiner'] = 0x200C; + t['zerowidthspace'] = 0x200B; + t['zeta'] = 0x03B6; + t['zhbopomofo'] = 0x3113; + t['zhearmenian'] = 0x056A; + t['zhebrevecyrillic'] = 0x04C2; + t['zhecyrillic'] = 0x0436; + t['zhedescendercyrillic'] = 0x0497; + t['zhedieresiscyrillic'] = 0x04DD; + t['zihiragana'] = 0x3058; + t['zikatakana'] = 0x30B8; + t['zinorhebrew'] = 0x05AE; + t['zlinebelow'] = 0x1E95; + t['zmonospace'] = 0xFF5A; + t['zohiragana'] = 0x305E; + t['zokatakana'] = 0x30BE; + t['zparen'] = 0x24B5; + t['zretroflexhook'] = 0x0290; + t['zstroke'] = 0x01B6; + t['zuhiragana'] = 0x305A; + t['zukatakana'] = 0x30BA; + t['.notdef'] = 0x0000; + t['angbracketleftbig'] = 0x2329; + t['angbracketleftBig'] = 0x2329; + t['angbracketleftbigg'] = 0x2329; + t['angbracketleftBigg'] = 0x2329; + t['angbracketrightBig'] = 0x232A; + t['angbracketrightbig'] = 0x232A; + t['angbracketrightBigg'] = 0x232A; + t['angbracketrightbigg'] = 0x232A; + t['arrowhookleft'] = 0x21AA; + t['arrowhookright'] = 0x21A9; + t['arrowlefttophalf'] = 0x21BC; + t['arrowleftbothalf'] = 0x21BD; + t['arrownortheast'] = 0x2197; + t['arrownorthwest'] = 0x2196; + t['arrowrighttophalf'] = 0x21C0; + t['arrowrightbothalf'] = 0x21C1; + t['arrowsoutheast'] = 0x2198; + t['arrowsouthwest'] = 0x2199; + t['backslashbig'] = 0x2216; + t['backslashBig'] = 0x2216; + t['backslashBigg'] = 0x2216; + t['backslashbigg'] = 0x2216; + t['bardbl'] = 0x2016; + t['bracehtipdownleft'] = 0xFE37; + t['bracehtipdownright'] = 0xFE37; + t['bracehtipupleft'] = 0xFE38; + t['bracehtipupright'] = 0xFE38; + t['braceleftBig'] = 0x007B; + t['braceleftbig'] = 0x007B; + t['braceleftbigg'] = 0x007B; + t['braceleftBigg'] = 0x007B; + t['bracerightBig'] = 0x007D; + t['bracerightbig'] = 0x007D; + t['bracerightbigg'] = 0x007D; + t['bracerightBigg'] = 0x007D; + t['bracketleftbig'] = 0x005B; + t['bracketleftBig'] = 0x005B; + t['bracketleftbigg'] = 0x005B; + t['bracketleftBigg'] = 0x005B; + t['bracketrightBig'] = 0x005D; + t['bracketrightbig'] = 0x005D; + t['bracketrightbigg'] = 0x005D; + t['bracketrightBigg'] = 0x005D; + t['ceilingleftbig'] = 0x2308; + t['ceilingleftBig'] = 0x2308; + t['ceilingleftBigg'] = 0x2308; + t['ceilingleftbigg'] = 0x2308; + t['ceilingrightbig'] = 0x2309; + t['ceilingrightBig'] = 0x2309; + t['ceilingrightbigg'] = 0x2309; + t['ceilingrightBigg'] = 0x2309; + t['circledotdisplay'] = 0x2299; + t['circledottext'] = 0x2299; + t['circlemultiplydisplay'] = 0x2297; + t['circlemultiplytext'] = 0x2297; + t['circleplusdisplay'] = 0x2295; + t['circleplustext'] = 0x2295; + t['contintegraldisplay'] = 0x222E; + t['contintegraltext'] = 0x222E; + t['coproductdisplay'] = 0x2210; + t['coproducttext'] = 0x2210; + t['floorleftBig'] = 0x230A; + t['floorleftbig'] = 0x230A; + t['floorleftbigg'] = 0x230A; + t['floorleftBigg'] = 0x230A; + t['floorrightbig'] = 0x230B; + t['floorrightBig'] = 0x230B; + t['floorrightBigg'] = 0x230B; + t['floorrightbigg'] = 0x230B; + t['hatwide'] = 0x0302; + t['hatwider'] = 0x0302; + t['hatwidest'] = 0x0302; + t['intercal'] = 0x1D40; + t['integraldisplay'] = 0x222B; + t['integraltext'] = 0x222B; + t['intersectiondisplay'] = 0x22C2; + t['intersectiontext'] = 0x22C2; + t['logicalanddisplay'] = 0x2227; + t['logicalandtext'] = 0x2227; + t['logicalordisplay'] = 0x2228; + t['logicalortext'] = 0x2228; + t['parenleftBig'] = 0x0028; + t['parenleftbig'] = 0x0028; + t['parenleftBigg'] = 0x0028; + t['parenleftbigg'] = 0x0028; + t['parenrightBig'] = 0x0029; + t['parenrightbig'] = 0x0029; + t['parenrightBigg'] = 0x0029; + t['parenrightbigg'] = 0x0029; + t['prime'] = 0x2032; + t['productdisplay'] = 0x220F; + t['producttext'] = 0x220F; + t['radicalbig'] = 0x221A; + t['radicalBig'] = 0x221A; + t['radicalBigg'] = 0x221A; + t['radicalbigg'] = 0x221A; + t['radicalbt'] = 0x221A; + t['radicaltp'] = 0x221A; + t['radicalvertex'] = 0x221A; + t['slashbig'] = 0x002F; + t['slashBig'] = 0x002F; + t['slashBigg'] = 0x002F; + t['slashbigg'] = 0x002F; + t['summationdisplay'] = 0x2211; + t['summationtext'] = 0x2211; + t['tildewide'] = 0x02DC; + t['tildewider'] = 0x02DC; + t['tildewidest'] = 0x02DC; + t['uniondisplay'] = 0x22C3; + t['unionmultidisplay'] = 0x228E; + t['unionmultitext'] = 0x228E; + t['unionsqdisplay'] = 0x2294; + t['unionsqtext'] = 0x2294; + t['uniontext'] = 0x22C3; + t['vextenddouble'] = 0x2225; + t['vextendsingle'] = 0x2223; +}); +var getDingbatsGlyphsUnicode = getLookupTableFactory(function (t) { + t['space'] = 0x0020; + t['a1'] = 0x2701; + t['a2'] = 0x2702; + t['a202'] = 0x2703; + t['a3'] = 0x2704; + t['a4'] = 0x260E; + t['a5'] = 0x2706; + t['a119'] = 0x2707; + t['a118'] = 0x2708; + t['a117'] = 0x2709; + t['a11'] = 0x261B; + t['a12'] = 0x261E; + t['a13'] = 0x270C; + t['a14'] = 0x270D; + t['a15'] = 0x270E; + t['a16'] = 0x270F; + t['a105'] = 0x2710; + t['a17'] = 0x2711; + t['a18'] = 0x2712; + t['a19'] = 0x2713; + t['a20'] = 0x2714; + t['a21'] = 0x2715; + t['a22'] = 0x2716; + t['a23'] = 0x2717; + t['a24'] = 0x2718; + t['a25'] = 0x2719; + t['a26'] = 0x271A; + t['a27'] = 0x271B; + t['a28'] = 0x271C; + t['a6'] = 0x271D; + t['a7'] = 0x271E; + t['a8'] = 0x271F; + t['a9'] = 0x2720; + t['a10'] = 0x2721; + t['a29'] = 0x2722; + t['a30'] = 0x2723; + t['a31'] = 0x2724; + t['a32'] = 0x2725; + t['a33'] = 0x2726; + t['a34'] = 0x2727; + t['a35'] = 0x2605; + t['a36'] = 0x2729; + t['a37'] = 0x272A; + t['a38'] = 0x272B; + t['a39'] = 0x272C; + t['a40'] = 0x272D; + t['a41'] = 0x272E; + t['a42'] = 0x272F; + t['a43'] = 0x2730; + t['a44'] = 0x2731; + t['a45'] = 0x2732; + t['a46'] = 0x2733; + t['a47'] = 0x2734; + t['a48'] = 0x2735; + t['a49'] = 0x2736; + t['a50'] = 0x2737; + t['a51'] = 0x2738; + t['a52'] = 0x2739; + t['a53'] = 0x273A; + t['a54'] = 0x273B; + t['a55'] = 0x273C; + t['a56'] = 0x273D; + t['a57'] = 0x273E; + t['a58'] = 0x273F; + t['a59'] = 0x2740; + t['a60'] = 0x2741; + t['a61'] = 0x2742; + t['a62'] = 0x2743; + t['a63'] = 0x2744; + t['a64'] = 0x2745; + t['a65'] = 0x2746; + t['a66'] = 0x2747; + t['a67'] = 0x2748; + t['a68'] = 0x2749; + t['a69'] = 0x274A; + t['a70'] = 0x274B; + t['a71'] = 0x25CF; + t['a72'] = 0x274D; + t['a73'] = 0x25A0; + t['a74'] = 0x274F; + t['a203'] = 0x2750; + t['a75'] = 0x2751; + t['a204'] = 0x2752; + t['a76'] = 0x25B2; + t['a77'] = 0x25BC; + t['a78'] = 0x25C6; + t['a79'] = 0x2756; + t['a81'] = 0x25D7; + t['a82'] = 0x2758; + t['a83'] = 0x2759; + t['a84'] = 0x275A; + t['a97'] = 0x275B; + t['a98'] = 0x275C; + t['a99'] = 0x275D; + t['a100'] = 0x275E; + t['a101'] = 0x2761; + t['a102'] = 0x2762; + t['a103'] = 0x2763; + t['a104'] = 0x2764; + t['a106'] = 0x2765; + t['a107'] = 0x2766; + t['a108'] = 0x2767; + t['a112'] = 0x2663; + t['a111'] = 0x2666; + t['a110'] = 0x2665; + t['a109'] = 0x2660; + t['a120'] = 0x2460; + t['a121'] = 0x2461; + t['a122'] = 0x2462; + t['a123'] = 0x2463; + t['a124'] = 0x2464; + t['a125'] = 0x2465; + t['a126'] = 0x2466; + t['a127'] = 0x2467; + t['a128'] = 0x2468; + t['a129'] = 0x2469; + t['a130'] = 0x2776; + t['a131'] = 0x2777; + t['a132'] = 0x2778; + t['a133'] = 0x2779; + t['a134'] = 0x277A; + t['a135'] = 0x277B; + t['a136'] = 0x277C; + t['a137'] = 0x277D; + t['a138'] = 0x277E; + t['a139'] = 0x277F; + t['a140'] = 0x2780; + t['a141'] = 0x2781; + t['a142'] = 0x2782; + t['a143'] = 0x2783; + t['a144'] = 0x2784; + t['a145'] = 0x2785; + t['a146'] = 0x2786; + t['a147'] = 0x2787; + t['a148'] = 0x2788; + t['a149'] = 0x2789; + t['a150'] = 0x278A; + t['a151'] = 0x278B; + t['a152'] = 0x278C; + t['a153'] = 0x278D; + t['a154'] = 0x278E; + t['a155'] = 0x278F; + t['a156'] = 0x2790; + t['a157'] = 0x2791; + t['a158'] = 0x2792; + t['a159'] = 0x2793; + t['a160'] = 0x2794; + t['a161'] = 0x2192; + t['a163'] = 0x2194; + t['a164'] = 0x2195; + t['a196'] = 0x2798; + t['a165'] = 0x2799; + t['a192'] = 0x279A; + t['a166'] = 0x279B; + t['a167'] = 0x279C; + t['a168'] = 0x279D; + t['a169'] = 0x279E; + t['a170'] = 0x279F; + t['a171'] = 0x27A0; + t['a172'] = 0x27A1; + t['a173'] = 0x27A2; + t['a162'] = 0x27A3; + t['a174'] = 0x27A4; + t['a175'] = 0x27A5; + t['a176'] = 0x27A6; + t['a177'] = 0x27A7; + t['a178'] = 0x27A8; + t['a179'] = 0x27A9; + t['a193'] = 0x27AA; + t['a180'] = 0x27AB; + t['a199'] = 0x27AC; + t['a181'] = 0x27AD; + t['a200'] = 0x27AE; + t['a182'] = 0x27AF; + t['a201'] = 0x27B1; + t['a183'] = 0x27B2; + t['a184'] = 0x27B3; + t['a197'] = 0x27B4; + t['a185'] = 0x27B5; + t['a194'] = 0x27B6; + t['a198'] = 0x27B7; + t['a186'] = 0x27B8; + t['a195'] = 0x27B9; + t['a187'] = 0x27BA; + t['a188'] = 0x27BB; + t['a189'] = 0x27BC; + t['a190'] = 0x27BD; + t['a191'] = 0x27BE; + t['a89'] = 0x2768; + t['a90'] = 0x2769; + t['a93'] = 0x276A; + t['a94'] = 0x276B; + t['a91'] = 0x276C; + t['a92'] = 0x276D; + t['a205'] = 0x276E; + t['a85'] = 0x276F; + t['a206'] = 0x2770; + t['a86'] = 0x2771; + t['a87'] = 0x2772; + t['a88'] = 0x2773; + t['a95'] = 0x2774; + t['a96'] = 0x2775; + t['.notdef'] = 0x0000; +}); +exports.getGlyphsUnicode = getGlyphsUnicode; +exports.getDingbatsGlyphsUnicode = getDingbatsGlyphsUnicode; + +/***/ }), +/* 8 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var corePdfManager = __w_pdfjs_require__(33); +var UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES; +var InvalidPDFException = sharedUtil.InvalidPDFException; +var MessageHandler = sharedUtil.MessageHandler; +var MissingPDFException = sharedUtil.MissingPDFException; +var UnexpectedResponseException = sharedUtil.UnexpectedResponseException; +var PasswordException = sharedUtil.PasswordException; +var UnknownErrorException = sharedUtil.UnknownErrorException; +var XRefParseException = sharedUtil.XRefParseException; +var arrayByteLength = sharedUtil.arrayByteLength; +var arraysToBytes = sharedUtil.arraysToBytes; +var assert = sharedUtil.assert; +var createPromiseCapability = sharedUtil.createPromiseCapability; +var info = sharedUtil.info; +var warn = sharedUtil.warn; +var setVerbosityLevel = sharedUtil.setVerbosityLevel; +var isNodeJS = sharedUtil.isNodeJS; +var Ref = corePrimitives.Ref; +var LocalPdfManager = corePdfManager.LocalPdfManager; +var NetworkPdfManager = corePdfManager.NetworkPdfManager; +var WorkerTask = function WorkerTaskClosure() { + function WorkerTask(name) { + this.name = name; + this.terminated = false; + this._capability = createPromiseCapability(); + } + WorkerTask.prototype = { + get finished() { + return this._capability.promise; + }, + finish: function () { + this._capability.resolve(); + }, + terminate: function () { + this.terminated = true; + }, + ensureNotTerminated: function () { + if (this.terminated) { + throw new Error('Worker task was terminated'); + } + } + }; + return WorkerTask; +}(); +var PDFWorkerStream = function PDFWorkerStreamClosure() { + function PDFWorkerStream(params, msgHandler) { + this._queuedChunks = []; + var initialData = params.initialData; + if (initialData && initialData.length > 0) { + this._queuedChunks.push(initialData); + } + this._msgHandler = msgHandler; + this._isRangeSupported = !params.disableRange; + this._isStreamingSupported = !params.disableStream; + this._contentLength = params.length; + this._fullRequestReader = null; + this._rangeReaders = []; + msgHandler.on('OnDataRange', this._onReceiveData.bind(this)); + msgHandler.on('OnDataProgress', this._onProgress.bind(this)); + } + PDFWorkerStream.prototype = { + _onReceiveData: function PDFWorkerStream_onReceiveData(args) { + if (args.begin === undefined) { + if (this._fullRequestReader) { + this._fullRequestReader._enqueue(args.chunk); + } else { + this._queuedChunks.push(args.chunk); + } + } else { + var found = this._rangeReaders.some(function (rangeReader) { + if (rangeReader._begin !== args.begin) { + return false; + } + rangeReader._enqueue(args.chunk); + return true; + }); + assert(found); + } + }, + _onProgress: function PDFWorkerStream_onProgress(evt) { + if (this._rangeReaders.length > 0) { + var firstReader = this._rangeReaders[0]; + if (firstReader.onProgress) { + firstReader.onProgress({ loaded: evt.loaded }); + } + } + }, + _removeRangeReader: function PDFWorkerStream_removeRangeReader(reader) { + var i = this._rangeReaders.indexOf(reader); + if (i >= 0) { + this._rangeReaders.splice(i, 1); + } + }, + getFullReader: function PDFWorkerStream_getFullReader() { + assert(!this._fullRequestReader); + var queuedChunks = this._queuedChunks; + this._queuedChunks = null; + return new PDFWorkerStreamReader(this, queuedChunks); + }, + getRangeReader: function PDFWorkerStream_getRangeReader(begin, end) { + var reader = new PDFWorkerStreamRangeReader(this, begin, end); + this._msgHandler.send('RequestDataRange', { + begin: begin, + end: end + }); + this._rangeReaders.push(reader); + return reader; + }, + cancelAllRequests: function PDFWorkerStream_cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + var readers = this._rangeReaders.slice(0); + readers.forEach(function (rangeReader) { + rangeReader.cancel(reason); + }); + } + }; + function PDFWorkerStreamReader(stream, queuedChunks) { + this._stream = stream; + this._done = false; + this._queuedChunks = queuedChunks || []; + this._requests = []; + this._headersReady = Promise.resolve(); + stream._fullRequestReader = this; + this.onProgress = null; + } + PDFWorkerStreamReader.prototype = { + _enqueue: function PDFWorkerStreamReader_enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: chunk, + done: false + }); + return; + } + this._queuedChunks.push(chunk); + }, + get headersReady() { + return this._headersReady; + }, + get isRangeSupported() { + return this._stream._isRangeSupported; + }, + get isStreamingSupported() { + return this._stream._isStreamingSupported; + }, + get contentLength() { + return this._stream._contentLength; + }, + read: function PDFWorkerStreamReader_read() { + if (this._queuedChunks.length > 0) { + var chunk = this._queuedChunks.shift(); + return Promise.resolve({ + value: chunk, + done: false + }); + } + if (this._done) { + return Promise.resolve({ + value: undefined, + done: true + }); + } + var requestCapability = createPromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + }, + cancel: function PDFWorkerStreamReader_cancel(reason) { + this._done = true; + this._requests.forEach(function (requestCapability) { + requestCapability.resolve({ + value: undefined, + done: true + }); + }); + this._requests = []; + } + }; + function PDFWorkerStreamRangeReader(stream, begin, end) { + this._stream = stream; + this._begin = begin; + this._end = end; + this._queuedChunk = null; + this._requests = []; + this._done = false; + this.onProgress = null; + } + PDFWorkerStreamRangeReader.prototype = { + _enqueue: function PDFWorkerStreamRangeReader_enqueue(chunk) { + if (this._done) { + return; + } + if (this._requests.length === 0) { + this._queuedChunk = chunk; + } else { + var requestsCapability = this._requests.shift(); + requestsCapability.resolve({ + value: chunk, + done: false + }); + this._requests.forEach(function (requestCapability) { + requestCapability.resolve({ + value: undefined, + done: true + }); + }); + this._requests = []; + } + this._done = true; + this._stream._removeRangeReader(this); + }, + get isStreamingSupported() { + return false; + }, + read: function PDFWorkerStreamRangeReader_read() { + if (this._queuedChunk) { + return Promise.resolve({ + value: this._queuedChunk, + done: false + }); + } + if (this._done) { + return Promise.resolve({ + value: undefined, + done: true + }); + } + var requestCapability = createPromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + }, + cancel: function PDFWorkerStreamRangeReader_cancel(reason) { + this._done = true; + this._requests.forEach(function (requestCapability) { + requestCapability.resolve({ + value: undefined, + done: true + }); + }); + this._requests = []; + this._stream._removeRangeReader(this); + } + }; + return PDFWorkerStream; +}(); +var PDFNetworkStream; +function setPDFNetworkStreamClass(cls) { + PDFNetworkStream = cls; +} +var WorkerMessageHandler = { + setup: function wphSetup(handler, port) { + var testMessageProcessed = false; + handler.on('test', function wphSetupTest(data) { + if (testMessageProcessed) { + return; + } + testMessageProcessed = true; + if (!(data instanceof Uint8Array)) { + handler.send('test', 'main', false); + return; + } + var supportTransfers = data[0] === 255; + handler.postMessageTransfers = supportTransfers; + var xhr = new XMLHttpRequest(); + var responseExists = 'response' in xhr; + try { + xhr.responseType; + } catch (e) { + responseExists = false; + } + if (!responseExists) { + handler.send('test', false); + return; + } + handler.send('test', { + supportTypedArray: true, + supportTransfers: supportTransfers + }); + }); + handler.on('configure', function wphConfigure(data) { + setVerbosityLevel(data.verbosity); + }); + handler.on('GetDocRequest', function wphSetupDoc(data) { + return WorkerMessageHandler.createDocumentHandler(data, port); + }); + }, + createDocumentHandler: function wphCreateDocumentHandler(docParams, port) { + var pdfManager; + var terminated = false; + var cancelXHRs = null; + var WorkerTasks = []; + var docId = docParams.docId; + var docBaseUrl = docParams.docBaseUrl; + var workerHandlerName = docParams.docId + '_worker'; + var handler = new MessageHandler(workerHandlerName, docId, port); + handler.postMessageTransfers = docParams.postMessageTransfers; + function ensureNotTerminated() { + if (terminated) { + throw new Error('Worker was terminated'); + } + } + function startWorkerTask(task) { + WorkerTasks.push(task); + } + function finishWorkerTask(task) { + task.finish(); + var i = WorkerTasks.indexOf(task); + WorkerTasks.splice(i, 1); + } + function loadDocument(recoveryMode) { + var loadDocumentCapability = createPromiseCapability(); + var parseSuccess = function parseSuccess() { + var numPagesPromise = pdfManager.ensureDoc('numPages'); + var fingerprintPromise = pdfManager.ensureDoc('fingerprint'); + var encryptedPromise = pdfManager.ensureXRef('encrypt'); + Promise.all([ + numPagesPromise, + fingerprintPromise, + encryptedPromise + ]).then(function onDocReady(results) { + var doc = { + numPages: results[0], + fingerprint: results[1], + encrypted: !!results[2] + }; + loadDocumentCapability.resolve(doc); + }, parseFailure); + }; + var parseFailure = function parseFailure(e) { + loadDocumentCapability.reject(e); + }; + pdfManager.ensureDoc('checkHeader', []).then(function () { + pdfManager.ensureDoc('parseStartXRef', []).then(function () { + pdfManager.ensureDoc('parse', [recoveryMode]).then(parseSuccess, parseFailure); + }, parseFailure); + }, parseFailure); + return loadDocumentCapability.promise; + } + function getPdfManager(data, evaluatorOptions) { + var pdfManagerCapability = createPromiseCapability(); + var pdfManager; + var source = data.source; + if (source.data) { + try { + pdfManager = new LocalPdfManager(docId, source.data, source.password, evaluatorOptions, docBaseUrl); + pdfManagerCapability.resolve(pdfManager); + } catch (ex) { + pdfManagerCapability.reject(ex); + } + return pdfManagerCapability.promise; + } + var pdfStream; + try { + if (source.chunkedViewerLoading) { + pdfStream = new PDFWorkerStream(source, handler); + } else { + assert(PDFNetworkStream, 'pdfjs/core/network module is not loaded'); + pdfStream = new PDFNetworkStream(data); + } + } catch (ex) { + pdfManagerCapability.reject(ex); + return pdfManagerCapability.promise; + } + var fullRequest = pdfStream.getFullReader(); + fullRequest.headersReady.then(function () { + if (!fullRequest.isStreamingSupported || !fullRequest.isRangeSupported) { + fullRequest.onProgress = function (evt) { + handler.send('DocProgress', { + loaded: evt.loaded, + total: evt.total + }); + }; + } + if (!fullRequest.isRangeSupported) { + return; + } + var disableAutoFetch = source.disableAutoFetch || fullRequest.isStreamingSupported; + pdfManager = new NetworkPdfManager(docId, pdfStream, { + msgHandler: handler, + url: source.url, + password: source.password, + length: fullRequest.contentLength, + disableAutoFetch: disableAutoFetch, + rangeChunkSize: source.rangeChunkSize + }, evaluatorOptions, docBaseUrl); + pdfManagerCapability.resolve(pdfManager); + cancelXHRs = null; + }).catch(function (reason) { + pdfManagerCapability.reject(reason); + cancelXHRs = null; + }); + var cachedChunks = [], loaded = 0; + var flushChunks = function () { + var pdfFile = arraysToBytes(cachedChunks); + if (source.length && pdfFile.length !== source.length) { + warn('reported HTTP length is different from actual'); + } + try { + pdfManager = new LocalPdfManager(docId, pdfFile, source.password, evaluatorOptions, docBaseUrl); + pdfManagerCapability.resolve(pdfManager); + } catch (ex) { + pdfManagerCapability.reject(ex); + } + cachedChunks = []; + }; + var readPromise = new Promise(function (resolve, reject) { + var readChunk = function (chunk) { + try { + ensureNotTerminated(); + if (chunk.done) { + if (!pdfManager) { + flushChunks(); + } + cancelXHRs = null; + return; + } + var data = chunk.value; + loaded += arrayByteLength(data); + if (!fullRequest.isStreamingSupported) { + handler.send('DocProgress', { + loaded: loaded, + total: Math.max(loaded, fullRequest.contentLength || 0) + }); + } + if (pdfManager) { + pdfManager.sendProgressiveData(data); + } else { + cachedChunks.push(data); + } + fullRequest.read().then(readChunk, reject); + } catch (e) { + reject(e); + } + }; + fullRequest.read().then(readChunk, reject); + }); + readPromise.catch(function (e) { + pdfManagerCapability.reject(e); + cancelXHRs = null; + }); + cancelXHRs = function () { + pdfStream.cancelAllRequests('abort'); + }; + return pdfManagerCapability.promise; + } + function setupDoc(data) { + function onSuccess(doc) { + ensureNotTerminated(); + handler.send('GetDoc', { pdfInfo: doc }); + } + function onFailure(e) { + if (e instanceof PasswordException) { + var task = new WorkerTask('PasswordException: response ' + e.code); + startWorkerTask(task); + handler.sendWithPromise('PasswordRequest', e).then(function (data) { + finishWorkerTask(task); + pdfManager.updatePassword(data.password); + pdfManagerReady(); + }).catch(function (ex) { + finishWorkerTask(task); + handler.send('PasswordException', ex); + }.bind(null, e)); + } else if (e instanceof InvalidPDFException) { + handler.send('InvalidPDF', e); + } else if (e instanceof MissingPDFException) { + handler.send('MissingPDF', e); + } else if (e instanceof UnexpectedResponseException) { + handler.send('UnexpectedResponse', e); + } else { + handler.send('UnknownError', new UnknownErrorException(e.message, e.toString())); + } + } + function pdfManagerReady() { + ensureNotTerminated(); + loadDocument(false).then(onSuccess, function loadFailure(ex) { + ensureNotTerminated(); + if (!(ex instanceof XRefParseException)) { + onFailure(ex); + return; + } + pdfManager.requestLoadedStream(); + pdfManager.onLoadedStream().then(function () { + ensureNotTerminated(); + loadDocument(true).then(onSuccess, onFailure); + }); + }, onFailure); + } + ensureNotTerminated(); + var evaluatorOptions = { + forceDataSchema: data.disableCreateObjectURL, + maxImageSize: data.maxImageSize === undefined ? -1 : data.maxImageSize, + disableFontFace: data.disableFontFace, + disableNativeImageDecoder: data.disableNativeImageDecoder + }; + getPdfManager(data, evaluatorOptions).then(function (newPdfManager) { + if (terminated) { + newPdfManager.terminate(); + throw new Error('Worker was terminated'); + } + pdfManager = newPdfManager; + handler.send('PDFManagerReady', null); + pdfManager.onLoadedStream().then(function (stream) { + handler.send('DataLoaded', { length: stream.bytes.byteLength }); + }); + }).then(pdfManagerReady, onFailure); + } + handler.on('GetPage', function wphSetupGetPage(data) { + return pdfManager.getPage(data.pageIndex).then(function (page) { + var rotatePromise = pdfManager.ensure(page, 'rotate'); + var refPromise = pdfManager.ensure(page, 'ref'); + var userUnitPromise = pdfManager.ensure(page, 'userUnit'); + var viewPromise = pdfManager.ensure(page, 'view'); + return Promise.all([ + rotatePromise, + refPromise, + userUnitPromise, + viewPromise + ]).then(function (results) { + return { + rotate: results[0], + ref: results[1], + userUnit: results[2], + view: results[3] + }; + }); + }); + }); + handler.on('GetPageIndex', function wphSetupGetPageIndex(data) { + var ref = new Ref(data.ref.num, data.ref.gen); + var catalog = pdfManager.pdfDocument.catalog; + return catalog.getPageIndex(ref); + }); + handler.on('GetDestinations', function wphSetupGetDestinations(data) { + return pdfManager.ensureCatalog('destinations'); + }); + handler.on('GetDestination', function wphSetupGetDestination(data) { + return pdfManager.ensureCatalog('getDestination', [data.id]); + }); + handler.on('GetPageLabels', function wphSetupGetPageLabels(data) { + return pdfManager.ensureCatalog('pageLabels'); + }); + handler.on('GetAttachments', function wphSetupGetAttachments(data) { + return pdfManager.ensureCatalog('attachments'); + }); + handler.on('GetJavaScript', function wphSetupGetJavaScript(data) { + return pdfManager.ensureCatalog('javaScript'); + }); + handler.on('GetOutline', function wphSetupGetOutline(data) { + return pdfManager.ensureCatalog('documentOutline'); + }); + handler.on('GetMetadata', function wphSetupGetMetadata(data) { + return Promise.all([ + pdfManager.ensureDoc('documentInfo'), + pdfManager.ensureCatalog('metadata') + ]); + }); + handler.on('GetData', function wphSetupGetData(data) { + pdfManager.requestLoadedStream(); + return pdfManager.onLoadedStream().then(function (stream) { + return stream.bytes; + }); + }); + handler.on('GetStats', function wphSetupGetStats(data) { + return pdfManager.pdfDocument.xref.stats; + }); + handler.on('GetAnnotations', function wphSetupGetAnnotations(data) { + return pdfManager.getPage(data.pageIndex).then(function (page) { + return pdfManager.ensure(page, 'getAnnotationsData', [data.intent]); + }); + }); + handler.on('RenderPageRequest', function wphSetupRenderPage(data) { + var pageIndex = data.pageIndex; + pdfManager.getPage(pageIndex).then(function (page) { + var task = new WorkerTask('RenderPageRequest: page ' + pageIndex); + startWorkerTask(task); + var pageNum = pageIndex + 1; + var start = Date.now(); + page.getOperatorList(handler, task, data.intent, data.renderInteractiveForms).then(function (operatorList) { + finishWorkerTask(task); + info('page=' + pageNum + ' - getOperatorList: time=' + (Date.now() - start) + 'ms, len=' + operatorList.totalLength); + }, function (e) { + finishWorkerTask(task); + if (task.terminated) { + return; + } + handler.send('UnsupportedFeature', { featureId: UNSUPPORTED_FEATURES.unknown }); + var minimumStackMessage = 'worker.js: while trying to getPage() and getOperatorList()'; + var wrappedException; + if (typeof e === 'string') { + wrappedException = { + message: e, + stack: minimumStackMessage + }; + } else if (typeof e === 'object') { + wrappedException = { + message: e.message || e.toString(), + stack: e.stack || minimumStackMessage + }; + } else { + wrappedException = { + message: 'Unknown exception type: ' + typeof e, + stack: minimumStackMessage + }; + } + handler.send('PageError', { + pageNum: pageNum, + error: wrappedException, + intent: data.intent + }); + }); + }); + }, this); + handler.on('GetTextContent', function wphExtractText(data) { + var pageIndex = data.pageIndex; + var normalizeWhitespace = data.normalizeWhitespace; + var combineTextItems = data.combineTextItems; + return pdfManager.getPage(pageIndex).then(function (page) { + var task = new WorkerTask('GetTextContent: page ' + pageIndex); + startWorkerTask(task); + var pageNum = pageIndex + 1; + var start = Date.now(); + return page.extractTextContent(task, normalizeWhitespace, combineTextItems).then(function (textContent) { + finishWorkerTask(task); + info('text indexing: page=' + pageNum + ' - time=' + (Date.now() - start) + 'ms'); + return textContent; + }, function (reason) { + finishWorkerTask(task); + if (task.terminated) { + return; + } + throw reason; + }); + }); + }); + handler.on('Cleanup', function wphCleanup(data) { + return pdfManager.cleanup(); + }); + handler.on('Terminate', function wphTerminate(data) { + terminated = true; + if (pdfManager) { + pdfManager.terminate(); + pdfManager = null; + } + if (cancelXHRs) { + cancelXHRs(); + } + var waitOn = []; + WorkerTasks.forEach(function (task) { + waitOn.push(task.finished); + task.terminate(); + }); + return Promise.all(waitOn).then(function () { + handler.destroy(); + handler = null; + }); + }); + handler.on('Ready', function wphReady(data) { + setupDoc(docParams); + docParams = null; + }); + return workerHandlerName; + } +}; +function initializeWorker() { + var handler = new MessageHandler('worker', 'main', self); + WorkerMessageHandler.setup(handler, self); + handler.send('ready', null); +} +if (typeof window === 'undefined' && !isNodeJS()) { + initializeWorker(); +} +exports.setPDFNetworkStreamClass = setPDFNetworkStreamClass; +exports.WorkerTask = WorkerTask; +exports.WorkerMessageHandler = WorkerMessageHandler; + +/***/ }), +/* 9 */ +/***/ (function(module, exports) { + +var g; +g = function () { + return this; +}(); +try { + g = g || Function("return this")() || (1, eval)("this"); +} catch (e) { + if (typeof window === "object") + g = window; +} +module.exports = g; + +/***/ }), +/* 10 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var ArithmeticDecoder = function ArithmeticDecoderClosure() { + var QeTable = [ + { + qe: 0x5601, + nmps: 1, + nlps: 1, + switchFlag: 1 + }, + { + qe: 0x3401, + nmps: 2, + nlps: 6, + switchFlag: 0 + }, + { + qe: 0x1801, + nmps: 3, + nlps: 9, + switchFlag: 0 + }, + { + qe: 0x0AC1, + nmps: 4, + nlps: 12, + switchFlag: 0 + }, + { + qe: 0x0521, + nmps: 5, + nlps: 29, + switchFlag: 0 + }, + { + qe: 0x0221, + nmps: 38, + nlps: 33, + switchFlag: 0 + }, + { + qe: 0x5601, + nmps: 7, + nlps: 6, + switchFlag: 1 + }, + { + qe: 0x5401, + nmps: 8, + nlps: 14, + switchFlag: 0 + }, + { + qe: 0x4801, + nmps: 9, + nlps: 14, + switchFlag: 0 + }, + { + qe: 0x3801, + nmps: 10, + nlps: 14, + switchFlag: 0 + }, + { + qe: 0x3001, + nmps: 11, + nlps: 17, + switchFlag: 0 + }, + { + qe: 0x2401, + nmps: 12, + nlps: 18, + switchFlag: 0 + }, + { + qe: 0x1C01, + nmps: 13, + nlps: 20, + switchFlag: 0 + }, + { + qe: 0x1601, + nmps: 29, + nlps: 21, + switchFlag: 0 + }, + { + qe: 0x5601, + nmps: 15, + nlps: 14, + switchFlag: 1 + }, + { + qe: 0x5401, + nmps: 16, + nlps: 14, + switchFlag: 0 + }, + { + qe: 0x5101, + nmps: 17, + nlps: 15, + switchFlag: 0 + }, + { + qe: 0x4801, + nmps: 18, + nlps: 16, + switchFlag: 0 + }, + { + qe: 0x3801, + nmps: 19, + nlps: 17, + switchFlag: 0 + }, + { + qe: 0x3401, + nmps: 20, + nlps: 18, + switchFlag: 0 + }, + { + qe: 0x3001, + nmps: 21, + nlps: 19, + switchFlag: 0 + }, + { + qe: 0x2801, + nmps: 22, + nlps: 19, + switchFlag: 0 + }, + { + qe: 0x2401, + nmps: 23, + nlps: 20, + switchFlag: 0 + }, + { + qe: 0x2201, + nmps: 24, + nlps: 21, + switchFlag: 0 + }, + { + qe: 0x1C01, + nmps: 25, + nlps: 22, + switchFlag: 0 + }, + { + qe: 0x1801, + nmps: 26, + nlps: 23, + switchFlag: 0 + }, + { + qe: 0x1601, + nmps: 27, + nlps: 24, + switchFlag: 0 + }, + { + qe: 0x1401, + nmps: 28, + nlps: 25, + switchFlag: 0 + }, + { + qe: 0x1201, + nmps: 29, + nlps: 26, + switchFlag: 0 + }, + { + qe: 0x1101, + nmps: 30, + nlps: 27, + switchFlag: 0 + }, + { + qe: 0x0AC1, + nmps: 31, + nlps: 28, + switchFlag: 0 + }, + { + qe: 0x09C1, + nmps: 32, + nlps: 29, + switchFlag: 0 + }, + { + qe: 0x08A1, + nmps: 33, + nlps: 30, + switchFlag: 0 + }, + { + qe: 0x0521, + nmps: 34, + nlps: 31, + switchFlag: 0 + }, + { + qe: 0x0441, + nmps: 35, + nlps: 32, + switchFlag: 0 + }, + { + qe: 0x02A1, + nmps: 36, + nlps: 33, + switchFlag: 0 + }, + { + qe: 0x0221, + nmps: 37, + nlps: 34, + switchFlag: 0 + }, + { + qe: 0x0141, + nmps: 38, + nlps: 35, + switchFlag: 0 + }, + { + qe: 0x0111, + nmps: 39, + nlps: 36, + switchFlag: 0 + }, + { + qe: 0x0085, + nmps: 40, + nlps: 37, + switchFlag: 0 + }, + { + qe: 0x0049, + nmps: 41, + nlps: 38, + switchFlag: 0 + }, + { + qe: 0x0025, + nmps: 42, + nlps: 39, + switchFlag: 0 + }, + { + qe: 0x0015, + nmps: 43, + nlps: 40, + switchFlag: 0 + }, + { + qe: 0x0009, + nmps: 44, + nlps: 41, + switchFlag: 0 + }, + { + qe: 0x0005, + nmps: 45, + nlps: 42, + switchFlag: 0 + }, + { + qe: 0x0001, + nmps: 45, + nlps: 43, + switchFlag: 0 + }, + { + qe: 0x5601, + nmps: 46, + nlps: 46, + switchFlag: 0 + } + ]; + function ArithmeticDecoder(data, start, end) { + this.data = data; + this.bp = start; + this.dataEnd = end; + this.chigh = data[start]; + this.clow = 0; + this.byteIn(); + this.chigh = this.chigh << 7 & 0xFFFF | this.clow >> 9 & 0x7F; + this.clow = this.clow << 7 & 0xFFFF; + this.ct -= 7; + this.a = 0x8000; + } + ArithmeticDecoder.prototype = { + byteIn: function ArithmeticDecoder_byteIn() { + var data = this.data; + var bp = this.bp; + if (data[bp] === 0xFF) { + var b1 = data[bp + 1]; + if (b1 > 0x8F) { + this.clow += 0xFF00; + this.ct = 8; + } else { + bp++; + this.clow += data[bp] << 9; + this.ct = 7; + this.bp = bp; + } + } else { + bp++; + this.clow += bp < this.dataEnd ? data[bp] << 8 : 0xFF00; + this.ct = 8; + this.bp = bp; + } + if (this.clow > 0xFFFF) { + this.chigh += this.clow >> 16; + this.clow &= 0xFFFF; + } + }, + readBit: function ArithmeticDecoder_readBit(contexts, pos) { + var cx_index = contexts[pos] >> 1, cx_mps = contexts[pos] & 1; + var qeTableIcx = QeTable[cx_index]; + var qeIcx = qeTableIcx.qe; + var d; + var a = this.a - qeIcx; + if (this.chigh < qeIcx) { + if (a < qeIcx) { + a = qeIcx; + d = cx_mps; + cx_index = qeTableIcx.nmps; + } else { + a = qeIcx; + d = 1 ^ cx_mps; + if (qeTableIcx.switchFlag === 1) { + cx_mps = d; + } + cx_index = qeTableIcx.nlps; + } + } else { + this.chigh -= qeIcx; + if ((a & 0x8000) !== 0) { + this.a = a; + return cx_mps; + } + if (a < qeIcx) { + d = 1 ^ cx_mps; + if (qeTableIcx.switchFlag === 1) { + cx_mps = d; + } + cx_index = qeTableIcx.nlps; + } else { + d = cx_mps; + cx_index = qeTableIcx.nmps; + } + } + do { + if (this.ct === 0) { + this.byteIn(); + } + a <<= 1; + this.chigh = this.chigh << 1 & 0xFFFF | this.clow >> 15 & 1; + this.clow = this.clow << 1 & 0xFFFF; + this.ct--; + } while ((a & 0x8000) === 0); + this.a = a; + contexts[pos] = cx_index << 1 | cx_mps; + return d; + } + }; + return ArithmeticDecoder; +}(); +exports.ArithmeticDecoder = ArithmeticDecoder; + +/***/ }), +/* 11 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var coreCharsets = __w_pdfjs_require__(22); +var coreEncodings = __w_pdfjs_require__(4); +var error = sharedUtil.error; +var info = sharedUtil.info; +var bytesToString = sharedUtil.bytesToString; +var warn = sharedUtil.warn; +var isArray = sharedUtil.isArray; +var Util = sharedUtil.Util; +var stringToBytes = sharedUtil.stringToBytes; +var assert = sharedUtil.assert; +var ISOAdobeCharset = coreCharsets.ISOAdobeCharset; +var ExpertCharset = coreCharsets.ExpertCharset; +var ExpertSubsetCharset = coreCharsets.ExpertSubsetCharset; +var StandardEncoding = coreEncodings.StandardEncoding; +var ExpertEncoding = coreEncodings.ExpertEncoding; +var MAX_SUBR_NESTING = 10; +var CFFStandardStrings = [ + '.notdef', + 'space', + 'exclam', + 'quotedbl', + 'numbersign', + 'dollar', + 'percent', + 'ampersand', + 'quoteright', + 'parenleft', + 'parenright', + 'asterisk', + 'plus', + 'comma', + 'hyphen', + 'period', + 'slash', + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'colon', + 'semicolon', + 'less', + 'equal', + 'greater', + 'question', + 'at', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + 'bracketleft', + 'backslash', + 'bracketright', + 'asciicircum', + 'underscore', + 'quoteleft', + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + 'braceleft', + 'bar', + 'braceright', + 'asciitilde', + 'exclamdown', + 'cent', + 'sterling', + 'fraction', + 'yen', + 'florin', + 'section', + 'currency', + 'quotesingle', + 'quotedblleft', + 'guillemotleft', + 'guilsinglleft', + 'guilsinglright', + 'fi', + 'fl', + 'endash', + 'dagger', + 'daggerdbl', + 'periodcentered', + 'paragraph', + 'bullet', + 'quotesinglbase', + 'quotedblbase', + 'quotedblright', + 'guillemotright', + 'ellipsis', + 'perthousand', + 'questiondown', + 'grave', + 'acute', + 'circumflex', + 'tilde', + 'macron', + 'breve', + 'dotaccent', + 'dieresis', + 'ring', + 'cedilla', + 'hungarumlaut', + 'ogonek', + 'caron', + 'emdash', + 'AE', + 'ordfeminine', + 'Lslash', + 'Oslash', + 'OE', + 'ordmasculine', + 'ae', + 'dotlessi', + 'lslash', + 'oslash', + 'oe', + 'germandbls', + 'onesuperior', + 'logicalnot', + 'mu', + 'trademark', + 'Eth', + 'onehalf', + 'plusminus', + 'Thorn', + 'onequarter', + 'divide', + 'brokenbar', + 'degree', + 'thorn', + 'threequarters', + 'twosuperior', + 'registered', + 'minus', + 'eth', + 'multiply', + 'threesuperior', + 'copyright', + 'Aacute', + 'Acircumflex', + 'Adieresis', + 'Agrave', + 'Aring', + 'Atilde', + 'Ccedilla', + 'Eacute', + 'Ecircumflex', + 'Edieresis', + 'Egrave', + 'Iacute', + 'Icircumflex', + 'Idieresis', + 'Igrave', + 'Ntilde', + 'Oacute', + 'Ocircumflex', + 'Odieresis', + 'Ograve', + 'Otilde', + 'Scaron', + 'Uacute', + 'Ucircumflex', + 'Udieresis', + 'Ugrave', + 'Yacute', + 'Ydieresis', + 'Zcaron', + 'aacute', + 'acircumflex', + 'adieresis', + 'agrave', + 'aring', + 'atilde', + 'ccedilla', + 'eacute', + 'ecircumflex', + 'edieresis', + 'egrave', + 'iacute', + 'icircumflex', + 'idieresis', + 'igrave', + 'ntilde', + 'oacute', + 'ocircumflex', + 'odieresis', + 'ograve', + 'otilde', + 'scaron', + 'uacute', + 'ucircumflex', + 'udieresis', + 'ugrave', + 'yacute', + 'ydieresis', + 'zcaron', + 'exclamsmall', + 'Hungarumlautsmall', + 'dollaroldstyle', + 'dollarsuperior', + 'ampersandsmall', + 'Acutesmall', + 'parenleftsuperior', + 'parenrightsuperior', + 'twodotenleader', + 'onedotenleader', + 'zerooldstyle', + 'oneoldstyle', + 'twooldstyle', + 'threeoldstyle', + 'fouroldstyle', + 'fiveoldstyle', + 'sixoldstyle', + 'sevenoldstyle', + 'eightoldstyle', + 'nineoldstyle', + 'commasuperior', + 'threequartersemdash', + 'periodsuperior', + 'questionsmall', + 'asuperior', + 'bsuperior', + 'centsuperior', + 'dsuperior', + 'esuperior', + 'isuperior', + 'lsuperior', + 'msuperior', + 'nsuperior', + 'osuperior', + 'rsuperior', + 'ssuperior', + 'tsuperior', + 'ff', + 'ffi', + 'ffl', + 'parenleftinferior', + 'parenrightinferior', + 'Circumflexsmall', + 'hyphensuperior', + 'Gravesmall', + 'Asmall', + 'Bsmall', + 'Csmall', + 'Dsmall', + 'Esmall', + 'Fsmall', + 'Gsmall', + 'Hsmall', + 'Ismall', + 'Jsmall', + 'Ksmall', + 'Lsmall', + 'Msmall', + 'Nsmall', + 'Osmall', + 'Psmall', + 'Qsmall', + 'Rsmall', + 'Ssmall', + 'Tsmall', + 'Usmall', + 'Vsmall', + 'Wsmall', + 'Xsmall', + 'Ysmall', + 'Zsmall', + 'colonmonetary', + 'onefitted', + 'rupiah', + 'Tildesmall', + 'exclamdownsmall', + 'centoldstyle', + 'Lslashsmall', + 'Scaronsmall', + 'Zcaronsmall', + 'Dieresissmall', + 'Brevesmall', + 'Caronsmall', + 'Dotaccentsmall', + 'Macronsmall', + 'figuredash', + 'hypheninferior', + 'Ogoneksmall', + 'Ringsmall', + 'Cedillasmall', + 'questiondownsmall', + 'oneeighth', + 'threeeighths', + 'fiveeighths', + 'seveneighths', + 'onethird', + 'twothirds', + 'zerosuperior', + 'foursuperior', + 'fivesuperior', + 'sixsuperior', + 'sevensuperior', + 'eightsuperior', + 'ninesuperior', + 'zeroinferior', + 'oneinferior', + 'twoinferior', + 'threeinferior', + 'fourinferior', + 'fiveinferior', + 'sixinferior', + 'seveninferior', + 'eightinferior', + 'nineinferior', + 'centinferior', + 'dollarinferior', + 'periodinferior', + 'commainferior', + 'Agravesmall', + 'Aacutesmall', + 'Acircumflexsmall', + 'Atildesmall', + 'Adieresissmall', + 'Aringsmall', + 'AEsmall', + 'Ccedillasmall', + 'Egravesmall', + 'Eacutesmall', + 'Ecircumflexsmall', + 'Edieresissmall', + 'Igravesmall', + 'Iacutesmall', + 'Icircumflexsmall', + 'Idieresissmall', + 'Ethsmall', + 'Ntildesmall', + 'Ogravesmall', + 'Oacutesmall', + 'Ocircumflexsmall', + 'Otildesmall', + 'Odieresissmall', + 'OEsmall', + 'Oslashsmall', + 'Ugravesmall', + 'Uacutesmall', + 'Ucircumflexsmall', + 'Udieresissmall', + 'Yacutesmall', + 'Thornsmall', + 'Ydieresissmall', + '001.000', + '001.001', + '001.002', + '001.003', + 'Black', + 'Bold', + 'Book', + 'Light', + 'Medium', + 'Regular', + 'Roman', + 'Semibold' +]; +var CFFParser = function CFFParserClosure() { + var CharstringValidationData = [ + null, + { + id: 'hstem', + min: 2, + stackClearing: true, + stem: true + }, + null, + { + id: 'vstem', + min: 2, + stackClearing: true, + stem: true + }, + { + id: 'vmoveto', + min: 1, + stackClearing: true + }, + { + id: 'rlineto', + min: 2, + resetStack: true + }, + { + id: 'hlineto', + min: 1, + resetStack: true + }, + { + id: 'vlineto', + min: 1, + resetStack: true + }, + { + id: 'rrcurveto', + min: 6, + resetStack: true + }, + null, + { + id: 'callsubr', + min: 1, + undefStack: true + }, + { + id: 'return', + min: 0, + undefStack: true + }, + null, + null, + { + id: 'endchar', + min: 0, + stackClearing: true + }, + null, + null, + null, + { + id: 'hstemhm', + min: 2, + stackClearing: true, + stem: true + }, + { + id: 'hintmask', + min: 0, + stackClearing: true + }, + { + id: 'cntrmask', + min: 0, + stackClearing: true + }, + { + id: 'rmoveto', + min: 2, + stackClearing: true + }, + { + id: 'hmoveto', + min: 1, + stackClearing: true + }, + { + id: 'vstemhm', + min: 2, + stackClearing: true, + stem: true + }, + { + id: 'rcurveline', + min: 8, + resetStack: true + }, + { + id: 'rlinecurve', + min: 8, + resetStack: true + }, + { + id: 'vvcurveto', + min: 4, + resetStack: true + }, + { + id: 'hhcurveto', + min: 4, + resetStack: true + }, + null, + { + id: 'callgsubr', + min: 1, + undefStack: true + }, + { + id: 'vhcurveto', + min: 4, + resetStack: true + }, + { + id: 'hvcurveto', + min: 4, + resetStack: true + } + ]; + var CharstringValidationData12 = [ + null, + null, + null, + { + id: 'and', + min: 2, + stackDelta: -1 + }, + { + id: 'or', + min: 2, + stackDelta: -1 + }, + { + id: 'not', + min: 1, + stackDelta: 0 + }, + null, + null, + null, + { + id: 'abs', + min: 1, + stackDelta: 0 + }, + { + id: 'add', + min: 2, + stackDelta: -1, + stackFn: function stack_div(stack, index) { + stack[index - 2] = stack[index - 2] + stack[index - 1]; + } + }, + { + id: 'sub', + min: 2, + stackDelta: -1, + stackFn: function stack_div(stack, index) { + stack[index - 2] = stack[index - 2] - stack[index - 1]; + } + }, + { + id: 'div', + min: 2, + stackDelta: -1, + stackFn: function stack_div(stack, index) { + stack[index - 2] = stack[index - 2] / stack[index - 1]; + } + }, + null, + { + id: 'neg', + min: 1, + stackDelta: 0, + stackFn: function stack_div(stack, index) { + stack[index - 1] = -stack[index - 1]; + } + }, + { + id: 'eq', + min: 2, + stackDelta: -1 + }, + null, + null, + { + id: 'drop', + min: 1, + stackDelta: -1 + }, + null, + { + id: 'put', + min: 2, + stackDelta: -2 + }, + { + id: 'get', + min: 1, + stackDelta: 0 + }, + { + id: 'ifelse', + min: 4, + stackDelta: -3 + }, + { + id: 'random', + min: 0, + stackDelta: 1 + }, + { + id: 'mul', + min: 2, + stackDelta: -1, + stackFn: function stack_div(stack, index) { + stack[index - 2] = stack[index - 2] * stack[index - 1]; + } + }, + null, + { + id: 'sqrt', + min: 1, + stackDelta: 0 + }, + { + id: 'dup', + min: 1, + stackDelta: 1 + }, + { + id: 'exch', + min: 2, + stackDelta: 0 + }, + { + id: 'index', + min: 2, + stackDelta: 0 + }, + { + id: 'roll', + min: 3, + stackDelta: -2 + }, + null, + null, + null, + { + id: 'hflex', + min: 7, + resetStack: true + }, + { + id: 'flex', + min: 13, + resetStack: true + }, + { + id: 'hflex1', + min: 9, + resetStack: true + }, + { + id: 'flex1', + min: 11, + resetStack: true + } + ]; + function CFFParser(file, properties, seacAnalysisEnabled) { + this.bytes = file.getBytes(); + this.properties = properties; + this.seacAnalysisEnabled = !!seacAnalysisEnabled; + } + CFFParser.prototype = { + parse: function CFFParser_parse() { + var properties = this.properties; + var cff = new CFF(); + this.cff = cff; + var header = this.parseHeader(); + var nameIndex = this.parseIndex(header.endPos); + var topDictIndex = this.parseIndex(nameIndex.endPos); + var stringIndex = this.parseIndex(topDictIndex.endPos); + var globalSubrIndex = this.parseIndex(stringIndex.endPos); + var topDictParsed = this.parseDict(topDictIndex.obj.get(0)); + var topDict = this.createDict(CFFTopDict, topDictParsed, cff.strings); + cff.header = header.obj; + cff.names = this.parseNameIndex(nameIndex.obj); + cff.strings = this.parseStringIndex(stringIndex.obj); + cff.topDict = topDict; + cff.globalSubrIndex = globalSubrIndex.obj; + this.parsePrivateDict(cff.topDict); + cff.isCIDFont = topDict.hasName('ROS'); + var charStringOffset = topDict.getByName('CharStrings'); + var charStringIndex = this.parseIndex(charStringOffset).obj; + var fontMatrix = topDict.getByName('FontMatrix'); + if (fontMatrix) { + properties.fontMatrix = fontMatrix; + } + var fontBBox = topDict.getByName('FontBBox'); + if (fontBBox) { + properties.ascent = Math.max(fontBBox[3], fontBBox[1]); + properties.descent = Math.min(fontBBox[1], fontBBox[3]); + properties.ascentScaled = true; + } + var charset, encoding; + if (cff.isCIDFont) { + var fdArrayIndex = this.parseIndex(topDict.getByName('FDArray')).obj; + for (var i = 0, ii = fdArrayIndex.count; i < ii; ++i) { + var dictRaw = fdArrayIndex.get(i); + var fontDict = this.createDict(CFFTopDict, this.parseDict(dictRaw), cff.strings); + this.parsePrivateDict(fontDict); + cff.fdArray.push(fontDict); + } + encoding = null; + charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, true); + cff.fdSelect = this.parseFDSelect(topDict.getByName('FDSelect'), charStringIndex.count); + } else { + charset = this.parseCharsets(topDict.getByName('charset'), charStringIndex.count, cff.strings, false); + encoding = this.parseEncoding(topDict.getByName('Encoding'), properties, cff.strings, charset.charset); + } + cff.charset = charset; + cff.encoding = encoding; + var charStringsAndSeacs = this.parseCharStrings(charStringIndex, topDict.privateDict.subrsIndex, globalSubrIndex.obj, cff.fdSelect, cff.fdArray); + cff.charStrings = charStringsAndSeacs.charStrings; + cff.seacs = charStringsAndSeacs.seacs; + cff.widths = charStringsAndSeacs.widths; + return cff; + }, + parseHeader: function CFFParser_parseHeader() { + var bytes = this.bytes; + var bytesLength = bytes.length; + var offset = 0; + while (offset < bytesLength && bytes[offset] !== 1) { + ++offset; + } + if (offset >= bytesLength) { + error('Invalid CFF header'); + } else if (offset !== 0) { + info('cff data is shifted'); + bytes = bytes.subarray(offset); + this.bytes = bytes; + } + var major = bytes[0]; + var minor = bytes[1]; + var hdrSize = bytes[2]; + var offSize = bytes[3]; + var header = new CFFHeader(major, minor, hdrSize, offSize); + return { + obj: header, + endPos: hdrSize + }; + }, + parseDict: function CFFParser_parseDict(dict) { + var pos = 0; + function parseOperand() { + var value = dict[pos++]; + if (value === 30) { + return parseFloatOperand(); + } else if (value === 28) { + value = dict[pos++]; + value = (value << 24 | dict[pos++] << 16) >> 16; + return value; + } else if (value === 29) { + value = dict[pos++]; + value = value << 8 | dict[pos++]; + value = value << 8 | dict[pos++]; + value = value << 8 | dict[pos++]; + return value; + } else if (value >= 32 && value <= 246) { + return value - 139; + } else if (value >= 247 && value <= 250) { + return (value - 247) * 256 + dict[pos++] + 108; + } else if (value >= 251 && value <= 254) { + return -((value - 251) * 256) - dict[pos++] - 108; + } + warn('CFFParser_parseDict: "' + value + '" is a reserved command.'); + return NaN; + } + function parseFloatOperand() { + var str = ''; + var eof = 15; + var lookup = [ + '0', + '1', + '2', + '3', + '4', + '5', + '6', + '7', + '8', + '9', + '.', + 'E', + 'E-', + null, + '-' + ]; + var length = dict.length; + while (pos < length) { + var b = dict[pos++]; + var b1 = b >> 4; + var b2 = b & 15; + if (b1 === eof) { + break; + } + str += lookup[b1]; + if (b2 === eof) { + break; + } + str += lookup[b2]; + } + return parseFloat(str); + } + var operands = []; + var entries = []; + pos = 0; + var end = dict.length; + while (pos < end) { + var b = dict[pos]; + if (b <= 21) { + if (b === 12) { + b = b << 8 | dict[++pos]; + } + entries.push([ + b, + operands + ]); + operands = []; + ++pos; + } else { + operands.push(parseOperand()); + } + } + return entries; + }, + parseIndex: function CFFParser_parseIndex(pos) { + var cffIndex = new CFFIndex(); + var bytes = this.bytes; + var count = bytes[pos++] << 8 | bytes[pos++]; + var offsets = []; + var end = pos; + var i, ii; + if (count !== 0) { + var offsetSize = bytes[pos++]; + var startPos = pos + (count + 1) * offsetSize - 1; + for (i = 0, ii = count + 1; i < ii; ++i) { + var offset = 0; + for (var j = 0; j < offsetSize; ++j) { + offset <<= 8; + offset += bytes[pos++]; + } + offsets.push(startPos + offset); + } + end = offsets[count]; + } + for (i = 0, ii = offsets.length - 1; i < ii; ++i) { + var offsetStart = offsets[i]; + var offsetEnd = offsets[i + 1]; + cffIndex.add(bytes.subarray(offsetStart, offsetEnd)); + } + return { + obj: cffIndex, + endPos: end + }; + }, + parseNameIndex: function CFFParser_parseNameIndex(index) { + var names = []; + for (var i = 0, ii = index.count; i < ii; ++i) { + var name = index.get(i); + var length = Math.min(name.length, 127); + var data = []; + for (var j = 0; j < length; ++j) { + var c = name[j]; + if (j === 0 && c === 0) { + data[j] = c; + continue; + } + if (c < 33 || c > 126 || c === 91 || c === 93 || c === 40 || c === 41 || c === 123 || c === 125 || c === 60 || c === 62 || c === 47 || c === 37 || c === 35) { + data[j] = 95; + continue; + } + data[j] = c; + } + names.push(bytesToString(data)); + } + return names; + }, + parseStringIndex: function CFFParser_parseStringIndex(index) { + var strings = new CFFStrings(); + for (var i = 0, ii = index.count; i < ii; ++i) { + var data = index.get(i); + strings.add(bytesToString(data)); + } + return strings; + }, + createDict: function CFFParser_createDict(Type, dict, strings) { + var cffDict = new Type(strings); + for (var i = 0, ii = dict.length; i < ii; ++i) { + var pair = dict[i]; + var key = pair[0]; + var value = pair[1]; + cffDict.setByKey(key, value); + } + return cffDict; + }, + parseCharString: function CFFParser_parseCharString(state, data, localSubrIndex, globalSubrIndex) { + if (state.callDepth > MAX_SUBR_NESTING) { + return false; + } + var stackSize = state.stackSize; + var stack = state.stack; + var length = data.length; + for (var j = 0; j < length;) { + var value = data[j++]; + var validationCommand = null; + if (value === 12) { + var q = data[j++]; + if (q === 0) { + data[j - 2] = 139; + data[j - 1] = 22; + stackSize = 0; + } else { + validationCommand = CharstringValidationData12[q]; + } + } else if (value === 28) { + stack[stackSize] = (data[j] << 24 | data[j + 1] << 16) >> 16; + j += 2; + stackSize++; + } else if (value === 14) { + if (stackSize >= 4) { + stackSize -= 4; + if (this.seacAnalysisEnabled) { + state.seac = stack.slice(stackSize, stackSize + 4); + return false; + } + } + validationCommand = CharstringValidationData[value]; + } else if (value >= 32 && value <= 246) { + stack[stackSize] = value - 139; + stackSize++; + } else if (value >= 247 && value <= 254) { + stack[stackSize] = value < 251 ? (value - 247 << 8) + data[j] + 108 : -(value - 251 << 8) - data[j] - 108; + j++; + stackSize++; + } else if (value === 255) { + stack[stackSize] = (data[j] << 24 | data[j + 1] << 16 | data[j + 2] << 8 | data[j + 3]) / 65536; + j += 4; + stackSize++; + } else if (value === 19 || value === 20) { + state.hints += stackSize >> 1; + j += state.hints + 7 >> 3; + stackSize %= 2; + validationCommand = CharstringValidationData[value]; + } else if (value === 10 || value === 29) { + var subrsIndex; + if (value === 10) { + subrsIndex = localSubrIndex; + } else { + subrsIndex = globalSubrIndex; + } + if (!subrsIndex) { + validationCommand = CharstringValidationData[value]; + warn('Missing subrsIndex for ' + validationCommand.id); + return false; + } + var bias = 32768; + if (subrsIndex.count < 1240) { + bias = 107; + } else if (subrsIndex.count < 33900) { + bias = 1131; + } + var subrNumber = stack[--stackSize] + bias; + if (subrNumber < 0 || subrNumber >= subrsIndex.count) { + validationCommand = CharstringValidationData[value]; + warn('Out of bounds subrIndex for ' + validationCommand.id); + return false; + } + state.stackSize = stackSize; + state.callDepth++; + var valid = this.parseCharString(state, subrsIndex.get(subrNumber), localSubrIndex, globalSubrIndex); + if (!valid) { + return false; + } + state.callDepth--; + stackSize = state.stackSize; + continue; + } else if (value === 11) { + state.stackSize = stackSize; + return true; + } else { + validationCommand = CharstringValidationData[value]; + } + if (validationCommand) { + if (validationCommand.stem) { + state.hints += stackSize >> 1; + } + if ('min' in validationCommand) { + if (!state.undefStack && stackSize < validationCommand.min) { + warn('Not enough parameters for ' + validationCommand.id + '; actual: ' + stackSize + ', expected: ' + validationCommand.min); + return false; + } + } + if (state.firstStackClearing && validationCommand.stackClearing) { + state.firstStackClearing = false; + stackSize -= validationCommand.min; + if (stackSize >= 2 && validationCommand.stem) { + stackSize %= 2; + } else if (stackSize > 1) { + warn('Found too many parameters for stack-clearing command'); + } + if (stackSize > 0 && stack[stackSize - 1] >= 0) { + state.width = stack[stackSize - 1]; + } + } + if ('stackDelta' in validationCommand) { + if ('stackFn' in validationCommand) { + validationCommand.stackFn(stack, stackSize); + } + stackSize += validationCommand.stackDelta; + } else if (validationCommand.stackClearing) { + stackSize = 0; + } else if (validationCommand.resetStack) { + stackSize = 0; + state.undefStack = false; + } else if (validationCommand.undefStack) { + stackSize = 0; + state.undefStack = true; + state.firstStackClearing = false; + } + } + } + state.stackSize = stackSize; + return true; + }, + parseCharStrings: function CFFParser_parseCharStrings(charStrings, localSubrIndex, globalSubrIndex, fdSelect, fdArray) { + var seacs = []; + var widths = []; + var count = charStrings.count; + for (var i = 0; i < count; i++) { + var charstring = charStrings.get(i); + var state = { + callDepth: 0, + stackSize: 0, + stack: [], + undefStack: true, + hints: 0, + firstStackClearing: true, + seac: null, + width: null + }; + var valid = true; + var localSubrToUse = null; + if (fdSelect && fdArray.length) { + var fdIndex = fdSelect.getFDIndex(i); + if (fdIndex === -1) { + warn('Glyph index is not in fd select.'); + valid = false; + } + if (fdIndex >= fdArray.length) { + warn('Invalid fd index for glyph index.'); + valid = false; + } + if (valid) { + localSubrToUse = fdArray[fdIndex].privateDict.subrsIndex; + } + } else if (localSubrIndex) { + localSubrToUse = localSubrIndex; + } + if (valid) { + valid = this.parseCharString(state, charstring, localSubrToUse, globalSubrIndex); + } + if (state.width !== null) { + widths[i] = state.width; + } + if (state.seac !== null) { + seacs[i] = state.seac; + } + if (!valid) { + charStrings.set(i, new Uint8Array([14])); + } + } + return { + charStrings: charStrings, + seacs: seacs, + widths: widths + }; + }, + emptyPrivateDictionary: function CFFParser_emptyPrivateDictionary(parentDict) { + var privateDict = this.createDict(CFFPrivateDict, [], parentDict.strings); + parentDict.setByKey(18, [ + 0, + 0 + ]); + parentDict.privateDict = privateDict; + }, + parsePrivateDict: function CFFParser_parsePrivateDict(parentDict) { + if (!parentDict.hasName('Private')) { + this.emptyPrivateDictionary(parentDict); + return; + } + var privateOffset = parentDict.getByName('Private'); + if (!isArray(privateOffset) || privateOffset.length !== 2) { + parentDict.removeByName('Private'); + return; + } + var size = privateOffset[0]; + var offset = privateOffset[1]; + if (size === 0 || offset >= this.bytes.length) { + this.emptyPrivateDictionary(parentDict); + return; + } + var privateDictEnd = offset + size; + var dictData = this.bytes.subarray(offset, privateDictEnd); + var dict = this.parseDict(dictData); + var privateDict = this.createDict(CFFPrivateDict, dict, parentDict.strings); + parentDict.privateDict = privateDict; + if (!privateDict.getByName('Subrs')) { + return; + } + var subrsOffset = privateDict.getByName('Subrs'); + var relativeOffset = offset + subrsOffset; + if (subrsOffset === 0 || relativeOffset >= this.bytes.length) { + this.emptyPrivateDictionary(parentDict); + return; + } + var subrsIndex = this.parseIndex(relativeOffset); + privateDict.subrsIndex = subrsIndex.obj; + }, + parseCharsets: function CFFParser_parseCharsets(pos, length, strings, cid) { + if (pos === 0) { + return new CFFCharset(true, CFFCharsetPredefinedTypes.ISO_ADOBE, ISOAdobeCharset); + } else if (pos === 1) { + return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT, ExpertCharset); + } else if (pos === 2) { + return new CFFCharset(true, CFFCharsetPredefinedTypes.EXPERT_SUBSET, ExpertSubsetCharset); + } + var bytes = this.bytes; + var start = pos; + var format = bytes[pos++]; + var charset = ['.notdef']; + var id, count, i; + length -= 1; + switch (format) { + case 0: + for (i = 0; i < length; i++) { + id = bytes[pos++] << 8 | bytes[pos++]; + charset.push(cid ? id : strings.get(id)); + } + break; + case 1: + while (charset.length <= length) { + id = bytes[pos++] << 8 | bytes[pos++]; + count = bytes[pos++]; + for (i = 0; i <= count; i++) { + charset.push(cid ? id++ : strings.get(id++)); + } + } + break; + case 2: + while (charset.length <= length) { + id = bytes[pos++] << 8 | bytes[pos++]; + count = bytes[pos++] << 8 | bytes[pos++]; + for (i = 0; i <= count; i++) { + charset.push(cid ? id++ : strings.get(id++)); + } + } + break; + default: + error('Unknown charset format'); + } + var end = pos; + var raw = bytes.subarray(start, end); + return new CFFCharset(false, format, charset, raw); + }, + parseEncoding: function CFFParser_parseEncoding(pos, properties, strings, charset) { + var encoding = Object.create(null); + var bytes = this.bytes; + var predefined = false; + var format, i, ii; + var raw = null; + function readSupplement() { + var supplementsCount = bytes[pos++]; + for (i = 0; i < supplementsCount; i++) { + var code = bytes[pos++]; + var sid = (bytes[pos++] << 8) + (bytes[pos++] & 0xff); + encoding[code] = charset.indexOf(strings.get(sid)); + } + } + if (pos === 0 || pos === 1) { + predefined = true; + format = pos; + var baseEncoding = pos ? ExpertEncoding : StandardEncoding; + for (i = 0, ii = charset.length; i < ii; i++) { + var index = baseEncoding.indexOf(charset[i]); + if (index !== -1) { + encoding[index] = i; + } + } + } else { + var dataStart = pos; + format = bytes[pos++]; + switch (format & 0x7f) { + case 0: + var glyphsCount = bytes[pos++]; + for (i = 1; i <= glyphsCount; i++) { + encoding[bytes[pos++]] = i; + } + break; + case 1: + var rangesCount = bytes[pos++]; + var gid = 1; + for (i = 0; i < rangesCount; i++) { + var start = bytes[pos++]; + var left = bytes[pos++]; + for (var j = start; j <= start + left; j++) { + encoding[j] = gid++; + } + } + break; + default: + error('Unknown encoding format: ' + format + ' in CFF'); + break; + } + var dataEnd = pos; + if (format & 0x80) { + bytes[dataStart] &= 0x7f; + readSupplement(); + } + raw = bytes.subarray(dataStart, dataEnd); + } + format = format & 0x7f; + return new CFFEncoding(predefined, format, encoding, raw); + }, + parseFDSelect: function CFFParser_parseFDSelect(pos, length) { + var start = pos; + var bytes = this.bytes; + var format = bytes[pos++]; + var fdSelect = [], rawBytes; + var i, invalidFirstGID = false; + switch (format) { + case 0: + for (i = 0; i < length; ++i) { + var id = bytes[pos++]; + fdSelect.push(id); + } + rawBytes = bytes.subarray(start, pos); + break; + case 3: + var rangesCount = bytes[pos++] << 8 | bytes[pos++]; + for (i = 0; i < rangesCount; ++i) { + var first = bytes[pos++] << 8 | bytes[pos++]; + if (i === 0 && first !== 0) { + warn('parseFDSelect: The first range must have a first GID of 0' + ' -- trying to recover.'); + invalidFirstGID = true; + first = 0; + } + var fdIndex = bytes[pos++]; + var next = bytes[pos] << 8 | bytes[pos + 1]; + for (var j = first; j < next; ++j) { + fdSelect.push(fdIndex); + } + } + pos += 2; + rawBytes = bytes.subarray(start, pos); + if (invalidFirstGID) { + rawBytes[3] = rawBytes[4] = 0; + } + break; + default: + error('parseFDSelect: Unknown format "' + format + '".'); + break; + } + assert(fdSelect.length === length, 'parseFDSelect: Invalid font data.'); + return new CFFFDSelect(fdSelect, rawBytes); + } + }; + return CFFParser; +}(); +var CFF = function CFFClosure() { + function CFF() { + this.header = null; + this.names = []; + this.topDict = null; + this.strings = new CFFStrings(); + this.globalSubrIndex = null; + this.encoding = null; + this.charset = null; + this.charStrings = null; + this.fdArray = []; + this.fdSelect = null; + this.isCIDFont = false; + } + return CFF; +}(); +var CFFHeader = function CFFHeaderClosure() { + function CFFHeader(major, minor, hdrSize, offSize) { + this.major = major; + this.minor = minor; + this.hdrSize = hdrSize; + this.offSize = offSize; + } + return CFFHeader; +}(); +var CFFStrings = function CFFStringsClosure() { + function CFFStrings() { + this.strings = []; + } + CFFStrings.prototype = { + get: function CFFStrings_get(index) { + if (index >= 0 && index <= 390) { + return CFFStandardStrings[index]; + } + if (index - 391 <= this.strings.length) { + return this.strings[index - 391]; + } + return CFFStandardStrings[0]; + }, + add: function CFFStrings_add(value) { + this.strings.push(value); + }, + get count() { + return this.strings.length; + } + }; + return CFFStrings; +}(); +var CFFIndex = function CFFIndexClosure() { + function CFFIndex() { + this.objects = []; + this.length = 0; + } + CFFIndex.prototype = { + add: function CFFIndex_add(data) { + this.length += data.length; + this.objects.push(data); + }, + set: function CFFIndex_set(index, data) { + this.length += data.length - this.objects[index].length; + this.objects[index] = data; + }, + get: function CFFIndex_get(index) { + return this.objects[index]; + }, + get count() { + return this.objects.length; + } + }; + return CFFIndex; +}(); +var CFFDict = function CFFDictClosure() { + function CFFDict(tables, strings) { + this.keyToNameMap = tables.keyToNameMap; + this.nameToKeyMap = tables.nameToKeyMap; + this.defaults = tables.defaults; + this.types = tables.types; + this.opcodes = tables.opcodes; + this.order = tables.order; + this.strings = strings; + this.values = Object.create(null); + } + CFFDict.prototype = { + setByKey: function CFFDict_setByKey(key, value) { + if (!(key in this.keyToNameMap)) { + return false; + } + var valueLength = value.length; + if (valueLength === 0) { + return true; + } + for (var i = 0; i < valueLength; i++) { + if (isNaN(value[i])) { + warn('Invalid CFFDict value: "' + value + '" for key "' + key + '".'); + return true; + } + } + var type = this.types[key]; + if (type === 'num' || type === 'sid' || type === 'offset') { + value = value[0]; + } + this.values[key] = value; + return true; + }, + setByName: function CFFDict_setByName(name, value) { + if (!(name in this.nameToKeyMap)) { + error('Invalid dictionary name "' + name + '"'); + } + this.values[this.nameToKeyMap[name]] = value; + }, + hasName: function CFFDict_hasName(name) { + return this.nameToKeyMap[name] in this.values; + }, + getByName: function CFFDict_getByName(name) { + if (!(name in this.nameToKeyMap)) { + error('Invalid dictionary name "' + name + '"'); + } + var key = this.nameToKeyMap[name]; + if (!(key in this.values)) { + return this.defaults[key]; + } + return this.values[key]; + }, + removeByName: function CFFDict_removeByName(name) { + delete this.values[this.nameToKeyMap[name]]; + } + }; + CFFDict.createTables = function CFFDict_createTables(layout) { + var tables = { + keyToNameMap: {}, + nameToKeyMap: {}, + defaults: {}, + types: {}, + opcodes: {}, + order: [] + }; + for (var i = 0, ii = layout.length; i < ii; ++i) { + var entry = layout[i]; + var key = isArray(entry[0]) ? (entry[0][0] << 8) + entry[0][1] : entry[0]; + tables.keyToNameMap[key] = entry[1]; + tables.nameToKeyMap[entry[1]] = key; + tables.types[key] = entry[2]; + tables.defaults[key] = entry[3]; + tables.opcodes[key] = isArray(entry[0]) ? entry[0] : [entry[0]]; + tables.order.push(key); + } + return tables; + }; + return CFFDict; +}(); +var CFFTopDict = function CFFTopDictClosure() { + var layout = [ + [ + [ + 12, + 30 + ], + 'ROS', + [ + 'sid', + 'sid', + 'num' + ], + null + ], + [ + [ + 12, + 20 + ], + 'SyntheticBase', + 'num', + null + ], + [ + 0, + 'version', + 'sid', + null + ], + [ + 1, + 'Notice', + 'sid', + null + ], + [ + [ + 12, + 0 + ], + 'Copyright', + 'sid', + null + ], + [ + 2, + 'FullName', + 'sid', + null + ], + [ + 3, + 'FamilyName', + 'sid', + null + ], + [ + 4, + 'Weight', + 'sid', + null + ], + [ + [ + 12, + 1 + ], + 'isFixedPitch', + 'num', + 0 + ], + [ + [ + 12, + 2 + ], + 'ItalicAngle', + 'num', + 0 + ], + [ + [ + 12, + 3 + ], + 'UnderlinePosition', + 'num', + -100 + ], + [ + [ + 12, + 4 + ], + 'UnderlineThickness', + 'num', + 50 + ], + [ + [ + 12, + 5 + ], + 'PaintType', + 'num', + 0 + ], + [ + [ + 12, + 6 + ], + 'CharstringType', + 'num', + 2 + ], + [ + [ + 12, + 7 + ], + 'FontMatrix', + [ + 'num', + 'num', + 'num', + 'num', + 'num', + 'num' + ], + [ + 0.001, + 0, + 0, + 0.001, + 0, + 0 + ] + ], + [ + 13, + 'UniqueID', + 'num', + null + ], + [ + 5, + 'FontBBox', + [ + 'num', + 'num', + 'num', + 'num' + ], + [ + 0, + 0, + 0, + 0 + ] + ], + [ + [ + 12, + 8 + ], + 'StrokeWidth', + 'num', + 0 + ], + [ + 14, + 'XUID', + 'array', + null + ], + [ + 15, + 'charset', + 'offset', + 0 + ], + [ + 16, + 'Encoding', + 'offset', + 0 + ], + [ + 17, + 'CharStrings', + 'offset', + 0 + ], + [ + 18, + 'Private', + [ + 'offset', + 'offset' + ], + null + ], + [ + [ + 12, + 21 + ], + 'PostScript', + 'sid', + null + ], + [ + [ + 12, + 22 + ], + 'BaseFontName', + 'sid', + null + ], + [ + [ + 12, + 23 + ], + 'BaseFontBlend', + 'delta', + null + ], + [ + [ + 12, + 31 + ], + 'CIDFontVersion', + 'num', + 0 + ], + [ + [ + 12, + 32 + ], + 'CIDFontRevision', + 'num', + 0 + ], + [ + [ + 12, + 33 + ], + 'CIDFontType', + 'num', + 0 + ], + [ + [ + 12, + 34 + ], + 'CIDCount', + 'num', + 8720 + ], + [ + [ + 12, + 35 + ], + 'UIDBase', + 'num', + null + ], + [ + [ + 12, + 37 + ], + 'FDSelect', + 'offset', + null + ], + [ + [ + 12, + 36 + ], + 'FDArray', + 'offset', + null + ], + [ + [ + 12, + 38 + ], + 'FontName', + 'sid', + null + ] + ]; + var tables = null; + function CFFTopDict(strings) { + if (tables === null) { + tables = CFFDict.createTables(layout); + } + CFFDict.call(this, tables, strings); + this.privateDict = null; + } + CFFTopDict.prototype = Object.create(CFFDict.prototype); + return CFFTopDict; +}(); +var CFFPrivateDict = function CFFPrivateDictClosure() { + var layout = [ + [ + 6, + 'BlueValues', + 'delta', + null + ], + [ + 7, + 'OtherBlues', + 'delta', + null + ], + [ + 8, + 'FamilyBlues', + 'delta', + null + ], + [ + 9, + 'FamilyOtherBlues', + 'delta', + null + ], + [ + [ + 12, + 9 + ], + 'BlueScale', + 'num', + 0.039625 + ], + [ + [ + 12, + 10 + ], + 'BlueShift', + 'num', + 7 + ], + [ + [ + 12, + 11 + ], + 'BlueFuzz', + 'num', + 1 + ], + [ + 10, + 'StdHW', + 'num', + null + ], + [ + 11, + 'StdVW', + 'num', + null + ], + [ + [ + 12, + 12 + ], + 'StemSnapH', + 'delta', + null + ], + [ + [ + 12, + 13 + ], + 'StemSnapV', + 'delta', + null + ], + [ + [ + 12, + 14 + ], + 'ForceBold', + 'num', + 0 + ], + [ + [ + 12, + 17 + ], + 'LanguageGroup', + 'num', + 0 + ], + [ + [ + 12, + 18 + ], + 'ExpansionFactor', + 'num', + 0.06 + ], + [ + [ + 12, + 19 + ], + 'initialRandomSeed', + 'num', + 0 + ], + [ + 20, + 'defaultWidthX', + 'num', + 0 + ], + [ + 21, + 'nominalWidthX', + 'num', + 0 + ], + [ + 19, + 'Subrs', + 'offset', + null + ] + ]; + var tables = null; + function CFFPrivateDict(strings) { + if (tables === null) { + tables = CFFDict.createTables(layout); + } + CFFDict.call(this, tables, strings); + this.subrsIndex = null; + } + CFFPrivateDict.prototype = Object.create(CFFDict.prototype); + return CFFPrivateDict; +}(); +var CFFCharsetPredefinedTypes = { + ISO_ADOBE: 0, + EXPERT: 1, + EXPERT_SUBSET: 2 +}; +var CFFCharset = function CFFCharsetClosure() { + function CFFCharset(predefined, format, charset, raw) { + this.predefined = predefined; + this.format = format; + this.charset = charset; + this.raw = raw; + } + return CFFCharset; +}(); +var CFFEncoding = function CFFEncodingClosure() { + function CFFEncoding(predefined, format, encoding, raw) { + this.predefined = predefined; + this.format = format; + this.encoding = encoding; + this.raw = raw; + } + return CFFEncoding; +}(); +var CFFFDSelect = function CFFFDSelectClosure() { + function CFFFDSelect(fdSelect, raw) { + this.fdSelect = fdSelect; + this.raw = raw; + } + CFFFDSelect.prototype = { + getFDIndex: function CFFFDSelect_get(glyphIndex) { + if (glyphIndex < 0 || glyphIndex >= this.fdSelect.length) { + return -1; + } + return this.fdSelect[glyphIndex]; + } + }; + return CFFFDSelect; +}(); +var CFFOffsetTracker = function CFFOffsetTrackerClosure() { + function CFFOffsetTracker() { + this.offsets = Object.create(null); + } + CFFOffsetTracker.prototype = { + isTracking: function CFFOffsetTracker_isTracking(key) { + return key in this.offsets; + }, + track: function CFFOffsetTracker_track(key, location) { + if (key in this.offsets) { + error('Already tracking location of ' + key); + } + this.offsets[key] = location; + }, + offset: function CFFOffsetTracker_offset(value) { + for (var key in this.offsets) { + this.offsets[key] += value; + } + }, + setEntryLocation: function CFFOffsetTracker_setEntryLocation(key, values, output) { + if (!(key in this.offsets)) { + error('Not tracking location of ' + key); + } + var data = output.data; + var dataOffset = this.offsets[key]; + var size = 5; + for (var i = 0, ii = values.length; i < ii; ++i) { + var offset0 = i * size + dataOffset; + var offset1 = offset0 + 1; + var offset2 = offset0 + 2; + var offset3 = offset0 + 3; + var offset4 = offset0 + 4; + if (data[offset0] !== 0x1d || data[offset1] !== 0 || data[offset2] !== 0 || data[offset3] !== 0 || data[offset4] !== 0) { + error('writing to an offset that is not empty'); + } + var value = values[i]; + data[offset0] = 0x1d; + data[offset1] = value >> 24 & 0xFF; + data[offset2] = value >> 16 & 0xFF; + data[offset3] = value >> 8 & 0xFF; + data[offset4] = value & 0xFF; + } + } + }; + return CFFOffsetTracker; +}(); +var CFFCompiler = function CFFCompilerClosure() { + function CFFCompiler(cff) { + this.cff = cff; + } + CFFCompiler.prototype = { + compile: function CFFCompiler_compile() { + var cff = this.cff; + var output = { + data: [], + length: 0, + add: function CFFCompiler_add(data) { + this.data = this.data.concat(data); + this.length = this.data.length; + } + }; + var header = this.compileHeader(cff.header); + output.add(header); + var nameIndex = this.compileNameIndex(cff.names); + output.add(nameIndex); + if (cff.isCIDFont) { + if (cff.topDict.hasName('FontMatrix')) { + var base = cff.topDict.getByName('FontMatrix'); + cff.topDict.removeByName('FontMatrix'); + for (var i = 0, ii = cff.fdArray.length; i < ii; i++) { + var subDict = cff.fdArray[i]; + var matrix = base.slice(0); + if (subDict.hasName('FontMatrix')) { + matrix = Util.transform(matrix, subDict.getByName('FontMatrix')); + } + subDict.setByName('FontMatrix', matrix); + } + } + } + var compiled = this.compileTopDicts([cff.topDict], output.length, cff.isCIDFont); + output.add(compiled.output); + var topDictTracker = compiled.trackers[0]; + var stringIndex = this.compileStringIndex(cff.strings.strings); + output.add(stringIndex); + var globalSubrIndex = this.compileIndex(cff.globalSubrIndex); + output.add(globalSubrIndex); + if (cff.encoding && cff.topDict.hasName('Encoding')) { + if (cff.encoding.predefined) { + topDictTracker.setEntryLocation('Encoding', [cff.encoding.format], output); + } else { + var encoding = this.compileEncoding(cff.encoding); + topDictTracker.setEntryLocation('Encoding', [output.length], output); + output.add(encoding); + } + } + if (cff.charset && cff.topDict.hasName('charset')) { + if (cff.charset.predefined) { + topDictTracker.setEntryLocation('charset', [cff.charset.format], output); + } else { + var charset = this.compileCharset(cff.charset); + topDictTracker.setEntryLocation('charset', [output.length], output); + output.add(charset); + } + } + var charStrings = this.compileCharStrings(cff.charStrings); + topDictTracker.setEntryLocation('CharStrings', [output.length], output); + output.add(charStrings); + if (cff.isCIDFont) { + topDictTracker.setEntryLocation('FDSelect', [output.length], output); + var fdSelect = this.compileFDSelect(cff.fdSelect.raw); + output.add(fdSelect); + compiled = this.compileTopDicts(cff.fdArray, output.length, true); + topDictTracker.setEntryLocation('FDArray', [output.length], output); + output.add(compiled.output); + var fontDictTrackers = compiled.trackers; + this.compilePrivateDicts(cff.fdArray, fontDictTrackers, output); + } + this.compilePrivateDicts([cff.topDict], [topDictTracker], output); + output.add([0]); + return output.data; + }, + encodeNumber: function CFFCompiler_encodeNumber(value) { + if (parseFloat(value) === parseInt(value, 10) && !isNaN(value)) { + return this.encodeInteger(value); + } + return this.encodeFloat(value); + }, + encodeFloat: function CFFCompiler_encodeFloat(num) { + var value = num.toString(); + var m = /\.(\d*?)(?:9{5,20}|0{5,20})\d{0,2}(?:e(.+)|$)/.exec(value); + if (m) { + var epsilon = parseFloat('1e' + ((m[2] ? +m[2] : 0) + m[1].length)); + value = (Math.round(num * epsilon) / epsilon).toString(); + } + var nibbles = ''; + var i, ii; + for (i = 0, ii = value.length; i < ii; ++i) { + var a = value[i]; + if (a === 'e') { + nibbles += value[++i] === '-' ? 'c' : 'b'; + } else if (a === '.') { + nibbles += 'a'; + } else if (a === '-') { + nibbles += 'e'; + } else { + nibbles += a; + } + } + nibbles += nibbles.length & 1 ? 'f' : 'ff'; + var out = [30]; + for (i = 0, ii = nibbles.length; i < ii; i += 2) { + out.push(parseInt(nibbles.substr(i, 2), 16)); + } + return out; + }, + encodeInteger: function CFFCompiler_encodeInteger(value) { + var code; + if (value >= -107 && value <= 107) { + code = [value + 139]; + } else if (value >= 108 && value <= 1131) { + value = value - 108; + code = [ + (value >> 8) + 247, + value & 0xFF + ]; + } else if (value >= -1131 && value <= -108) { + value = -value - 108; + code = [ + (value >> 8) + 251, + value & 0xFF + ]; + } else if (value >= -32768 && value <= 32767) { + code = [ + 0x1c, + value >> 8 & 0xFF, + value & 0xFF + ]; + } else { + code = [ + 0x1d, + value >> 24 & 0xFF, + value >> 16 & 0xFF, + value >> 8 & 0xFF, + value & 0xFF + ]; + } + return code; + }, + compileHeader: function CFFCompiler_compileHeader(header) { + return [ + header.major, + header.minor, + header.hdrSize, + header.offSize + ]; + }, + compileNameIndex: function CFFCompiler_compileNameIndex(names) { + var nameIndex = new CFFIndex(); + for (var i = 0, ii = names.length; i < ii; ++i) { + nameIndex.add(stringToBytes(names[i])); + } + return this.compileIndex(nameIndex); + }, + compileTopDicts: function CFFCompiler_compileTopDicts(dicts, length, removeCidKeys) { + var fontDictTrackers = []; + var fdArrayIndex = new CFFIndex(); + for (var i = 0, ii = dicts.length; i < ii; ++i) { + var fontDict = dicts[i]; + if (removeCidKeys) { + fontDict.removeByName('CIDFontVersion'); + fontDict.removeByName('CIDFontRevision'); + fontDict.removeByName('CIDFontType'); + fontDict.removeByName('CIDCount'); + fontDict.removeByName('UIDBase'); + } + var fontDictTracker = new CFFOffsetTracker(); + var fontDictData = this.compileDict(fontDict, fontDictTracker); + fontDictTrackers.push(fontDictTracker); + fdArrayIndex.add(fontDictData); + fontDictTracker.offset(length); + } + fdArrayIndex = this.compileIndex(fdArrayIndex, fontDictTrackers); + return { + trackers: fontDictTrackers, + output: fdArrayIndex + }; + }, + compilePrivateDicts: function CFFCompiler_compilePrivateDicts(dicts, trackers, output) { + for (var i = 0, ii = dicts.length; i < ii; ++i) { + var fontDict = dicts[i]; + assert(fontDict.privateDict && fontDict.hasName('Private'), 'There must be an private dictionary.'); + var privateDict = fontDict.privateDict; + var privateDictTracker = new CFFOffsetTracker(); + var privateDictData = this.compileDict(privateDict, privateDictTracker); + var outputLength = output.length; + privateDictTracker.offset(outputLength); + if (!privateDictData.length) { + outputLength = 0; + } + trackers[i].setEntryLocation('Private', [ + privateDictData.length, + outputLength + ], output); + output.add(privateDictData); + if (privateDict.subrsIndex && privateDict.hasName('Subrs')) { + var subrs = this.compileIndex(privateDict.subrsIndex); + privateDictTracker.setEntryLocation('Subrs', [privateDictData.length], output); + output.add(subrs); + } + } + }, + compileDict: function CFFCompiler_compileDict(dict, offsetTracker) { + var out = []; + var order = dict.order; + for (var i = 0; i < order.length; ++i) { + var key = order[i]; + if (!(key in dict.values)) { + continue; + } + var values = dict.values[key]; + var types = dict.types[key]; + if (!isArray(types)) { + types = [types]; + } + if (!isArray(values)) { + values = [values]; + } + if (values.length === 0) { + continue; + } + for (var j = 0, jj = types.length; j < jj; ++j) { + var type = types[j]; + var value = values[j]; + switch (type) { + case 'num': + case 'sid': + out = out.concat(this.encodeNumber(value)); + break; + case 'offset': + var name = dict.keyToNameMap[key]; + if (!offsetTracker.isTracking(name)) { + offsetTracker.track(name, out.length); + } + out = out.concat([ + 0x1d, + 0, + 0, + 0, + 0 + ]); + break; + case 'array': + case 'delta': + out = out.concat(this.encodeNumber(value)); + for (var k = 1, kk = values.length; k < kk; ++k) { + out = out.concat(this.encodeNumber(values[k])); + } + break; + default: + error('Unknown data type of ' + type); + break; + } + } + out = out.concat(dict.opcodes[key]); + } + return out; + }, + compileStringIndex: function CFFCompiler_compileStringIndex(strings) { + var stringIndex = new CFFIndex(); + for (var i = 0, ii = strings.length; i < ii; ++i) { + stringIndex.add(stringToBytes(strings[i])); + } + return this.compileIndex(stringIndex); + }, + compileGlobalSubrIndex: function CFFCompiler_compileGlobalSubrIndex() { + var globalSubrIndex = this.cff.globalSubrIndex; + this.out.writeByteArray(this.compileIndex(globalSubrIndex)); + }, + compileCharStrings: function CFFCompiler_compileCharStrings(charStrings) { + return this.compileIndex(charStrings); + }, + compileCharset: function CFFCompiler_compileCharset(charset) { + return this.compileTypedArray(charset.raw); + }, + compileEncoding: function CFFCompiler_compileEncoding(encoding) { + return this.compileTypedArray(encoding.raw); + }, + compileFDSelect: function CFFCompiler_compileFDSelect(fdSelect) { + return this.compileTypedArray(fdSelect); + }, + compileTypedArray: function CFFCompiler_compileTypedArray(data) { + var out = []; + for (var i = 0, ii = data.length; i < ii; ++i) { + out[i] = data[i]; + } + return out; + }, + compileIndex: function CFFCompiler_compileIndex(index, trackers) { + trackers = trackers || []; + var objects = index.objects; + var count = objects.length; + if (count === 0) { + return [ + 0, + 0, + 0 + ]; + } + var data = [ + count >> 8 & 0xFF, + count & 0xff + ]; + var lastOffset = 1, i; + for (i = 0; i < count; ++i) { + lastOffset += objects[i].length; + } + var offsetSize; + if (lastOffset < 0x100) { + offsetSize = 1; + } else if (lastOffset < 0x10000) { + offsetSize = 2; + } else if (lastOffset < 0x1000000) { + offsetSize = 3; + } else { + offsetSize = 4; + } + data.push(offsetSize); + var relativeOffset = 1; + for (i = 0; i < count + 1; i++) { + if (offsetSize === 1) { + data.push(relativeOffset & 0xFF); + } else if (offsetSize === 2) { + data.push(relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF); + } else if (offsetSize === 3) { + data.push(relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF); + } else { + data.push(relativeOffset >>> 24 & 0xFF, relativeOffset >> 16 & 0xFF, relativeOffset >> 8 & 0xFF, relativeOffset & 0xFF); + } + if (objects[i]) { + relativeOffset += objects[i].length; + } + } + for (i = 0; i < count; i++) { + if (trackers[i]) { + trackers[i].offset(data.length); + } + for (var j = 0, jj = objects[i].length; j < jj; j++) { + data.push(objects[i][j]); + } + } + return data; + } + }; + return CFFCompiler; +}(); +exports.CFFStandardStrings = CFFStandardStrings; +exports.CFFParser = CFFParser; +exports.CFF = CFF; +exports.CFFHeader = CFFHeader; +exports.CFFStrings = CFFStrings; +exports.CFFIndex = CFFIndex; +exports.CFFCharset = CFFCharset; +exports.CFFTopDict = CFFTopDict; +exports.CFFPrivateDict = CFFPrivateDict; +exports.CFFCompiler = CFFCompiler; + +/***/ }), +/* 12 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var MissingDataException = sharedUtil.MissingDataException; +var arrayByteLength = sharedUtil.arrayByteLength; +var arraysToBytes = sharedUtil.arraysToBytes; +var assert = sharedUtil.assert; +var createPromiseCapability = sharedUtil.createPromiseCapability; +var isInt = sharedUtil.isInt; +var isEmptyObj = sharedUtil.isEmptyObj; +var ChunkedStream = function ChunkedStreamClosure() { + function ChunkedStream(length, chunkSize, manager) { + this.bytes = new Uint8Array(length); + this.start = 0; + this.pos = 0; + this.end = length; + this.chunkSize = chunkSize; + this.loadedChunks = []; + this.numChunksLoaded = 0; + this.numChunks = Math.ceil(length / chunkSize); + this.manager = manager; + this.progressiveDataLength = 0; + this.lastSuccessfulEnsureByteChunk = -1; + } + ChunkedStream.prototype = { + getMissingChunks: function ChunkedStream_getMissingChunks() { + var chunks = []; + for (var chunk = 0, n = this.numChunks; chunk < n; ++chunk) { + if (!this.loadedChunks[chunk]) { + chunks.push(chunk); + } + } + return chunks; + }, + getBaseStreams: function ChunkedStream_getBaseStreams() { + return [this]; + }, + allChunksLoaded: function ChunkedStream_allChunksLoaded() { + return this.numChunksLoaded === this.numChunks; + }, + onReceiveData: function ChunkedStream_onReceiveData(begin, chunk) { + var end = begin + chunk.byteLength; + assert(begin % this.chunkSize === 0, 'Bad begin offset: ' + begin); + var length = this.bytes.length; + assert(end % this.chunkSize === 0 || end === length, 'Bad end offset: ' + end); + this.bytes.set(new Uint8Array(chunk), begin); + var chunkSize = this.chunkSize; + var beginChunk = Math.floor(begin / chunkSize); + var endChunk = Math.floor((end - 1) / chunkSize) + 1; + var curChunk; + for (curChunk = beginChunk; curChunk < endChunk; ++curChunk) { + if (!this.loadedChunks[curChunk]) { + this.loadedChunks[curChunk] = true; + ++this.numChunksLoaded; + } + } + }, + onReceiveProgressiveData: function ChunkedStream_onReceiveProgressiveData(data) { + var position = this.progressiveDataLength; + var beginChunk = Math.floor(position / this.chunkSize); + this.bytes.set(new Uint8Array(data), position); + position += data.byteLength; + this.progressiveDataLength = position; + var endChunk = position >= this.end ? this.numChunks : Math.floor(position / this.chunkSize); + var curChunk; + for (curChunk = beginChunk; curChunk < endChunk; ++curChunk) { + if (!this.loadedChunks[curChunk]) { + this.loadedChunks[curChunk] = true; + ++this.numChunksLoaded; + } + } + }, + ensureByte: function ChunkedStream_ensureByte(pos) { + var chunk = Math.floor(pos / this.chunkSize); + if (chunk === this.lastSuccessfulEnsureByteChunk) { + return; + } + if (!this.loadedChunks[chunk]) { + throw new MissingDataException(pos, pos + 1); + } + this.lastSuccessfulEnsureByteChunk = chunk; + }, + ensureRange: function ChunkedStream_ensureRange(begin, end) { + if (begin >= end) { + return; + } + if (end <= this.progressiveDataLength) { + return; + } + var chunkSize = this.chunkSize; + var beginChunk = Math.floor(begin / chunkSize); + var endChunk = Math.floor((end - 1) / chunkSize) + 1; + for (var chunk = beginChunk; chunk < endChunk; ++chunk) { + if (!this.loadedChunks[chunk]) { + throw new MissingDataException(begin, end); + } + } + }, + nextEmptyChunk: function ChunkedStream_nextEmptyChunk(beginChunk) { + var chunk, numChunks = this.numChunks; + for (var i = 0; i < numChunks; ++i) { + chunk = (beginChunk + i) % numChunks; + if (!this.loadedChunks[chunk]) { + return chunk; + } + } + return null; + }, + hasChunk: function ChunkedStream_hasChunk(chunk) { + return !!this.loadedChunks[chunk]; + }, + get length() { + return this.end - this.start; + }, + get isEmpty() { + return this.length === 0; + }, + getByte: function ChunkedStream_getByte() { + var pos = this.pos; + if (pos >= this.end) { + return -1; + } + this.ensureByte(pos); + return this.bytes[this.pos++]; + }, + getUint16: function ChunkedStream_getUint16() { + var b0 = this.getByte(); + var b1 = this.getByte(); + if (b0 === -1 || b1 === -1) { + return -1; + } + return (b0 << 8) + b1; + }, + getInt32: function ChunkedStream_getInt32() { + var b0 = this.getByte(); + var b1 = this.getByte(); + var b2 = this.getByte(); + var b3 = this.getByte(); + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + }, + getBytes: function ChunkedStream_getBytes(length) { + var bytes = this.bytes; + var pos = this.pos; + var strEnd = this.end; + if (!length) { + this.ensureRange(pos, strEnd); + return bytes.subarray(pos, strEnd); + } + var end = pos + length; + if (end > strEnd) { + end = strEnd; + } + this.ensureRange(pos, end); + this.pos = end; + return bytes.subarray(pos, end); + }, + peekByte: function ChunkedStream_peekByte() { + var peekedByte = this.getByte(); + this.pos--; + return peekedByte; + }, + peekBytes: function ChunkedStream_peekBytes(length) { + var bytes = this.getBytes(length); + this.pos -= bytes.length; + return bytes; + }, + getByteRange: function ChunkedStream_getBytes(begin, end) { + this.ensureRange(begin, end); + return this.bytes.subarray(begin, end); + }, + skip: function ChunkedStream_skip(n) { + if (!n) { + n = 1; + } + this.pos += n; + }, + reset: function ChunkedStream_reset() { + this.pos = this.start; + }, + moveStart: function ChunkedStream_moveStart() { + this.start = this.pos; + }, + makeSubStream: function ChunkedStream_makeSubStream(start, length, dict) { + this.ensureRange(start, start + length); + function ChunkedStreamSubstream() { + } + ChunkedStreamSubstream.prototype = Object.create(this); + ChunkedStreamSubstream.prototype.getMissingChunks = function () { + var chunkSize = this.chunkSize; + var beginChunk = Math.floor(this.start / chunkSize); + var endChunk = Math.floor((this.end - 1) / chunkSize) + 1; + var missingChunks = []; + for (var chunk = beginChunk; chunk < endChunk; ++chunk) { + if (!this.loadedChunks[chunk]) { + missingChunks.push(chunk); + } + } + return missingChunks; + }; + var subStream = new ChunkedStreamSubstream(); + subStream.pos = subStream.start = start; + subStream.end = start + length || this.end; + subStream.dict = dict; + return subStream; + } + }; + return ChunkedStream; +}(); +var ChunkedStreamManager = function ChunkedStreamManagerClosure() { + function ChunkedStreamManager(pdfNetworkStream, args) { + var chunkSize = args.rangeChunkSize; + var length = args.length; + this.stream = new ChunkedStream(length, chunkSize, this); + this.length = length; + this.chunkSize = chunkSize; + this.pdfNetworkStream = pdfNetworkStream; + this.url = args.url; + this.disableAutoFetch = args.disableAutoFetch; + this.msgHandler = args.msgHandler; + this.currRequestId = 0; + this.chunksNeededByRequest = Object.create(null); + this.requestsByChunk = Object.create(null); + this.promisesByRequest = Object.create(null); + this.progressiveDataLength = 0; + this.aborted = false; + this._loadedStreamCapability = createPromiseCapability(); + } + ChunkedStreamManager.prototype = { + onLoadedStream: function ChunkedStreamManager_getLoadedStream() { + return this._loadedStreamCapability.promise; + }, + sendRequest: function ChunkedStreamManager_sendRequest(begin, end) { + var rangeReader = this.pdfNetworkStream.getRangeReader(begin, end); + if (!rangeReader.isStreamingSupported) { + rangeReader.onProgress = this.onProgress.bind(this); + } + var chunks = [], loaded = 0; + var manager = this; + var promise = new Promise(function (resolve, reject) { + var readChunk = function (chunk) { + try { + if (!chunk.done) { + var data = chunk.value; + chunks.push(data); + loaded += arrayByteLength(data); + if (rangeReader.isStreamingSupported) { + manager.onProgress({ loaded: loaded }); + } + rangeReader.read().then(readChunk, reject); + return; + } + var chunkData = arraysToBytes(chunks); + chunks = null; + resolve(chunkData); + } catch (e) { + reject(e); + } + }; + rangeReader.read().then(readChunk, reject); + }); + promise.then(function (data) { + if (this.aborted) { + return; + } + this.onReceiveData({ + chunk: data, + begin: begin + }); + }.bind(this)); + }, + requestAllChunks: function ChunkedStreamManager_requestAllChunks() { + var missingChunks = this.stream.getMissingChunks(); + this._requestChunks(missingChunks); + return this._loadedStreamCapability.promise; + }, + _requestChunks: function ChunkedStreamManager_requestChunks(chunks) { + var requestId = this.currRequestId++; + var i, ii; + var chunksNeeded = Object.create(null); + this.chunksNeededByRequest[requestId] = chunksNeeded; + for (i = 0, ii = chunks.length; i < ii; i++) { + if (!this.stream.hasChunk(chunks[i])) { + chunksNeeded[chunks[i]] = true; + } + } + if (isEmptyObj(chunksNeeded)) { + return Promise.resolve(); + } + var capability = createPromiseCapability(); + this.promisesByRequest[requestId] = capability; + var chunksToRequest = []; + for (var chunk in chunksNeeded) { + chunk = chunk | 0; + if (!(chunk in this.requestsByChunk)) { + this.requestsByChunk[chunk] = []; + chunksToRequest.push(chunk); + } + this.requestsByChunk[chunk].push(requestId); + } + if (!chunksToRequest.length) { + return capability.promise; + } + var groupedChunksToRequest = this.groupChunks(chunksToRequest); + for (i = 0; i < groupedChunksToRequest.length; ++i) { + var groupedChunk = groupedChunksToRequest[i]; + var begin = groupedChunk.beginChunk * this.chunkSize; + var end = Math.min(groupedChunk.endChunk * this.chunkSize, this.length); + this.sendRequest(begin, end); + } + return capability.promise; + }, + getStream: function ChunkedStreamManager_getStream() { + return this.stream; + }, + requestRange: function ChunkedStreamManager_requestRange(begin, end) { + end = Math.min(end, this.length); + var beginChunk = this.getBeginChunk(begin); + var endChunk = this.getEndChunk(end); + var chunks = []; + for (var chunk = beginChunk; chunk < endChunk; ++chunk) { + chunks.push(chunk); + } + return this._requestChunks(chunks); + }, + requestRanges: function ChunkedStreamManager_requestRanges(ranges) { + ranges = ranges || []; + var chunksToRequest = []; + for (var i = 0; i < ranges.length; i++) { + var beginChunk = this.getBeginChunk(ranges[i].begin); + var endChunk = this.getEndChunk(ranges[i].end); + for (var chunk = beginChunk; chunk < endChunk; ++chunk) { + if (chunksToRequest.indexOf(chunk) < 0) { + chunksToRequest.push(chunk); + } + } + } + chunksToRequest.sort(function (a, b) { + return a - b; + }); + return this._requestChunks(chunksToRequest); + }, + groupChunks: function ChunkedStreamManager_groupChunks(chunks) { + var groupedChunks = []; + var beginChunk = -1; + var prevChunk = -1; + for (var i = 0; i < chunks.length; ++i) { + var chunk = chunks[i]; + if (beginChunk < 0) { + beginChunk = chunk; + } + if (prevChunk >= 0 && prevChunk + 1 !== chunk) { + groupedChunks.push({ + beginChunk: beginChunk, + endChunk: prevChunk + 1 + }); + beginChunk = chunk; + } + if (i + 1 === chunks.length) { + groupedChunks.push({ + beginChunk: beginChunk, + endChunk: chunk + 1 + }); + } + prevChunk = chunk; + } + return groupedChunks; + }, + onProgress: function ChunkedStreamManager_onProgress(args) { + var bytesLoaded = this.stream.numChunksLoaded * this.chunkSize + args.loaded; + this.msgHandler.send('DocProgress', { + loaded: bytesLoaded, + total: this.length + }); + }, + onReceiveData: function ChunkedStreamManager_onReceiveData(args) { + var chunk = args.chunk; + var isProgressive = args.begin === undefined; + var begin = isProgressive ? this.progressiveDataLength : args.begin; + var end = begin + chunk.byteLength; + var beginChunk = Math.floor(begin / this.chunkSize); + var endChunk = end < this.length ? Math.floor(end / this.chunkSize) : Math.ceil(end / this.chunkSize); + if (isProgressive) { + this.stream.onReceiveProgressiveData(chunk); + this.progressiveDataLength = end; + } else { + this.stream.onReceiveData(begin, chunk); + } + if (this.stream.allChunksLoaded()) { + this._loadedStreamCapability.resolve(this.stream); + } + var loadedRequests = []; + var i, requestId; + for (chunk = beginChunk; chunk < endChunk; ++chunk) { + var requestIds = this.requestsByChunk[chunk] || []; + delete this.requestsByChunk[chunk]; + for (i = 0; i < requestIds.length; ++i) { + requestId = requestIds[i]; + var chunksNeeded = this.chunksNeededByRequest[requestId]; + if (chunk in chunksNeeded) { + delete chunksNeeded[chunk]; + } + if (!isEmptyObj(chunksNeeded)) { + continue; + } + loadedRequests.push(requestId); + } + } + if (!this.disableAutoFetch && isEmptyObj(this.requestsByChunk)) { + var nextEmptyChunk; + if (this.stream.numChunksLoaded === 1) { + var lastChunk = this.stream.numChunks - 1; + if (!this.stream.hasChunk(lastChunk)) { + nextEmptyChunk = lastChunk; + } + } else { + nextEmptyChunk = this.stream.nextEmptyChunk(endChunk); + } + if (isInt(nextEmptyChunk)) { + this._requestChunks([nextEmptyChunk]); + } + } + for (i = 0; i < loadedRequests.length; ++i) { + requestId = loadedRequests[i]; + var capability = this.promisesByRequest[requestId]; + delete this.promisesByRequest[requestId]; + capability.resolve(); + } + this.msgHandler.send('DocProgress', { + loaded: this.stream.numChunksLoaded * this.chunkSize, + total: this.length + }); + }, + onError: function ChunkedStreamManager_onError(err) { + this._loadedStreamCapability.reject(err); + }, + getBeginChunk: function ChunkedStreamManager_getBeginChunk(begin) { + var chunk = Math.floor(begin / this.chunkSize); + return chunk; + }, + getEndChunk: function ChunkedStreamManager_getEndChunk(end) { + var chunk = Math.floor((end - 1) / this.chunkSize) + 1; + return chunk; + }, + abort: function ChunkedStreamManager_abort() { + this.aborted = true; + if (this.pdfNetworkStream) { + this.pdfNetworkStream.cancelAllRequests('abort'); + } + for (var requestId in this.promisesByRequest) { + var capability = this.promisesByRequest[requestId]; + capability.reject(new Error('Request was aborted')); + } + } + }; + return ChunkedStreamManager; +}(); +exports.ChunkedStream = ChunkedStream; +exports.ChunkedStreamManager = ChunkedStreamManager; + +/***/ }), +/* 13 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreStream = __w_pdfjs_require__(2); +var PasswordException = sharedUtil.PasswordException; +var PasswordResponses = sharedUtil.PasswordResponses; +var bytesToString = sharedUtil.bytesToString; +var warn = sharedUtil.warn; +var error = sharedUtil.error; +var assert = sharedUtil.assert; +var isInt = sharedUtil.isInt; +var stringToBytes = sharedUtil.stringToBytes; +var utf8StringToString = sharedUtil.utf8StringToString; +var Name = corePrimitives.Name; +var isName = corePrimitives.isName; +var isDict = corePrimitives.isDict; +var DecryptStream = coreStream.DecryptStream; +var ARCFourCipher = function ARCFourCipherClosure() { + function ARCFourCipher(key) { + this.a = 0; + this.b = 0; + var s = new Uint8Array(256); + var i, j = 0, tmp, keyLength = key.length; + for (i = 0; i < 256; ++i) { + s[i] = i; + } + for (i = 0; i < 256; ++i) { + tmp = s[i]; + j = j + tmp + key[i % keyLength] & 0xFF; + s[i] = s[j]; + s[j] = tmp; + } + this.s = s; + } + ARCFourCipher.prototype = { + encryptBlock: function ARCFourCipher_encryptBlock(data) { + var i, n = data.length, tmp, tmp2; + var a = this.a, b = this.b, s = this.s; + var output = new Uint8Array(n); + for (i = 0; i < n; ++i) { + a = a + 1 & 0xFF; + tmp = s[a]; + b = b + tmp & 0xFF; + tmp2 = s[b]; + s[a] = tmp2; + s[b] = tmp; + output[i] = data[i] ^ s[tmp + tmp2 & 0xFF]; + } + this.a = a; + this.b = b; + return output; + } + }; + ARCFourCipher.prototype.decryptBlock = ARCFourCipher.prototype.encryptBlock; + return ARCFourCipher; +}(); +var calculateMD5 = function calculateMD5Closure() { + var r = new Uint8Array([ + 7, + 12, + 17, + 22, + 7, + 12, + 17, + 22, + 7, + 12, + 17, + 22, + 7, + 12, + 17, + 22, + 5, + 9, + 14, + 20, + 5, + 9, + 14, + 20, + 5, + 9, + 14, + 20, + 5, + 9, + 14, + 20, + 4, + 11, + 16, + 23, + 4, + 11, + 16, + 23, + 4, + 11, + 16, + 23, + 4, + 11, + 16, + 23, + 6, + 10, + 15, + 21, + 6, + 10, + 15, + 21, + 6, + 10, + 15, + 21, + 6, + 10, + 15, + 21 + ]); + var k = new Int32Array([ + -680876936, + -389564586, + 606105819, + -1044525330, + -176418897, + 1200080426, + -1473231341, + -45705983, + 1770035416, + -1958414417, + -42063, + -1990404162, + 1804603682, + -40341101, + -1502002290, + 1236535329, + -165796510, + -1069501632, + 643717713, + -373897302, + -701558691, + 38016083, + -660478335, + -405537848, + 568446438, + -1019803690, + -187363961, + 1163531501, + -1444681467, + -51403784, + 1735328473, + -1926607734, + -378558, + -2022574463, + 1839030562, + -35309556, + -1530992060, + 1272893353, + -155497632, + -1094730640, + 681279174, + -358537222, + -722521979, + 76029189, + -640364487, + -421815835, + 530742520, + -995338651, + -198630844, + 1126891415, + -1416354905, + -57434055, + 1700485571, + -1894986606, + -1051523, + -2054922799, + 1873313359, + -30611744, + -1560198380, + 1309151649, + -145523070, + -1120210379, + 718787259, + -343485551 + ]); + function hash(data, offset, length) { + var h0 = 1732584193, h1 = -271733879, h2 = -1732584194, h3 = 271733878; + var paddedLength = length + 72 & ~63; + var padded = new Uint8Array(paddedLength); + var i, j, n; + for (i = 0; i < length; ++i) { + padded[i] = data[offset++]; + } + padded[i++] = 0x80; + n = paddedLength - 8; + while (i < n) { + padded[i++] = 0; + } + padded[i++] = length << 3 & 0xFF; + padded[i++] = length >> 5 & 0xFF; + padded[i++] = length >> 13 & 0xFF; + padded[i++] = length >> 21 & 0xFF; + padded[i++] = length >>> 29 & 0xFF; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + var w = new Int32Array(16); + for (i = 0; i < paddedLength;) { + for (j = 0; j < 16; ++j, i += 4) { + w[j] = padded[i] | padded[i + 1] << 8 | padded[i + 2] << 16 | padded[i + 3] << 24; + } + var a = h0, b = h1, c = h2, d = h3, f, g; + for (j = 0; j < 64; ++j) { + if (j < 16) { + f = b & c | ~b & d; + g = j; + } else if (j < 32) { + f = d & b | ~d & c; + g = 5 * j + 1 & 15; + } else if (j < 48) { + f = b ^ c ^ d; + g = 3 * j + 5 & 15; + } else { + f = c ^ (b | ~d); + g = 7 * j & 15; + } + var tmp = d, rotateArg = a + f + k[j] + w[g] | 0, rotate = r[j]; + d = c; + c = b; + b = b + (rotateArg << rotate | rotateArg >>> 32 - rotate) | 0; + a = tmp; + } + h0 = h0 + a | 0; + h1 = h1 + b | 0; + h2 = h2 + c | 0; + h3 = h3 + d | 0; + } + return new Uint8Array([ + h0 & 0xFF, + h0 >> 8 & 0xFF, + h0 >> 16 & 0xFF, + h0 >>> 24 & 0xFF, + h1 & 0xFF, + h1 >> 8 & 0xFF, + h1 >> 16 & 0xFF, + h1 >>> 24 & 0xFF, + h2 & 0xFF, + h2 >> 8 & 0xFF, + h2 >> 16 & 0xFF, + h2 >>> 24 & 0xFF, + h3 & 0xFF, + h3 >> 8 & 0xFF, + h3 >> 16 & 0xFF, + h3 >>> 24 & 0xFF + ]); + } + return hash; +}(); +var Word64 = function Word64Closure() { + function Word64(highInteger, lowInteger) { + this.high = highInteger | 0; + this.low = lowInteger | 0; + } + Word64.prototype = { + and: function Word64_and(word) { + this.high &= word.high; + this.low &= word.low; + }, + xor: function Word64_xor(word) { + this.high ^= word.high; + this.low ^= word.low; + }, + or: function Word64_or(word) { + this.high |= word.high; + this.low |= word.low; + }, + shiftRight: function Word64_shiftRight(places) { + if (places >= 32) { + this.low = this.high >>> places - 32 | 0; + this.high = 0; + } else { + this.low = this.low >>> places | this.high << 32 - places; + this.high = this.high >>> places | 0; + } + }, + shiftLeft: function Word64_shiftLeft(places) { + if (places >= 32) { + this.high = this.low << places - 32; + this.low = 0; + } else { + this.high = this.high << places | this.low >>> 32 - places; + this.low = this.low << places; + } + }, + rotateRight: function Word64_rotateRight(places) { + var low, high; + if (places & 32) { + high = this.low; + low = this.high; + } else { + low = this.low; + high = this.high; + } + places &= 31; + this.low = low >>> places | high << 32 - places; + this.high = high >>> places | low << 32 - places; + }, + not: function Word64_not() { + this.high = ~this.high; + this.low = ~this.low; + }, + add: function Word64_add(word) { + var lowAdd = (this.low >>> 0) + (word.low >>> 0); + var highAdd = (this.high >>> 0) + (word.high >>> 0); + if (lowAdd > 0xFFFFFFFF) { + highAdd += 1; + } + this.low = lowAdd | 0; + this.high = highAdd | 0; + }, + copyTo: function Word64_copyTo(bytes, offset) { + bytes[offset] = this.high >>> 24 & 0xFF; + bytes[offset + 1] = this.high >> 16 & 0xFF; + bytes[offset + 2] = this.high >> 8 & 0xFF; + bytes[offset + 3] = this.high & 0xFF; + bytes[offset + 4] = this.low >>> 24 & 0xFF; + bytes[offset + 5] = this.low >> 16 & 0xFF; + bytes[offset + 6] = this.low >> 8 & 0xFF; + bytes[offset + 7] = this.low & 0xFF; + }, + assign: function Word64_assign(word) { + this.high = word.high; + this.low = word.low; + } + }; + return Word64; +}(); +var calculateSHA256 = function calculateSHA256Closure() { + function rotr(x, n) { + return x >>> n | x << 32 - n; + } + function ch(x, y, z) { + return x & y ^ ~x & z; + } + function maj(x, y, z) { + return x & y ^ x & z ^ y & z; + } + function sigma(x) { + return rotr(x, 2) ^ rotr(x, 13) ^ rotr(x, 22); + } + function sigmaPrime(x) { + return rotr(x, 6) ^ rotr(x, 11) ^ rotr(x, 25); + } + function littleSigma(x) { + return rotr(x, 7) ^ rotr(x, 18) ^ x >>> 3; + } + function littleSigmaPrime(x) { + return rotr(x, 17) ^ rotr(x, 19) ^ x >>> 10; + } + var k = [ + 0x428a2f98, + 0x71374491, + 0xb5c0fbcf, + 0xe9b5dba5, + 0x3956c25b, + 0x59f111f1, + 0x923f82a4, + 0xab1c5ed5, + 0xd807aa98, + 0x12835b01, + 0x243185be, + 0x550c7dc3, + 0x72be5d74, + 0x80deb1fe, + 0x9bdc06a7, + 0xc19bf174, + 0xe49b69c1, + 0xefbe4786, + 0x0fc19dc6, + 0x240ca1cc, + 0x2de92c6f, + 0x4a7484aa, + 0x5cb0a9dc, + 0x76f988da, + 0x983e5152, + 0xa831c66d, + 0xb00327c8, + 0xbf597fc7, + 0xc6e00bf3, + 0xd5a79147, + 0x06ca6351, + 0x14292967, + 0x27b70a85, + 0x2e1b2138, + 0x4d2c6dfc, + 0x53380d13, + 0x650a7354, + 0x766a0abb, + 0x81c2c92e, + 0x92722c85, + 0xa2bfe8a1, + 0xa81a664b, + 0xc24b8b70, + 0xc76c51a3, + 0xd192e819, + 0xd6990624, + 0xf40e3585, + 0x106aa070, + 0x19a4c116, + 0x1e376c08, + 0x2748774c, + 0x34b0bcb5, + 0x391c0cb3, + 0x4ed8aa4a, + 0x5b9cca4f, + 0x682e6ff3, + 0x748f82ee, + 0x78a5636f, + 0x84c87814, + 0x8cc70208, + 0x90befffa, + 0xa4506ceb, + 0xbef9a3f7, + 0xc67178f2 + ]; + function hash(data, offset, length) { + var h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a, h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19; + var paddedLength = Math.ceil((length + 9) / 64) * 64; + var padded = new Uint8Array(paddedLength); + var i, j, n; + for (i = 0; i < length; ++i) { + padded[i] = data[offset++]; + } + padded[i++] = 0x80; + n = paddedLength - 8; + while (i < n) { + padded[i++] = 0; + } + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = length >>> 29 & 0xFF; + padded[i++] = length >> 21 & 0xFF; + padded[i++] = length >> 13 & 0xFF; + padded[i++] = length >> 5 & 0xFF; + padded[i++] = length << 3 & 0xFF; + var w = new Uint32Array(64); + for (i = 0; i < paddedLength;) { + for (j = 0; j < 16; ++j) { + w[j] = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3]; + i += 4; + } + for (j = 16; j < 64; ++j) { + w[j] = littleSigmaPrime(w[j - 2]) + w[j - 7] + littleSigma(w[j - 15]) + w[j - 16] | 0; + } + var a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, t1, t2; + for (j = 0; j < 64; ++j) { + t1 = h + sigmaPrime(e) + ch(e, f, g) + k[j] + w[j]; + t2 = sigma(a) + maj(a, b, c); + h = g; + g = f; + f = e; + e = d + t1 | 0; + d = c; + c = b; + b = a; + a = t1 + t2 | 0; + } + h0 = h0 + a | 0; + h1 = h1 + b | 0; + h2 = h2 + c | 0; + h3 = h3 + d | 0; + h4 = h4 + e | 0; + h5 = h5 + f | 0; + h6 = h6 + g | 0; + h7 = h7 + h | 0; + } + return new Uint8Array([ + h0 >> 24 & 0xFF, + h0 >> 16 & 0xFF, + h0 >> 8 & 0xFF, + h0 & 0xFF, + h1 >> 24 & 0xFF, + h1 >> 16 & 0xFF, + h1 >> 8 & 0xFF, + h1 & 0xFF, + h2 >> 24 & 0xFF, + h2 >> 16 & 0xFF, + h2 >> 8 & 0xFF, + h2 & 0xFF, + h3 >> 24 & 0xFF, + h3 >> 16 & 0xFF, + h3 >> 8 & 0xFF, + h3 & 0xFF, + h4 >> 24 & 0xFF, + h4 >> 16 & 0xFF, + h4 >> 8 & 0xFF, + h4 & 0xFF, + h5 >> 24 & 0xFF, + h5 >> 16 & 0xFF, + h5 >> 8 & 0xFF, + h5 & 0xFF, + h6 >> 24 & 0xFF, + h6 >> 16 & 0xFF, + h6 >> 8 & 0xFF, + h6 & 0xFF, + h7 >> 24 & 0xFF, + h7 >> 16 & 0xFF, + h7 >> 8 & 0xFF, + h7 & 0xFF + ]); + } + return hash; +}(); +var calculateSHA512 = function calculateSHA512Closure() { + function ch(result, x, y, z, tmp) { + result.assign(x); + result.and(y); + tmp.assign(x); + tmp.not(); + tmp.and(z); + result.xor(tmp); + } + function maj(result, x, y, z, tmp) { + result.assign(x); + result.and(y); + tmp.assign(x); + tmp.and(z); + result.xor(tmp); + tmp.assign(y); + tmp.and(z); + result.xor(tmp); + } + function sigma(result, x, tmp) { + result.assign(x); + result.rotateRight(28); + tmp.assign(x); + tmp.rotateRight(34); + result.xor(tmp); + tmp.assign(x); + tmp.rotateRight(39); + result.xor(tmp); + } + function sigmaPrime(result, x, tmp) { + result.assign(x); + result.rotateRight(14); + tmp.assign(x); + tmp.rotateRight(18); + result.xor(tmp); + tmp.assign(x); + tmp.rotateRight(41); + result.xor(tmp); + } + function littleSigma(result, x, tmp) { + result.assign(x); + result.rotateRight(1); + tmp.assign(x); + tmp.rotateRight(8); + result.xor(tmp); + tmp.assign(x); + tmp.shiftRight(7); + result.xor(tmp); + } + function littleSigmaPrime(result, x, tmp) { + result.assign(x); + result.rotateRight(19); + tmp.assign(x); + tmp.rotateRight(61); + result.xor(tmp); + tmp.assign(x); + tmp.shiftRight(6); + result.xor(tmp); + } + var k = [ + new Word64(0x428a2f98, 0xd728ae22), + new Word64(0x71374491, 0x23ef65cd), + new Word64(0xb5c0fbcf, 0xec4d3b2f), + new Word64(0xe9b5dba5, 0x8189dbbc), + new Word64(0x3956c25b, 0xf348b538), + new Word64(0x59f111f1, 0xb605d019), + new Word64(0x923f82a4, 0xaf194f9b), + new Word64(0xab1c5ed5, 0xda6d8118), + new Word64(0xd807aa98, 0xa3030242), + new Word64(0x12835b01, 0x45706fbe), + new Word64(0x243185be, 0x4ee4b28c), + new Word64(0x550c7dc3, 0xd5ffb4e2), + new Word64(0x72be5d74, 0xf27b896f), + new Word64(0x80deb1fe, 0x3b1696b1), + new Word64(0x9bdc06a7, 0x25c71235), + new Word64(0xc19bf174, 0xcf692694), + new Word64(0xe49b69c1, 0x9ef14ad2), + new Word64(0xefbe4786, 0x384f25e3), + new Word64(0x0fc19dc6, 0x8b8cd5b5), + new Word64(0x240ca1cc, 0x77ac9c65), + new Word64(0x2de92c6f, 0x592b0275), + new Word64(0x4a7484aa, 0x6ea6e483), + new Word64(0x5cb0a9dc, 0xbd41fbd4), + new Word64(0x76f988da, 0x831153b5), + new Word64(0x983e5152, 0xee66dfab), + new Word64(0xa831c66d, 0x2db43210), + new Word64(0xb00327c8, 0x98fb213f), + new Word64(0xbf597fc7, 0xbeef0ee4), + new Word64(0xc6e00bf3, 0x3da88fc2), + new Word64(0xd5a79147, 0x930aa725), + new Word64(0x06ca6351, 0xe003826f), + new Word64(0x14292967, 0x0a0e6e70), + new Word64(0x27b70a85, 0x46d22ffc), + new Word64(0x2e1b2138, 0x5c26c926), + new Word64(0x4d2c6dfc, 0x5ac42aed), + new Word64(0x53380d13, 0x9d95b3df), + new Word64(0x650a7354, 0x8baf63de), + new Word64(0x766a0abb, 0x3c77b2a8), + new Word64(0x81c2c92e, 0x47edaee6), + new Word64(0x92722c85, 0x1482353b), + new Word64(0xa2bfe8a1, 0x4cf10364), + new Word64(0xa81a664b, 0xbc423001), + new Word64(0xc24b8b70, 0xd0f89791), + new Word64(0xc76c51a3, 0x0654be30), + new Word64(0xd192e819, 0xd6ef5218), + new Word64(0xd6990624, 0x5565a910), + new Word64(0xf40e3585, 0x5771202a), + new Word64(0x106aa070, 0x32bbd1b8), + new Word64(0x19a4c116, 0xb8d2d0c8), + new Word64(0x1e376c08, 0x5141ab53), + new Word64(0x2748774c, 0xdf8eeb99), + new Word64(0x34b0bcb5, 0xe19b48a8), + new Word64(0x391c0cb3, 0xc5c95a63), + new Word64(0x4ed8aa4a, 0xe3418acb), + new Word64(0x5b9cca4f, 0x7763e373), + new Word64(0x682e6ff3, 0xd6b2b8a3), + new Word64(0x748f82ee, 0x5defb2fc), + new Word64(0x78a5636f, 0x43172f60), + new Word64(0x84c87814, 0xa1f0ab72), + new Word64(0x8cc70208, 0x1a6439ec), + new Word64(0x90befffa, 0x23631e28), + new Word64(0xa4506ceb, 0xde82bde9), + new Word64(0xbef9a3f7, 0xb2c67915), + new Word64(0xc67178f2, 0xe372532b), + new Word64(0xca273ece, 0xea26619c), + new Word64(0xd186b8c7, 0x21c0c207), + new Word64(0xeada7dd6, 0xcde0eb1e), + new Word64(0xf57d4f7f, 0xee6ed178), + new Word64(0x06f067aa, 0x72176fba), + new Word64(0x0a637dc5, 0xa2c898a6), + new Word64(0x113f9804, 0xbef90dae), + new Word64(0x1b710b35, 0x131c471b), + new Word64(0x28db77f5, 0x23047d84), + new Word64(0x32caab7b, 0x40c72493), + new Word64(0x3c9ebe0a, 0x15c9bebc), + new Word64(0x431d67c4, 0x9c100d4c), + new Word64(0x4cc5d4be, 0xcb3e42b6), + new Word64(0x597f299c, 0xfc657e2a), + new Word64(0x5fcb6fab, 0x3ad6faec), + new Word64(0x6c44198c, 0x4a475817) + ]; + function hash(data, offset, length, mode384) { + mode384 = !!mode384; + var h0, h1, h2, h3, h4, h5, h6, h7; + if (!mode384) { + h0 = new Word64(0x6a09e667, 0xf3bcc908); + h1 = new Word64(0xbb67ae85, 0x84caa73b); + h2 = new Word64(0x3c6ef372, 0xfe94f82b); + h3 = new Word64(0xa54ff53a, 0x5f1d36f1); + h4 = new Word64(0x510e527f, 0xade682d1); + h5 = new Word64(0x9b05688c, 0x2b3e6c1f); + h6 = new Word64(0x1f83d9ab, 0xfb41bd6b); + h7 = new Word64(0x5be0cd19, 0x137e2179); + } else { + h0 = new Word64(0xcbbb9d5d, 0xc1059ed8); + h1 = new Word64(0x629a292a, 0x367cd507); + h2 = new Word64(0x9159015a, 0x3070dd17); + h3 = new Word64(0x152fecd8, 0xf70e5939); + h4 = new Word64(0x67332667, 0xffc00b31); + h5 = new Word64(0x8eb44a87, 0x68581511); + h6 = new Word64(0xdb0c2e0d, 0x64f98fa7); + h7 = new Word64(0x47b5481d, 0xbefa4fa4); + } + var paddedLength = Math.ceil((length + 17) / 128) * 128; + var padded = new Uint8Array(paddedLength); + var i, j, n; + for (i = 0; i < length; ++i) { + padded[i] = data[offset++]; + } + padded[i++] = 0x80; + n = paddedLength - 16; + while (i < n) { + padded[i++] = 0; + } + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = 0; + padded[i++] = length >>> 29 & 0xFF; + padded[i++] = length >> 21 & 0xFF; + padded[i++] = length >> 13 & 0xFF; + padded[i++] = length >> 5 & 0xFF; + padded[i++] = length << 3 & 0xFF; + var w = new Array(80); + for (i = 0; i < 80; i++) { + w[i] = new Word64(0, 0); + } + var a = new Word64(0, 0), b = new Word64(0, 0), c = new Word64(0, 0); + var d = new Word64(0, 0), e = new Word64(0, 0), f = new Word64(0, 0); + var g = new Word64(0, 0), h = new Word64(0, 0); + var t1 = new Word64(0, 0), t2 = new Word64(0, 0); + var tmp1 = new Word64(0, 0), tmp2 = new Word64(0, 0), tmp3; + for (i = 0; i < paddedLength;) { + for (j = 0; j < 16; ++j) { + w[j].high = padded[i] << 24 | padded[i + 1] << 16 | padded[i + 2] << 8 | padded[i + 3]; + w[j].low = padded[i + 4] << 24 | padded[i + 5] << 16 | padded[i + 6] << 8 | padded[i + 7]; + i += 8; + } + for (j = 16; j < 80; ++j) { + tmp3 = w[j]; + littleSigmaPrime(tmp3, w[j - 2], tmp2); + tmp3.add(w[j - 7]); + littleSigma(tmp1, w[j - 15], tmp2); + tmp3.add(tmp1); + tmp3.add(w[j - 16]); + } + a.assign(h0); + b.assign(h1); + c.assign(h2); + d.assign(h3); + e.assign(h4); + f.assign(h5); + g.assign(h6); + h.assign(h7); + for (j = 0; j < 80; ++j) { + t1.assign(h); + sigmaPrime(tmp1, e, tmp2); + t1.add(tmp1); + ch(tmp1, e, f, g, tmp2); + t1.add(tmp1); + t1.add(k[j]); + t1.add(w[j]); + sigma(t2, a, tmp2); + maj(tmp1, a, b, c, tmp2); + t2.add(tmp1); + tmp3 = h; + h = g; + g = f; + f = e; + d.add(t1); + e = d; + d = c; + c = b; + b = a; + tmp3.assign(t1); + tmp3.add(t2); + a = tmp3; + } + h0.add(a); + h1.add(b); + h2.add(c); + h3.add(d); + h4.add(e); + h5.add(f); + h6.add(g); + h7.add(h); + } + var result; + if (!mode384) { + result = new Uint8Array(64); + h0.copyTo(result, 0); + h1.copyTo(result, 8); + h2.copyTo(result, 16); + h3.copyTo(result, 24); + h4.copyTo(result, 32); + h5.copyTo(result, 40); + h6.copyTo(result, 48); + h7.copyTo(result, 56); + } else { + result = new Uint8Array(48); + h0.copyTo(result, 0); + h1.copyTo(result, 8); + h2.copyTo(result, 16); + h3.copyTo(result, 24); + h4.copyTo(result, 32); + h5.copyTo(result, 40); + } + return result; + } + return hash; +}(); +var calculateSHA384 = function calculateSHA384Closure() { + function hash(data, offset, length) { + return calculateSHA512(data, offset, length, true); + } + return hash; +}(); +var NullCipher = function NullCipherClosure() { + function NullCipher() { + } + NullCipher.prototype = { + decryptBlock: function NullCipher_decryptBlock(data) { + return data; + } + }; + return NullCipher; +}(); +var AES128Cipher = function AES128CipherClosure() { + var rcon = new Uint8Array([ + 0x8d, + 0x01, + 0x02, + 0x04, + 0x08, + 0x10, + 0x20, + 0x40, + 0x80, + 0x1b, + 0x36, + 0x6c, + 0xd8, + 0xab, + 0x4d, + 0x9a, + 0x2f, + 0x5e, + 0xbc, + 0x63, + 0xc6, + 0x97, + 0x35, + 0x6a, + 0xd4, + 0xb3, + 0x7d, + 0xfa, + 0xef, + 0xc5, + 0x91, + 0x39, + 0x72, + 0xe4, + 0xd3, + 0xbd, + 0x61, + 0xc2, + 0x9f, + 0x25, + 0x4a, + 0x94, + 0x33, + 0x66, + 0xcc, + 0x83, + 0x1d, + 0x3a, + 0x74, + 0xe8, + 0xcb, + 0x8d, + 0x01, + 0x02, + 0x04, + 0x08, + 0x10, + 0x20, + 0x40, + 0x80, + 0x1b, + 0x36, + 0x6c, + 0xd8, + 0xab, + 0x4d, + 0x9a, + 0x2f, + 0x5e, + 0xbc, + 0x63, + 0xc6, + 0x97, + 0x35, + 0x6a, + 0xd4, + 0xb3, + 0x7d, + 0xfa, + 0xef, + 0xc5, + 0x91, + 0x39, + 0x72, + 0xe4, + 0xd3, + 0xbd, + 0x61, + 0xc2, + 0x9f, + 0x25, + 0x4a, + 0x94, + 0x33, + 0x66, + 0xcc, + 0x83, + 0x1d, + 0x3a, + 0x74, + 0xe8, + 0xcb, + 0x8d, + 0x01, + 0x02, + 0x04, + 0x08, + 0x10, + 0x20, + 0x40, + 0x80, + 0x1b, + 0x36, + 0x6c, + 0xd8, + 0xab, + 0x4d, + 0x9a, + 0x2f, + 0x5e, + 0xbc, + 0x63, + 0xc6, + 0x97, + 0x35, + 0x6a, + 0xd4, + 0xb3, + 0x7d, + 0xfa, + 0xef, + 0xc5, + 0x91, + 0x39, + 0x72, + 0xe4, + 0xd3, + 0xbd, + 0x61, + 0xc2, + 0x9f, + 0x25, + 0x4a, + 0x94, + 0x33, + 0x66, + 0xcc, + 0x83, + 0x1d, + 0x3a, + 0x74, + 0xe8, + 0xcb, + 0x8d, + 0x01, + 0x02, + 0x04, + 0x08, + 0x10, + 0x20, + 0x40, + 0x80, + 0x1b, + 0x36, + 0x6c, + 0xd8, + 0xab, + 0x4d, + 0x9a, + 0x2f, + 0x5e, + 0xbc, + 0x63, + 0xc6, + 0x97, + 0x35, + 0x6a, + 0xd4, + 0xb3, + 0x7d, + 0xfa, + 0xef, + 0xc5, + 0x91, + 0x39, + 0x72, + 0xe4, + 0xd3, + 0xbd, + 0x61, + 0xc2, + 0x9f, + 0x25, + 0x4a, + 0x94, + 0x33, + 0x66, + 0xcc, + 0x83, + 0x1d, + 0x3a, + 0x74, + 0xe8, + 0xcb, + 0x8d, + 0x01, + 0x02, + 0x04, + 0x08, + 0x10, + 0x20, + 0x40, + 0x80, + 0x1b, + 0x36, + 0x6c, + 0xd8, + 0xab, + 0x4d, + 0x9a, + 0x2f, + 0x5e, + 0xbc, + 0x63, + 0xc6, + 0x97, + 0x35, + 0x6a, + 0xd4, + 0xb3, + 0x7d, + 0xfa, + 0xef, + 0xc5, + 0x91, + 0x39, + 0x72, + 0xe4, + 0xd3, + 0xbd, + 0x61, + 0xc2, + 0x9f, + 0x25, + 0x4a, + 0x94, + 0x33, + 0x66, + 0xcc, + 0x83, + 0x1d, + 0x3a, + 0x74, + 0xe8, + 0xcb, + 0x8d + ]); + var s = new Uint8Array([ + 0x63, + 0x7c, + 0x77, + 0x7b, + 0xf2, + 0x6b, + 0x6f, + 0xc5, + 0x30, + 0x01, + 0x67, + 0x2b, + 0xfe, + 0xd7, + 0xab, + 0x76, + 0xca, + 0x82, + 0xc9, + 0x7d, + 0xfa, + 0x59, + 0x47, + 0xf0, + 0xad, + 0xd4, + 0xa2, + 0xaf, + 0x9c, + 0xa4, + 0x72, + 0xc0, + 0xb7, + 0xfd, + 0x93, + 0x26, + 0x36, + 0x3f, + 0xf7, + 0xcc, + 0x34, + 0xa5, + 0xe5, + 0xf1, + 0x71, + 0xd8, + 0x31, + 0x15, + 0x04, + 0xc7, + 0x23, + 0xc3, + 0x18, + 0x96, + 0x05, + 0x9a, + 0x07, + 0x12, + 0x80, + 0xe2, + 0xeb, + 0x27, + 0xb2, + 0x75, + 0x09, + 0x83, + 0x2c, + 0x1a, + 0x1b, + 0x6e, + 0x5a, + 0xa0, + 0x52, + 0x3b, + 0xd6, + 0xb3, + 0x29, + 0xe3, + 0x2f, + 0x84, + 0x53, + 0xd1, + 0x00, + 0xed, + 0x20, + 0xfc, + 0xb1, + 0x5b, + 0x6a, + 0xcb, + 0xbe, + 0x39, + 0x4a, + 0x4c, + 0x58, + 0xcf, + 0xd0, + 0xef, + 0xaa, + 0xfb, + 0x43, + 0x4d, + 0x33, + 0x85, + 0x45, + 0xf9, + 0x02, + 0x7f, + 0x50, + 0x3c, + 0x9f, + 0xa8, + 0x51, + 0xa3, + 0x40, + 0x8f, + 0x92, + 0x9d, + 0x38, + 0xf5, + 0xbc, + 0xb6, + 0xda, + 0x21, + 0x10, + 0xff, + 0xf3, + 0xd2, + 0xcd, + 0x0c, + 0x13, + 0xec, + 0x5f, + 0x97, + 0x44, + 0x17, + 0xc4, + 0xa7, + 0x7e, + 0x3d, + 0x64, + 0x5d, + 0x19, + 0x73, + 0x60, + 0x81, + 0x4f, + 0xdc, + 0x22, + 0x2a, + 0x90, + 0x88, + 0x46, + 0xee, + 0xb8, + 0x14, + 0xde, + 0x5e, + 0x0b, + 0xdb, + 0xe0, + 0x32, + 0x3a, + 0x0a, + 0x49, + 0x06, + 0x24, + 0x5c, + 0xc2, + 0xd3, + 0xac, + 0x62, + 0x91, + 0x95, + 0xe4, + 0x79, + 0xe7, + 0xc8, + 0x37, + 0x6d, + 0x8d, + 0xd5, + 0x4e, + 0xa9, + 0x6c, + 0x56, + 0xf4, + 0xea, + 0x65, + 0x7a, + 0xae, + 0x08, + 0xba, + 0x78, + 0x25, + 0x2e, + 0x1c, + 0xa6, + 0xb4, + 0xc6, + 0xe8, + 0xdd, + 0x74, + 0x1f, + 0x4b, + 0xbd, + 0x8b, + 0x8a, + 0x70, + 0x3e, + 0xb5, + 0x66, + 0x48, + 0x03, + 0xf6, + 0x0e, + 0x61, + 0x35, + 0x57, + 0xb9, + 0x86, + 0xc1, + 0x1d, + 0x9e, + 0xe1, + 0xf8, + 0x98, + 0x11, + 0x69, + 0xd9, + 0x8e, + 0x94, + 0x9b, + 0x1e, + 0x87, + 0xe9, + 0xce, + 0x55, + 0x28, + 0xdf, + 0x8c, + 0xa1, + 0x89, + 0x0d, + 0xbf, + 0xe6, + 0x42, + 0x68, + 0x41, + 0x99, + 0x2d, + 0x0f, + 0xb0, + 0x54, + 0xbb, + 0x16 + ]); + var inv_s = new Uint8Array([ + 0x52, + 0x09, + 0x6a, + 0xd5, + 0x30, + 0x36, + 0xa5, + 0x38, + 0xbf, + 0x40, + 0xa3, + 0x9e, + 0x81, + 0xf3, + 0xd7, + 0xfb, + 0x7c, + 0xe3, + 0x39, + 0x82, + 0x9b, + 0x2f, + 0xff, + 0x87, + 0x34, + 0x8e, + 0x43, + 0x44, + 0xc4, + 0xde, + 0xe9, + 0xcb, + 0x54, + 0x7b, + 0x94, + 0x32, + 0xa6, + 0xc2, + 0x23, + 0x3d, + 0xee, + 0x4c, + 0x95, + 0x0b, + 0x42, + 0xfa, + 0xc3, + 0x4e, + 0x08, + 0x2e, + 0xa1, + 0x66, + 0x28, + 0xd9, + 0x24, + 0xb2, + 0x76, + 0x5b, + 0xa2, + 0x49, + 0x6d, + 0x8b, + 0xd1, + 0x25, + 0x72, + 0xf8, + 0xf6, + 0x64, + 0x86, + 0x68, + 0x98, + 0x16, + 0xd4, + 0xa4, + 0x5c, + 0xcc, + 0x5d, + 0x65, + 0xb6, + 0x92, + 0x6c, + 0x70, + 0x48, + 0x50, + 0xfd, + 0xed, + 0xb9, + 0xda, + 0x5e, + 0x15, + 0x46, + 0x57, + 0xa7, + 0x8d, + 0x9d, + 0x84, + 0x90, + 0xd8, + 0xab, + 0x00, + 0x8c, + 0xbc, + 0xd3, + 0x0a, + 0xf7, + 0xe4, + 0x58, + 0x05, + 0xb8, + 0xb3, + 0x45, + 0x06, + 0xd0, + 0x2c, + 0x1e, + 0x8f, + 0xca, + 0x3f, + 0x0f, + 0x02, + 0xc1, + 0xaf, + 0xbd, + 0x03, + 0x01, + 0x13, + 0x8a, + 0x6b, + 0x3a, + 0x91, + 0x11, + 0x41, + 0x4f, + 0x67, + 0xdc, + 0xea, + 0x97, + 0xf2, + 0xcf, + 0xce, + 0xf0, + 0xb4, + 0xe6, + 0x73, + 0x96, + 0xac, + 0x74, + 0x22, + 0xe7, + 0xad, + 0x35, + 0x85, + 0xe2, + 0xf9, + 0x37, + 0xe8, + 0x1c, + 0x75, + 0xdf, + 0x6e, + 0x47, + 0xf1, + 0x1a, + 0x71, + 0x1d, + 0x29, + 0xc5, + 0x89, + 0x6f, + 0xb7, + 0x62, + 0x0e, + 0xaa, + 0x18, + 0xbe, + 0x1b, + 0xfc, + 0x56, + 0x3e, + 0x4b, + 0xc6, + 0xd2, + 0x79, + 0x20, + 0x9a, + 0xdb, + 0xc0, + 0xfe, + 0x78, + 0xcd, + 0x5a, + 0xf4, + 0x1f, + 0xdd, + 0xa8, + 0x33, + 0x88, + 0x07, + 0xc7, + 0x31, + 0xb1, + 0x12, + 0x10, + 0x59, + 0x27, + 0x80, + 0xec, + 0x5f, + 0x60, + 0x51, + 0x7f, + 0xa9, + 0x19, + 0xb5, + 0x4a, + 0x0d, + 0x2d, + 0xe5, + 0x7a, + 0x9f, + 0x93, + 0xc9, + 0x9c, + 0xef, + 0xa0, + 0xe0, + 0x3b, + 0x4d, + 0xae, + 0x2a, + 0xf5, + 0xb0, + 0xc8, + 0xeb, + 0xbb, + 0x3c, + 0x83, + 0x53, + 0x99, + 0x61, + 0x17, + 0x2b, + 0x04, + 0x7e, + 0xba, + 0x77, + 0xd6, + 0x26, + 0xe1, + 0x69, + 0x14, + 0x63, + 0x55, + 0x21, + 0x0c, + 0x7d + ]); + var mixCol = new Uint8Array(256); + for (var i = 0; i < 256; i++) { + if (i < 128) { + mixCol[i] = i << 1; + } else { + mixCol[i] = i << 1 ^ 0x1b; + } + } + var mix = new Uint32Array([ + 0x00000000, + 0x0e090d0b, + 0x1c121a16, + 0x121b171d, + 0x3824342c, + 0x362d3927, + 0x24362e3a, + 0x2a3f2331, + 0x70486858, + 0x7e416553, + 0x6c5a724e, + 0x62537f45, + 0x486c5c74, + 0x4665517f, + 0x547e4662, + 0x5a774b69, + 0xe090d0b0, + 0xee99ddbb, + 0xfc82caa6, + 0xf28bc7ad, + 0xd8b4e49c, + 0xd6bde997, + 0xc4a6fe8a, + 0xcaaff381, + 0x90d8b8e8, + 0x9ed1b5e3, + 0x8ccaa2fe, + 0x82c3aff5, + 0xa8fc8cc4, + 0xa6f581cf, + 0xb4ee96d2, + 0xbae79bd9, + 0xdb3bbb7b, + 0xd532b670, + 0xc729a16d, + 0xc920ac66, + 0xe31f8f57, + 0xed16825c, + 0xff0d9541, + 0xf104984a, + 0xab73d323, + 0xa57ade28, + 0xb761c935, + 0xb968c43e, + 0x9357e70f, + 0x9d5eea04, + 0x8f45fd19, + 0x814cf012, + 0x3bab6bcb, + 0x35a266c0, + 0x27b971dd, + 0x29b07cd6, + 0x038f5fe7, + 0x0d8652ec, + 0x1f9d45f1, + 0x119448fa, + 0x4be30393, + 0x45ea0e98, + 0x57f11985, + 0x59f8148e, + 0x73c737bf, + 0x7dce3ab4, + 0x6fd52da9, + 0x61dc20a2, + 0xad766df6, + 0xa37f60fd, + 0xb16477e0, + 0xbf6d7aeb, + 0x955259da, + 0x9b5b54d1, + 0x894043cc, + 0x87494ec7, + 0xdd3e05ae, + 0xd33708a5, + 0xc12c1fb8, + 0xcf2512b3, + 0xe51a3182, + 0xeb133c89, + 0xf9082b94, + 0xf701269f, + 0x4de6bd46, + 0x43efb04d, + 0x51f4a750, + 0x5ffdaa5b, + 0x75c2896a, + 0x7bcb8461, + 0x69d0937c, + 0x67d99e77, + 0x3daed51e, + 0x33a7d815, + 0x21bccf08, + 0x2fb5c203, + 0x058ae132, + 0x0b83ec39, + 0x1998fb24, + 0x1791f62f, + 0x764dd68d, + 0x7844db86, + 0x6a5fcc9b, + 0x6456c190, + 0x4e69e2a1, + 0x4060efaa, + 0x527bf8b7, + 0x5c72f5bc, + 0x0605bed5, + 0x080cb3de, + 0x1a17a4c3, + 0x141ea9c8, + 0x3e218af9, + 0x302887f2, + 0x223390ef, + 0x2c3a9de4, + 0x96dd063d, + 0x98d40b36, + 0x8acf1c2b, + 0x84c61120, + 0xaef93211, + 0xa0f03f1a, + 0xb2eb2807, + 0xbce2250c, + 0xe6956e65, + 0xe89c636e, + 0xfa877473, + 0xf48e7978, + 0xdeb15a49, + 0xd0b85742, + 0xc2a3405f, + 0xccaa4d54, + 0x41ecdaf7, + 0x4fe5d7fc, + 0x5dfec0e1, + 0x53f7cdea, + 0x79c8eedb, + 0x77c1e3d0, + 0x65daf4cd, + 0x6bd3f9c6, + 0x31a4b2af, + 0x3fadbfa4, + 0x2db6a8b9, + 0x23bfa5b2, + 0x09808683, + 0x07898b88, + 0x15929c95, + 0x1b9b919e, + 0xa17c0a47, + 0xaf75074c, + 0xbd6e1051, + 0xb3671d5a, + 0x99583e6b, + 0x97513360, + 0x854a247d, + 0x8b432976, + 0xd134621f, + 0xdf3d6f14, + 0xcd267809, + 0xc32f7502, + 0xe9105633, + 0xe7195b38, + 0xf5024c25, + 0xfb0b412e, + 0x9ad7618c, + 0x94de6c87, + 0x86c57b9a, + 0x88cc7691, + 0xa2f355a0, + 0xacfa58ab, + 0xbee14fb6, + 0xb0e842bd, + 0xea9f09d4, + 0xe49604df, + 0xf68d13c2, + 0xf8841ec9, + 0xd2bb3df8, + 0xdcb230f3, + 0xcea927ee, + 0xc0a02ae5, + 0x7a47b13c, + 0x744ebc37, + 0x6655ab2a, + 0x685ca621, + 0x42638510, + 0x4c6a881b, + 0x5e719f06, + 0x5078920d, + 0x0a0fd964, + 0x0406d46f, + 0x161dc372, + 0x1814ce79, + 0x322bed48, + 0x3c22e043, + 0x2e39f75e, + 0x2030fa55, + 0xec9ab701, + 0xe293ba0a, + 0xf088ad17, + 0xfe81a01c, + 0xd4be832d, + 0xdab78e26, + 0xc8ac993b, + 0xc6a59430, + 0x9cd2df59, + 0x92dbd252, + 0x80c0c54f, + 0x8ec9c844, + 0xa4f6eb75, + 0xaaffe67e, + 0xb8e4f163, + 0xb6edfc68, + 0x0c0a67b1, + 0x02036aba, + 0x10187da7, + 0x1e1170ac, + 0x342e539d, + 0x3a275e96, + 0x283c498b, + 0x26354480, + 0x7c420fe9, + 0x724b02e2, + 0x605015ff, + 0x6e5918f4, + 0x44663bc5, + 0x4a6f36ce, + 0x587421d3, + 0x567d2cd8, + 0x37a10c7a, + 0x39a80171, + 0x2bb3166c, + 0x25ba1b67, + 0x0f853856, + 0x018c355d, + 0x13972240, + 0x1d9e2f4b, + 0x47e96422, + 0x49e06929, + 0x5bfb7e34, + 0x55f2733f, + 0x7fcd500e, + 0x71c45d05, + 0x63df4a18, + 0x6dd64713, + 0xd731dcca, + 0xd938d1c1, + 0xcb23c6dc, + 0xc52acbd7, + 0xef15e8e6, + 0xe11ce5ed, + 0xf307f2f0, + 0xfd0efffb, + 0xa779b492, + 0xa970b999, + 0xbb6bae84, + 0xb562a38f, + 0x9f5d80be, + 0x91548db5, + 0x834f9aa8, + 0x8d4697a3 + ]); + function expandKey128(cipherKey) { + var b = 176, result = new Uint8Array(b); + result.set(cipherKey); + for (var j = 16, i = 1; j < b; ++i) { + var t1 = result[j - 3], t2 = result[j - 2], t3 = result[j - 1], t4 = result[j - 4]; + t1 = s[t1]; + t2 = s[t2]; + t3 = s[t3]; + t4 = s[t4]; + t1 = t1 ^ rcon[i]; + for (var n = 0; n < 4; ++n) { + result[j] = t1 ^= result[j - 16]; + j++; + result[j] = t2 ^= result[j - 16]; + j++; + result[j] = t3 ^= result[j - 16]; + j++; + result[j] = t4 ^= result[j - 16]; + j++; + } + } + return result; + } + function decrypt128(input, key) { + var state = new Uint8Array(16); + state.set(input); + var i, j, k; + var t, u, v; + for (j = 0, k = 160; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + for (i = 9; i >= 1; --i) { + t = state[13]; + state[13] = state[9]; + state[9] = state[5]; + state[5] = state[1]; + state[1] = t; + t = state[14]; + u = state[10]; + state[14] = state[6]; + state[10] = state[2]; + state[6] = t; + state[2] = u; + t = state[15]; + u = state[11]; + v = state[7]; + state[15] = state[3]; + state[11] = t; + state[7] = u; + state[3] = v; + for (j = 0; j < 16; ++j) { + state[j] = inv_s[state[j]]; + } + for (j = 0, k = i * 16; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + for (j = 0; j < 16; j += 4) { + var s0 = mix[state[j]], s1 = mix[state[j + 1]], s2 = mix[state[j + 2]], s3 = mix[state[j + 3]]; + t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8; + state[j] = t >>> 24 & 0xFF; + state[j + 1] = t >> 16 & 0xFF; + state[j + 2] = t >> 8 & 0xFF; + state[j + 3] = t & 0xFF; + } + } + t = state[13]; + state[13] = state[9]; + state[9] = state[5]; + state[5] = state[1]; + state[1] = t; + t = state[14]; + u = state[10]; + state[14] = state[6]; + state[10] = state[2]; + state[6] = t; + state[2] = u; + t = state[15]; + u = state[11]; + v = state[7]; + state[15] = state[3]; + state[11] = t; + state[7] = u; + state[3] = v; + for (j = 0; j < 16; ++j) { + state[j] = inv_s[state[j]]; + state[j] ^= key[j]; + } + return state; + } + function encrypt128(input, key) { + var t, u, v, k; + var state = new Uint8Array(16); + state.set(input); + for (j = 0; j < 16; ++j) { + state[j] ^= key[j]; + } + for (i = 1; i < 10; i++) { + for (j = 0; j < 16; ++j) { + state[j] = s[state[j]]; + } + v = state[1]; + state[1] = state[5]; + state[5] = state[9]; + state[9] = state[13]; + state[13] = v; + v = state[2]; + u = state[6]; + state[2] = state[10]; + state[6] = state[14]; + state[10] = v; + state[14] = u; + v = state[3]; + u = state[7]; + t = state[11]; + state[3] = state[15]; + state[7] = v; + state[11] = u; + state[15] = t; + for (var j = 0; j < 16; j += 4) { + var s0 = state[j + 0], s1 = state[j + 1]; + var s2 = state[j + 2], s3 = state[j + 3]; + t = s0 ^ s1 ^ s2 ^ s3; + state[j + 0] ^= t ^ mixCol[s0 ^ s1]; + state[j + 1] ^= t ^ mixCol[s1 ^ s2]; + state[j + 2] ^= t ^ mixCol[s2 ^ s3]; + state[j + 3] ^= t ^ mixCol[s3 ^ s0]; + } + for (j = 0, k = i * 16; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + } + for (j = 0; j < 16; ++j) { + state[j] = s[state[j]]; + } + v = state[1]; + state[1] = state[5]; + state[5] = state[9]; + state[9] = state[13]; + state[13] = v; + v = state[2]; + u = state[6]; + state[2] = state[10]; + state[6] = state[14]; + state[10] = v; + state[14] = u; + v = state[3]; + u = state[7]; + t = state[11]; + state[3] = state[15]; + state[7] = v; + state[11] = u; + state[15] = t; + for (j = 0, k = 160; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + return state; + } + function AES128Cipher(key) { + this.key = expandKey128(key); + this.buffer = new Uint8Array(16); + this.bufferPosition = 0; + } + function decryptBlock2(data, finalize) { + var i, j, ii, sourceLength = data.length, buffer = this.buffer, bufferLength = this.bufferPosition, result = [], iv = this.iv; + for (i = 0; i < sourceLength; ++i) { + buffer[bufferLength] = data[i]; + ++bufferLength; + if (bufferLength < 16) { + continue; + } + var plain = decrypt128(buffer, this.key); + for (j = 0; j < 16; ++j) { + plain[j] ^= iv[j]; + } + iv = buffer; + result.push(plain); + buffer = new Uint8Array(16); + bufferLength = 0; + } + this.buffer = buffer; + this.bufferLength = bufferLength; + this.iv = iv; + if (result.length === 0) { + return new Uint8Array([]); + } + var outputLength = 16 * result.length; + if (finalize) { + var lastBlock = result[result.length - 1]; + var psLen = lastBlock[15]; + if (psLen <= 16) { + for (i = 15, ii = 16 - psLen; i >= ii; --i) { + if (lastBlock[i] !== psLen) { + psLen = 0; + break; + } + } + outputLength -= psLen; + result[result.length - 1] = lastBlock.subarray(0, 16 - psLen); + } + } + var output = new Uint8Array(outputLength); + for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) { + output.set(result[i], j); + } + return output; + } + AES128Cipher.prototype = { + decryptBlock: function AES128Cipher_decryptBlock(data, finalize) { + var i, sourceLength = data.length; + var buffer = this.buffer, bufferLength = this.bufferPosition; + for (i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) { + buffer[bufferLength] = data[i]; + } + if (bufferLength < 16) { + this.bufferLength = bufferLength; + return new Uint8Array([]); + } + this.iv = buffer; + this.buffer = new Uint8Array(16); + this.bufferLength = 0; + this.decryptBlock = decryptBlock2; + return this.decryptBlock(data.subarray(16), finalize); + }, + encrypt: function AES128Cipher_encrypt(data, iv) { + var i, j, ii, sourceLength = data.length, buffer = this.buffer, bufferLength = this.bufferPosition, result = []; + if (!iv) { + iv = new Uint8Array(16); + } + for (i = 0; i < sourceLength; ++i) { + buffer[bufferLength] = data[i]; + ++bufferLength; + if (bufferLength < 16) { + continue; + } + for (j = 0; j < 16; ++j) { + buffer[j] ^= iv[j]; + } + var cipher = encrypt128(buffer, this.key); + iv = cipher; + result.push(cipher); + buffer = new Uint8Array(16); + bufferLength = 0; + } + this.buffer = buffer; + this.bufferLength = bufferLength; + this.iv = iv; + if (result.length === 0) { + return new Uint8Array([]); + } + var outputLength = 16 * result.length; + var output = new Uint8Array(outputLength); + for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) { + output.set(result[i], j); + } + return output; + } + }; + return AES128Cipher; +}(); +var AES256Cipher = function AES256CipherClosure() { + var s = new Uint8Array([ + 0x63, + 0x7c, + 0x77, + 0x7b, + 0xf2, + 0x6b, + 0x6f, + 0xc5, + 0x30, + 0x01, + 0x67, + 0x2b, + 0xfe, + 0xd7, + 0xab, + 0x76, + 0xca, + 0x82, + 0xc9, + 0x7d, + 0xfa, + 0x59, + 0x47, + 0xf0, + 0xad, + 0xd4, + 0xa2, + 0xaf, + 0x9c, + 0xa4, + 0x72, + 0xc0, + 0xb7, + 0xfd, + 0x93, + 0x26, + 0x36, + 0x3f, + 0xf7, + 0xcc, + 0x34, + 0xa5, + 0xe5, + 0xf1, + 0x71, + 0xd8, + 0x31, + 0x15, + 0x04, + 0xc7, + 0x23, + 0xc3, + 0x18, + 0x96, + 0x05, + 0x9a, + 0x07, + 0x12, + 0x80, + 0xe2, + 0xeb, + 0x27, + 0xb2, + 0x75, + 0x09, + 0x83, + 0x2c, + 0x1a, + 0x1b, + 0x6e, + 0x5a, + 0xa0, + 0x52, + 0x3b, + 0xd6, + 0xb3, + 0x29, + 0xe3, + 0x2f, + 0x84, + 0x53, + 0xd1, + 0x00, + 0xed, + 0x20, + 0xfc, + 0xb1, + 0x5b, + 0x6a, + 0xcb, + 0xbe, + 0x39, + 0x4a, + 0x4c, + 0x58, + 0xcf, + 0xd0, + 0xef, + 0xaa, + 0xfb, + 0x43, + 0x4d, + 0x33, + 0x85, + 0x45, + 0xf9, + 0x02, + 0x7f, + 0x50, + 0x3c, + 0x9f, + 0xa8, + 0x51, + 0xa3, + 0x40, + 0x8f, + 0x92, + 0x9d, + 0x38, + 0xf5, + 0xbc, + 0xb6, + 0xda, + 0x21, + 0x10, + 0xff, + 0xf3, + 0xd2, + 0xcd, + 0x0c, + 0x13, + 0xec, + 0x5f, + 0x97, + 0x44, + 0x17, + 0xc4, + 0xa7, + 0x7e, + 0x3d, + 0x64, + 0x5d, + 0x19, + 0x73, + 0x60, + 0x81, + 0x4f, + 0xdc, + 0x22, + 0x2a, + 0x90, + 0x88, + 0x46, + 0xee, + 0xb8, + 0x14, + 0xde, + 0x5e, + 0x0b, + 0xdb, + 0xe0, + 0x32, + 0x3a, + 0x0a, + 0x49, + 0x06, + 0x24, + 0x5c, + 0xc2, + 0xd3, + 0xac, + 0x62, + 0x91, + 0x95, + 0xe4, + 0x79, + 0xe7, + 0xc8, + 0x37, + 0x6d, + 0x8d, + 0xd5, + 0x4e, + 0xa9, + 0x6c, + 0x56, + 0xf4, + 0xea, + 0x65, + 0x7a, + 0xae, + 0x08, + 0xba, + 0x78, + 0x25, + 0x2e, + 0x1c, + 0xa6, + 0xb4, + 0xc6, + 0xe8, + 0xdd, + 0x74, + 0x1f, + 0x4b, + 0xbd, + 0x8b, + 0x8a, + 0x70, + 0x3e, + 0xb5, + 0x66, + 0x48, + 0x03, + 0xf6, + 0x0e, + 0x61, + 0x35, + 0x57, + 0xb9, + 0x86, + 0xc1, + 0x1d, + 0x9e, + 0xe1, + 0xf8, + 0x98, + 0x11, + 0x69, + 0xd9, + 0x8e, + 0x94, + 0x9b, + 0x1e, + 0x87, + 0xe9, + 0xce, + 0x55, + 0x28, + 0xdf, + 0x8c, + 0xa1, + 0x89, + 0x0d, + 0xbf, + 0xe6, + 0x42, + 0x68, + 0x41, + 0x99, + 0x2d, + 0x0f, + 0xb0, + 0x54, + 0xbb, + 0x16 + ]); + var inv_s = new Uint8Array([ + 0x52, + 0x09, + 0x6a, + 0xd5, + 0x30, + 0x36, + 0xa5, + 0x38, + 0xbf, + 0x40, + 0xa3, + 0x9e, + 0x81, + 0xf3, + 0xd7, + 0xfb, + 0x7c, + 0xe3, + 0x39, + 0x82, + 0x9b, + 0x2f, + 0xff, + 0x87, + 0x34, + 0x8e, + 0x43, + 0x44, + 0xc4, + 0xde, + 0xe9, + 0xcb, + 0x54, + 0x7b, + 0x94, + 0x32, + 0xa6, + 0xc2, + 0x23, + 0x3d, + 0xee, + 0x4c, + 0x95, + 0x0b, + 0x42, + 0xfa, + 0xc3, + 0x4e, + 0x08, + 0x2e, + 0xa1, + 0x66, + 0x28, + 0xd9, + 0x24, + 0xb2, + 0x76, + 0x5b, + 0xa2, + 0x49, + 0x6d, + 0x8b, + 0xd1, + 0x25, + 0x72, + 0xf8, + 0xf6, + 0x64, + 0x86, + 0x68, + 0x98, + 0x16, + 0xd4, + 0xa4, + 0x5c, + 0xcc, + 0x5d, + 0x65, + 0xb6, + 0x92, + 0x6c, + 0x70, + 0x48, + 0x50, + 0xfd, + 0xed, + 0xb9, + 0xda, + 0x5e, + 0x15, + 0x46, + 0x57, + 0xa7, + 0x8d, + 0x9d, + 0x84, + 0x90, + 0xd8, + 0xab, + 0x00, + 0x8c, + 0xbc, + 0xd3, + 0x0a, + 0xf7, + 0xe4, + 0x58, + 0x05, + 0xb8, + 0xb3, + 0x45, + 0x06, + 0xd0, + 0x2c, + 0x1e, + 0x8f, + 0xca, + 0x3f, + 0x0f, + 0x02, + 0xc1, + 0xaf, + 0xbd, + 0x03, + 0x01, + 0x13, + 0x8a, + 0x6b, + 0x3a, + 0x91, + 0x11, + 0x41, + 0x4f, + 0x67, + 0xdc, + 0xea, + 0x97, + 0xf2, + 0xcf, + 0xce, + 0xf0, + 0xb4, + 0xe6, + 0x73, + 0x96, + 0xac, + 0x74, + 0x22, + 0xe7, + 0xad, + 0x35, + 0x85, + 0xe2, + 0xf9, + 0x37, + 0xe8, + 0x1c, + 0x75, + 0xdf, + 0x6e, + 0x47, + 0xf1, + 0x1a, + 0x71, + 0x1d, + 0x29, + 0xc5, + 0x89, + 0x6f, + 0xb7, + 0x62, + 0x0e, + 0xaa, + 0x18, + 0xbe, + 0x1b, + 0xfc, + 0x56, + 0x3e, + 0x4b, + 0xc6, + 0xd2, + 0x79, + 0x20, + 0x9a, + 0xdb, + 0xc0, + 0xfe, + 0x78, + 0xcd, + 0x5a, + 0xf4, + 0x1f, + 0xdd, + 0xa8, + 0x33, + 0x88, + 0x07, + 0xc7, + 0x31, + 0xb1, + 0x12, + 0x10, + 0x59, + 0x27, + 0x80, + 0xec, + 0x5f, + 0x60, + 0x51, + 0x7f, + 0xa9, + 0x19, + 0xb5, + 0x4a, + 0x0d, + 0x2d, + 0xe5, + 0x7a, + 0x9f, + 0x93, + 0xc9, + 0x9c, + 0xef, + 0xa0, + 0xe0, + 0x3b, + 0x4d, + 0xae, + 0x2a, + 0xf5, + 0xb0, + 0xc8, + 0xeb, + 0xbb, + 0x3c, + 0x83, + 0x53, + 0x99, + 0x61, + 0x17, + 0x2b, + 0x04, + 0x7e, + 0xba, + 0x77, + 0xd6, + 0x26, + 0xe1, + 0x69, + 0x14, + 0x63, + 0x55, + 0x21, + 0x0c, + 0x7d + ]); + var mixCol = new Uint8Array(256); + for (var i = 0; i < 256; i++) { + if (i < 128) { + mixCol[i] = i << 1; + } else { + mixCol[i] = i << 1 ^ 0x1b; + } + } + var mix = new Uint32Array([ + 0x00000000, + 0x0e090d0b, + 0x1c121a16, + 0x121b171d, + 0x3824342c, + 0x362d3927, + 0x24362e3a, + 0x2a3f2331, + 0x70486858, + 0x7e416553, + 0x6c5a724e, + 0x62537f45, + 0x486c5c74, + 0x4665517f, + 0x547e4662, + 0x5a774b69, + 0xe090d0b0, + 0xee99ddbb, + 0xfc82caa6, + 0xf28bc7ad, + 0xd8b4e49c, + 0xd6bde997, + 0xc4a6fe8a, + 0xcaaff381, + 0x90d8b8e8, + 0x9ed1b5e3, + 0x8ccaa2fe, + 0x82c3aff5, + 0xa8fc8cc4, + 0xa6f581cf, + 0xb4ee96d2, + 0xbae79bd9, + 0xdb3bbb7b, + 0xd532b670, + 0xc729a16d, + 0xc920ac66, + 0xe31f8f57, + 0xed16825c, + 0xff0d9541, + 0xf104984a, + 0xab73d323, + 0xa57ade28, + 0xb761c935, + 0xb968c43e, + 0x9357e70f, + 0x9d5eea04, + 0x8f45fd19, + 0x814cf012, + 0x3bab6bcb, + 0x35a266c0, + 0x27b971dd, + 0x29b07cd6, + 0x038f5fe7, + 0x0d8652ec, + 0x1f9d45f1, + 0x119448fa, + 0x4be30393, + 0x45ea0e98, + 0x57f11985, + 0x59f8148e, + 0x73c737bf, + 0x7dce3ab4, + 0x6fd52da9, + 0x61dc20a2, + 0xad766df6, + 0xa37f60fd, + 0xb16477e0, + 0xbf6d7aeb, + 0x955259da, + 0x9b5b54d1, + 0x894043cc, + 0x87494ec7, + 0xdd3e05ae, + 0xd33708a5, + 0xc12c1fb8, + 0xcf2512b3, + 0xe51a3182, + 0xeb133c89, + 0xf9082b94, + 0xf701269f, + 0x4de6bd46, + 0x43efb04d, + 0x51f4a750, + 0x5ffdaa5b, + 0x75c2896a, + 0x7bcb8461, + 0x69d0937c, + 0x67d99e77, + 0x3daed51e, + 0x33a7d815, + 0x21bccf08, + 0x2fb5c203, + 0x058ae132, + 0x0b83ec39, + 0x1998fb24, + 0x1791f62f, + 0x764dd68d, + 0x7844db86, + 0x6a5fcc9b, + 0x6456c190, + 0x4e69e2a1, + 0x4060efaa, + 0x527bf8b7, + 0x5c72f5bc, + 0x0605bed5, + 0x080cb3de, + 0x1a17a4c3, + 0x141ea9c8, + 0x3e218af9, + 0x302887f2, + 0x223390ef, + 0x2c3a9de4, + 0x96dd063d, + 0x98d40b36, + 0x8acf1c2b, + 0x84c61120, + 0xaef93211, + 0xa0f03f1a, + 0xb2eb2807, + 0xbce2250c, + 0xe6956e65, + 0xe89c636e, + 0xfa877473, + 0xf48e7978, + 0xdeb15a49, + 0xd0b85742, + 0xc2a3405f, + 0xccaa4d54, + 0x41ecdaf7, + 0x4fe5d7fc, + 0x5dfec0e1, + 0x53f7cdea, + 0x79c8eedb, + 0x77c1e3d0, + 0x65daf4cd, + 0x6bd3f9c6, + 0x31a4b2af, + 0x3fadbfa4, + 0x2db6a8b9, + 0x23bfa5b2, + 0x09808683, + 0x07898b88, + 0x15929c95, + 0x1b9b919e, + 0xa17c0a47, + 0xaf75074c, + 0xbd6e1051, + 0xb3671d5a, + 0x99583e6b, + 0x97513360, + 0x854a247d, + 0x8b432976, + 0xd134621f, + 0xdf3d6f14, + 0xcd267809, + 0xc32f7502, + 0xe9105633, + 0xe7195b38, + 0xf5024c25, + 0xfb0b412e, + 0x9ad7618c, + 0x94de6c87, + 0x86c57b9a, + 0x88cc7691, + 0xa2f355a0, + 0xacfa58ab, + 0xbee14fb6, + 0xb0e842bd, + 0xea9f09d4, + 0xe49604df, + 0xf68d13c2, + 0xf8841ec9, + 0xd2bb3df8, + 0xdcb230f3, + 0xcea927ee, + 0xc0a02ae5, + 0x7a47b13c, + 0x744ebc37, + 0x6655ab2a, + 0x685ca621, + 0x42638510, + 0x4c6a881b, + 0x5e719f06, + 0x5078920d, + 0x0a0fd964, + 0x0406d46f, + 0x161dc372, + 0x1814ce79, + 0x322bed48, + 0x3c22e043, + 0x2e39f75e, + 0x2030fa55, + 0xec9ab701, + 0xe293ba0a, + 0xf088ad17, + 0xfe81a01c, + 0xd4be832d, + 0xdab78e26, + 0xc8ac993b, + 0xc6a59430, + 0x9cd2df59, + 0x92dbd252, + 0x80c0c54f, + 0x8ec9c844, + 0xa4f6eb75, + 0xaaffe67e, + 0xb8e4f163, + 0xb6edfc68, + 0x0c0a67b1, + 0x02036aba, + 0x10187da7, + 0x1e1170ac, + 0x342e539d, + 0x3a275e96, + 0x283c498b, + 0x26354480, + 0x7c420fe9, + 0x724b02e2, + 0x605015ff, + 0x6e5918f4, + 0x44663bc5, + 0x4a6f36ce, + 0x587421d3, + 0x567d2cd8, + 0x37a10c7a, + 0x39a80171, + 0x2bb3166c, + 0x25ba1b67, + 0x0f853856, + 0x018c355d, + 0x13972240, + 0x1d9e2f4b, + 0x47e96422, + 0x49e06929, + 0x5bfb7e34, + 0x55f2733f, + 0x7fcd500e, + 0x71c45d05, + 0x63df4a18, + 0x6dd64713, + 0xd731dcca, + 0xd938d1c1, + 0xcb23c6dc, + 0xc52acbd7, + 0xef15e8e6, + 0xe11ce5ed, + 0xf307f2f0, + 0xfd0efffb, + 0xa779b492, + 0xa970b999, + 0xbb6bae84, + 0xb562a38f, + 0x9f5d80be, + 0x91548db5, + 0x834f9aa8, + 0x8d4697a3 + ]); + function expandKey256(cipherKey) { + var b = 240, result = new Uint8Array(b); + var r = 1; + result.set(cipherKey); + for (var j = 32, i = 1; j < b; ++i) { + if (j % 32 === 16) { + t1 = s[t1]; + t2 = s[t2]; + t3 = s[t3]; + t4 = s[t4]; + } else if (j % 32 === 0) { + var t1 = result[j - 3], t2 = result[j - 2], t3 = result[j - 1], t4 = result[j - 4]; + t1 = s[t1]; + t2 = s[t2]; + t3 = s[t3]; + t4 = s[t4]; + t1 = t1 ^ r; + if ((r <<= 1) >= 256) { + r = (r ^ 0x1b) & 0xFF; + } + } + for (var n = 0; n < 4; ++n) { + result[j] = t1 ^= result[j - 32]; + j++; + result[j] = t2 ^= result[j - 32]; + j++; + result[j] = t3 ^= result[j - 32]; + j++; + result[j] = t4 ^= result[j - 32]; + j++; + } + } + return result; + } + function decrypt256(input, key) { + var state = new Uint8Array(16); + state.set(input); + var i, j, k; + var t, u, v; + for (j = 0, k = 224; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + for (i = 13; i >= 1; --i) { + t = state[13]; + state[13] = state[9]; + state[9] = state[5]; + state[5] = state[1]; + state[1] = t; + t = state[14]; + u = state[10]; + state[14] = state[6]; + state[10] = state[2]; + state[6] = t; + state[2] = u; + t = state[15]; + u = state[11]; + v = state[7]; + state[15] = state[3]; + state[11] = t; + state[7] = u; + state[3] = v; + for (j = 0; j < 16; ++j) { + state[j] = inv_s[state[j]]; + } + for (j = 0, k = i * 16; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + for (j = 0; j < 16; j += 4) { + var s0 = mix[state[j]], s1 = mix[state[j + 1]], s2 = mix[state[j + 2]], s3 = mix[state[j + 3]]; + t = s0 ^ s1 >>> 8 ^ s1 << 24 ^ s2 >>> 16 ^ s2 << 16 ^ s3 >>> 24 ^ s3 << 8; + state[j] = t >>> 24 & 0xFF; + state[j + 1] = t >> 16 & 0xFF; + state[j + 2] = t >> 8 & 0xFF; + state[j + 3] = t & 0xFF; + } + } + t = state[13]; + state[13] = state[9]; + state[9] = state[5]; + state[5] = state[1]; + state[1] = t; + t = state[14]; + u = state[10]; + state[14] = state[6]; + state[10] = state[2]; + state[6] = t; + state[2] = u; + t = state[15]; + u = state[11]; + v = state[7]; + state[15] = state[3]; + state[11] = t; + state[7] = u; + state[3] = v; + for (j = 0; j < 16; ++j) { + state[j] = inv_s[state[j]]; + state[j] ^= key[j]; + } + return state; + } + function encrypt256(input, key) { + var t, u, v, k; + var state = new Uint8Array(16); + state.set(input); + for (j = 0; j < 16; ++j) { + state[j] ^= key[j]; + } + for (i = 1; i < 14; i++) { + for (j = 0; j < 16; ++j) { + state[j] = s[state[j]]; + } + v = state[1]; + state[1] = state[5]; + state[5] = state[9]; + state[9] = state[13]; + state[13] = v; + v = state[2]; + u = state[6]; + state[2] = state[10]; + state[6] = state[14]; + state[10] = v; + state[14] = u; + v = state[3]; + u = state[7]; + t = state[11]; + state[3] = state[15]; + state[7] = v; + state[11] = u; + state[15] = t; + for (var j = 0; j < 16; j += 4) { + var s0 = state[j + 0], s1 = state[j + 1]; + var s2 = state[j + 2], s3 = state[j + 3]; + t = s0 ^ s1 ^ s2 ^ s3; + state[j + 0] ^= t ^ mixCol[s0 ^ s1]; + state[j + 1] ^= t ^ mixCol[s1 ^ s2]; + state[j + 2] ^= t ^ mixCol[s2 ^ s3]; + state[j + 3] ^= t ^ mixCol[s3 ^ s0]; + } + for (j = 0, k = i * 16; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + } + for (j = 0; j < 16; ++j) { + state[j] = s[state[j]]; + } + v = state[1]; + state[1] = state[5]; + state[5] = state[9]; + state[9] = state[13]; + state[13] = v; + v = state[2]; + u = state[6]; + state[2] = state[10]; + state[6] = state[14]; + state[10] = v; + state[14] = u; + v = state[3]; + u = state[7]; + t = state[11]; + state[3] = state[15]; + state[7] = v; + state[11] = u; + state[15] = t; + for (j = 0, k = 224; j < 16; ++j, ++k) { + state[j] ^= key[k]; + } + return state; + } + function AES256Cipher(key) { + this.key = expandKey256(key); + this.buffer = new Uint8Array(16); + this.bufferPosition = 0; + } + function decryptBlock2(data, finalize) { + var i, j, ii, sourceLength = data.length, buffer = this.buffer, bufferLength = this.bufferPosition, result = [], iv = this.iv; + for (i = 0; i < sourceLength; ++i) { + buffer[bufferLength] = data[i]; + ++bufferLength; + if (bufferLength < 16) { + continue; + } + var plain = decrypt256(buffer, this.key); + for (j = 0; j < 16; ++j) { + plain[j] ^= iv[j]; + } + iv = buffer; + result.push(plain); + buffer = new Uint8Array(16); + bufferLength = 0; + } + this.buffer = buffer; + this.bufferLength = bufferLength; + this.iv = iv; + if (result.length === 0) { + return new Uint8Array([]); + } + var outputLength = 16 * result.length; + if (finalize) { + var lastBlock = result[result.length - 1]; + var psLen = lastBlock[15]; + if (psLen <= 16) { + for (i = 15, ii = 16 - psLen; i >= ii; --i) { + if (lastBlock[i] !== psLen) { + psLen = 0; + break; + } + } + outputLength -= psLen; + result[result.length - 1] = lastBlock.subarray(0, 16 - psLen); + } + } + var output = new Uint8Array(outputLength); + for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) { + output.set(result[i], j); + } + return output; + } + AES256Cipher.prototype = { + decryptBlock: function AES256Cipher_decryptBlock(data, finalize, iv) { + var i, sourceLength = data.length; + var buffer = this.buffer, bufferLength = this.bufferPosition; + if (iv) { + this.iv = iv; + } else { + for (i = 0; bufferLength < 16 && i < sourceLength; ++i, ++bufferLength) { + buffer[bufferLength] = data[i]; + } + if (bufferLength < 16) { + this.bufferLength = bufferLength; + return new Uint8Array([]); + } + this.iv = buffer; + data = data.subarray(16); + } + this.buffer = new Uint8Array(16); + this.bufferLength = 0; + this.decryptBlock = decryptBlock2; + return this.decryptBlock(data, finalize); + }, + encrypt: function AES256Cipher_encrypt(data, iv) { + var i, j, ii, sourceLength = data.length, buffer = this.buffer, bufferLength = this.bufferPosition, result = []; + if (!iv) { + iv = new Uint8Array(16); + } + for (i = 0; i < sourceLength; ++i) { + buffer[bufferLength] = data[i]; + ++bufferLength; + if (bufferLength < 16) { + continue; + } + for (j = 0; j < 16; ++j) { + buffer[j] ^= iv[j]; + } + var cipher = encrypt256(buffer, this.key); + this.iv = cipher; + result.push(cipher); + buffer = new Uint8Array(16); + bufferLength = 0; + } + this.buffer = buffer; + this.bufferLength = bufferLength; + this.iv = iv; + if (result.length === 0) { + return new Uint8Array([]); + } + var outputLength = 16 * result.length; + var output = new Uint8Array(outputLength); + for (i = 0, j = 0, ii = result.length; i < ii; ++i, j += 16) { + output.set(result[i], j); + } + return output; + } + }; + return AES256Cipher; +}(); +var PDF17 = function PDF17Closure() { + function compareByteArrays(array1, array2) { + if (array1.length !== array2.length) { + return false; + } + for (var i = 0; i < array1.length; i++) { + if (array1[i] !== array2[i]) { + return false; + } + } + return true; + } + function PDF17() { + } + PDF17.prototype = { + checkOwnerPassword: function PDF17_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) { + var hashData = new Uint8Array(password.length + 56); + hashData.set(password, 0); + hashData.set(ownerValidationSalt, password.length); + hashData.set(userBytes, password.length + ownerValidationSalt.length); + var result = calculateSHA256(hashData, 0, hashData.length); + return compareByteArrays(result, ownerPassword); + }, + checkUserPassword: function PDF17_checkUserPassword(password, userValidationSalt, userPassword) { + var hashData = new Uint8Array(password.length + 8); + hashData.set(password, 0); + hashData.set(userValidationSalt, password.length); + var result = calculateSHA256(hashData, 0, hashData.length); + return compareByteArrays(result, userPassword); + }, + getOwnerKey: function PDF17_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) { + var hashData = new Uint8Array(password.length + 56); + hashData.set(password, 0); + hashData.set(ownerKeySalt, password.length); + hashData.set(userBytes, password.length + ownerKeySalt.length); + var key = calculateSHA256(hashData, 0, hashData.length); + var cipher = new AES256Cipher(key); + return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16)); + }, + getUserKey: function PDF17_getUserKey(password, userKeySalt, userEncryption) { + var hashData = new Uint8Array(password.length + 8); + hashData.set(password, 0); + hashData.set(userKeySalt, password.length); + var key = calculateSHA256(hashData, 0, hashData.length); + var cipher = new AES256Cipher(key); + return cipher.decryptBlock(userEncryption, false, new Uint8Array(16)); + } + }; + return PDF17; +}(); +var PDF20 = function PDF20Closure() { + function concatArrays(array1, array2) { + var t = new Uint8Array(array1.length + array2.length); + t.set(array1, 0); + t.set(array2, array1.length); + return t; + } + function calculatePDF20Hash(password, input, userBytes) { + var k = calculateSHA256(input, 0, input.length).subarray(0, 32); + var e = [0]; + var i = 0; + while (i < 64 || e[e.length - 1] > i - 32) { + var arrayLength = password.length + k.length + userBytes.length; + var k1 = new Uint8Array(arrayLength * 64); + var array = concatArrays(password, k); + array = concatArrays(array, userBytes); + for (var j = 0, pos = 0; j < 64; j++, pos += arrayLength) { + k1.set(array, pos); + } + var cipher = new AES128Cipher(k.subarray(0, 16)); + e = cipher.encrypt(k1, k.subarray(16, 32)); + var remainder = 0; + for (var z = 0; z < 16; z++) { + remainder *= 256 % 3; + remainder %= 3; + remainder += (e[z] >>> 0) % 3; + remainder %= 3; + } + if (remainder === 0) { + k = calculateSHA256(e, 0, e.length); + } else if (remainder === 1) { + k = calculateSHA384(e, 0, e.length); + } else if (remainder === 2) { + k = calculateSHA512(e, 0, e.length); + } + i++; + } + return k.subarray(0, 32); + } + function PDF20() { + } + function compareByteArrays(array1, array2) { + if (array1.length !== array2.length) { + return false; + } + for (var i = 0; i < array1.length; i++) { + if (array1[i] !== array2[i]) { + return false; + } + } + return true; + } + PDF20.prototype = { + hash: function PDF20_hash(password, concatBytes, userBytes) { + return calculatePDF20Hash(password, concatBytes, userBytes); + }, + checkOwnerPassword: function PDF20_checkOwnerPassword(password, ownerValidationSalt, userBytes, ownerPassword) { + var hashData = new Uint8Array(password.length + 56); + hashData.set(password, 0); + hashData.set(ownerValidationSalt, password.length); + hashData.set(userBytes, password.length + ownerValidationSalt.length); + var result = calculatePDF20Hash(password, hashData, userBytes); + return compareByteArrays(result, ownerPassword); + }, + checkUserPassword: function PDF20_checkUserPassword(password, userValidationSalt, userPassword) { + var hashData = new Uint8Array(password.length + 8); + hashData.set(password, 0); + hashData.set(userValidationSalt, password.length); + var result = calculatePDF20Hash(password, hashData, []); + return compareByteArrays(result, userPassword); + }, + getOwnerKey: function PDF20_getOwnerKey(password, ownerKeySalt, userBytes, ownerEncryption) { + var hashData = new Uint8Array(password.length + 56); + hashData.set(password, 0); + hashData.set(ownerKeySalt, password.length); + hashData.set(userBytes, password.length + ownerKeySalt.length); + var key = calculatePDF20Hash(password, hashData, userBytes); + var cipher = new AES256Cipher(key); + return cipher.decryptBlock(ownerEncryption, false, new Uint8Array(16)); + }, + getUserKey: function PDF20_getUserKey(password, userKeySalt, userEncryption) { + var hashData = new Uint8Array(password.length + 8); + hashData.set(password, 0); + hashData.set(userKeySalt, password.length); + var key = calculatePDF20Hash(password, hashData, []); + var cipher = new AES256Cipher(key); + return cipher.decryptBlock(userEncryption, false, new Uint8Array(16)); + } + }; + return PDF20; +}(); +var CipherTransform = function CipherTransformClosure() { + function CipherTransform(stringCipherConstructor, streamCipherConstructor) { + this.StringCipherConstructor = stringCipherConstructor; + this.StreamCipherConstructor = streamCipherConstructor; + } + CipherTransform.prototype = { + createStream: function CipherTransform_createStream(stream, length) { + var cipher = new this.StreamCipherConstructor(); + return new DecryptStream(stream, length, function cipherTransformDecryptStream(data, finalize) { + return cipher.decryptBlock(data, finalize); + }); + }, + decryptString: function CipherTransform_decryptString(s) { + var cipher = new this.StringCipherConstructor(); + var data = stringToBytes(s); + data = cipher.decryptBlock(data, true); + return bytesToString(data); + } + }; + return CipherTransform; +}(); +var CipherTransformFactory = function CipherTransformFactoryClosure() { + var defaultPasswordBytes = new Uint8Array([ + 0x28, + 0xBF, + 0x4E, + 0x5E, + 0x4E, + 0x75, + 0x8A, + 0x41, + 0x64, + 0x00, + 0x4E, + 0x56, + 0xFF, + 0xFA, + 0x01, + 0x08, + 0x2E, + 0x2E, + 0x00, + 0xB6, + 0xD0, + 0x68, + 0x3E, + 0x80, + 0x2F, + 0x0C, + 0xA9, + 0xFE, + 0x64, + 0x53, + 0x69, + 0x7A + ]); + function createEncryptionKey20(revision, password, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms) { + if (password) { + var passwordLength = Math.min(127, password.length); + password = password.subarray(0, passwordLength); + } else { + password = []; + } + var pdfAlgorithm; + if (revision === 6) { + pdfAlgorithm = new PDF20(); + } else { + pdfAlgorithm = new PDF17(); + } + if (pdfAlgorithm.checkUserPassword(password, userValidationSalt, userPassword)) { + return pdfAlgorithm.getUserKey(password, userKeySalt, userEncryption); + } else if (password.length && pdfAlgorithm.checkOwnerPassword(password, ownerValidationSalt, uBytes, ownerPassword)) { + return pdfAlgorithm.getOwnerKey(password, ownerKeySalt, uBytes, ownerEncryption); + } + return null; + } + function prepareKeyData(fileId, password, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata) { + var hashDataSize = 40 + ownerPassword.length + fileId.length; + var hashData = new Uint8Array(hashDataSize), i = 0, j, n; + if (password) { + n = Math.min(32, password.length); + for (; i < n; ++i) { + hashData[i] = password[i]; + } + } + j = 0; + while (i < 32) { + hashData[i++] = defaultPasswordBytes[j++]; + } + for (j = 0, n = ownerPassword.length; j < n; ++j) { + hashData[i++] = ownerPassword[j]; + } + hashData[i++] = flags & 0xFF; + hashData[i++] = flags >> 8 & 0xFF; + hashData[i++] = flags >> 16 & 0xFF; + hashData[i++] = flags >>> 24 & 0xFF; + for (j = 0, n = fileId.length; j < n; ++j) { + hashData[i++] = fileId[j]; + } + if (revision >= 4 && !encryptMetadata) { + hashData[i++] = 0xFF; + hashData[i++] = 0xFF; + hashData[i++] = 0xFF; + hashData[i++] = 0xFF; + } + var hash = calculateMD5(hashData, 0, i); + var keyLengthInBytes = keyLength >> 3; + if (revision >= 3) { + for (j = 0; j < 50; ++j) { + hash = calculateMD5(hash, 0, keyLengthInBytes); + } + } + var encryptionKey = hash.subarray(0, keyLengthInBytes); + var cipher, checkData; + if (revision >= 3) { + for (i = 0; i < 32; ++i) { + hashData[i] = defaultPasswordBytes[i]; + } + for (j = 0, n = fileId.length; j < n; ++j) { + hashData[i++] = fileId[j]; + } + cipher = new ARCFourCipher(encryptionKey); + checkData = cipher.encryptBlock(calculateMD5(hashData, 0, i)); + n = encryptionKey.length; + var derivedKey = new Uint8Array(n), k; + for (j = 1; j <= 19; ++j) { + for (k = 0; k < n; ++k) { + derivedKey[k] = encryptionKey[k] ^ j; + } + cipher = new ARCFourCipher(derivedKey); + checkData = cipher.encryptBlock(checkData); + } + for (j = 0, n = checkData.length; j < n; ++j) { + if (userPassword[j] !== checkData[j]) { + return null; + } + } + } else { + cipher = new ARCFourCipher(encryptionKey); + checkData = cipher.encryptBlock(defaultPasswordBytes); + for (j = 0, n = checkData.length; j < n; ++j) { + if (userPassword[j] !== checkData[j]) { + return null; + } + } + } + return encryptionKey; + } + function decodeUserPassword(password, ownerPassword, revision, keyLength) { + var hashData = new Uint8Array(32), i = 0, j, n; + n = Math.min(32, password.length); + for (; i < n; ++i) { + hashData[i] = password[i]; + } + j = 0; + while (i < 32) { + hashData[i++] = defaultPasswordBytes[j++]; + } + var hash = calculateMD5(hashData, 0, i); + var keyLengthInBytes = keyLength >> 3; + if (revision >= 3) { + for (j = 0; j < 50; ++j) { + hash = calculateMD5(hash, 0, hash.length); + } + } + var cipher, userPassword; + if (revision >= 3) { + userPassword = ownerPassword; + var derivedKey = new Uint8Array(keyLengthInBytes), k; + for (j = 19; j >= 0; j--) { + for (k = 0; k < keyLengthInBytes; ++k) { + derivedKey[k] = hash[k] ^ j; + } + cipher = new ARCFourCipher(derivedKey); + userPassword = cipher.encryptBlock(userPassword); + } + } else { + cipher = new ARCFourCipher(hash.subarray(0, keyLengthInBytes)); + userPassword = cipher.encryptBlock(ownerPassword); + } + return userPassword; + } + var identityName = Name.get('Identity'); + function CipherTransformFactory(dict, fileId, password) { + var filter = dict.get('Filter'); + if (!isName(filter, 'Standard')) { + error('unknown encryption method'); + } + this.dict = dict; + var algorithm = dict.get('V'); + if (!isInt(algorithm) || algorithm !== 1 && algorithm !== 2 && algorithm !== 4 && algorithm !== 5) { + error('unsupported encryption algorithm'); + } + this.algorithm = algorithm; + var keyLength = dict.get('Length'); + if (!keyLength) { + if (algorithm <= 3) { + keyLength = 40; + } else { + var cfDict = dict.get('CF'); + var streamCryptoName = dict.get('StmF'); + if (isDict(cfDict) && isName(streamCryptoName)) { + cfDict.suppressEncryption = true; + var handlerDict = cfDict.get(streamCryptoName.name); + keyLength = handlerDict && handlerDict.get('Length') || 128; + if (keyLength < 40) { + keyLength <<= 3; + } + } + } + } + if (!isInt(keyLength) || keyLength < 40 || keyLength % 8 !== 0) { + error('invalid key length'); + } + var ownerPassword = stringToBytes(dict.get('O')).subarray(0, 32); + var userPassword = stringToBytes(dict.get('U')).subarray(0, 32); + var flags = dict.get('P'); + var revision = dict.get('R'); + var encryptMetadata = (algorithm === 4 || algorithm === 5) && dict.get('EncryptMetadata') !== false; + this.encryptMetadata = encryptMetadata; + var fileIdBytes = stringToBytes(fileId); + var passwordBytes; + if (password) { + if (revision === 6) { + try { + password = utf8StringToString(password); + } catch (ex) { + warn('CipherTransformFactory: ' + 'Unable to convert UTF8 encoded password.'); + } + } + passwordBytes = stringToBytes(password); + } + var encryptionKey; + if (algorithm !== 5) { + encryptionKey = prepareKeyData(fileIdBytes, passwordBytes, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata); + } else { + var ownerValidationSalt = stringToBytes(dict.get('O')).subarray(32, 40); + var ownerKeySalt = stringToBytes(dict.get('O')).subarray(40, 48); + var uBytes = stringToBytes(dict.get('U')).subarray(0, 48); + var userValidationSalt = stringToBytes(dict.get('U')).subarray(32, 40); + var userKeySalt = stringToBytes(dict.get('U')).subarray(40, 48); + var ownerEncryption = stringToBytes(dict.get('OE')); + var userEncryption = stringToBytes(dict.get('UE')); + var perms = stringToBytes(dict.get('Perms')); + encryptionKey = createEncryptionKey20(revision, passwordBytes, ownerPassword, ownerValidationSalt, ownerKeySalt, uBytes, userPassword, userValidationSalt, userKeySalt, ownerEncryption, userEncryption, perms); + } + if (!encryptionKey && !password) { + throw new PasswordException('No password given', PasswordResponses.NEED_PASSWORD); + } else if (!encryptionKey && password) { + var decodedPassword = decodeUserPassword(passwordBytes, ownerPassword, revision, keyLength); + encryptionKey = prepareKeyData(fileIdBytes, decodedPassword, ownerPassword, userPassword, flags, revision, keyLength, encryptMetadata); + } + if (!encryptionKey) { + throw new PasswordException('Incorrect Password', PasswordResponses.INCORRECT_PASSWORD); + } + this.encryptionKey = encryptionKey; + if (algorithm >= 4) { + var cf = dict.get('CF'); + if (isDict(cf)) { + cf.suppressEncryption = true; + } + this.cf = cf; + this.stmf = dict.get('StmF') || identityName; + this.strf = dict.get('StrF') || identityName; + this.eff = dict.get('EFF') || this.stmf; + } + } + function buildObjectKey(num, gen, encryptionKey, isAes) { + var key = new Uint8Array(encryptionKey.length + 9), i, n; + for (i = 0, n = encryptionKey.length; i < n; ++i) { + key[i] = encryptionKey[i]; + } + key[i++] = num & 0xFF; + key[i++] = num >> 8 & 0xFF; + key[i++] = num >> 16 & 0xFF; + key[i++] = gen & 0xFF; + key[i++] = gen >> 8 & 0xFF; + if (isAes) { + key[i++] = 0x73; + key[i++] = 0x41; + key[i++] = 0x6C; + key[i++] = 0x54; + } + var hash = calculateMD5(key, 0, i); + return hash.subarray(0, Math.min(encryptionKey.length + 5, 16)); + } + function buildCipherConstructor(cf, name, num, gen, key) { + assert(isName(name), 'Invalid crypt filter name.'); + var cryptFilter = cf.get(name.name); + var cfm; + if (cryptFilter !== null && cryptFilter !== undefined) { + cfm = cryptFilter.get('CFM'); + } + if (!cfm || cfm.name === 'None') { + return function cipherTransformFactoryBuildCipherConstructorNone() { + return new NullCipher(); + }; + } + if (cfm.name === 'V2') { + return function cipherTransformFactoryBuildCipherConstructorV2() { + return new ARCFourCipher(buildObjectKey(num, gen, key, false)); + }; + } + if (cfm.name === 'AESV2') { + return function cipherTransformFactoryBuildCipherConstructorAESV2() { + return new AES128Cipher(buildObjectKey(num, gen, key, true)); + }; + } + if (cfm.name === 'AESV3') { + return function cipherTransformFactoryBuildCipherConstructorAESV3() { + return new AES256Cipher(key); + }; + } + error('Unknown crypto method'); + } + CipherTransformFactory.prototype = { + createCipherTransform: function CipherTransformFactory_createCipherTransform(num, gen) { + if (this.algorithm === 4 || this.algorithm === 5) { + return new CipherTransform(buildCipherConstructor(this.cf, this.stmf, num, gen, this.encryptionKey), buildCipherConstructor(this.cf, this.strf, num, gen, this.encryptionKey)); + } + var key = buildObjectKey(num, gen, this.encryptionKey, false); + var cipherConstructor = function buildCipherCipherConstructor() { + return new ARCFourCipher(key); + }; + return new CipherTransform(cipherConstructor, cipherConstructor); + } + }; + return CipherTransformFactory; +}(); +exports.AES128Cipher = AES128Cipher; +exports.AES256Cipher = AES256Cipher; +exports.ARCFourCipher = ARCFourCipher; +exports.CipherTransformFactory = CipherTransformFactory; +exports.PDF17 = PDF17; +exports.PDF20 = PDF20; +exports.calculateMD5 = calculateMD5; +exports.calculateSHA256 = calculateSHA256; +exports.calculateSHA384 = calculateSHA384; +exports.calculateSHA512 = calculateSHA512; + +/***/ }), +/* 14 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreStream = __w_pdfjs_require__(2); +var coreParser = __w_pdfjs_require__(5); +var coreImage = __w_pdfjs_require__(27); +var coreColorSpace = __w_pdfjs_require__(3); +var coreMurmurHash3 = __w_pdfjs_require__(31); +var coreFonts = __w_pdfjs_require__(26); +var coreFunction = __w_pdfjs_require__(6); +var corePattern = __w_pdfjs_require__(32); +var coreCMap = __w_pdfjs_require__(23); +var coreMetrics = __w_pdfjs_require__(30); +var coreBidi = __w_pdfjs_require__(21); +var coreEncodings = __w_pdfjs_require__(4); +var coreStandardFonts = __w_pdfjs_require__(17); +var coreUnicode = __w_pdfjs_require__(18); +var coreGlyphList = __w_pdfjs_require__(7); +var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX; +var IDENTITY_MATRIX = sharedUtil.IDENTITY_MATRIX; +var UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES; +var ImageKind = sharedUtil.ImageKind; +var OPS = sharedUtil.OPS; +var TextRenderingMode = sharedUtil.TextRenderingMode; +var CMapCompressionType = sharedUtil.CMapCompressionType; +var Util = sharedUtil.Util; +var assert = sharedUtil.assert; +var createPromiseCapability = sharedUtil.createPromiseCapability; +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var isNum = sharedUtil.isNum; +var isString = sharedUtil.isString; +var getLookupTableFactory = sharedUtil.getLookupTableFactory; +var warn = sharedUtil.warn; +var Dict = corePrimitives.Dict; +var Name = corePrimitives.Name; +var isEOF = corePrimitives.isEOF; +var isCmd = corePrimitives.isCmd; +var isDict = corePrimitives.isDict; +var isName = corePrimitives.isName; +var isRef = corePrimitives.isRef; +var isStream = corePrimitives.isStream; +var DecodeStream = coreStream.DecodeStream; +var JpegStream = coreStream.JpegStream; +var Stream = coreStream.Stream; +var Lexer = coreParser.Lexer; +var Parser = coreParser.Parser; +var PDFImage = coreImage.PDFImage; +var ColorSpace = coreColorSpace.ColorSpace; +var MurmurHash3_64 = coreMurmurHash3.MurmurHash3_64; +var ErrorFont = coreFonts.ErrorFont; +var FontFlags = coreFonts.FontFlags; +var Font = coreFonts.Font; +var IdentityToUnicodeMap = coreFonts.IdentityToUnicodeMap; +var ToUnicodeMap = coreFonts.ToUnicodeMap; +var getFontType = coreFonts.getFontType; +var isPDFFunction = coreFunction.isPDFFunction; +var PDFFunction = coreFunction.PDFFunction; +var Pattern = corePattern.Pattern; +var getTilingPatternIR = corePattern.getTilingPatternIR; +var CMapFactory = coreCMap.CMapFactory; +var IdentityCMap = coreCMap.IdentityCMap; +var getMetrics = coreMetrics.getMetrics; +var bidi = coreBidi.bidi; +var WinAnsiEncoding = coreEncodings.WinAnsiEncoding; +var StandardEncoding = coreEncodings.StandardEncoding; +var MacRomanEncoding = coreEncodings.MacRomanEncoding; +var SymbolSetEncoding = coreEncodings.SymbolSetEncoding; +var ZapfDingbatsEncoding = coreEncodings.ZapfDingbatsEncoding; +var getEncoding = coreEncodings.getEncoding; +var getStdFontMap = coreStandardFonts.getStdFontMap; +var getSerifFonts = coreStandardFonts.getSerifFonts; +var getSymbolsFonts = coreStandardFonts.getSymbolsFonts; +var getNormalizedUnicodes = coreUnicode.getNormalizedUnicodes; +var reverseIfRtl = coreUnicode.reverseIfRtl; +var getUnicodeForGlyph = coreUnicode.getUnicodeForGlyph; +var getGlyphsUnicode = coreGlyphList.getGlyphsUnicode; +var PartialEvaluator = function PartialEvaluatorClosure() { + var DefaultPartialEvaluatorOptions = { + forceDataSchema: false, + maxImageSize: -1, + disableFontFace: false, + disableNativeImageDecoder: false + }; + function NativeImageDecoder(xref, resources, handler, forceDataSchema) { + this.xref = xref; + this.resources = resources; + this.handler = handler; + this.forceDataSchema = forceDataSchema; + } + NativeImageDecoder.prototype = { + canDecode: function (image) { + return image instanceof JpegStream && NativeImageDecoder.isDecodable(image, this.xref, this.resources); + }, + decode: function (image) { + var dict = image.dict; + var colorSpace = dict.get('ColorSpace', 'CS'); + colorSpace = ColorSpace.parse(colorSpace, this.xref, this.resources); + var numComps = colorSpace.numComps; + var decodePromise = this.handler.sendWithPromise('JpegDecode', [ + image.getIR(this.forceDataSchema), + numComps + ]); + return decodePromise.then(function (message) { + var data = message.data; + return new Stream(data, 0, data.length, image.dict); + }); + } + }; + NativeImageDecoder.isSupported = function NativeImageDecoder_isSupported(image, xref, res) { + var dict = image.dict; + if (dict.has('DecodeParms') || dict.has('DP')) { + return false; + } + var cs = ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res); + return (cs.name === 'DeviceGray' || cs.name === 'DeviceRGB') && cs.isDefaultDecode(dict.getArray('Decode', 'D')); + }; + NativeImageDecoder.isDecodable = function NativeImageDecoder_isDecodable(image, xref, res) { + var dict = image.dict; + if (dict.has('DecodeParms') || dict.has('DP')) { + return false; + } + var cs = ColorSpace.parse(dict.get('ColorSpace', 'CS'), xref, res); + return (cs.numComps === 1 || cs.numComps === 3) && cs.isDefaultDecode(dict.getArray('Decode', 'D')); + }; + function PartialEvaluator(pdfManager, xref, handler, pageIndex, idFactory, fontCache, builtInCMapCache, options) { + this.pdfManager = pdfManager; + this.xref = xref; + this.handler = handler; + this.pageIndex = pageIndex; + this.idFactory = idFactory; + this.fontCache = fontCache; + this.builtInCMapCache = builtInCMapCache; + this.options = options || DefaultPartialEvaluatorOptions; + this.fetchBuiltInCMap = function (name) { + var cachedCMap = builtInCMapCache[name]; + if (cachedCMap) { + return Promise.resolve(cachedCMap); + } + return handler.sendWithPromise('FetchBuiltInCMap', { name: name }).then(function (data) { + if (data.compressionType !== CMapCompressionType.NONE) { + builtInCMapCache[name] = data; + } + return data; + }); + }; + } + var TIME_SLOT_DURATION_MS = 20; + var CHECK_TIME_EVERY = 100; + function TimeSlotManager() { + this.reset(); + } + TimeSlotManager.prototype = { + check: function TimeSlotManager_check() { + if (++this.checked < CHECK_TIME_EVERY) { + return false; + } + this.checked = 0; + return this.endTime <= Date.now(); + }, + reset: function TimeSlotManager_reset() { + this.endTime = Date.now() + TIME_SLOT_DURATION_MS; + this.checked = 0; + } + }; + var deferred = Promise.resolve(); + var TILING_PATTERN = 1, SHADING_PATTERN = 2; + PartialEvaluator.prototype = { + hasBlendModes: function PartialEvaluator_hasBlendModes(resources) { + if (!isDict(resources)) { + return false; + } + var processed = Object.create(null); + if (resources.objId) { + processed[resources.objId] = true; + } + var nodes = [resources], xref = this.xref; + while (nodes.length) { + var key, i, ii; + var node = nodes.shift(); + var graphicStates = node.get('ExtGState'); + if (isDict(graphicStates)) { + var graphicStatesKeys = graphicStates.getKeys(); + for (i = 0, ii = graphicStatesKeys.length; i < ii; i++) { + key = graphicStatesKeys[i]; + var graphicState = graphicStates.get(key); + var bm = graphicState.get('BM'); + if (isName(bm) && bm.name !== 'Normal') { + return true; + } + } + } + var xObjects = node.get('XObject'); + if (!isDict(xObjects)) { + continue; + } + var xObjectsKeys = xObjects.getKeys(); + for (i = 0, ii = xObjectsKeys.length; i < ii; i++) { + key = xObjectsKeys[i]; + var xObject = xObjects.getRaw(key); + if (isRef(xObject)) { + if (processed[xObject.toString()]) { + continue; + } + xObject = xref.fetch(xObject); + } + if (!isStream(xObject)) { + continue; + } + if (xObject.dict.objId) { + if (processed[xObject.dict.objId]) { + continue; + } + processed[xObject.dict.objId] = true; + } + var xResources = xObject.dict.get('Resources'); + if (isDict(xResources) && (!xResources.objId || !processed[xResources.objId])) { + nodes.push(xResources); + if (xResources.objId) { + processed[xResources.objId] = true; + } + } + } + } + return false; + }, + buildFormXObject: function PartialEvaluator_buildFormXObject(resources, xobj, smask, operatorList, task, initialState) { + var matrix = xobj.dict.getArray('Matrix'); + var bbox = xobj.dict.getArray('BBox'); + var group = xobj.dict.get('Group'); + if (group) { + var groupOptions = { + matrix: matrix, + bbox: bbox, + smask: smask, + isolated: false, + knockout: false + }; + var groupSubtype = group.get('S'); + var colorSpace; + if (isName(groupSubtype, 'Transparency')) { + groupOptions.isolated = group.get('I') || false; + groupOptions.knockout = group.get('K') || false; + colorSpace = group.has('CS') ? ColorSpace.parse(group.get('CS'), this.xref, resources) : null; + } + if (smask && smask.backdrop) { + colorSpace = colorSpace || ColorSpace.singletons.rgb; + smask.backdrop = colorSpace.getRgb(smask.backdrop, 0); + } + operatorList.addOp(OPS.beginGroup, [groupOptions]); + } + operatorList.addOp(OPS.paintFormXObjectBegin, [ + matrix, + bbox + ]); + return this.getOperatorList(xobj, task, xobj.dict.get('Resources') || resources, operatorList, initialState).then(function () { + operatorList.addOp(OPS.paintFormXObjectEnd, []); + if (group) { + operatorList.addOp(OPS.endGroup, [groupOptions]); + } + }); + }, + buildPaintImageXObject: function PartialEvaluator_buildPaintImageXObject(resources, image, inline, operatorList, cacheKey, imageCache) { + var self = this; + var dict = image.dict; + var w = dict.get('Width', 'W'); + var h = dict.get('Height', 'H'); + if (!(w && isNum(w)) || !(h && isNum(h))) { + warn('Image dimensions are missing, or not numbers.'); + return; + } + var maxImageSize = this.options.maxImageSize; + if (maxImageSize !== -1 && w * h > maxImageSize) { + warn('Image exceeded maximum allowed size and was removed.'); + return; + } + var imageMask = dict.get('ImageMask', 'IM') || false; + var imgData, args; + if (imageMask) { + var width = dict.get('Width', 'W'); + var height = dict.get('Height', 'H'); + var bitStrideLength = width + 7 >> 3; + var imgArray = image.getBytes(bitStrideLength * height); + var decode = dict.getArray('Decode', 'D'); + var inverseDecode = !!decode && decode[0] > 0; + imgData = PDFImage.createMask(imgArray, width, height, image instanceof DecodeStream, inverseDecode); + imgData.cached = true; + args = [imgData]; + operatorList.addOp(OPS.paintImageMaskXObject, args); + if (cacheKey) { + imageCache[cacheKey] = { + fn: OPS.paintImageMaskXObject, + args: args + }; + } + return; + } + var softMask = dict.get('SMask', 'SM') || false; + var mask = dict.get('Mask') || false; + var SMALL_IMAGE_DIMENSIONS = 200; + if (inline && !softMask && !mask && !(image instanceof JpegStream) && w + h < SMALL_IMAGE_DIMENSIONS) { + var imageObj = new PDFImage(this.xref, resources, image, inline, null, null); + imgData = imageObj.createImageData(true); + operatorList.addOp(OPS.paintInlineImageXObject, [imgData]); + return; + } + var useNativeImageDecoder = !this.options.disableNativeImageDecoder; + var objId = 'img_' + this.idFactory.createObjId(); + operatorList.addDependency(objId); + args = [ + objId, + w, + h + ]; + if (useNativeImageDecoder && !softMask && !mask && image instanceof JpegStream && NativeImageDecoder.isSupported(image, this.xref, resources)) { + operatorList.addOp(OPS.paintJpegXObject, args); + this.handler.send('obj', [ + objId, + this.pageIndex, + 'JpegStream', + image.getIR(this.options.forceDataSchema) + ]); + return; + } + var nativeImageDecoder = null; + if (useNativeImageDecoder && (image instanceof JpegStream || mask instanceof JpegStream || softMask instanceof JpegStream)) { + nativeImageDecoder = new NativeImageDecoder(self.xref, resources, self.handler, self.options.forceDataSchema); + } + PDFImage.buildImage(self.handler, self.xref, resources, image, inline, nativeImageDecoder).then(function (imageObj) { + var imgData = imageObj.createImageData(false); + self.handler.send('obj', [ + objId, + self.pageIndex, + 'Image', + imgData + ], [imgData.data.buffer]); + }).then(undefined, function (reason) { + warn('Unable to decode image: ' + reason); + self.handler.send('obj', [ + objId, + self.pageIndex, + 'Image', + null + ]); + }); + operatorList.addOp(OPS.paintImageXObject, args); + if (cacheKey) { + imageCache[cacheKey] = { + fn: OPS.paintImageXObject, + args: args + }; + } + }, + handleSMask: function PartialEvaluator_handleSmask(smask, resources, operatorList, task, stateManager) { + var smaskContent = smask.get('G'); + var smaskOptions = { + subtype: smask.get('S').name, + backdrop: smask.get('BC') + }; + var transferObj = smask.get('TR'); + if (isPDFFunction(transferObj)) { + var transferFn = PDFFunction.parse(this.xref, transferObj); + var transferMap = new Uint8Array(256); + var tmp = new Float32Array(1); + for (var i = 0; i < 256; i++) { + tmp[0] = i / 255; + transferFn(tmp, 0, tmp, 0); + transferMap[i] = tmp[0] * 255 | 0; + } + smaskOptions.transferMap = transferMap; + } + return this.buildFormXObject(resources, smaskContent, smaskOptions, operatorList, task, stateManager.state.clone()); + }, + handleTilingType: function PartialEvaluator_handleTilingType(fn, args, resources, pattern, patternDict, operatorList, task) { + var tilingOpList = new OperatorList(); + var resourcesArray = [ + patternDict.get('Resources'), + resources + ]; + var patternResources = Dict.merge(this.xref, resourcesArray); + return this.getOperatorList(pattern, task, patternResources, tilingOpList).then(function () { + operatorList.addDependencies(tilingOpList.dependencies); + operatorList.addOp(fn, getTilingPatternIR({ + fnArray: tilingOpList.fnArray, + argsArray: tilingOpList.argsArray + }, patternDict, args)); + }); + }, + handleSetFont: function PartialEvaluator_handleSetFont(resources, fontArgs, fontRef, operatorList, task, state) { + var fontName; + if (fontArgs) { + fontArgs = fontArgs.slice(); + fontName = fontArgs[0].name; + } + var self = this; + return this.loadFont(fontName, fontRef, this.xref, resources).then(function (translated) { + if (!translated.font.isType3Font) { + return translated; + } + return translated.loadType3Data(self, resources, operatorList, task).then(function () { + return translated; + }, function (reason) { + self.handler.send('UnsupportedFeature', { featureId: UNSUPPORTED_FEATURES.font }); + return new TranslatedFont('g_font_error', new ErrorFont('Type3 font load error: ' + reason), translated.font); + }); + }).then(function (translated) { + state.font = translated.font; + translated.send(self.handler); + return translated.loadedName; + }); + }, + handleText: function PartialEvaluator_handleText(chars, state) { + var font = state.font; + var glyphs = font.charsToGlyphs(chars); + var isAddToPathSet = !!(state.textRenderingMode & TextRenderingMode.ADD_TO_PATH_FLAG); + if (font.data && (isAddToPathSet || this.options.disableFontFace)) { + var buildPath = function (fontChar) { + if (!font.renderer.hasBuiltPath(fontChar)) { + var path = font.renderer.getPathJs(fontChar); + this.handler.send('commonobj', [ + font.loadedName + '_path_' + fontChar, + 'FontPath', + path + ]); + } + }.bind(this); + for (var i = 0, ii = glyphs.length; i < ii; i++) { + var glyph = glyphs[i]; + buildPath(glyph.fontChar); + var accent = glyph.accent; + if (accent && accent.fontChar) { + buildPath(accent.fontChar); + } + } + } + return glyphs; + }, + setGState: function PartialEvaluator_setGState(resources, gState, operatorList, task, xref, stateManager) { + var gStateObj = []; + var gStateKeys = gState.getKeys(); + var self = this; + var promise = Promise.resolve(); + for (var i = 0, ii = gStateKeys.length; i < ii; i++) { + var key = gStateKeys[i]; + var value = gState.get(key); + switch (key) { + case 'Type': + break; + case 'LW': + case 'LC': + case 'LJ': + case 'ML': + case 'D': + case 'RI': + case 'FL': + case 'CA': + case 'ca': + gStateObj.push([ + key, + value + ]); + break; + case 'Font': + promise = promise.then(function () { + return self.handleSetFont(resources, null, value[0], operatorList, task, stateManager.state).then(function (loadedName) { + operatorList.addDependency(loadedName); + gStateObj.push([ + key, + [ + loadedName, + value[1] + ] + ]); + }); + }); + break; + case 'BM': + gStateObj.push([ + key, + value + ]); + break; + case 'SMask': + if (isName(value, 'None')) { + gStateObj.push([ + key, + false + ]); + break; + } + if (isDict(value)) { + promise = promise.then(function (dict) { + return self.handleSMask(dict, resources, operatorList, task, stateManager); + }.bind(this, value)); + gStateObj.push([ + key, + true + ]); + } else { + warn('Unsupported SMask type'); + } + break; + case 'OP': + case 'op': + case 'OPM': + case 'BG': + case 'BG2': + case 'UCR': + case 'UCR2': + case 'TR': + case 'TR2': + case 'HT': + case 'SM': + case 'SA': + case 'AIS': + case 'TK': + info('graphic state operator ' + key); + break; + default: + info('Unknown graphic state operator ' + key); + break; + } + } + return promise.then(function () { + if (gStateObj.length > 0) { + operatorList.addOp(OPS.setGState, [gStateObj]); + } + }); + }, + loadFont: function PartialEvaluator_loadFont(fontName, font, xref, resources) { + function errorFont() { + return Promise.resolve(new TranslatedFont('g_font_error', new ErrorFont('Font ' + fontName + ' is not available'), font)); + } + var fontRef; + if (font) { + assert(isRef(font)); + fontRef = font; + } else { + var fontRes = resources.get('Font'); + if (fontRes) { + fontRef = fontRes.getRaw(fontName); + } else { + warn('fontRes not available'); + return errorFont(); + } + } + if (!fontRef) { + warn('fontRef not available'); + return errorFont(); + } + if (this.fontCache.has(fontRef)) { + return this.fontCache.get(fontRef); + } + font = xref.fetchIfRef(fontRef); + if (!isDict(font)) { + return errorFont(); + } + if (font.translated) { + return font.translated; + } + var fontCapability = createPromiseCapability(); + var preEvaluatedFont = this.preEvaluateFont(font, xref); + var descriptor = preEvaluatedFont.descriptor; + var fontRefIsRef = isRef(fontRef), fontID; + if (fontRefIsRef) { + fontID = fontRef.toString(); + } + if (isDict(descriptor)) { + if (!descriptor.fontAliases) { + descriptor.fontAliases = Object.create(null); + } + var fontAliases = descriptor.fontAliases; + var hash = preEvaluatedFont.hash; + if (fontAliases[hash]) { + var aliasFontRef = fontAliases[hash].aliasRef; + if (fontRefIsRef && aliasFontRef && this.fontCache.has(aliasFontRef)) { + this.fontCache.putAlias(fontRef, aliasFontRef); + return this.fontCache.get(fontRef); + } + } else { + fontAliases[hash] = { fontID: Font.getFontID() }; + } + if (fontRefIsRef) { + fontAliases[hash].aliasRef = fontRef; + } + fontID = fontAliases[hash].fontID; + } + if (fontRefIsRef) { + this.fontCache.put(fontRef, fontCapability.promise); + } else { + if (!fontID) { + fontID = this.idFactory.createObjId(); + } + this.fontCache.put('id_' + fontID, fontCapability.promise); + } + assert(fontID, 'The "fontID" must be defined.'); + font.loadedName = 'g_' + this.pdfManager.docId + '_f' + fontID; + font.translated = fontCapability.promise; + var translatedPromise; + try { + translatedPromise = this.translateFont(preEvaluatedFont, xref); + } catch (e) { + translatedPromise = Promise.reject(e); + } + var self = this; + translatedPromise.then(function (translatedFont) { + if (translatedFont.fontType !== undefined) { + var xrefFontStats = xref.stats.fontTypes; + xrefFontStats[translatedFont.fontType] = true; + } + fontCapability.resolve(new TranslatedFont(font.loadedName, translatedFont, font)); + }, function (reason) { + self.handler.send('UnsupportedFeature', { featureId: UNSUPPORTED_FEATURES.font }); + try { + var descriptor = preEvaluatedFont.descriptor; + var fontFile3 = descriptor && descriptor.get('FontFile3'); + var subtype = fontFile3 && fontFile3.get('Subtype'); + var fontType = getFontType(preEvaluatedFont.type, subtype && subtype.name); + var xrefFontStats = xref.stats.fontTypes; + xrefFontStats[fontType] = true; + } catch (ex) { + } + fontCapability.resolve(new TranslatedFont(font.loadedName, new ErrorFont(reason instanceof Error ? reason.message : reason), font)); + }); + return fontCapability.promise; + }, + buildPath: function PartialEvaluator_buildPath(operatorList, fn, args) { + var lastIndex = operatorList.length - 1; + if (!args) { + args = []; + } + if (lastIndex < 0 || operatorList.fnArray[lastIndex] !== OPS.constructPath) { + operatorList.addOp(OPS.constructPath, [ + [fn], + args + ]); + } else { + var opArgs = operatorList.argsArray[lastIndex]; + opArgs[0].push(fn); + Array.prototype.push.apply(opArgs[1], args); + } + }, + handleColorN: function PartialEvaluator_handleColorN(operatorList, fn, args, cs, patterns, resources, task, xref) { + var patternName = args[args.length - 1]; + var pattern; + if (isName(patternName) && (pattern = patterns.get(patternName.name))) { + var dict = isStream(pattern) ? pattern.dict : pattern; + var typeNum = dict.get('PatternType'); + if (typeNum === TILING_PATTERN) { + var color = cs.base ? cs.base.getRgb(args, 0) : null; + return this.handleTilingType(fn, color, resources, pattern, dict, operatorList, task); + } else if (typeNum === SHADING_PATTERN) { + var shading = dict.get('Shading'); + var matrix = dict.getArray('Matrix'); + pattern = Pattern.parseShading(shading, matrix, xref, resources, this.handler); + operatorList.addOp(fn, pattern.getIR()); + return Promise.resolve(); + } + return Promise.reject('Unknown PatternType: ' + typeNum); + } + operatorList.addOp(fn, args); + return Promise.resolve(); + }, + getOperatorList: function PartialEvaluator_getOperatorList(stream, task, resources, operatorList, initialState) { + var self = this; + var xref = this.xref; + var imageCache = Object.create(null); + assert(operatorList); + resources = resources || Dict.empty; + var xobjs = resources.get('XObject') || Dict.empty; + var patterns = resources.get('Pattern') || Dict.empty; + var stateManager = new StateManager(initialState || new EvalState()); + var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager); + var timeSlotManager = new TimeSlotManager(); + return new Promise(function promiseBody(resolve, reject) { + var next = function (promise) { + promise.then(function () { + try { + promiseBody(resolve, reject); + } catch (ex) { + reject(ex); + } + }, reject); + }; + task.ensureNotTerminated(); + timeSlotManager.reset(); + var stop, operation = {}, i, ii, cs; + while (!(stop = timeSlotManager.check())) { + operation.args = null; + if (!preprocessor.read(operation)) { + break; + } + var args = operation.args; + var fn = operation.fn; + switch (fn | 0) { + case OPS.paintXObject: + if (args[0].code) { + break; + } + var name = args[0].name; + if (!name) { + warn('XObject must be referred to by name.'); + continue; + } + if (imageCache[name] !== undefined) { + operatorList.addOp(imageCache[name].fn, imageCache[name].args); + args = null; + continue; + } + var xobj = xobjs.get(name); + if (xobj) { + assert(isStream(xobj), 'XObject should be a stream'); + var type = xobj.dict.get('Subtype'); + assert(isName(type), 'XObject should have a Name subtype'); + if (type.name === 'Form') { + stateManager.save(); + next(self.buildFormXObject(resources, xobj, null, operatorList, task, stateManager.state.clone()).then(function () { + stateManager.restore(); + })); + return; + } else if (type.name === 'Image') { + self.buildPaintImageXObject(resources, xobj, false, operatorList, name, imageCache); + args = null; + continue; + } else if (type.name === 'PS') { + info('Ignored XObject subtype PS'); + continue; + } else { + error('Unhandled XObject subtype ' + type.name); + } + } + break; + case OPS.setFont: + var fontSize = args[1]; + next(self.handleSetFont(resources, args, null, operatorList, task, stateManager.state).then(function (loadedName) { + operatorList.addDependency(loadedName); + operatorList.addOp(OPS.setFont, [ + loadedName, + fontSize + ]); + })); + return; + case OPS.endInlineImage: + var cacheKey = args[0].cacheKey; + if (cacheKey) { + var cacheEntry = imageCache[cacheKey]; + if (cacheEntry !== undefined) { + operatorList.addOp(cacheEntry.fn, cacheEntry.args); + args = null; + continue; + } + } + self.buildPaintImageXObject(resources, args[0], true, operatorList, cacheKey, imageCache); + args = null; + continue; + case OPS.showText: + args[0] = self.handleText(args[0], stateManager.state); + break; + case OPS.showSpacedText: + var arr = args[0]; + var combinedGlyphs = []; + var arrLength = arr.length; + var state = stateManager.state; + for (i = 0; i < arrLength; ++i) { + var arrItem = arr[i]; + if (isString(arrItem)) { + Array.prototype.push.apply(combinedGlyphs, self.handleText(arrItem, state)); + } else if (isNum(arrItem)) { + combinedGlyphs.push(arrItem); + } + } + args[0] = combinedGlyphs; + fn = OPS.showText; + break; + case OPS.nextLineShowText: + operatorList.addOp(OPS.nextLine); + args[0] = self.handleText(args[0], stateManager.state); + fn = OPS.showText; + break; + case OPS.nextLineSetSpacingShowText: + operatorList.addOp(OPS.nextLine); + operatorList.addOp(OPS.setWordSpacing, [args.shift()]); + operatorList.addOp(OPS.setCharSpacing, [args.shift()]); + args[0] = self.handleText(args[0], stateManager.state); + fn = OPS.showText; + break; + case OPS.setTextRenderingMode: + stateManager.state.textRenderingMode = args[0]; + break; + case OPS.setFillColorSpace: + stateManager.state.fillColorSpace = ColorSpace.parse(args[0], xref, resources); + continue; + case OPS.setStrokeColorSpace: + stateManager.state.strokeColorSpace = ColorSpace.parse(args[0], xref, resources); + continue; + case OPS.setFillColor: + cs = stateManager.state.fillColorSpace; + args = cs.getRgb(args, 0); + fn = OPS.setFillRGBColor; + break; + case OPS.setStrokeColor: + cs = stateManager.state.strokeColorSpace; + args = cs.getRgb(args, 0); + fn = OPS.setStrokeRGBColor; + break; + case OPS.setFillGray: + stateManager.state.fillColorSpace = ColorSpace.singletons.gray; + args = ColorSpace.singletons.gray.getRgb(args, 0); + fn = OPS.setFillRGBColor; + break; + case OPS.setStrokeGray: + stateManager.state.strokeColorSpace = ColorSpace.singletons.gray; + args = ColorSpace.singletons.gray.getRgb(args, 0); + fn = OPS.setStrokeRGBColor; + break; + case OPS.setFillCMYKColor: + stateManager.state.fillColorSpace = ColorSpace.singletons.cmyk; + args = ColorSpace.singletons.cmyk.getRgb(args, 0); + fn = OPS.setFillRGBColor; + break; + case OPS.setStrokeCMYKColor: + stateManager.state.strokeColorSpace = ColorSpace.singletons.cmyk; + args = ColorSpace.singletons.cmyk.getRgb(args, 0); + fn = OPS.setStrokeRGBColor; + break; + case OPS.setFillRGBColor: + stateManager.state.fillColorSpace = ColorSpace.singletons.rgb; + args = ColorSpace.singletons.rgb.getRgb(args, 0); + break; + case OPS.setStrokeRGBColor: + stateManager.state.strokeColorSpace = ColorSpace.singletons.rgb; + args = ColorSpace.singletons.rgb.getRgb(args, 0); + break; + case OPS.setFillColorN: + cs = stateManager.state.fillColorSpace; + if (cs.name === 'Pattern') { + next(self.handleColorN(operatorList, OPS.setFillColorN, args, cs, patterns, resources, task, xref)); + return; + } + args = cs.getRgb(args, 0); + fn = OPS.setFillRGBColor; + break; + case OPS.setStrokeColorN: + cs = stateManager.state.strokeColorSpace; + if (cs.name === 'Pattern') { + next(self.handleColorN(operatorList, OPS.setStrokeColorN, args, cs, patterns, resources, task, xref)); + return; + } + args = cs.getRgb(args, 0); + fn = OPS.setStrokeRGBColor; + break; + case OPS.shadingFill: + var shadingRes = resources.get('Shading'); + if (!shadingRes) { + error('No shading resource found'); + } + var shading = shadingRes.get(args[0].name); + if (!shading) { + error('No shading object found'); + } + var shadingFill = Pattern.parseShading(shading, null, xref, resources, self.handler); + var patternIR = shadingFill.getIR(); + args = [patternIR]; + fn = OPS.shadingFill; + break; + case OPS.setGState: + var dictName = args[0]; + var extGState = resources.get('ExtGState'); + if (!isDict(extGState) || !extGState.has(dictName.name)) { + break; + } + var gState = extGState.get(dictName.name); + next(self.setGState(resources, gState, operatorList, task, xref, stateManager)); + return; + case OPS.moveTo: + case OPS.lineTo: + case OPS.curveTo: + case OPS.curveTo2: + case OPS.curveTo3: + case OPS.closePath: + self.buildPath(operatorList, fn, args); + continue; + case OPS.rectangle: + self.buildPath(operatorList, fn, args); + continue; + case OPS.markPoint: + case OPS.markPointProps: + case OPS.beginMarkedContent: + case OPS.beginMarkedContentProps: + case OPS.endMarkedContent: + case OPS.beginCompat: + case OPS.endCompat: + continue; + default: + if (args !== null) { + for (i = 0, ii = args.length; i < ii; i++) { + if (args[i] instanceof Dict) { + break; + } + } + if (i < ii) { + warn('getOperatorList - ignoring operator: ' + fn); + continue; + } + } + } + operatorList.addOp(fn, args); + } + if (stop) { + next(deferred); + return; + } + for (i = 0, ii = preprocessor.savedStatesDepth; i < ii; i++) { + operatorList.addOp(OPS.restore, []); + } + resolve(); + }); + }, + getTextContent: function PartialEvaluator_getTextContent(stream, task, resources, stateManager, normalizeWhitespace, combineTextItems) { + stateManager = stateManager || new StateManager(new TextState()); + var WhitespaceRegexp = /\s/g; + var textContent = { + items: [], + styles: Object.create(null) + }; + var textContentItem = { + initialized: false, + str: [], + width: 0, + height: 0, + vertical: false, + lastAdvanceWidth: 0, + lastAdvanceHeight: 0, + textAdvanceScale: 0, + spaceWidth: 0, + fakeSpaceMin: Infinity, + fakeMultiSpaceMin: Infinity, + fakeMultiSpaceMax: -0, + textRunBreakAllowed: false, + transform: null, + fontName: null + }; + var SPACE_FACTOR = 0.3; + var MULTI_SPACE_FACTOR = 1.5; + var MULTI_SPACE_FACTOR_MAX = 4; + var self = this; + var xref = this.xref; + resources = xref.fetchIfRef(resources) || Dict.empty; + var xobjs = null; + var xobjsCache = Object.create(null); + var preprocessor = new EvaluatorPreprocessor(stream, xref, stateManager); + var textState; + function ensureTextContentItem() { + if (textContentItem.initialized) { + return textContentItem; + } + var font = textState.font; + if (!(font.loadedName in textContent.styles)) { + textContent.styles[font.loadedName] = { + fontFamily: font.fallbackName, + ascent: font.ascent, + descent: font.descent, + vertical: font.vertical + }; + } + textContentItem.fontName = font.loadedName; + var tsm = [ + textState.fontSize * textState.textHScale, + 0, + 0, + textState.fontSize, + 0, + textState.textRise + ]; + if (font.isType3Font && textState.fontMatrix !== FONT_IDENTITY_MATRIX && textState.fontSize === 1) { + var glyphHeight = font.bbox[3] - font.bbox[1]; + if (glyphHeight > 0) { + glyphHeight = glyphHeight * textState.fontMatrix[3]; + tsm[3] *= glyphHeight; + } + } + var trm = Util.transform(textState.ctm, Util.transform(textState.textMatrix, tsm)); + textContentItem.transform = trm; + if (!font.vertical) { + textContentItem.width = 0; + textContentItem.height = Math.sqrt(trm[2] * trm[2] + trm[3] * trm[3]); + textContentItem.vertical = false; + } else { + textContentItem.width = Math.sqrt(trm[0] * trm[0] + trm[1] * trm[1]); + textContentItem.height = 0; + textContentItem.vertical = true; + } + var a = textState.textLineMatrix[0]; + var b = textState.textLineMatrix[1]; + var scaleLineX = Math.sqrt(a * a + b * b); + a = textState.ctm[0]; + b = textState.ctm[1]; + var scaleCtmX = Math.sqrt(a * a + b * b); + textContentItem.textAdvanceScale = scaleCtmX * scaleLineX; + textContentItem.lastAdvanceWidth = 0; + textContentItem.lastAdvanceHeight = 0; + var spaceWidth = font.spaceWidth / 1000 * textState.fontSize; + if (spaceWidth) { + textContentItem.spaceWidth = spaceWidth; + textContentItem.fakeSpaceMin = spaceWidth * SPACE_FACTOR; + textContentItem.fakeMultiSpaceMin = spaceWidth * MULTI_SPACE_FACTOR; + textContentItem.fakeMultiSpaceMax = spaceWidth * MULTI_SPACE_FACTOR_MAX; + textContentItem.textRunBreakAllowed = !font.isMonospace; + } else { + textContentItem.spaceWidth = 0; + textContentItem.fakeSpaceMin = Infinity; + textContentItem.fakeMultiSpaceMin = Infinity; + textContentItem.fakeMultiSpaceMax = 0; + textContentItem.textRunBreakAllowed = false; + } + textContentItem.initialized = true; + return textContentItem; + } + function replaceWhitespace(str) { + var i = 0, ii = str.length, code; + while (i < ii && (code = str.charCodeAt(i)) >= 0x20 && code <= 0x7F) { + i++; + } + return i < ii ? str.replace(WhitespaceRegexp, ' ') : str; + } + function runBidiTransform(textChunk) { + var str = textChunk.str.join(''); + var bidiResult = bidi(str, -1, textChunk.vertical); + return { + str: normalizeWhitespace ? replaceWhitespace(bidiResult.str) : bidiResult.str, + dir: bidiResult.dir, + width: textChunk.width, + height: textChunk.height, + transform: textChunk.transform, + fontName: textChunk.fontName + }; + } + function handleSetFont(fontName, fontRef) { + return self.loadFont(fontName, fontRef, xref, resources).then(function (translated) { + textState.font = translated.font; + textState.fontMatrix = translated.font.fontMatrix || FONT_IDENTITY_MATRIX; + }); + } + function buildTextContentItem(chars) { + var font = textState.font; + var textChunk = ensureTextContentItem(); + var width = 0; + var height = 0; + var glyphs = font.charsToGlyphs(chars); + for (var i = 0; i < glyphs.length; i++) { + var glyph = glyphs[i]; + var glyphWidth = null; + if (font.vertical && glyph.vmetric) { + glyphWidth = glyph.vmetric[0]; + } else { + glyphWidth = glyph.width; + } + var glyphUnicode = glyph.unicode; + var NormalizedUnicodes = getNormalizedUnicodes(); + if (NormalizedUnicodes[glyphUnicode] !== undefined) { + glyphUnicode = NormalizedUnicodes[glyphUnicode]; + } + glyphUnicode = reverseIfRtl(glyphUnicode); + var charSpacing = textState.charSpacing; + if (glyph.isSpace) { + var wordSpacing = textState.wordSpacing; + charSpacing += wordSpacing; + if (wordSpacing > 0) { + addFakeSpaces(wordSpacing, textChunk.str); + } + } + var tx = 0; + var ty = 0; + if (!font.vertical) { + var w0 = glyphWidth * textState.fontMatrix[0]; + tx = (w0 * textState.fontSize + charSpacing) * textState.textHScale; + width += tx; + } else { + var w1 = glyphWidth * textState.fontMatrix[0]; + ty = w1 * textState.fontSize + charSpacing; + height += ty; + } + textState.translateTextMatrix(tx, ty); + textChunk.str.push(glyphUnicode); + } + if (!font.vertical) { + textChunk.lastAdvanceWidth = width; + textChunk.width += width; + } else { + textChunk.lastAdvanceHeight = height; + textChunk.height += Math.abs(height); + } + return textChunk; + } + function addFakeSpaces(width, strBuf) { + if (width < textContentItem.fakeSpaceMin) { + return; + } + if (width < textContentItem.fakeMultiSpaceMin) { + strBuf.push(' '); + return; + } + var fakeSpaces = Math.round(width / textContentItem.spaceWidth); + while (fakeSpaces-- > 0) { + strBuf.push(' '); + } + } + function flushTextContentItem() { + if (!textContentItem.initialized) { + return; + } + textContentItem.width *= textContentItem.textAdvanceScale; + textContentItem.height *= textContentItem.textAdvanceScale; + textContent.items.push(runBidiTransform(textContentItem)); + textContentItem.initialized = false; + textContentItem.str.length = 0; + } + var timeSlotManager = new TimeSlotManager(); + return new Promise(function promiseBody(resolve, reject) { + var next = function (promise) { + promise.then(function () { + try { + promiseBody(resolve, reject); + } catch (ex) { + reject(ex); + } + }, reject); + }; + task.ensureNotTerminated(); + timeSlotManager.reset(); + var stop, operation = {}, args = []; + while (!(stop = timeSlotManager.check())) { + args.length = 0; + operation.args = args; + if (!preprocessor.read(operation)) { + break; + } + textState = stateManager.state; + var fn = operation.fn; + args = operation.args; + var advance, diff; + switch (fn | 0) { + case OPS.setFont: + var fontNameArg = args[0].name, fontSizeArg = args[1]; + if (textState.font && fontNameArg === textState.fontName && fontSizeArg === textState.fontSize) { + break; + } + flushTextContentItem(); + textState.fontName = fontNameArg; + textState.fontSize = fontSizeArg; + next(handleSetFont(fontNameArg, null)); + return; + case OPS.setTextRise: + flushTextContentItem(); + textState.textRise = args[0]; + break; + case OPS.setHScale: + flushTextContentItem(); + textState.textHScale = args[0] / 100; + break; + case OPS.setLeading: + flushTextContentItem(); + textState.leading = args[0]; + break; + case OPS.moveText: + var isSameTextLine = !textState.font ? false : (textState.font.vertical ? args[0] : args[1]) === 0; + advance = args[0] - args[1]; + if (combineTextItems && isSameTextLine && textContentItem.initialized && advance > 0 && advance <= textContentItem.fakeMultiSpaceMax) { + textState.translateTextLineMatrix(args[0], args[1]); + textContentItem.width += args[0] - textContentItem.lastAdvanceWidth; + textContentItem.height += args[1] - textContentItem.lastAdvanceHeight; + diff = args[0] - textContentItem.lastAdvanceWidth - (args[1] - textContentItem.lastAdvanceHeight); + addFakeSpaces(diff, textContentItem.str); + break; + } + flushTextContentItem(); + textState.translateTextLineMatrix(args[0], args[1]); + textState.textMatrix = textState.textLineMatrix.slice(); + break; + case OPS.setLeadingMoveText: + flushTextContentItem(); + textState.leading = -args[1]; + textState.translateTextLineMatrix(args[0], args[1]); + textState.textMatrix = textState.textLineMatrix.slice(); + break; + case OPS.nextLine: + flushTextContentItem(); + textState.carriageReturn(); + break; + case OPS.setTextMatrix: + advance = textState.calcTextLineMatrixAdvance(args[0], args[1], args[2], args[3], args[4], args[5]); + if (combineTextItems && advance !== null && textContentItem.initialized && advance.value > 0 && advance.value <= textContentItem.fakeMultiSpaceMax) { + textState.translateTextLineMatrix(advance.width, advance.height); + textContentItem.width += advance.width - textContentItem.lastAdvanceWidth; + textContentItem.height += advance.height - textContentItem.lastAdvanceHeight; + diff = advance.width - textContentItem.lastAdvanceWidth - (advance.height - textContentItem.lastAdvanceHeight); + addFakeSpaces(diff, textContentItem.str); + break; + } + flushTextContentItem(); + textState.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); + textState.setTextLineMatrix(args[0], args[1], args[2], args[3], args[4], args[5]); + break; + case OPS.setCharSpacing: + textState.charSpacing = args[0]; + break; + case OPS.setWordSpacing: + textState.wordSpacing = args[0]; + break; + case OPS.beginText: + flushTextContentItem(); + textState.textMatrix = IDENTITY_MATRIX.slice(); + textState.textLineMatrix = IDENTITY_MATRIX.slice(); + break; + case OPS.showSpacedText: + var items = args[0]; + var offset; + for (var j = 0, jj = items.length; j < jj; j++) { + if (typeof items[j] === 'string') { + buildTextContentItem(items[j]); + } else if (isNum(items[j])) { + ensureTextContentItem(); + advance = items[j] * textState.fontSize / 1000; + var breakTextRun = false; + if (textState.font.vertical) { + offset = advance; + textState.translateTextMatrix(0, offset); + breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; + if (!breakTextRun) { + textContentItem.height += offset; + } + } else { + advance = -advance; + offset = advance * textState.textHScale; + textState.translateTextMatrix(offset, 0); + breakTextRun = textContentItem.textRunBreakAllowed && advance > textContentItem.fakeMultiSpaceMax; + if (!breakTextRun) { + textContentItem.width += offset; + } + } + if (breakTextRun) { + flushTextContentItem(); + } else if (advance > 0) { + addFakeSpaces(advance, textContentItem.str); + } + } + } + break; + case OPS.showText: + buildTextContentItem(args[0]); + break; + case OPS.nextLineShowText: + flushTextContentItem(); + textState.carriageReturn(); + buildTextContentItem(args[0]); + break; + case OPS.nextLineSetSpacingShowText: + flushTextContentItem(); + textState.wordSpacing = args[0]; + textState.charSpacing = args[1]; + textState.carriageReturn(); + buildTextContentItem(args[2]); + break; + case OPS.paintXObject: + flushTextContentItem(); + if (args[0].code) { + break; + } + if (!xobjs) { + xobjs = resources.get('XObject') || Dict.empty; + } + var name = args[0].name; + if (xobjsCache.key === name) { + if (xobjsCache.texts) { + Util.appendToArray(textContent.items, xobjsCache.texts.items); + Util.extendObj(textContent.styles, xobjsCache.texts.styles); + } + break; + } + var xobj = xobjs.get(name); + if (!xobj) { + break; + } + assert(isStream(xobj), 'XObject should be a stream'); + var type = xobj.dict.get('Subtype'); + assert(isName(type), 'XObject should have a Name subtype'); + if ('Form' !== type.name) { + xobjsCache.key = name; + xobjsCache.texts = null; + break; + } + stateManager.save(); + var matrix = xobj.dict.getArray('Matrix'); + if (isArray(matrix) && matrix.length === 6) { + stateManager.transform(matrix); + } + next(self.getTextContent(xobj, task, xobj.dict.get('Resources') || resources, stateManager, normalizeWhitespace, combineTextItems).then(function (formTextContent) { + Util.appendToArray(textContent.items, formTextContent.items); + Util.extendObj(textContent.styles, formTextContent.styles); + stateManager.restore(); + xobjsCache.key = name; + xobjsCache.texts = formTextContent; + })); + return; + case OPS.setGState: + flushTextContentItem(); + var dictName = args[0]; + var extGState = resources.get('ExtGState'); + if (!isDict(extGState) || !isName(dictName)) { + break; + } + var gState = extGState.get(dictName.name); + if (!isDict(gState)) { + break; + } + var gStateFont = gState.get('Font'); + if (gStateFont) { + textState.fontName = null; + textState.fontSize = gStateFont[1]; + next(handleSetFont(null, gStateFont[0])); + return; + } + break; + } + } + if (stop) { + next(deferred); + return; + } + flushTextContentItem(); + resolve(textContent); + }); + }, + extractDataStructures: function PartialEvaluator_extractDataStructures(dict, baseDict, xref, properties) { + var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode'); + var toUnicodePromise = toUnicode ? this.readToUnicode(toUnicode) : Promise.resolve(undefined); + if (properties.composite) { + var cidSystemInfo = dict.get('CIDSystemInfo'); + if (isDict(cidSystemInfo)) { + properties.cidSystemInfo = { + registry: cidSystemInfo.get('Registry'), + ordering: cidSystemInfo.get('Ordering'), + supplement: cidSystemInfo.get('Supplement') + }; + } + var cidToGidMap = dict.get('CIDToGIDMap'); + if (isStream(cidToGidMap)) { + properties.cidToGidMap = this.readCidToGidMap(cidToGidMap); + } + } + var differences = []; + var baseEncodingName = null; + var encoding; + if (dict.has('Encoding')) { + encoding = dict.get('Encoding'); + if (isDict(encoding)) { + baseEncodingName = encoding.get('BaseEncoding'); + baseEncodingName = isName(baseEncodingName) ? baseEncodingName.name : null; + if (encoding.has('Differences')) { + var diffEncoding = encoding.get('Differences'); + var index = 0; + for (var j = 0, jj = diffEncoding.length; j < jj; j++) { + var data = xref.fetchIfRef(diffEncoding[j]); + if (isNum(data)) { + index = data; + } else if (isName(data)) { + differences[index++] = data.name; + } else { + error('Invalid entry in \'Differences\' array: ' + data); + } + } + } + } else if (isName(encoding)) { + baseEncodingName = encoding.name; + } else { + error('Encoding is not a Name nor a Dict'); + } + if (baseEncodingName !== 'MacRomanEncoding' && baseEncodingName !== 'MacExpertEncoding' && baseEncodingName !== 'WinAnsiEncoding') { + baseEncodingName = null; + } + } + if (baseEncodingName) { + properties.defaultEncoding = getEncoding(baseEncodingName).slice(); + } else { + var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic); + var isNonsymbolicFont = !!(properties.flags & FontFlags.Nonsymbolic); + encoding = StandardEncoding; + if (properties.type === 'TrueType' && !isNonsymbolicFont) { + encoding = WinAnsiEncoding; + } + if (isSymbolicFont) { + encoding = MacRomanEncoding; + if (!properties.file) { + if (/Symbol/i.test(properties.name)) { + encoding = SymbolSetEncoding; + } else if (/Dingbats/i.test(properties.name)) { + encoding = ZapfDingbatsEncoding; + } + } + } + properties.defaultEncoding = encoding; + } + properties.differences = differences; + properties.baseEncodingName = baseEncodingName; + properties.hasEncoding = !!baseEncodingName || differences.length > 0; + properties.dict = dict; + return toUnicodePromise.then(function (toUnicode) { + properties.toUnicode = toUnicode; + return this.buildToUnicode(properties); + }.bind(this)).then(function (toUnicode) { + properties.toUnicode = toUnicode; + return properties; + }); + }, + buildToUnicode: function PartialEvaluator_buildToUnicode(properties) { + properties.hasIncludedToUnicodeMap = !!properties.toUnicode && properties.toUnicode.length > 0; + if (properties.hasIncludedToUnicodeMap) { + return Promise.resolve(properties.toUnicode); + } + var toUnicode, charcode, glyphName; + if (!properties.composite) { + toUnicode = []; + var encoding = properties.defaultEncoding.slice(); + var baseEncodingName = properties.baseEncodingName; + var differences = properties.differences; + for (charcode in differences) { + glyphName = differences[charcode]; + if (glyphName === '.notdef') { + continue; + } + encoding[charcode] = glyphName; + } + var glyphsUnicodeMap = getGlyphsUnicode(); + for (charcode in encoding) { + glyphName = encoding[charcode]; + if (glyphName === '') { + continue; + } else if (glyphsUnicodeMap[glyphName] === undefined) { + var code = 0; + switch (glyphName[0]) { + case 'G': + if (glyphName.length === 3) { + code = parseInt(glyphName.substr(1), 16); + } + break; + case 'g': + if (glyphName.length === 5) { + code = parseInt(glyphName.substr(1), 16); + } + break; + case 'C': + case 'c': + if (glyphName.length >= 3) { + code = +glyphName.substr(1); + } + break; + default: + var unicode = getUnicodeForGlyph(glyphName, glyphsUnicodeMap); + if (unicode !== -1) { + code = unicode; + } + } + if (code) { + if (baseEncodingName && code === +charcode) { + var baseEncoding = getEncoding(baseEncodingName); + if (baseEncoding && (glyphName = baseEncoding[charcode])) { + toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]); + continue; + } + } + toUnicode[charcode] = String.fromCharCode(code); + } + continue; + } + toUnicode[charcode] = String.fromCharCode(glyphsUnicodeMap[glyphName]); + } + return Promise.resolve(new ToUnicodeMap(toUnicode)); + } + if (properties.composite && (properties.cMap.builtInCMap && !(properties.cMap instanceof IdentityCMap) || properties.cidSystemInfo.registry === 'Adobe' && (properties.cidSystemInfo.ordering === 'GB1' || properties.cidSystemInfo.ordering === 'CNS1' || properties.cidSystemInfo.ordering === 'Japan1' || properties.cidSystemInfo.ordering === 'Korea1'))) { + var registry = properties.cidSystemInfo.registry; + var ordering = properties.cidSystemInfo.ordering; + var ucs2CMapName = Name.get(registry + '-' + ordering + '-UCS2'); + return CMapFactory.create({ + encoding: ucs2CMapName, + fetchBuiltInCMap: this.fetchBuiltInCMap, + useCMap: null + }).then(function (ucs2CMap) { + var cMap = properties.cMap; + toUnicode = []; + cMap.forEach(function (charcode, cid) { + assert(cid <= 0xffff, 'Max size of CID is 65,535'); + var ucs2 = ucs2CMap.lookup(cid); + if (ucs2) { + toUnicode[charcode] = String.fromCharCode((ucs2.charCodeAt(0) << 8) + ucs2.charCodeAt(1)); + } + }); + return new ToUnicodeMap(toUnicode); + }); + } + return Promise.resolve(new IdentityToUnicodeMap(properties.firstChar, properties.lastChar)); + }, + readToUnicode: function PartialEvaluator_readToUnicode(toUnicode) { + var cmapObj = toUnicode; + if (isName(cmapObj)) { + return CMapFactory.create({ + encoding: cmapObj, + fetchBuiltInCMap: this.fetchBuiltInCMap, + useCMap: null + }).then(function (cmap) { + if (cmap instanceof IdentityCMap) { + return new IdentityToUnicodeMap(0, 0xFFFF); + } + return new ToUnicodeMap(cmap.getMap()); + }); + } else if (isStream(cmapObj)) { + return CMapFactory.create({ + encoding: cmapObj, + fetchBuiltInCMap: this.fetchBuiltInCMap, + useCMap: null + }).then(function (cmap) { + if (cmap instanceof IdentityCMap) { + return new IdentityToUnicodeMap(0, 0xFFFF); + } + var map = new Array(cmap.length); + cmap.forEach(function (charCode, token) { + var str = []; + for (var k = 0; k < token.length; k += 2) { + var w1 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1); + if ((w1 & 0xF800) !== 0xD800) { + str.push(w1); + continue; + } + k += 2; + var w2 = token.charCodeAt(k) << 8 | token.charCodeAt(k + 1); + str.push(((w1 & 0x3ff) << 10) + (w2 & 0x3ff) + 0x10000); + } + map[charCode] = String.fromCharCode.apply(String, str); + }); + return new ToUnicodeMap(map); + }); + } + return Promise.resolve(null); + }, + readCidToGidMap: function PartialEvaluator_readCidToGidMap(cidToGidStream) { + var glyphsData = cidToGidStream.getBytes(); + var result = []; + for (var j = 0, jj = glyphsData.length; j < jj; j++) { + var glyphID = glyphsData[j++] << 8 | glyphsData[j]; + if (glyphID === 0) { + continue; + } + var code = j >> 1; + result[code] = glyphID; + } + return result; + }, + extractWidths: function PartialEvaluator_extractWidths(dict, xref, descriptor, properties) { + var glyphsWidths = []; + var defaultWidth = 0; + var glyphsVMetrics = []; + var defaultVMetrics; + var i, ii, j, jj, start, code, widths; + if (properties.composite) { + defaultWidth = dict.get('DW') || 1000; + widths = dict.get('W'); + if (widths) { + for (i = 0, ii = widths.length; i < ii; i++) { + start = xref.fetchIfRef(widths[i++]); + code = xref.fetchIfRef(widths[i]); + if (isArray(code)) { + for (j = 0, jj = code.length; j < jj; j++) { + glyphsWidths[start++] = xref.fetchIfRef(code[j]); + } + } else { + var width = xref.fetchIfRef(widths[++i]); + for (j = start; j <= code; j++) { + glyphsWidths[j] = width; + } + } + } + } + if (properties.vertical) { + var vmetrics = dict.getArray('DW2') || [ + 880, + -1000 + ]; + defaultVMetrics = [ + vmetrics[1], + defaultWidth * 0.5, + vmetrics[0] + ]; + vmetrics = dict.get('W2'); + if (vmetrics) { + for (i = 0, ii = vmetrics.length; i < ii; i++) { + start = xref.fetchIfRef(vmetrics[i++]); + code = xref.fetchIfRef(vmetrics[i]); + if (isArray(code)) { + for (j = 0, jj = code.length; j < jj; j++) { + glyphsVMetrics[start++] = [ + xref.fetchIfRef(code[j++]), + xref.fetchIfRef(code[j++]), + xref.fetchIfRef(code[j]) + ]; + } + } else { + var vmetric = [ + xref.fetchIfRef(vmetrics[++i]), + xref.fetchIfRef(vmetrics[++i]), + xref.fetchIfRef(vmetrics[++i]) + ]; + for (j = start; j <= code; j++) { + glyphsVMetrics[j] = vmetric; + } + } + } + } + } + } else { + var firstChar = properties.firstChar; + widths = dict.get('Widths'); + if (widths) { + j = firstChar; + for (i = 0, ii = widths.length; i < ii; i++) { + glyphsWidths[j++] = xref.fetchIfRef(widths[i]); + } + defaultWidth = parseFloat(descriptor.get('MissingWidth')) || 0; + } else { + var baseFontName = dict.get('BaseFont'); + if (isName(baseFontName)) { + var metrics = this.getBaseFontMetrics(baseFontName.name); + glyphsWidths = this.buildCharCodeToWidth(metrics.widths, properties); + defaultWidth = metrics.defaultWidth; + } + } + } + var isMonospace = true; + var firstWidth = defaultWidth; + for (var glyph in glyphsWidths) { + var glyphWidth = glyphsWidths[glyph]; + if (!glyphWidth) { + continue; + } + if (!firstWidth) { + firstWidth = glyphWidth; + continue; + } + if (firstWidth !== glyphWidth) { + isMonospace = false; + break; + } + } + if (isMonospace) { + properties.flags |= FontFlags.FixedPitch; + } + properties.defaultWidth = defaultWidth; + properties.widths = glyphsWidths; + properties.defaultVMetrics = defaultVMetrics; + properties.vmetrics = glyphsVMetrics; + }, + isSerifFont: function PartialEvaluator_isSerifFont(baseFontName) { + var fontNameWoStyle = baseFontName.split('-')[0]; + return fontNameWoStyle in getSerifFonts() || fontNameWoStyle.search(/serif/gi) !== -1; + }, + getBaseFontMetrics: function PartialEvaluator_getBaseFontMetrics(name) { + var defaultWidth = 0; + var widths = []; + var monospace = false; + var stdFontMap = getStdFontMap(); + var lookupName = stdFontMap[name] || name; + var Metrics = getMetrics(); + if (!(lookupName in Metrics)) { + if (this.isSerifFont(name)) { + lookupName = 'Times-Roman'; + } else { + lookupName = 'Helvetica'; + } + } + var glyphWidths = Metrics[lookupName]; + if (isNum(glyphWidths)) { + defaultWidth = glyphWidths; + monospace = true; + } else { + widths = glyphWidths(); + } + return { + defaultWidth: defaultWidth, + monospace: monospace, + widths: widths + }; + }, + buildCharCodeToWidth: function PartialEvaluator_bulildCharCodeToWidth(widthsByGlyphName, properties) { + var widths = Object.create(null); + var differences = properties.differences; + var encoding = properties.defaultEncoding; + for (var charCode = 0; charCode < 256; charCode++) { + if (charCode in differences && widthsByGlyphName[differences[charCode]]) { + widths[charCode] = widthsByGlyphName[differences[charCode]]; + continue; + } + if (charCode in encoding && widthsByGlyphName[encoding[charCode]]) { + widths[charCode] = widthsByGlyphName[encoding[charCode]]; + continue; + } + } + return widths; + }, + preEvaluateFont: function PartialEvaluator_preEvaluateFont(dict, xref) { + var baseDict = dict; + var type = dict.get('Subtype'); + assert(isName(type), 'invalid font Subtype'); + var composite = false; + var uint8array; + if (type.name === 'Type0') { + var df = dict.get('DescendantFonts'); + if (!df) { + error('Descendant fonts are not specified'); + } + dict = isArray(df) ? xref.fetchIfRef(df[0]) : df; + type = dict.get('Subtype'); + assert(isName(type), 'invalid font Subtype'); + composite = true; + } + var descriptor = dict.get('FontDescriptor'); + if (descriptor) { + var hash = new MurmurHash3_64(); + var encoding = baseDict.getRaw('Encoding'); + if (isName(encoding)) { + hash.update(encoding.name); + } else if (isRef(encoding)) { + hash.update(encoding.toString()); + } else if (isDict(encoding)) { + var keys = encoding.getKeys(); + for (var i = 0, ii = keys.length; i < ii; i++) { + var entry = encoding.getRaw(keys[i]); + if (isName(entry)) { + hash.update(entry.name); + } else if (isRef(entry)) { + hash.update(entry.toString()); + } else if (isArray(entry)) { + var diffLength = entry.length, diffBuf = new Array(diffLength); + for (var j = 0; j < diffLength; j++) { + var diffEntry = entry[j]; + if (isName(diffEntry)) { + diffBuf[j] = diffEntry.name; + } else if (isNum(diffEntry) || isRef(diffEntry)) { + diffBuf[j] = diffEntry.toString(); + } + } + hash.update(diffBuf.join()); + } + } + } + var toUnicode = dict.get('ToUnicode') || baseDict.get('ToUnicode'); + if (isStream(toUnicode)) { + var stream = toUnicode.str || toUnicode; + uint8array = stream.buffer ? new Uint8Array(stream.buffer.buffer, 0, stream.bufferLength) : new Uint8Array(stream.bytes.buffer, stream.start, stream.end - stream.start); + hash.update(uint8array); + } else if (isName(toUnicode)) { + hash.update(toUnicode.name); + } + var widths = dict.get('Widths') || baseDict.get('Widths'); + if (widths) { + uint8array = new Uint8Array(new Uint32Array(widths).buffer); + hash.update(uint8array); + } + } + return { + descriptor: descriptor, + dict: dict, + baseDict: baseDict, + composite: composite, + type: type.name, + hash: hash ? hash.hexdigest() : '' + }; + }, + translateFont: function PartialEvaluator_translateFont(preEvaluatedFont, xref) { + var baseDict = preEvaluatedFont.baseDict; + var dict = preEvaluatedFont.dict; + var composite = preEvaluatedFont.composite; + var descriptor = preEvaluatedFont.descriptor; + var type = preEvaluatedFont.type; + var maxCharIndex = composite ? 0xFFFF : 0xFF; + var properties; + if (!descriptor) { + if (type === 'Type3') { + descriptor = new Dict(null); + descriptor.set('FontName', Name.get(type)); + descriptor.set('FontBBox', dict.getArray('FontBBox')); + } else { + var baseFontName = dict.get('BaseFont'); + if (!isName(baseFontName)) { + error('Base font is not specified'); + } + baseFontName = baseFontName.name.replace(/[,_]/g, '-'); + var metrics = this.getBaseFontMetrics(baseFontName); + var fontNameWoStyle = baseFontName.split('-')[0]; + var flags = (this.isSerifFont(fontNameWoStyle) ? FontFlags.Serif : 0) | (metrics.monospace ? FontFlags.FixedPitch : 0) | (getSymbolsFonts()[fontNameWoStyle] ? FontFlags.Symbolic : FontFlags.Nonsymbolic); + properties = { + type: type, + name: baseFontName, + widths: metrics.widths, + defaultWidth: metrics.defaultWidth, + flags: flags, + firstChar: 0, + lastChar: maxCharIndex + }; + return this.extractDataStructures(dict, dict, xref, properties).then(function (properties) { + properties.widths = this.buildCharCodeToWidth(metrics.widths, properties); + return new Font(baseFontName, null, properties); + }.bind(this)); + } + } + var firstChar = dict.get('FirstChar') || 0; + var lastChar = dict.get('LastChar') || maxCharIndex; + var fontName = descriptor.get('FontName'); + var baseFont = dict.get('BaseFont'); + if (isString(fontName)) { + fontName = Name.get(fontName); + } + if (isString(baseFont)) { + baseFont = Name.get(baseFont); + } + if (type !== 'Type3') { + var fontNameStr = fontName && fontName.name; + var baseFontStr = baseFont && baseFont.name; + if (fontNameStr !== baseFontStr) { + info('The FontDescriptor\'s FontName is "' + fontNameStr + '" but should be the same as the Font\'s BaseFont "' + baseFontStr + '"'); + if (fontNameStr && baseFontStr && baseFontStr.indexOf(fontNameStr) === 0) { + fontName = baseFont; + } + } + } + fontName = fontName || baseFont; + assert(isName(fontName), 'invalid font name'); + var fontFile = descriptor.get('FontFile', 'FontFile2', 'FontFile3'); + if (fontFile) { + if (fontFile.dict) { + var subtype = fontFile.dict.get('Subtype'); + if (subtype) { + subtype = subtype.name; + } + var length1 = fontFile.dict.get('Length1'); + var length2 = fontFile.dict.get('Length2'); + var length3 = fontFile.dict.get('Length3'); + } + } + properties = { + type: type, + name: fontName.name, + subtype: subtype, + file: fontFile, + length1: length1, + length2: length2, + length3: length3, + loadedName: baseDict.loadedName, + composite: composite, + wideChars: composite, + fixedPitch: false, + fontMatrix: dict.getArray('FontMatrix') || FONT_IDENTITY_MATRIX, + firstChar: firstChar || 0, + lastChar: lastChar || maxCharIndex, + bbox: descriptor.getArray('FontBBox'), + ascent: descriptor.get('Ascent'), + descent: descriptor.get('Descent'), + xHeight: descriptor.get('XHeight'), + capHeight: descriptor.get('CapHeight'), + flags: descriptor.get('Flags'), + italicAngle: descriptor.get('ItalicAngle'), + coded: false + }; + var cMapPromise; + if (composite) { + var cidEncoding = baseDict.get('Encoding'); + if (isName(cidEncoding)) { + properties.cidEncoding = cidEncoding.name; + } + cMapPromise = CMapFactory.create({ + encoding: cidEncoding, + fetchBuiltInCMap: this.fetchBuiltInCMap, + useCMap: null + }).then(function (cMap) { + properties.cMap = cMap; + properties.vertical = properties.cMap.vertical; + }); + } else { + cMapPromise = Promise.resolve(undefined); + } + return cMapPromise.then(function () { + return this.extractDataStructures(dict, baseDict, xref, properties); + }.bind(this)).then(function (properties) { + this.extractWidths(dict, xref, descriptor, properties); + if (type === 'Type3') { + properties.isType3Font = true; + } + return new Font(fontName.name, fontFile, properties); + }.bind(this)); + } + }; + return PartialEvaluator; +}(); +var TranslatedFont = function TranslatedFontClosure() { + function TranslatedFont(loadedName, font, dict) { + this.loadedName = loadedName; + this.font = font; + this.dict = dict; + this.type3Loaded = null; + this.sent = false; + } + TranslatedFont.prototype = { + send: function (handler) { + if (this.sent) { + return; + } + var fontData = this.font.exportData(); + handler.send('commonobj', [ + this.loadedName, + 'Font', + fontData + ]); + this.sent = true; + }, + loadType3Data: function (evaluator, resources, parentOperatorList, task) { + assert(this.font.isType3Font); + if (this.type3Loaded) { + return this.type3Loaded; + } + var translatedFont = this.font; + var loadCharProcsPromise = Promise.resolve(); + var charProcs = this.dict.get('CharProcs'); + var fontResources = this.dict.get('Resources') || resources; + var charProcKeys = charProcs.getKeys(); + var charProcOperatorList = Object.create(null); + for (var i = 0, n = charProcKeys.length; i < n; ++i) { + loadCharProcsPromise = loadCharProcsPromise.then(function (key) { + var glyphStream = charProcs.get(key); + var operatorList = new OperatorList(); + return evaluator.getOperatorList(glyphStream, task, fontResources, operatorList).then(function () { + charProcOperatorList[key] = operatorList.getIR(); + parentOperatorList.addDependencies(operatorList.dependencies); + }, function (reason) { + warn('Type3 font resource \"' + key + '\" is not available'); + var operatorList = new OperatorList(); + charProcOperatorList[key] = operatorList.getIR(); + }); + }.bind(this, charProcKeys[i])); + } + this.type3Loaded = loadCharProcsPromise.then(function () { + translatedFont.charProcOperatorList = charProcOperatorList; + }); + return this.type3Loaded; + } + }; + return TranslatedFont; +}(); +var OperatorList = function OperatorListClosure() { + var CHUNK_SIZE = 1000; + var CHUNK_SIZE_ABOUT = CHUNK_SIZE - 5; + function getTransfers(queue) { + var transfers = []; + var fnArray = queue.fnArray, argsArray = queue.argsArray; + for (var i = 0, ii = queue.length; i < ii; i++) { + switch (fnArray[i]) { + case OPS.paintInlineImageXObject: + case OPS.paintInlineImageXObjectGroup: + case OPS.paintImageMaskXObject: + var arg = argsArray[i][0]; + if (!arg.cached) { + transfers.push(arg.data.buffer); + } + break; + } + } + return transfers; + } + function OperatorList(intent, messageHandler, pageIndex) { + this.messageHandler = messageHandler; + this.fnArray = []; + this.argsArray = []; + this.dependencies = Object.create(null); + this._totalLength = 0; + this.pageIndex = pageIndex; + this.intent = intent; + } + OperatorList.prototype = { + get length() { + return this.argsArray.length; + }, + get totalLength() { + return this._totalLength + this.length; + }, + addOp: function (fn, args) { + this.fnArray.push(fn); + this.argsArray.push(args); + if (this.messageHandler) { + if (this.fnArray.length >= CHUNK_SIZE) { + this.flush(); + } else if (this.fnArray.length >= CHUNK_SIZE_ABOUT && (fn === OPS.restore || fn === OPS.endText)) { + this.flush(); + } + } + }, + addDependency: function (dependency) { + if (dependency in this.dependencies) { + return; + } + this.dependencies[dependency] = true; + this.addOp(OPS.dependency, [dependency]); + }, + addDependencies: function (dependencies) { + for (var key in dependencies) { + this.addDependency(key); + } + }, + addOpList: function (opList) { + Util.extendObj(this.dependencies, opList.dependencies); + for (var i = 0, ii = opList.length; i < ii; i++) { + this.addOp(opList.fnArray[i], opList.argsArray[i]); + } + }, + getIR: function () { + return { + fnArray: this.fnArray, + argsArray: this.argsArray, + length: this.length + }; + }, + flush: function (lastChunk) { + if (this.intent !== 'oplist') { + new QueueOptimizer().optimize(this); + } + var transfers = getTransfers(this); + var length = this.length; + this._totalLength += length; + this.messageHandler.send('RenderPageChunk', { + operatorList: { + fnArray: this.fnArray, + argsArray: this.argsArray, + lastChunk: lastChunk, + length: length + }, + pageIndex: this.pageIndex, + intent: this.intent + }, transfers); + this.dependencies = Object.create(null); + this.fnArray.length = 0; + this.argsArray.length = 0; + } + }; + return OperatorList; +}(); +var StateManager = function StateManagerClosure() { + function StateManager(initialState) { + this.state = initialState; + this.stateStack = []; + } + StateManager.prototype = { + save: function () { + var old = this.state; + this.stateStack.push(this.state); + this.state = old.clone(); + }, + restore: function () { + var prev = this.stateStack.pop(); + if (prev) { + this.state = prev; + } + }, + transform: function (args) { + this.state.ctm = Util.transform(this.state.ctm, args); + } + }; + return StateManager; +}(); +var TextState = function TextStateClosure() { + function TextState() { + this.ctm = new Float32Array(IDENTITY_MATRIX); + this.fontName = null; + this.fontSize = 0; + this.font = null; + this.fontMatrix = FONT_IDENTITY_MATRIX; + this.textMatrix = IDENTITY_MATRIX.slice(); + this.textLineMatrix = IDENTITY_MATRIX.slice(); + this.charSpacing = 0; + this.wordSpacing = 0; + this.leading = 0; + this.textHScale = 1; + this.textRise = 0; + } + TextState.prototype = { + setTextMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) { + var m = this.textMatrix; + m[0] = a; + m[1] = b; + m[2] = c; + m[3] = d; + m[4] = e; + m[5] = f; + }, + setTextLineMatrix: function TextState_setTextMatrix(a, b, c, d, e, f) { + var m = this.textLineMatrix; + m[0] = a; + m[1] = b; + m[2] = c; + m[3] = d; + m[4] = e; + m[5] = f; + }, + translateTextMatrix: function TextState_translateTextMatrix(x, y) { + var m = this.textMatrix; + m[4] = m[0] * x + m[2] * y + m[4]; + m[5] = m[1] * x + m[3] * y + m[5]; + }, + translateTextLineMatrix: function TextState_translateTextMatrix(x, y) { + var m = this.textLineMatrix; + m[4] = m[0] * x + m[2] * y + m[4]; + m[5] = m[1] * x + m[3] * y + m[5]; + }, + calcTextLineMatrixAdvance: function TextState_calcTextLineMatrixAdvance(a, b, c, d, e, f) { + var font = this.font; + if (!font) { + return null; + } + var m = this.textLineMatrix; + if (!(a === m[0] && b === m[1] && c === m[2] && d === m[3])) { + return null; + } + var txDiff = e - m[4], tyDiff = f - m[5]; + if (font.vertical && txDiff !== 0 || !font.vertical && tyDiff !== 0) { + return null; + } + var tx, ty, denominator = a * d - b * c; + if (font.vertical) { + tx = -tyDiff * c / denominator; + ty = tyDiff * a / denominator; + } else { + tx = txDiff * d / denominator; + ty = -txDiff * b / denominator; + } + return { + width: tx, + height: ty, + value: font.vertical ? ty : tx + }; + }, + calcRenderMatrix: function TextState_calcRendeMatrix(ctm) { + var tsm = [ + this.fontSize * this.textHScale, + 0, + 0, + this.fontSize, + 0, + this.textRise + ]; + return Util.transform(ctm, Util.transform(this.textMatrix, tsm)); + }, + carriageReturn: function TextState_carriageReturn() { + this.translateTextLineMatrix(0, -this.leading); + this.textMatrix = this.textLineMatrix.slice(); + }, + clone: function TextState_clone() { + var clone = Object.create(this); + clone.textMatrix = this.textMatrix.slice(); + clone.textLineMatrix = this.textLineMatrix.slice(); + clone.fontMatrix = this.fontMatrix.slice(); + return clone; + } + }; + return TextState; +}(); +var EvalState = function EvalStateClosure() { + function EvalState() { + this.ctm = new Float32Array(IDENTITY_MATRIX); + this.font = null; + this.textRenderingMode = TextRenderingMode.FILL; + this.fillColorSpace = ColorSpace.singletons.gray; + this.strokeColorSpace = ColorSpace.singletons.gray; + } + EvalState.prototype = { + clone: function CanvasExtraState_clone() { + return Object.create(this); + } + }; + return EvalState; +}(); +var EvaluatorPreprocessor = function EvaluatorPreprocessorClosure() { + var getOPMap = getLookupTableFactory(function (t) { + t['w'] = { + id: OPS.setLineWidth, + numArgs: 1, + variableArgs: false + }; + t['J'] = { + id: OPS.setLineCap, + numArgs: 1, + variableArgs: false + }; + t['j'] = { + id: OPS.setLineJoin, + numArgs: 1, + variableArgs: false + }; + t['M'] = { + id: OPS.setMiterLimit, + numArgs: 1, + variableArgs: false + }; + t['d'] = { + id: OPS.setDash, + numArgs: 2, + variableArgs: false + }; + t['ri'] = { + id: OPS.setRenderingIntent, + numArgs: 1, + variableArgs: false + }; + t['i'] = { + id: OPS.setFlatness, + numArgs: 1, + variableArgs: false + }; + t['gs'] = { + id: OPS.setGState, + numArgs: 1, + variableArgs: false + }; + t['q'] = { + id: OPS.save, + numArgs: 0, + variableArgs: false + }; + t['Q'] = { + id: OPS.restore, + numArgs: 0, + variableArgs: false + }; + t['cm'] = { + id: OPS.transform, + numArgs: 6, + variableArgs: false + }; + t['m'] = { + id: OPS.moveTo, + numArgs: 2, + variableArgs: false + }; + t['l'] = { + id: OPS.lineTo, + numArgs: 2, + variableArgs: false + }; + t['c'] = { + id: OPS.curveTo, + numArgs: 6, + variableArgs: false + }; + t['v'] = { + id: OPS.curveTo2, + numArgs: 4, + variableArgs: false + }; + t['y'] = { + id: OPS.curveTo3, + numArgs: 4, + variableArgs: false + }; + t['h'] = { + id: OPS.closePath, + numArgs: 0, + variableArgs: false + }; + t['re'] = { + id: OPS.rectangle, + numArgs: 4, + variableArgs: false + }; + t['S'] = { + id: OPS.stroke, + numArgs: 0, + variableArgs: false + }; + t['s'] = { + id: OPS.closeStroke, + numArgs: 0, + variableArgs: false + }; + t['f'] = { + id: OPS.fill, + numArgs: 0, + variableArgs: false + }; + t['F'] = { + id: OPS.fill, + numArgs: 0, + variableArgs: false + }; + t['f*'] = { + id: OPS.eoFill, + numArgs: 0, + variableArgs: false + }; + t['B'] = { + id: OPS.fillStroke, + numArgs: 0, + variableArgs: false + }; + t['B*'] = { + id: OPS.eoFillStroke, + numArgs: 0, + variableArgs: false + }; + t['b'] = { + id: OPS.closeFillStroke, + numArgs: 0, + variableArgs: false + }; + t['b*'] = { + id: OPS.closeEOFillStroke, + numArgs: 0, + variableArgs: false + }; + t['n'] = { + id: OPS.endPath, + numArgs: 0, + variableArgs: false + }; + t['W'] = { + id: OPS.clip, + numArgs: 0, + variableArgs: false + }; + t['W*'] = { + id: OPS.eoClip, + numArgs: 0, + variableArgs: false + }; + t['BT'] = { + id: OPS.beginText, + numArgs: 0, + variableArgs: false + }; + t['ET'] = { + id: OPS.endText, + numArgs: 0, + variableArgs: false + }; + t['Tc'] = { + id: OPS.setCharSpacing, + numArgs: 1, + variableArgs: false + }; + t['Tw'] = { + id: OPS.setWordSpacing, + numArgs: 1, + variableArgs: false + }; + t['Tz'] = { + id: OPS.setHScale, + numArgs: 1, + variableArgs: false + }; + t['TL'] = { + id: OPS.setLeading, + numArgs: 1, + variableArgs: false + }; + t['Tf'] = { + id: OPS.setFont, + numArgs: 2, + variableArgs: false + }; + t['Tr'] = { + id: OPS.setTextRenderingMode, + numArgs: 1, + variableArgs: false + }; + t['Ts'] = { + id: OPS.setTextRise, + numArgs: 1, + variableArgs: false + }; + t['Td'] = { + id: OPS.moveText, + numArgs: 2, + variableArgs: false + }; + t['TD'] = { + id: OPS.setLeadingMoveText, + numArgs: 2, + variableArgs: false + }; + t['Tm'] = { + id: OPS.setTextMatrix, + numArgs: 6, + variableArgs: false + }; + t['T*'] = { + id: OPS.nextLine, + numArgs: 0, + variableArgs: false + }; + t['Tj'] = { + id: OPS.showText, + numArgs: 1, + variableArgs: false + }; + t['TJ'] = { + id: OPS.showSpacedText, + numArgs: 1, + variableArgs: false + }; + t['\''] = { + id: OPS.nextLineShowText, + numArgs: 1, + variableArgs: false + }; + t['"'] = { + id: OPS.nextLineSetSpacingShowText, + numArgs: 3, + variableArgs: false + }; + t['d0'] = { + id: OPS.setCharWidth, + numArgs: 2, + variableArgs: false + }; + t['d1'] = { + id: OPS.setCharWidthAndBounds, + numArgs: 6, + variableArgs: false + }; + t['CS'] = { + id: OPS.setStrokeColorSpace, + numArgs: 1, + variableArgs: false + }; + t['cs'] = { + id: OPS.setFillColorSpace, + numArgs: 1, + variableArgs: false + }; + t['SC'] = { + id: OPS.setStrokeColor, + numArgs: 4, + variableArgs: true + }; + t['SCN'] = { + id: OPS.setStrokeColorN, + numArgs: 33, + variableArgs: true + }; + t['sc'] = { + id: OPS.setFillColor, + numArgs: 4, + variableArgs: true + }; + t['scn'] = { + id: OPS.setFillColorN, + numArgs: 33, + variableArgs: true + }; + t['G'] = { + id: OPS.setStrokeGray, + numArgs: 1, + variableArgs: false + }; + t['g'] = { + id: OPS.setFillGray, + numArgs: 1, + variableArgs: false + }; + t['RG'] = { + id: OPS.setStrokeRGBColor, + numArgs: 3, + variableArgs: false + }; + t['rg'] = { + id: OPS.setFillRGBColor, + numArgs: 3, + variableArgs: false + }; + t['K'] = { + id: OPS.setStrokeCMYKColor, + numArgs: 4, + variableArgs: false + }; + t['k'] = { + id: OPS.setFillCMYKColor, + numArgs: 4, + variableArgs: false + }; + t['sh'] = { + id: OPS.shadingFill, + numArgs: 1, + variableArgs: false + }; + t['BI'] = { + id: OPS.beginInlineImage, + numArgs: 0, + variableArgs: false + }; + t['ID'] = { + id: OPS.beginImageData, + numArgs: 0, + variableArgs: false + }; + t['EI'] = { + id: OPS.endInlineImage, + numArgs: 1, + variableArgs: false + }; + t['Do'] = { + id: OPS.paintXObject, + numArgs: 1, + variableArgs: false + }; + t['MP'] = { + id: OPS.markPoint, + numArgs: 1, + variableArgs: false + }; + t['DP'] = { + id: OPS.markPointProps, + numArgs: 2, + variableArgs: false + }; + t['BMC'] = { + id: OPS.beginMarkedContent, + numArgs: 1, + variableArgs: false + }; + t['BDC'] = { + id: OPS.beginMarkedContentProps, + numArgs: 2, + variableArgs: false + }; + t['EMC'] = { + id: OPS.endMarkedContent, + numArgs: 0, + variableArgs: false + }; + t['BX'] = { + id: OPS.beginCompat, + numArgs: 0, + variableArgs: false + }; + t['EX'] = { + id: OPS.endCompat, + numArgs: 0, + variableArgs: false + }; + t['BM'] = null; + t['BD'] = null; + t['true'] = null; + t['fa'] = null; + t['fal'] = null; + t['fals'] = null; + t['false'] = null; + t['nu'] = null; + t['nul'] = null; + t['null'] = null; + }); + function EvaluatorPreprocessor(stream, xref, stateManager) { + this.opMap = getOPMap(); + this.parser = new Parser(new Lexer(stream, this.opMap), false, xref); + this.stateManager = stateManager; + this.nonProcessedArgs = []; + } + EvaluatorPreprocessor.prototype = { + get savedStatesDepth() { + return this.stateManager.stateStack.length; + }, + read: function EvaluatorPreprocessor_read(operation) { + var args = operation.args; + while (true) { + var obj = this.parser.getObj(); + if (isCmd(obj)) { + var cmd = obj.cmd; + var opSpec = this.opMap[cmd]; + if (!opSpec) { + warn('Unknown command "' + cmd + '"'); + continue; + } + var fn = opSpec.id; + var numArgs = opSpec.numArgs; + var argsLength = args !== null ? args.length : 0; + if (!opSpec.variableArgs) { + if (argsLength !== numArgs) { + var nonProcessedArgs = this.nonProcessedArgs; + while (argsLength > numArgs) { + nonProcessedArgs.push(args.shift()); + argsLength--; + } + while (argsLength < numArgs && nonProcessedArgs.length !== 0) { + if (args === null) { + args = []; + } + args.unshift(nonProcessedArgs.pop()); + argsLength++; + } + } + if (argsLength < numArgs) { + warn('Skipping command ' + fn + ': expected ' + numArgs + ' args, but received ' + argsLength + ' args.'); + if (args !== null) { + args.length = 0; + } + continue; + } + } else if (argsLength > numArgs) { + info('Command ' + fn + ': expected [0,' + numArgs + '] args, but received ' + argsLength + ' args.'); + } + this.preprocessCommand(fn, args); + operation.fn = fn; + operation.args = args; + return true; + } + if (isEOF(obj)) { + return false; + } + if (obj !== null) { + if (args === null) { + args = []; + } + args.push(obj); + assert(args.length <= 33, 'Too many arguments'); + } + } + }, + preprocessCommand: function EvaluatorPreprocessor_preprocessCommand(fn, args) { + switch (fn | 0) { + case OPS.save: + this.stateManager.save(); + break; + case OPS.restore: + this.stateManager.restore(); + break; + case OPS.transform: + this.stateManager.transform(args); + break; + } + } + }; + return EvaluatorPreprocessor; +}(); +var QueueOptimizer = function QueueOptimizerClosure() { + function addState(parentState, pattern, fn) { + var state = parentState; + for (var i = 0, ii = pattern.length - 1; i < ii; i++) { + var item = pattern[i]; + state = state[item] || (state[item] = []); + } + state[pattern[pattern.length - 1]] = fn; + } + function handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray) { + var iFirstPIMXO = iFirstSave + 2; + for (var i = 0; i < count; i++) { + var arg = argsArray[iFirstPIMXO + 4 * i]; + var imageMask = arg.length === 1 && arg[0]; + if (imageMask && imageMask.width === 1 && imageMask.height === 1 && (!imageMask.data.length || imageMask.data.length === 1 && imageMask.data[0] === 0)) { + fnArray[iFirstPIMXO + 4 * i] = OPS.paintSolidColorImageMask; + continue; + } + break; + } + return count - i; + } + var InitialState = []; + addState(InitialState, [ + OPS.save, + OPS.transform, + OPS.paintInlineImageXObject, + OPS.restore + ], function foundInlineImageGroup(context) { + var MIN_IMAGES_IN_INLINE_IMAGES_BLOCK = 10; + var MAX_IMAGES_IN_INLINE_IMAGES_BLOCK = 200; + var MAX_WIDTH = 1000; + var IMAGE_PADDING = 1; + var fnArray = context.fnArray, argsArray = context.argsArray; + var curr = context.iCurr; + var iFirstSave = curr - 3; + var iFirstTransform = curr - 2; + var iFirstPIIXO = curr - 1; + var i = iFirstSave + 4; + var ii = fnArray.length; + while (i + 3 < ii) { + if (fnArray[i] !== OPS.save || fnArray[i + 1] !== OPS.transform || fnArray[i + 2] !== OPS.paintInlineImageXObject || fnArray[i + 3] !== OPS.restore) { + break; + } + i += 4; + } + var count = Math.min((i - iFirstSave) / 4, MAX_IMAGES_IN_INLINE_IMAGES_BLOCK); + if (count < MIN_IMAGES_IN_INLINE_IMAGES_BLOCK) { + return i; + } + var maxX = 0; + var map = [], maxLineHeight = 0; + var currentX = IMAGE_PADDING, currentY = IMAGE_PADDING; + var q; + for (q = 0; q < count; q++) { + var transform = argsArray[iFirstTransform + (q << 2)]; + var img = argsArray[iFirstPIIXO + (q << 2)][0]; + if (currentX + img.width > MAX_WIDTH) { + maxX = Math.max(maxX, currentX); + currentY += maxLineHeight + 2 * IMAGE_PADDING; + currentX = 0; + maxLineHeight = 0; + } + map.push({ + transform: transform, + x: currentX, + y: currentY, + w: img.width, + h: img.height + }); + currentX += img.width + 2 * IMAGE_PADDING; + maxLineHeight = Math.max(maxLineHeight, img.height); + } + var imgWidth = Math.max(maxX, currentX) + IMAGE_PADDING; + var imgHeight = currentY + maxLineHeight + IMAGE_PADDING; + var imgData = new Uint8Array(imgWidth * imgHeight * 4); + var imgRowSize = imgWidth << 2; + for (q = 0; q < count; q++) { + var data = argsArray[iFirstPIIXO + (q << 2)][0].data; + var rowSize = map[q].w << 2; + var dataOffset = 0; + var offset = map[q].x + map[q].y * imgWidth << 2; + imgData.set(data.subarray(0, rowSize), offset - imgRowSize); + for (var k = 0, kk = map[q].h; k < kk; k++) { + imgData.set(data.subarray(dataOffset, dataOffset + rowSize), offset); + dataOffset += rowSize; + offset += imgRowSize; + } + imgData.set(data.subarray(dataOffset - rowSize, dataOffset), offset); + while (offset >= 0) { + data[offset - 4] = data[offset]; + data[offset - 3] = data[offset + 1]; + data[offset - 2] = data[offset + 2]; + data[offset - 1] = data[offset + 3]; + data[offset + rowSize] = data[offset + rowSize - 4]; + data[offset + rowSize + 1] = data[offset + rowSize - 3]; + data[offset + rowSize + 2] = data[offset + rowSize - 2]; + data[offset + rowSize + 3] = data[offset + rowSize - 1]; + offset -= imgRowSize; + } + } + fnArray.splice(iFirstSave, count * 4, OPS.paintInlineImageXObjectGroup); + argsArray.splice(iFirstSave, count * 4, [ + { + width: imgWidth, + height: imgHeight, + kind: ImageKind.RGBA_32BPP, + data: imgData + }, + map + ]); + return iFirstSave + 1; + }); + addState(InitialState, [ + OPS.save, + OPS.transform, + OPS.paintImageMaskXObject, + OPS.restore + ], function foundImageMaskGroup(context) { + var MIN_IMAGES_IN_MASKS_BLOCK = 10; + var MAX_IMAGES_IN_MASKS_BLOCK = 100; + var MAX_SAME_IMAGES_IN_MASKS_BLOCK = 1000; + var fnArray = context.fnArray, argsArray = context.argsArray; + var curr = context.iCurr; + var iFirstSave = curr - 3; + var iFirstTransform = curr - 2; + var iFirstPIMXO = curr - 1; + var i = iFirstSave + 4; + var ii = fnArray.length; + while (i + 3 < ii) { + if (fnArray[i] !== OPS.save || fnArray[i + 1] !== OPS.transform || fnArray[i + 2] !== OPS.paintImageMaskXObject || fnArray[i + 3] !== OPS.restore) { + break; + } + i += 4; + } + var count = (i - iFirstSave) / 4; + count = handlePaintSolidColorImageMask(iFirstSave, count, fnArray, argsArray); + if (count < MIN_IMAGES_IN_MASKS_BLOCK) { + return i; + } + var q; + var isSameImage = false; + var iTransform, transformArgs; + var firstPIMXOArg0 = argsArray[iFirstPIMXO][0]; + if (argsArray[iFirstTransform][1] === 0 && argsArray[iFirstTransform][2] === 0) { + isSameImage = true; + var firstTransformArg0 = argsArray[iFirstTransform][0]; + var firstTransformArg3 = argsArray[iFirstTransform][3]; + iTransform = iFirstTransform + 4; + var iPIMXO = iFirstPIMXO + 4; + for (q = 1; q < count; q++, iTransform += 4, iPIMXO += 4) { + transformArgs = argsArray[iTransform]; + if (argsArray[iPIMXO][0] !== firstPIMXOArg0 || transformArgs[0] !== firstTransformArg0 || transformArgs[1] !== 0 || transformArgs[2] !== 0 || transformArgs[3] !== firstTransformArg3) { + if (q < MIN_IMAGES_IN_MASKS_BLOCK) { + isSameImage = false; + } else { + count = q; + } + break; + } + } + } + if (isSameImage) { + count = Math.min(count, MAX_SAME_IMAGES_IN_MASKS_BLOCK); + var positions = new Float32Array(count * 2); + iTransform = iFirstTransform; + for (q = 0; q < count; q++, iTransform += 4) { + transformArgs = argsArray[iTransform]; + positions[q << 1] = transformArgs[4]; + positions[(q << 1) + 1] = transformArgs[5]; + } + fnArray.splice(iFirstSave, count * 4, OPS.paintImageMaskXObjectRepeat); + argsArray.splice(iFirstSave, count * 4, [ + firstPIMXOArg0, + firstTransformArg0, + firstTransformArg3, + positions + ]); + } else { + count = Math.min(count, MAX_IMAGES_IN_MASKS_BLOCK); + var images = []; + for (q = 0; q < count; q++) { + transformArgs = argsArray[iFirstTransform + (q << 2)]; + var maskParams = argsArray[iFirstPIMXO + (q << 2)][0]; + images.push({ + data: maskParams.data, + width: maskParams.width, + height: maskParams.height, + transform: transformArgs + }); + } + fnArray.splice(iFirstSave, count * 4, OPS.paintImageMaskXObjectGroup); + argsArray.splice(iFirstSave, count * 4, [images]); + } + return iFirstSave + 1; + }); + addState(InitialState, [ + OPS.save, + OPS.transform, + OPS.paintImageXObject, + OPS.restore + ], function (context) { + var MIN_IMAGES_IN_BLOCK = 3; + var MAX_IMAGES_IN_BLOCK = 1000; + var fnArray = context.fnArray, argsArray = context.argsArray; + var curr = context.iCurr; + var iFirstSave = curr - 3; + var iFirstTransform = curr - 2; + var iFirstPIXO = curr - 1; + var iFirstRestore = curr; + if (argsArray[iFirstTransform][1] !== 0 || argsArray[iFirstTransform][2] !== 0) { + return iFirstRestore + 1; + } + var firstPIXOArg0 = argsArray[iFirstPIXO][0]; + var firstTransformArg0 = argsArray[iFirstTransform][0]; + var firstTransformArg3 = argsArray[iFirstTransform][3]; + var i = iFirstSave + 4; + var ii = fnArray.length; + while (i + 3 < ii) { + if (fnArray[i] !== OPS.save || fnArray[i + 1] !== OPS.transform || fnArray[i + 2] !== OPS.paintImageXObject || fnArray[i + 3] !== OPS.restore) { + break; + } + if (argsArray[i + 1][0] !== firstTransformArg0 || argsArray[i + 1][1] !== 0 || argsArray[i + 1][2] !== 0 || argsArray[i + 1][3] !== firstTransformArg3) { + break; + } + if (argsArray[i + 2][0] !== firstPIXOArg0) { + break; + } + i += 4; + } + var count = Math.min((i - iFirstSave) / 4, MAX_IMAGES_IN_BLOCK); + if (count < MIN_IMAGES_IN_BLOCK) { + return i; + } + var positions = new Float32Array(count * 2); + var iTransform = iFirstTransform; + for (var q = 0; q < count; q++, iTransform += 4) { + var transformArgs = argsArray[iTransform]; + positions[q << 1] = transformArgs[4]; + positions[(q << 1) + 1] = transformArgs[5]; + } + var args = [ + firstPIXOArg0, + firstTransformArg0, + firstTransformArg3, + positions + ]; + fnArray.splice(iFirstSave, count * 4, OPS.paintImageXObjectRepeat); + argsArray.splice(iFirstSave, count * 4, args); + return iFirstSave + 1; + }); + addState(InitialState, [ + OPS.beginText, + OPS.setFont, + OPS.setTextMatrix, + OPS.showText, + OPS.endText + ], function (context) { + var MIN_CHARS_IN_BLOCK = 3; + var MAX_CHARS_IN_BLOCK = 1000; + var fnArray = context.fnArray, argsArray = context.argsArray; + var curr = context.iCurr; + var iFirstBeginText = curr - 4; + var iFirstSetFont = curr - 3; + var iFirstSetTextMatrix = curr - 2; + var iFirstShowText = curr - 1; + var iFirstEndText = curr; + var firstSetFontArg0 = argsArray[iFirstSetFont][0]; + var firstSetFontArg1 = argsArray[iFirstSetFont][1]; + var i = iFirstBeginText + 5; + var ii = fnArray.length; + while (i + 4 < ii) { + if (fnArray[i] !== OPS.beginText || fnArray[i + 1] !== OPS.setFont || fnArray[i + 2] !== OPS.setTextMatrix || fnArray[i + 3] !== OPS.showText || fnArray[i + 4] !== OPS.endText) { + break; + } + if (argsArray[i + 1][0] !== firstSetFontArg0 || argsArray[i + 1][1] !== firstSetFontArg1) { + break; + } + i += 5; + } + var count = Math.min((i - iFirstBeginText) / 5, MAX_CHARS_IN_BLOCK); + if (count < MIN_CHARS_IN_BLOCK) { + return i; + } + var iFirst = iFirstBeginText; + if (iFirstBeginText >= 4 && fnArray[iFirstBeginText - 4] === fnArray[iFirstSetFont] && fnArray[iFirstBeginText - 3] === fnArray[iFirstSetTextMatrix] && fnArray[iFirstBeginText - 2] === fnArray[iFirstShowText] && fnArray[iFirstBeginText - 1] === fnArray[iFirstEndText] && argsArray[iFirstBeginText - 4][0] === firstSetFontArg0 && argsArray[iFirstBeginText - 4][1] === firstSetFontArg1) { + count++; + iFirst -= 5; + } + var iEndText = iFirst + 4; + for (var q = 1; q < count; q++) { + fnArray.splice(iEndText, 3); + argsArray.splice(iEndText, 3); + iEndText += 2; + } + return iEndText + 1; + }); + function QueueOptimizer() { + } + QueueOptimizer.prototype = { + optimize: function QueueOptimizer_optimize(queue) { + var fnArray = queue.fnArray, argsArray = queue.argsArray; + var context = { + iCurr: 0, + fnArray: fnArray, + argsArray: argsArray + }; + var state; + var i = 0, ii = fnArray.length; + while (i < ii) { + state = (state || InitialState)[fnArray[i]]; + if (typeof state === 'function') { + context.iCurr = i; + i = state(context); + state = undefined; + ii = context.fnArray.length; + } else { + i++; + } + } + } + }; + return QueueOptimizer; +}(); +exports.OperatorList = OperatorList; +exports.PartialEvaluator = PartialEvaluator; + +/***/ }), +/* 15 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var coreArithmeticDecoder = __w_pdfjs_require__(10); +var info = sharedUtil.info; +var warn = sharedUtil.warn; +var error = sharedUtil.error; +var log2 = sharedUtil.log2; +var readUint16 = sharedUtil.readUint16; +var readUint32 = sharedUtil.readUint32; +var ArithmeticDecoder = coreArithmeticDecoder.ArithmeticDecoder; +var JpxImage = function JpxImageClosure() { + var SubbandsGainLog2 = { + 'LL': 0, + 'LH': 1, + 'HL': 1, + 'HH': 2 + }; + function JpxImage() { + this.failOnCorruptedImage = false; + } + JpxImage.prototype = { + parse: function JpxImage_parse(data) { + var head = readUint16(data, 0); + if (head === 0xFF4F) { + this.parseCodestream(data, 0, data.length); + return; + } + var position = 0, length = data.length; + while (position < length) { + var headerSize = 8; + var lbox = readUint32(data, position); + var tbox = readUint32(data, position + 4); + position += headerSize; + if (lbox === 1) { + lbox = readUint32(data, position) * 4294967296 + readUint32(data, position + 4); + position += 8; + headerSize += 8; + } + if (lbox === 0) { + lbox = length - position + headerSize; + } + if (lbox < headerSize) { + error('JPX Error: Invalid box field size'); + } + var dataLength = lbox - headerSize; + var jumpDataLength = true; + switch (tbox) { + case 0x6A703268: + jumpDataLength = false; + break; + case 0x636F6C72: + var method = data[position]; + if (method === 1) { + var colorspace = readUint32(data, position + 3); + switch (colorspace) { + case 16: + case 17: + case 18: + break; + default: + warn('Unknown colorspace ' + colorspace); + break; + } + } else if (method === 2) { + info('ICC profile not supported'); + } + break; + case 0x6A703263: + this.parseCodestream(data, position, position + dataLength); + break; + case 0x6A502020: + if (0x0d0a870a !== readUint32(data, position)) { + warn('Invalid JP2 signature'); + } + break; + case 0x6A501A1A: + case 0x66747970: + case 0x72726571: + case 0x72657320: + case 0x69686472: + break; + default: + var headerType = String.fromCharCode(tbox >> 24 & 0xFF, tbox >> 16 & 0xFF, tbox >> 8 & 0xFF, tbox & 0xFF); + warn('Unsupported header type ' + tbox + ' (' + headerType + ')'); + break; + } + if (jumpDataLength) { + position += dataLength; + } + } + }, + parseImageProperties: function JpxImage_parseImageProperties(stream) { + var newByte = stream.getByte(); + while (newByte >= 0) { + var oldByte = newByte; + newByte = stream.getByte(); + var code = oldByte << 8 | newByte; + if (code === 0xFF51) { + stream.skip(4); + var Xsiz = stream.getInt32() >>> 0; + var Ysiz = stream.getInt32() >>> 0; + var XOsiz = stream.getInt32() >>> 0; + var YOsiz = stream.getInt32() >>> 0; + stream.skip(16); + var Csiz = stream.getUint16(); + this.width = Xsiz - XOsiz; + this.height = Ysiz - YOsiz; + this.componentsCount = Csiz; + this.bitsPerComponent = 8; + return; + } + } + error('JPX Error: No size marker found in JPX stream'); + }, + parseCodestream: function JpxImage_parseCodestream(data, start, end) { + var context = {}; + var doNotRecover = false; + try { + var position = start; + while (position + 1 < end) { + var code = readUint16(data, position); + position += 2; + var length = 0, j, sqcd, spqcds, spqcdSize, scalarExpounded, tile; + switch (code) { + case 0xFF4F: + context.mainHeader = true; + break; + case 0xFFD9: + break; + case 0xFF51: + length = readUint16(data, position); + var siz = {}; + siz.Xsiz = readUint32(data, position + 4); + siz.Ysiz = readUint32(data, position + 8); + siz.XOsiz = readUint32(data, position + 12); + siz.YOsiz = readUint32(data, position + 16); + siz.XTsiz = readUint32(data, position + 20); + siz.YTsiz = readUint32(data, position + 24); + siz.XTOsiz = readUint32(data, position + 28); + siz.YTOsiz = readUint32(data, position + 32); + var componentsCount = readUint16(data, position + 36); + siz.Csiz = componentsCount; + var components = []; + j = position + 38; + for (var i = 0; i < componentsCount; i++) { + var component = { + precision: (data[j] & 0x7F) + 1, + isSigned: !!(data[j] & 0x80), + XRsiz: data[j + 1], + YRsiz: data[j + 1] + }; + calculateComponentDimensions(component, siz); + components.push(component); + } + context.SIZ = siz; + context.components = components; + calculateTileGrids(context, components); + context.QCC = []; + context.COC = []; + break; + case 0xFF5C: + length = readUint16(data, position); + var qcd = {}; + j = position + 2; + sqcd = data[j++]; + switch (sqcd & 0x1F) { + case 0: + spqcdSize = 8; + scalarExpounded = true; + break; + case 1: + spqcdSize = 16; + scalarExpounded = false; + break; + case 2: + spqcdSize = 16; + scalarExpounded = true; + break; + default: + throw new Error('Invalid SQcd value ' + sqcd); + } + qcd.noQuantization = spqcdSize === 8; + qcd.scalarExpounded = scalarExpounded; + qcd.guardBits = sqcd >> 5; + spqcds = []; + while (j < length + position) { + var spqcd = {}; + if (spqcdSize === 8) { + spqcd.epsilon = data[j++] >> 3; + spqcd.mu = 0; + } else { + spqcd.epsilon = data[j] >> 3; + spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1]; + j += 2; + } + spqcds.push(spqcd); + } + qcd.SPqcds = spqcds; + if (context.mainHeader) { + context.QCD = qcd; + } else { + context.currentTile.QCD = qcd; + context.currentTile.QCC = []; + } + break; + case 0xFF5D: + length = readUint16(data, position); + var qcc = {}; + j = position + 2; + var cqcc; + if (context.SIZ.Csiz < 257) { + cqcc = data[j++]; + } else { + cqcc = readUint16(data, j); + j += 2; + } + sqcd = data[j++]; + switch (sqcd & 0x1F) { + case 0: + spqcdSize = 8; + scalarExpounded = true; + break; + case 1: + spqcdSize = 16; + scalarExpounded = false; + break; + case 2: + spqcdSize = 16; + scalarExpounded = true; + break; + default: + throw new Error('Invalid SQcd value ' + sqcd); + } + qcc.noQuantization = spqcdSize === 8; + qcc.scalarExpounded = scalarExpounded; + qcc.guardBits = sqcd >> 5; + spqcds = []; + while (j < length + position) { + spqcd = {}; + if (spqcdSize === 8) { + spqcd.epsilon = data[j++] >> 3; + spqcd.mu = 0; + } else { + spqcd.epsilon = data[j] >> 3; + spqcd.mu = (data[j] & 0x7) << 8 | data[j + 1]; + j += 2; + } + spqcds.push(spqcd); + } + qcc.SPqcds = spqcds; + if (context.mainHeader) { + context.QCC[cqcc] = qcc; + } else { + context.currentTile.QCC[cqcc] = qcc; + } + break; + case 0xFF52: + length = readUint16(data, position); + var cod = {}; + j = position + 2; + var scod = data[j++]; + cod.entropyCoderWithCustomPrecincts = !!(scod & 1); + cod.sopMarkerUsed = !!(scod & 2); + cod.ephMarkerUsed = !!(scod & 4); + cod.progressionOrder = data[j++]; + cod.layersCount = readUint16(data, j); + j += 2; + cod.multipleComponentTransform = data[j++]; + cod.decompositionLevelsCount = data[j++]; + cod.xcb = (data[j++] & 0xF) + 2; + cod.ycb = (data[j++] & 0xF) + 2; + var blockStyle = data[j++]; + cod.selectiveArithmeticCodingBypass = !!(blockStyle & 1); + cod.resetContextProbabilities = !!(blockStyle & 2); + cod.terminationOnEachCodingPass = !!(blockStyle & 4); + cod.verticalyStripe = !!(blockStyle & 8); + cod.predictableTermination = !!(blockStyle & 16); + cod.segmentationSymbolUsed = !!(blockStyle & 32); + cod.reversibleTransformation = data[j++]; + if (cod.entropyCoderWithCustomPrecincts) { + var precinctsSizes = []; + while (j < length + position) { + var precinctsSize = data[j++]; + precinctsSizes.push({ + PPx: precinctsSize & 0xF, + PPy: precinctsSize >> 4 + }); + } + cod.precinctsSizes = precinctsSizes; + } + var unsupported = []; + if (cod.selectiveArithmeticCodingBypass) { + unsupported.push('selectiveArithmeticCodingBypass'); + } + if (cod.resetContextProbabilities) { + unsupported.push('resetContextProbabilities'); + } + if (cod.terminationOnEachCodingPass) { + unsupported.push('terminationOnEachCodingPass'); + } + if (cod.verticalyStripe) { + unsupported.push('verticalyStripe'); + } + if (cod.predictableTermination) { + unsupported.push('predictableTermination'); + } + if (unsupported.length > 0) { + doNotRecover = true; + throw new Error('Unsupported COD options (' + unsupported.join(', ') + ')'); + } + if (context.mainHeader) { + context.COD = cod; + } else { + context.currentTile.COD = cod; + context.currentTile.COC = []; + } + break; + case 0xFF90: + length = readUint16(data, position); + tile = {}; + tile.index = readUint16(data, position + 2); + tile.length = readUint32(data, position + 4); + tile.dataEnd = tile.length + position - 2; + tile.partIndex = data[position + 8]; + tile.partsCount = data[position + 9]; + context.mainHeader = false; + if (tile.partIndex === 0) { + tile.COD = context.COD; + tile.COC = context.COC.slice(0); + tile.QCD = context.QCD; + tile.QCC = context.QCC.slice(0); + } + context.currentTile = tile; + break; + case 0xFF93: + tile = context.currentTile; + if (tile.partIndex === 0) { + initializeTile(context, tile.index); + buildPackets(context); + } + length = tile.dataEnd - position; + parseTilePackets(context, data, position, length); + break; + case 0xFF55: + case 0xFF57: + case 0xFF58: + case 0xFF64: + length = readUint16(data, position); + break; + case 0xFF53: + throw new Error('Codestream code 0xFF53 (COC) is ' + 'not implemented'); + default: + throw new Error('Unknown codestream code: ' + code.toString(16)); + } + position += length; + } + } catch (e) { + if (doNotRecover || this.failOnCorruptedImage) { + error('JPX Error: ' + e.message); + } else { + warn('JPX: Trying to recover from: ' + e.message); + } + } + this.tiles = transformComponents(context); + this.width = context.SIZ.Xsiz - context.SIZ.XOsiz; + this.height = context.SIZ.Ysiz - context.SIZ.YOsiz; + this.componentsCount = context.SIZ.Csiz; + } + }; + function calculateComponentDimensions(component, siz) { + component.x0 = Math.ceil(siz.XOsiz / component.XRsiz); + component.x1 = Math.ceil(siz.Xsiz / component.XRsiz); + component.y0 = Math.ceil(siz.YOsiz / component.YRsiz); + component.y1 = Math.ceil(siz.Ysiz / component.YRsiz); + component.width = component.x1 - component.x0; + component.height = component.y1 - component.y0; + } + function calculateTileGrids(context, components) { + var siz = context.SIZ; + var tile, tiles = []; + var numXtiles = Math.ceil((siz.Xsiz - siz.XTOsiz) / siz.XTsiz); + var numYtiles = Math.ceil((siz.Ysiz - siz.YTOsiz) / siz.YTsiz); + for (var q = 0; q < numYtiles; q++) { + for (var p = 0; p < numXtiles; p++) { + tile = {}; + tile.tx0 = Math.max(siz.XTOsiz + p * siz.XTsiz, siz.XOsiz); + tile.ty0 = Math.max(siz.YTOsiz + q * siz.YTsiz, siz.YOsiz); + tile.tx1 = Math.min(siz.XTOsiz + (p + 1) * siz.XTsiz, siz.Xsiz); + tile.ty1 = Math.min(siz.YTOsiz + (q + 1) * siz.YTsiz, siz.Ysiz); + tile.width = tile.tx1 - tile.tx0; + tile.height = tile.ty1 - tile.ty0; + tile.components = []; + tiles.push(tile); + } + } + context.tiles = tiles; + var componentsCount = siz.Csiz; + for (var i = 0, ii = componentsCount; i < ii; i++) { + var component = components[i]; + for (var j = 0, jj = tiles.length; j < jj; j++) { + var tileComponent = {}; + tile = tiles[j]; + tileComponent.tcx0 = Math.ceil(tile.tx0 / component.XRsiz); + tileComponent.tcy0 = Math.ceil(tile.ty0 / component.YRsiz); + tileComponent.tcx1 = Math.ceil(tile.tx1 / component.XRsiz); + tileComponent.tcy1 = Math.ceil(tile.ty1 / component.YRsiz); + tileComponent.width = tileComponent.tcx1 - tileComponent.tcx0; + tileComponent.height = tileComponent.tcy1 - tileComponent.tcy0; + tile.components[i] = tileComponent; + } + } + } + function getBlocksDimensions(context, component, r) { + var codOrCoc = component.codingStyleParameters; + var result = {}; + if (!codOrCoc.entropyCoderWithCustomPrecincts) { + result.PPx = 15; + result.PPy = 15; + } else { + result.PPx = codOrCoc.precinctsSizes[r].PPx; + result.PPy = codOrCoc.precinctsSizes[r].PPy; + } + result.xcb_ = r > 0 ? Math.min(codOrCoc.xcb, result.PPx - 1) : Math.min(codOrCoc.xcb, result.PPx); + result.ycb_ = r > 0 ? Math.min(codOrCoc.ycb, result.PPy - 1) : Math.min(codOrCoc.ycb, result.PPy); + return result; + } + function buildPrecincts(context, resolution, dimensions) { + var precinctWidth = 1 << dimensions.PPx; + var precinctHeight = 1 << dimensions.PPy; + var isZeroRes = resolution.resLevel === 0; + var precinctWidthInSubband = 1 << dimensions.PPx + (isZeroRes ? 0 : -1); + var precinctHeightInSubband = 1 << dimensions.PPy + (isZeroRes ? 0 : -1); + var numprecinctswide = resolution.trx1 > resolution.trx0 ? Math.ceil(resolution.trx1 / precinctWidth) - Math.floor(resolution.trx0 / precinctWidth) : 0; + var numprecinctshigh = resolution.try1 > resolution.try0 ? Math.ceil(resolution.try1 / precinctHeight) - Math.floor(resolution.try0 / precinctHeight) : 0; + var numprecincts = numprecinctswide * numprecinctshigh; + resolution.precinctParameters = { + precinctWidth: precinctWidth, + precinctHeight: precinctHeight, + numprecinctswide: numprecinctswide, + numprecinctshigh: numprecinctshigh, + numprecincts: numprecincts, + precinctWidthInSubband: precinctWidthInSubband, + precinctHeightInSubband: precinctHeightInSubband + }; + } + function buildCodeblocks(context, subband, dimensions) { + var xcb_ = dimensions.xcb_; + var ycb_ = dimensions.ycb_; + var codeblockWidth = 1 << xcb_; + var codeblockHeight = 1 << ycb_; + var cbx0 = subband.tbx0 >> xcb_; + var cby0 = subband.tby0 >> ycb_; + var cbx1 = subband.tbx1 + codeblockWidth - 1 >> xcb_; + var cby1 = subband.tby1 + codeblockHeight - 1 >> ycb_; + var precinctParameters = subband.resolution.precinctParameters; + var codeblocks = []; + var precincts = []; + var i, j, codeblock, precinctNumber; + for (j = cby0; j < cby1; j++) { + for (i = cbx0; i < cbx1; i++) { + codeblock = { + cbx: i, + cby: j, + tbx0: codeblockWidth * i, + tby0: codeblockHeight * j, + tbx1: codeblockWidth * (i + 1), + tby1: codeblockHeight * (j + 1) + }; + codeblock.tbx0_ = Math.max(subband.tbx0, codeblock.tbx0); + codeblock.tby0_ = Math.max(subband.tby0, codeblock.tby0); + codeblock.tbx1_ = Math.min(subband.tbx1, codeblock.tbx1); + codeblock.tby1_ = Math.min(subband.tby1, codeblock.tby1); + var pi = Math.floor((codeblock.tbx0_ - subband.tbx0) / precinctParameters.precinctWidthInSubband); + var pj = Math.floor((codeblock.tby0_ - subband.tby0) / precinctParameters.precinctHeightInSubband); + precinctNumber = pi + pj * precinctParameters.numprecinctswide; + codeblock.precinctNumber = precinctNumber; + codeblock.subbandType = subband.type; + codeblock.Lblock = 3; + if (codeblock.tbx1_ <= codeblock.tbx0_ || codeblock.tby1_ <= codeblock.tby0_) { + continue; + } + codeblocks.push(codeblock); + var precinct = precincts[precinctNumber]; + if (precinct !== undefined) { + if (i < precinct.cbxMin) { + precinct.cbxMin = i; + } else if (i > precinct.cbxMax) { + precinct.cbxMax = i; + } + if (j < precinct.cbyMin) { + precinct.cbxMin = j; + } else if (j > precinct.cbyMax) { + precinct.cbyMax = j; + } + } else { + precincts[precinctNumber] = precinct = { + cbxMin: i, + cbyMin: j, + cbxMax: i, + cbyMax: j + }; + } + codeblock.precinct = precinct; + } + } + subband.codeblockParameters = { + codeblockWidth: xcb_, + codeblockHeight: ycb_, + numcodeblockwide: cbx1 - cbx0 + 1, + numcodeblockhigh: cby1 - cby0 + 1 + }; + subband.codeblocks = codeblocks; + subband.precincts = precincts; + } + function createPacket(resolution, precinctNumber, layerNumber) { + var precinctCodeblocks = []; + var subbands = resolution.subbands; + for (var i = 0, ii = subbands.length; i < ii; i++) { + var subband = subbands[i]; + var codeblocks = subband.codeblocks; + for (var j = 0, jj = codeblocks.length; j < jj; j++) { + var codeblock = codeblocks[j]; + if (codeblock.precinctNumber !== precinctNumber) { + continue; + } + precinctCodeblocks.push(codeblock); + } + } + return { + layerNumber: layerNumber, + codeblocks: precinctCodeblocks + }; + } + function LayerResolutionComponentPositionIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var maxDecompositionLevelsCount = 0; + for (var q = 0; q < componentsCount; q++) { + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount); + } + var l = 0, r = 0, i = 0, k = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; l < layersCount; l++) { + for (; r <= maxDecompositionLevelsCount; r++) { + for (; i < componentsCount; i++) { + var component = tile.components[i]; + if (r > component.codingStyleParameters.decompositionLevelsCount) { + continue; + } + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + for (; k < numprecincts;) { + var packet = createPacket(resolution, k, l); + k++; + return packet; + } + k = 0; + } + i = 0; + } + r = 0; + } + error('JPX Error: Out of packets'); + }; + } + function ResolutionLayerComponentPositionIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var maxDecompositionLevelsCount = 0; + for (var q = 0; q < componentsCount; q++) { + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, tile.components[q].codingStyleParameters.decompositionLevelsCount); + } + var r = 0, l = 0, i = 0, k = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; r <= maxDecompositionLevelsCount; r++) { + for (; l < layersCount; l++) { + for (; i < componentsCount; i++) { + var component = tile.components[i]; + if (r > component.codingStyleParameters.decompositionLevelsCount) { + continue; + } + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + for (; k < numprecincts;) { + var packet = createPacket(resolution, k, l); + k++; + return packet; + } + k = 0; + } + i = 0; + } + l = 0; + } + error('JPX Error: Out of packets'); + }; + } + function ResolutionPositionComponentLayerIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var l, r, c, p; + var maxDecompositionLevelsCount = 0; + for (c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + maxDecompositionLevelsCount = Math.max(maxDecompositionLevelsCount, component.codingStyleParameters.decompositionLevelsCount); + } + var maxNumPrecinctsInLevel = new Int32Array(maxDecompositionLevelsCount + 1); + for (r = 0; r <= maxDecompositionLevelsCount; ++r) { + var maxNumPrecincts = 0; + for (c = 0; c < componentsCount; ++c) { + var resolutions = tile.components[c].resolutions; + if (r < resolutions.length) { + maxNumPrecincts = Math.max(maxNumPrecincts, resolutions[r].precinctParameters.numprecincts); + } + } + maxNumPrecinctsInLevel[r] = maxNumPrecincts; + } + l = 0; + r = 0; + c = 0; + p = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; r <= maxDecompositionLevelsCount; r++) { + for (; p < maxNumPrecinctsInLevel[r]; p++) { + for (; c < componentsCount; c++) { + var component = tile.components[c]; + if (r > component.codingStyleParameters.decompositionLevelsCount) { + continue; + } + var resolution = component.resolutions[r]; + var numprecincts = resolution.precinctParameters.numprecincts; + if (p >= numprecincts) { + continue; + } + for (; l < layersCount;) { + var packet = createPacket(resolution, p, l); + l++; + return packet; + } + l = 0; + } + c = 0; + } + p = 0; + } + error('JPX Error: Out of packets'); + }; + } + function PositionComponentResolutionLayerIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var precinctsSizes = getPrecinctSizesInImageScale(tile); + var precinctsIterationSizes = precinctsSizes; + var l = 0, r = 0, c = 0, px = 0, py = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; py < precinctsIterationSizes.maxNumHigh; py++) { + for (; px < precinctsIterationSizes.maxNumWide; px++) { + for (; c < componentsCount; c++) { + var component = tile.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + for (; r <= decompositionLevelsCount; r++) { + var resolution = component.resolutions[r]; + var sizeInImageScale = precinctsSizes.components[c].resolutions[r]; + var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution); + if (k === null) { + continue; + } + for (; l < layersCount;) { + var packet = createPacket(resolution, k, l); + l++; + return packet; + } + l = 0; + } + r = 0; + } + c = 0; + } + px = 0; + } + error('JPX Error: Out of packets'); + }; + } + function ComponentPositionResolutionLayerIterator(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var layersCount = tile.codingStyleDefaultParameters.layersCount; + var componentsCount = siz.Csiz; + var precinctsSizes = getPrecinctSizesInImageScale(tile); + var l = 0, r = 0, c = 0, px = 0, py = 0; + this.nextPacket = function JpxImage_nextPacket() { + for (; c < componentsCount; ++c) { + var component = tile.components[c]; + var precinctsIterationSizes = precinctsSizes.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + for (; py < precinctsIterationSizes.maxNumHigh; py++) { + for (; px < precinctsIterationSizes.maxNumWide; px++) { + for (; r <= decompositionLevelsCount; r++) { + var resolution = component.resolutions[r]; + var sizeInImageScale = precinctsIterationSizes.resolutions[r]; + var k = getPrecinctIndexIfExist(px, py, sizeInImageScale, precinctsIterationSizes, resolution); + if (k === null) { + continue; + } + for (; l < layersCount;) { + var packet = createPacket(resolution, k, l); + l++; + return packet; + } + l = 0; + } + r = 0; + } + px = 0; + } + py = 0; + } + error('JPX Error: Out of packets'); + }; + } + function getPrecinctIndexIfExist(pxIndex, pyIndex, sizeInImageScale, precinctIterationSizes, resolution) { + var posX = pxIndex * precinctIterationSizes.minWidth; + var posY = pyIndex * precinctIterationSizes.minHeight; + if (posX % sizeInImageScale.width !== 0 || posY % sizeInImageScale.height !== 0) { + return null; + } + var startPrecinctRowIndex = posY / sizeInImageScale.width * resolution.precinctParameters.numprecinctswide; + return posX / sizeInImageScale.height + startPrecinctRowIndex; + } + function getPrecinctSizesInImageScale(tile) { + var componentsCount = tile.components.length; + var minWidth = Number.MAX_VALUE; + var minHeight = Number.MAX_VALUE; + var maxNumWide = 0; + var maxNumHigh = 0; + var sizePerComponent = new Array(componentsCount); + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + var sizePerResolution = new Array(decompositionLevelsCount + 1); + var minWidthCurrentComponent = Number.MAX_VALUE; + var minHeightCurrentComponent = Number.MAX_VALUE; + var maxNumWideCurrentComponent = 0; + var maxNumHighCurrentComponent = 0; + var scale = 1; + for (var r = decompositionLevelsCount; r >= 0; --r) { + var resolution = component.resolutions[r]; + var widthCurrentResolution = scale * resolution.precinctParameters.precinctWidth; + var heightCurrentResolution = scale * resolution.precinctParameters.precinctHeight; + minWidthCurrentComponent = Math.min(minWidthCurrentComponent, widthCurrentResolution); + minHeightCurrentComponent = Math.min(minHeightCurrentComponent, heightCurrentResolution); + maxNumWideCurrentComponent = Math.max(maxNumWideCurrentComponent, resolution.precinctParameters.numprecinctswide); + maxNumHighCurrentComponent = Math.max(maxNumHighCurrentComponent, resolution.precinctParameters.numprecinctshigh); + sizePerResolution[r] = { + width: widthCurrentResolution, + height: heightCurrentResolution + }; + scale <<= 1; + } + minWidth = Math.min(minWidth, minWidthCurrentComponent); + minHeight = Math.min(minHeight, minHeightCurrentComponent); + maxNumWide = Math.max(maxNumWide, maxNumWideCurrentComponent); + maxNumHigh = Math.max(maxNumHigh, maxNumHighCurrentComponent); + sizePerComponent[c] = { + resolutions: sizePerResolution, + minWidth: minWidthCurrentComponent, + minHeight: minHeightCurrentComponent, + maxNumWide: maxNumWideCurrentComponent, + maxNumHigh: maxNumHighCurrentComponent + }; + } + return { + components: sizePerComponent, + minWidth: minWidth, + minHeight: minHeight, + maxNumWide: maxNumWide, + maxNumHigh: maxNumHigh + }; + } + function buildPackets(context) { + var siz = context.SIZ; + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var componentsCount = siz.Csiz; + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var decompositionLevelsCount = component.codingStyleParameters.decompositionLevelsCount; + var resolutions = []; + var subbands = []; + for (var r = 0; r <= decompositionLevelsCount; r++) { + var blocksDimensions = getBlocksDimensions(context, component, r); + var resolution = {}; + var scale = 1 << decompositionLevelsCount - r; + resolution.trx0 = Math.ceil(component.tcx0 / scale); + resolution.try0 = Math.ceil(component.tcy0 / scale); + resolution.trx1 = Math.ceil(component.tcx1 / scale); + resolution.try1 = Math.ceil(component.tcy1 / scale); + resolution.resLevel = r; + buildPrecincts(context, resolution, blocksDimensions); + resolutions.push(resolution); + var subband; + if (r === 0) { + subband = {}; + subband.type = 'LL'; + subband.tbx0 = Math.ceil(component.tcx0 / scale); + subband.tby0 = Math.ceil(component.tcy0 / scale); + subband.tbx1 = Math.ceil(component.tcx1 / scale); + subband.tby1 = Math.ceil(component.tcy1 / scale); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolution.subbands = [subband]; + } else { + var bscale = 1 << decompositionLevelsCount - r + 1; + var resolutionSubbands = []; + subband = {}; + subband.type = 'HL'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5); + subband.tby0 = Math.ceil(component.tcy0 / bscale); + subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5); + subband.tby1 = Math.ceil(component.tcy1 / bscale); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + subband = {}; + subband.type = 'LH'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale); + subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5); + subband.tbx1 = Math.ceil(component.tcx1 / bscale); + subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + subband = {}; + subband.type = 'HH'; + subband.tbx0 = Math.ceil(component.tcx0 / bscale - 0.5); + subband.tby0 = Math.ceil(component.tcy0 / bscale - 0.5); + subband.tbx1 = Math.ceil(component.tcx1 / bscale - 0.5); + subband.tby1 = Math.ceil(component.tcy1 / bscale - 0.5); + subband.resolution = resolution; + buildCodeblocks(context, subband, blocksDimensions); + subbands.push(subband); + resolutionSubbands.push(subband); + resolution.subbands = resolutionSubbands; + } + } + component.resolutions = resolutions; + component.subbands = subbands; + } + var progressionOrder = tile.codingStyleDefaultParameters.progressionOrder; + switch (progressionOrder) { + case 0: + tile.packetsIterator = new LayerResolutionComponentPositionIterator(context); + break; + case 1: + tile.packetsIterator = new ResolutionLayerComponentPositionIterator(context); + break; + case 2: + tile.packetsIterator = new ResolutionPositionComponentLayerIterator(context); + break; + case 3: + tile.packetsIterator = new PositionComponentResolutionLayerIterator(context); + break; + case 4: + tile.packetsIterator = new ComponentPositionResolutionLayerIterator(context); + break; + default: + error('JPX Error: Unsupported progression order ' + progressionOrder); + } + } + function parseTilePackets(context, data, offset, dataLength) { + var position = 0; + var buffer, bufferSize = 0, skipNextBit = false; + function readBits(count) { + while (bufferSize < count) { + var b = data[offset + position]; + position++; + if (skipNextBit) { + buffer = buffer << 7 | b; + bufferSize += 7; + skipNextBit = false; + } else { + buffer = buffer << 8 | b; + bufferSize += 8; + } + if (b === 0xFF) { + skipNextBit = true; + } + } + bufferSize -= count; + return buffer >>> bufferSize & (1 << count) - 1; + } + function skipMarkerIfEqual(value) { + if (data[offset + position - 1] === 0xFF && data[offset + position] === value) { + skipBytes(1); + return true; + } else if (data[offset + position] === 0xFF && data[offset + position + 1] === value) { + skipBytes(2); + return true; + } + return false; + } + function skipBytes(count) { + position += count; + } + function alignToByte() { + bufferSize = 0; + if (skipNextBit) { + position++; + skipNextBit = false; + } + } + function readCodingpasses() { + if (readBits(1) === 0) { + return 1; + } + if (readBits(1) === 0) { + return 2; + } + var value = readBits(2); + if (value < 3) { + return value + 3; + } + value = readBits(5); + if (value < 31) { + return value + 6; + } + value = readBits(7); + return value + 37; + } + var tileIndex = context.currentTile.index; + var tile = context.tiles[tileIndex]; + var sopMarkerUsed = context.COD.sopMarkerUsed; + var ephMarkerUsed = context.COD.ephMarkerUsed; + var packetsIterator = tile.packetsIterator; + while (position < dataLength) { + alignToByte(); + if (sopMarkerUsed && skipMarkerIfEqual(0x91)) { + skipBytes(4); + } + var packet = packetsIterator.nextPacket(); + if (!readBits(1)) { + continue; + } + var layerNumber = packet.layerNumber; + var queue = [], codeblock; + for (var i = 0, ii = packet.codeblocks.length; i < ii; i++) { + codeblock = packet.codeblocks[i]; + var precinct = codeblock.precinct; + var codeblockColumn = codeblock.cbx - precinct.cbxMin; + var codeblockRow = codeblock.cby - precinct.cbyMin; + var codeblockIncluded = false; + var firstTimeInclusion = false; + var valueReady; + if (codeblock['included'] !== undefined) { + codeblockIncluded = !!readBits(1); + } else { + precinct = codeblock.precinct; + var inclusionTree, zeroBitPlanesTree; + if (precinct['inclusionTree'] !== undefined) { + inclusionTree = precinct.inclusionTree; + } else { + var width = precinct.cbxMax - precinct.cbxMin + 1; + var height = precinct.cbyMax - precinct.cbyMin + 1; + inclusionTree = new InclusionTree(width, height, layerNumber); + zeroBitPlanesTree = new TagTree(width, height); + precinct.inclusionTree = inclusionTree; + precinct.zeroBitPlanesTree = zeroBitPlanesTree; + } + if (inclusionTree.reset(codeblockColumn, codeblockRow, layerNumber)) { + while (true) { + if (readBits(1)) { + valueReady = !inclusionTree.nextLevel(); + if (valueReady) { + codeblock.included = true; + codeblockIncluded = firstTimeInclusion = true; + break; + } + } else { + inclusionTree.incrementValue(layerNumber); + break; + } + } + } + } + if (!codeblockIncluded) { + continue; + } + if (firstTimeInclusion) { + zeroBitPlanesTree = precinct.zeroBitPlanesTree; + zeroBitPlanesTree.reset(codeblockColumn, codeblockRow); + while (true) { + if (readBits(1)) { + valueReady = !zeroBitPlanesTree.nextLevel(); + if (valueReady) { + break; + } + } else { + zeroBitPlanesTree.incrementValue(); + } + } + codeblock.zeroBitPlanes = zeroBitPlanesTree.value; + } + var codingpasses = readCodingpasses(); + while (readBits(1)) { + codeblock.Lblock++; + } + var codingpassesLog2 = log2(codingpasses); + var bits = (codingpasses < 1 << codingpassesLog2 ? codingpassesLog2 - 1 : codingpassesLog2) + codeblock.Lblock; + var codedDataLength = readBits(bits); + queue.push({ + codeblock: codeblock, + codingpasses: codingpasses, + dataLength: codedDataLength + }); + } + alignToByte(); + if (ephMarkerUsed) { + skipMarkerIfEqual(0x92); + } + while (queue.length > 0) { + var packetItem = queue.shift(); + codeblock = packetItem.codeblock; + if (codeblock['data'] === undefined) { + codeblock.data = []; + } + codeblock.data.push({ + data: data, + start: offset + position, + end: offset + position + packetItem.dataLength, + codingpasses: packetItem.codingpasses + }); + position += packetItem.dataLength; + } + } + return position; + } + function copyCoefficients(coefficients, levelWidth, levelHeight, subband, delta, mb, reversible, segmentationSymbolUsed) { + var x0 = subband.tbx0; + var y0 = subband.tby0; + var width = subband.tbx1 - subband.tbx0; + var codeblocks = subband.codeblocks; + var right = subband.type.charAt(0) === 'H' ? 1 : 0; + var bottom = subband.type.charAt(1) === 'H' ? levelWidth : 0; + for (var i = 0, ii = codeblocks.length; i < ii; ++i) { + var codeblock = codeblocks[i]; + var blockWidth = codeblock.tbx1_ - codeblock.tbx0_; + var blockHeight = codeblock.tby1_ - codeblock.tby0_; + if (blockWidth === 0 || blockHeight === 0) { + continue; + } + if (codeblock['data'] === undefined) { + continue; + } + var bitModel, currentCodingpassType; + bitModel = new BitModel(blockWidth, blockHeight, codeblock.subbandType, codeblock.zeroBitPlanes, mb); + currentCodingpassType = 2; + var data = codeblock.data, totalLength = 0, codingpasses = 0; + var j, jj, dataItem; + for (j = 0, jj = data.length; j < jj; j++) { + dataItem = data[j]; + totalLength += dataItem.end - dataItem.start; + codingpasses += dataItem.codingpasses; + } + var encodedData = new Uint8Array(totalLength); + var position = 0; + for (j = 0, jj = data.length; j < jj; j++) { + dataItem = data[j]; + var chunk = dataItem.data.subarray(dataItem.start, dataItem.end); + encodedData.set(chunk, position); + position += chunk.length; + } + var decoder = new ArithmeticDecoder(encodedData, 0, totalLength); + bitModel.setDecoder(decoder); + for (j = 0; j < codingpasses; j++) { + switch (currentCodingpassType) { + case 0: + bitModel.runSignificancePropagationPass(); + break; + case 1: + bitModel.runMagnitudeRefinementPass(); + break; + case 2: + bitModel.runCleanupPass(); + if (segmentationSymbolUsed) { + bitModel.checkSegmentationSymbol(); + } + break; + } + currentCodingpassType = (currentCodingpassType + 1) % 3; + } + var offset = codeblock.tbx0_ - x0 + (codeblock.tby0_ - y0) * width; + var sign = bitModel.coefficentsSign; + var magnitude = bitModel.coefficentsMagnitude; + var bitsDecoded = bitModel.bitsDecoded; + var magnitudeCorrection = reversible ? 0 : 0.5; + var k, n, nb; + position = 0; + var interleave = subband.type !== 'LL'; + for (j = 0; j < blockHeight; j++) { + var row = offset / width | 0; + var levelOffset = 2 * row * (levelWidth - width) + right + bottom; + for (k = 0; k < blockWidth; k++) { + n = magnitude[position]; + if (n !== 0) { + n = (n + magnitudeCorrection) * delta; + if (sign[position] !== 0) { + n = -n; + } + nb = bitsDecoded[position]; + var pos = interleave ? levelOffset + (offset << 1) : offset; + if (reversible && nb >= mb) { + coefficients[pos] = n; + } else { + coefficients[pos] = n * (1 << mb - nb); + } + } + offset++; + position++; + } + offset += width - blockWidth; + } + } + } + function transformTile(context, tile, c) { + var component = tile.components[c]; + var codingStyleParameters = component.codingStyleParameters; + var quantizationParameters = component.quantizationParameters; + var decompositionLevelsCount = codingStyleParameters.decompositionLevelsCount; + var spqcds = quantizationParameters.SPqcds; + var scalarExpounded = quantizationParameters.scalarExpounded; + var guardBits = quantizationParameters.guardBits; + var segmentationSymbolUsed = codingStyleParameters.segmentationSymbolUsed; + var precision = context.components[c].precision; + var reversible = codingStyleParameters.reversibleTransformation; + var transform = reversible ? new ReversibleTransform() : new IrreversibleTransform(); + var subbandCoefficients = []; + var b = 0; + for (var i = 0; i <= decompositionLevelsCount; i++) { + var resolution = component.resolutions[i]; + var width = resolution.trx1 - resolution.trx0; + var height = resolution.try1 - resolution.try0; + var coefficients = new Float32Array(width * height); + for (var j = 0, jj = resolution.subbands.length; j < jj; j++) { + var mu, epsilon; + if (!scalarExpounded) { + mu = spqcds[0].mu; + epsilon = spqcds[0].epsilon + (i > 0 ? 1 - i : 0); + } else { + mu = spqcds[b].mu; + epsilon = spqcds[b].epsilon; + b++; + } + var subband = resolution.subbands[j]; + var gainLog2 = SubbandsGainLog2[subband.type]; + var delta = reversible ? 1 : Math.pow(2, precision + gainLog2 - epsilon) * (1 + mu / 2048); + var mb = guardBits + epsilon - 1; + copyCoefficients(coefficients, width, height, subband, delta, mb, reversible, segmentationSymbolUsed); + } + subbandCoefficients.push({ + width: width, + height: height, + items: coefficients + }); + } + var result = transform.calculate(subbandCoefficients, component.tcx0, component.tcy0); + return { + left: component.tcx0, + top: component.tcy0, + width: result.width, + height: result.height, + items: result.items + }; + } + function transformComponents(context) { + var siz = context.SIZ; + var components = context.components; + var componentsCount = siz.Csiz; + var resultImages = []; + for (var i = 0, ii = context.tiles.length; i < ii; i++) { + var tile = context.tiles[i]; + var transformedTiles = []; + var c; + for (c = 0; c < componentsCount; c++) { + transformedTiles[c] = transformTile(context, tile, c); + } + var tile0 = transformedTiles[0]; + var out = new Uint8Array(tile0.items.length * componentsCount); + var result = { + left: tile0.left, + top: tile0.top, + width: tile0.width, + height: tile0.height, + items: out + }; + var shift, offset, max, min, maxK; + var pos = 0, j, jj, y0, y1, y2, r, g, b, k, val; + if (tile.codingStyleDefaultParameters.multipleComponentTransform) { + var fourComponents = componentsCount === 4; + var y0items = transformedTiles[0].items; + var y1items = transformedTiles[1].items; + var y2items = transformedTiles[2].items; + var y3items = fourComponents ? transformedTiles[3].items : null; + shift = components[0].precision - 8; + offset = (128 << shift) + 0.5; + max = 255 * (1 << shift); + maxK = max * 0.5; + min = -maxK; + var component0 = tile.components[0]; + var alpha01 = componentsCount - 3; + jj = y0items.length; + if (!component0.codingStyleParameters.reversibleTransformation) { + for (j = 0; j < jj; j++, pos += alpha01) { + y0 = y0items[j] + offset; + y1 = y1items[j]; + y2 = y2items[j]; + r = y0 + 1.402 * y2; + g = y0 - 0.34413 * y1 - 0.71414 * y2; + b = y0 + 1.772 * y1; + out[pos++] = r <= 0 ? 0 : r >= max ? 255 : r >> shift; + out[pos++] = g <= 0 ? 0 : g >= max ? 255 : g >> shift; + out[pos++] = b <= 0 ? 0 : b >= max ? 255 : b >> shift; + } + } else { + for (j = 0; j < jj; j++, pos += alpha01) { + y0 = y0items[j] + offset; + y1 = y1items[j]; + y2 = y2items[j]; + g = y0 - (y2 + y1 >> 2); + r = g + y2; + b = g + y1; + out[pos++] = r <= 0 ? 0 : r >= max ? 255 : r >> shift; + out[pos++] = g <= 0 ? 0 : g >= max ? 255 : g >> shift; + out[pos++] = b <= 0 ? 0 : b >= max ? 255 : b >> shift; + } + } + if (fourComponents) { + for (j = 0, pos = 3; j < jj; j++, pos += 4) { + k = y3items[j]; + out[pos] = k <= min ? 0 : k >= maxK ? 255 : k + offset >> shift; + } + } + } else { + for (c = 0; c < componentsCount; c++) { + var items = transformedTiles[c].items; + shift = components[c].precision - 8; + offset = (128 << shift) + 0.5; + max = 127.5 * (1 << shift); + min = -max; + for (pos = c, j = 0, jj = items.length; j < jj; j++) { + val = items[j]; + out[pos] = val <= min ? 0 : val >= max ? 255 : val + offset >> shift; + pos += componentsCount; + } + } + } + resultImages.push(result); + } + return resultImages; + } + function initializeTile(context, tileIndex) { + var siz = context.SIZ; + var componentsCount = siz.Csiz; + var tile = context.tiles[tileIndex]; + for (var c = 0; c < componentsCount; c++) { + var component = tile.components[c]; + var qcdOrQcc = context.currentTile.QCC[c] !== undefined ? context.currentTile.QCC[c] : context.currentTile.QCD; + component.quantizationParameters = qcdOrQcc; + var codOrCoc = context.currentTile.COC[c] !== undefined ? context.currentTile.COC[c] : context.currentTile.COD; + component.codingStyleParameters = codOrCoc; + } + tile.codingStyleDefaultParameters = context.currentTile.COD; + } + var TagTree = function TagTreeClosure() { + function TagTree(width, height) { + var levelsLength = log2(Math.max(width, height)) + 1; + this.levels = []; + for (var i = 0; i < levelsLength; i++) { + var level = { + width: width, + height: height, + items: [] + }; + this.levels.push(level); + width = Math.ceil(width / 2); + height = Math.ceil(height / 2); + } + } + TagTree.prototype = { + reset: function TagTree_reset(i, j) { + var currentLevel = 0, value = 0, level; + while (currentLevel < this.levels.length) { + level = this.levels[currentLevel]; + var index = i + j * level.width; + if (level.items[index] !== undefined) { + value = level.items[index]; + break; + } + level.index = index; + i >>= 1; + j >>= 1; + currentLevel++; + } + currentLevel--; + level = this.levels[currentLevel]; + level.items[level.index] = value; + this.currentLevel = currentLevel; + delete this.value; + }, + incrementValue: function TagTree_incrementValue() { + var level = this.levels[this.currentLevel]; + level.items[level.index]++; + }, + nextLevel: function TagTree_nextLevel() { + var currentLevel = this.currentLevel; + var level = this.levels[currentLevel]; + var value = level.items[level.index]; + currentLevel--; + if (currentLevel < 0) { + this.value = value; + return false; + } + this.currentLevel = currentLevel; + level = this.levels[currentLevel]; + level.items[level.index] = value; + return true; + } + }; + return TagTree; + }(); + var InclusionTree = function InclusionTreeClosure() { + function InclusionTree(width, height, defaultValue) { + var levelsLength = log2(Math.max(width, height)) + 1; + this.levels = []; + for (var i = 0; i < levelsLength; i++) { + var items = new Uint8Array(width * height); + for (var j = 0, jj = items.length; j < jj; j++) { + items[j] = defaultValue; + } + var level = { + width: width, + height: height, + items: items + }; + this.levels.push(level); + width = Math.ceil(width / 2); + height = Math.ceil(height / 2); + } + } + InclusionTree.prototype = { + reset: function InclusionTree_reset(i, j, stopValue) { + var currentLevel = 0; + while (currentLevel < this.levels.length) { + var level = this.levels[currentLevel]; + var index = i + j * level.width; + level.index = index; + var value = level.items[index]; + if (value === 0xFF) { + break; + } + if (value > stopValue) { + this.currentLevel = currentLevel; + this.propagateValues(); + return false; + } + i >>= 1; + j >>= 1; + currentLevel++; + } + this.currentLevel = currentLevel - 1; + return true; + }, + incrementValue: function InclusionTree_incrementValue(stopValue) { + var level = this.levels[this.currentLevel]; + level.items[level.index] = stopValue + 1; + this.propagateValues(); + }, + propagateValues: function InclusionTree_propagateValues() { + var levelIndex = this.currentLevel; + var level = this.levels[levelIndex]; + var currentValue = level.items[level.index]; + while (--levelIndex >= 0) { + level = this.levels[levelIndex]; + level.items[level.index] = currentValue; + } + }, + nextLevel: function InclusionTree_nextLevel() { + var currentLevel = this.currentLevel; + var level = this.levels[currentLevel]; + var value = level.items[level.index]; + level.items[level.index] = 0xFF; + currentLevel--; + if (currentLevel < 0) { + return false; + } + this.currentLevel = currentLevel; + level = this.levels[currentLevel]; + level.items[level.index] = value; + return true; + } + }; + return InclusionTree; + }(); + var BitModel = function BitModelClosure() { + var UNIFORM_CONTEXT = 17; + var RUNLENGTH_CONTEXT = 18; + var LLAndLHContextsLabel = new Uint8Array([ + 0, + 5, + 8, + 0, + 3, + 7, + 8, + 0, + 4, + 7, + 8, + 0, + 0, + 0, + 0, + 0, + 1, + 6, + 8, + 0, + 3, + 7, + 8, + 0, + 4, + 7, + 8, + 0, + 0, + 0, + 0, + 0, + 2, + 6, + 8, + 0, + 3, + 7, + 8, + 0, + 4, + 7, + 8, + 0, + 0, + 0, + 0, + 0, + 2, + 6, + 8, + 0, + 3, + 7, + 8, + 0, + 4, + 7, + 8, + 0, + 0, + 0, + 0, + 0, + 2, + 6, + 8, + 0, + 3, + 7, + 8, + 0, + 4, + 7, + 8 + ]); + var HLContextLabel = new Uint8Array([ + 0, + 3, + 4, + 0, + 5, + 7, + 7, + 0, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + 0, + 1, + 3, + 4, + 0, + 6, + 7, + 7, + 0, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 4, + 0, + 6, + 7, + 7, + 0, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 4, + 0, + 6, + 7, + 7, + 0, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + 0, + 2, + 3, + 4, + 0, + 6, + 7, + 7, + 0, + 8, + 8, + 8 + ]); + var HHContextLabel = new Uint8Array([ + 0, + 1, + 2, + 0, + 1, + 2, + 2, + 0, + 2, + 2, + 2, + 0, + 0, + 0, + 0, + 0, + 3, + 4, + 5, + 0, + 4, + 5, + 5, + 0, + 5, + 5, + 5, + 0, + 0, + 0, + 0, + 0, + 6, + 7, + 7, + 0, + 7, + 7, + 7, + 0, + 7, + 7, + 7, + 0, + 0, + 0, + 0, + 0, + 8, + 8, + 8, + 0, + 8, + 8, + 8, + 0, + 8, + 8, + 8, + 0, + 0, + 0, + 0, + 0, + 8, + 8, + 8, + 0, + 8, + 8, + 8, + 0, + 8, + 8, + 8 + ]); + function BitModel(width, height, subband, zeroBitPlanes, mb) { + this.width = width; + this.height = height; + this.contextLabelTable = subband === 'HH' ? HHContextLabel : subband === 'HL' ? HLContextLabel : LLAndLHContextsLabel; + var coefficientCount = width * height; + this.neighborsSignificance = new Uint8Array(coefficientCount); + this.coefficentsSign = new Uint8Array(coefficientCount); + this.coefficentsMagnitude = mb > 14 ? new Uint32Array(coefficientCount) : mb > 6 ? new Uint16Array(coefficientCount) : new Uint8Array(coefficientCount); + this.processingFlags = new Uint8Array(coefficientCount); + var bitsDecoded = new Uint8Array(coefficientCount); + if (zeroBitPlanes !== 0) { + for (var i = 0; i < coefficientCount; i++) { + bitsDecoded[i] = zeroBitPlanes; + } + } + this.bitsDecoded = bitsDecoded; + this.reset(); + } + BitModel.prototype = { + setDecoder: function BitModel_setDecoder(decoder) { + this.decoder = decoder; + }, + reset: function BitModel_reset() { + this.contexts = new Int8Array(19); + this.contexts[0] = 4 << 1 | 0; + this.contexts[UNIFORM_CONTEXT] = 46 << 1 | 0; + this.contexts[RUNLENGTH_CONTEXT] = 3 << 1 | 0; + }, + setNeighborsSignificance: function BitModel_setNeighborsSignificance(row, column, index) { + var neighborsSignificance = this.neighborsSignificance; + var width = this.width, height = this.height; + var left = column > 0; + var right = column + 1 < width; + var i; + if (row > 0) { + i = index - width; + if (left) { + neighborsSignificance[i - 1] += 0x10; + } + if (right) { + neighborsSignificance[i + 1] += 0x10; + } + neighborsSignificance[i] += 0x04; + } + if (row + 1 < height) { + i = index + width; + if (left) { + neighborsSignificance[i - 1] += 0x10; + } + if (right) { + neighborsSignificance[i + 1] += 0x10; + } + neighborsSignificance[i] += 0x04; + } + if (left) { + neighborsSignificance[index - 1] += 0x01; + } + if (right) { + neighborsSignificance[index + 1] += 0x01; + } + neighborsSignificance[index] |= 0x80; + }, + runSignificancePropagationPass: function BitModel_runSignificancePropagationPass() { + var decoder = this.decoder; + var width = this.width, height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var neighborsSignificance = this.neighborsSignificance; + var processingFlags = this.processingFlags; + var contexts = this.contexts; + var labels = this.contextLabelTable; + var bitsDecoded = this.bitsDecoded; + var processedInverseMask = ~1; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + for (var i0 = 0; i0 < height; i0 += 4) { + for (var j = 0; j < width; j++) { + var index = i0 * width + j; + for (var i1 = 0; i1 < 4; i1++, index += width) { + var i = i0 + i1; + if (i >= height) { + break; + } + processingFlags[index] &= processedInverseMask; + if (coefficentsMagnitude[index] || !neighborsSignificance[index]) { + continue; + } + var contextLabel = labels[neighborsSignificance[index]]; + var decision = decoder.readBit(contexts, contextLabel); + if (decision) { + var sign = this.decodeSignBit(i, j, index); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j, index); + processingFlags[index] |= firstMagnitudeBitMask; + } + bitsDecoded[index]++; + processingFlags[index] |= processedMask; + } + } + } + }, + decodeSignBit: function BitModel_decodeSignBit(row, column, index) { + var width = this.width, height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var contribution, sign0, sign1, significance1; + var contextLabel, decoded; + significance1 = column > 0 && coefficentsMagnitude[index - 1] !== 0; + if (column + 1 < width && coefficentsMagnitude[index + 1] !== 0) { + sign1 = coefficentsSign[index + 1]; + if (significance1) { + sign0 = coefficentsSign[index - 1]; + contribution = 1 - sign1 - sign0; + } else { + contribution = 1 - sign1 - sign1; + } + } else if (significance1) { + sign0 = coefficentsSign[index - 1]; + contribution = 1 - sign0 - sign0; + } else { + contribution = 0; + } + var horizontalContribution = 3 * contribution; + significance1 = row > 0 && coefficentsMagnitude[index - width] !== 0; + if (row + 1 < height && coefficentsMagnitude[index + width] !== 0) { + sign1 = coefficentsSign[index + width]; + if (significance1) { + sign0 = coefficentsSign[index - width]; + contribution = 1 - sign1 - sign0 + horizontalContribution; + } else { + contribution = 1 - sign1 - sign1 + horizontalContribution; + } + } else if (significance1) { + sign0 = coefficentsSign[index - width]; + contribution = 1 - sign0 - sign0 + horizontalContribution; + } else { + contribution = horizontalContribution; + } + if (contribution >= 0) { + contextLabel = 9 + contribution; + decoded = this.decoder.readBit(this.contexts, contextLabel); + } else { + contextLabel = 9 - contribution; + decoded = this.decoder.readBit(this.contexts, contextLabel) ^ 1; + } + return decoded; + }, + runMagnitudeRefinementPass: function BitModel_runMagnitudeRefinementPass() { + var decoder = this.decoder; + var width = this.width, height = this.height; + var coefficentsMagnitude = this.coefficentsMagnitude; + var neighborsSignificance = this.neighborsSignificance; + var contexts = this.contexts; + var bitsDecoded = this.bitsDecoded; + var processingFlags = this.processingFlags; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + var length = width * height; + var width4 = width * 4; + for (var index0 = 0, indexNext; index0 < length; index0 = indexNext) { + indexNext = Math.min(length, index0 + width4); + for (var j = 0; j < width; j++) { + for (var index = index0 + j; index < indexNext; index += width) { + if (!coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) { + continue; + } + var contextLabel = 16; + if ((processingFlags[index] & firstMagnitudeBitMask) !== 0) { + processingFlags[index] ^= firstMagnitudeBitMask; + var significance = neighborsSignificance[index] & 127; + contextLabel = significance === 0 ? 15 : 14; + } + var bit = decoder.readBit(contexts, contextLabel); + coefficentsMagnitude[index] = coefficentsMagnitude[index] << 1 | bit; + bitsDecoded[index]++; + processingFlags[index] |= processedMask; + } + } + } + }, + runCleanupPass: function BitModel_runCleanupPass() { + var decoder = this.decoder; + var width = this.width, height = this.height; + var neighborsSignificance = this.neighborsSignificance; + var coefficentsMagnitude = this.coefficentsMagnitude; + var coefficentsSign = this.coefficentsSign; + var contexts = this.contexts; + var labels = this.contextLabelTable; + var bitsDecoded = this.bitsDecoded; + var processingFlags = this.processingFlags; + var processedMask = 1; + var firstMagnitudeBitMask = 2; + var oneRowDown = width; + var twoRowsDown = width * 2; + var threeRowsDown = width * 3; + var iNext; + for (var i0 = 0; i0 < height; i0 = iNext) { + iNext = Math.min(i0 + 4, height); + var indexBase = i0 * width; + var checkAllEmpty = i0 + 3 < height; + for (var j = 0; j < width; j++) { + var index0 = indexBase + j; + var allEmpty = checkAllEmpty && processingFlags[index0] === 0 && processingFlags[index0 + oneRowDown] === 0 && processingFlags[index0 + twoRowsDown] === 0 && processingFlags[index0 + threeRowsDown] === 0 && neighborsSignificance[index0] === 0 && neighborsSignificance[index0 + oneRowDown] === 0 && neighborsSignificance[index0 + twoRowsDown] === 0 && neighborsSignificance[index0 + threeRowsDown] === 0; + var i1 = 0, index = index0; + var i = i0, sign; + if (allEmpty) { + var hasSignificantCoefficent = decoder.readBit(contexts, RUNLENGTH_CONTEXT); + if (!hasSignificantCoefficent) { + bitsDecoded[index0]++; + bitsDecoded[index0 + oneRowDown]++; + bitsDecoded[index0 + twoRowsDown]++; + bitsDecoded[index0 + threeRowsDown]++; + continue; + } + i1 = decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT); + if (i1 !== 0) { + i = i0 + i1; + index += i1 * width; + } + sign = this.decodeSignBit(i, j, index); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j, index); + processingFlags[index] |= firstMagnitudeBitMask; + index = index0; + for (var i2 = i0; i2 <= i; i2++, index += width) { + bitsDecoded[index]++; + } + i1++; + } + for (i = i0 + i1; i < iNext; i++, index += width) { + if (coefficentsMagnitude[index] || (processingFlags[index] & processedMask) !== 0) { + continue; + } + var contextLabel = labels[neighborsSignificance[index]]; + var decision = decoder.readBit(contexts, contextLabel); + if (decision === 1) { + sign = this.decodeSignBit(i, j, index); + coefficentsSign[index] = sign; + coefficentsMagnitude[index] = 1; + this.setNeighborsSignificance(i, j, index); + processingFlags[index] |= firstMagnitudeBitMask; + } + bitsDecoded[index]++; + } + } + } + }, + checkSegmentationSymbol: function BitModel_checkSegmentationSymbol() { + var decoder = this.decoder; + var contexts = this.contexts; + var symbol = decoder.readBit(contexts, UNIFORM_CONTEXT) << 3 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 2 | decoder.readBit(contexts, UNIFORM_CONTEXT) << 1 | decoder.readBit(contexts, UNIFORM_CONTEXT); + if (symbol !== 0xA) { + error('JPX Error: Invalid segmentation symbol'); + } + } + }; + return BitModel; + }(); + var Transform = function TransformClosure() { + function Transform() { + } + Transform.prototype.calculate = function transformCalculate(subbands, u0, v0) { + var ll = subbands[0]; + for (var i = 1, ii = subbands.length; i < ii; i++) { + ll = this.iterate(ll, subbands[i], u0, v0); + } + return ll; + }; + Transform.prototype.extend = function extend(buffer, offset, size) { + var i1 = offset - 1, j1 = offset + 1; + var i2 = offset + size - 2, j2 = offset + size; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1--] = buffer[j1++]; + buffer[j2++] = buffer[i2--]; + buffer[i1] = buffer[j1]; + buffer[j2] = buffer[i2]; + }; + Transform.prototype.iterate = function Transform_iterate(ll, hl_lh_hh, u0, v0) { + var llWidth = ll.width, llHeight = ll.height, llItems = ll.items; + var width = hl_lh_hh.width; + var height = hl_lh_hh.height; + var items = hl_lh_hh.items; + var i, j, k, l, u, v; + for (k = 0, i = 0; i < llHeight; i++) { + l = i * 2 * width; + for (j = 0; j < llWidth; j++, k++, l += 2) { + items[l] = llItems[k]; + } + } + llItems = ll.items = null; + var bufferPadding = 4; + var rowBuffer = new Float32Array(width + 2 * bufferPadding); + if (width === 1) { + if ((u0 & 1) !== 0) { + for (v = 0, k = 0; v < height; v++, k += width) { + items[k] *= 0.5; + } + } + } else { + for (v = 0, k = 0; v < height; v++, k += width) { + rowBuffer.set(items.subarray(k, k + width), bufferPadding); + this.extend(rowBuffer, bufferPadding, width); + this.filter(rowBuffer, bufferPadding, width); + items.set(rowBuffer.subarray(bufferPadding, bufferPadding + width), k); + } + } + var numBuffers = 16; + var colBuffers = []; + for (i = 0; i < numBuffers; i++) { + colBuffers.push(new Float32Array(height + 2 * bufferPadding)); + } + var b, currentBuffer = 0; + ll = bufferPadding + height; + if (height === 1) { + if ((v0 & 1) !== 0) { + for (u = 0; u < width; u++) { + items[u] *= 0.5; + } + } + } else { + for (u = 0; u < width; u++) { + if (currentBuffer === 0) { + numBuffers = Math.min(width - u, numBuffers); + for (k = u, l = bufferPadding; l < ll; k += width, l++) { + for (b = 0; b < numBuffers; b++) { + colBuffers[b][l] = items[k + b]; + } + } + currentBuffer = numBuffers; + } + currentBuffer--; + var buffer = colBuffers[currentBuffer]; + this.extend(buffer, bufferPadding, height); + this.filter(buffer, bufferPadding, height); + if (currentBuffer === 0) { + k = u - numBuffers + 1; + for (l = bufferPadding; l < ll; k += width, l++) { + for (b = 0; b < numBuffers; b++) { + items[k + b] = colBuffers[b][l]; + } + } + } + } + } + return { + width: width, + height: height, + items: items + }; + }; + return Transform; + }(); + var IrreversibleTransform = function IrreversibleTransformClosure() { + function IrreversibleTransform() { + Transform.call(this); + } + IrreversibleTransform.prototype = Object.create(Transform.prototype); + IrreversibleTransform.prototype.filter = function irreversibleTransformFilter(x, offset, length) { + var len = length >> 1; + offset = offset | 0; + var j, n, current, next; + var alpha = -1.586134342059924; + var beta = -0.052980118572961; + var gamma = 0.882911075530934; + var delta = 0.443506852043971; + var K = 1.230174104914001; + var K_ = 1 / K; + j = offset - 3; + for (n = len + 4; n--; j += 2) { + x[j] *= K_; + } + j = offset - 2; + current = delta * x[j - 1]; + for (n = len + 3; n--; j += 2) { + next = delta * x[j + 1]; + x[j] = K * x[j] - current - next; + if (n--) { + j += 2; + current = delta * x[j + 1]; + x[j] = K * x[j] - current - next; + } else { + break; + } + } + j = offset - 1; + current = gamma * x[j - 1]; + for (n = len + 2; n--; j += 2) { + next = gamma * x[j + 1]; + x[j] -= current + next; + if (n--) { + j += 2; + current = gamma * x[j + 1]; + x[j] -= current + next; + } else { + break; + } + } + j = offset; + current = beta * x[j - 1]; + for (n = len + 1; n--; j += 2) { + next = beta * x[j + 1]; + x[j] -= current + next; + if (n--) { + j += 2; + current = beta * x[j + 1]; + x[j] -= current + next; + } else { + break; + } + } + if (len !== 0) { + j = offset + 1; + current = alpha * x[j - 1]; + for (n = len; n--; j += 2) { + next = alpha * x[j + 1]; + x[j] -= current + next; + if (n--) { + j += 2; + current = alpha * x[j + 1]; + x[j] -= current + next; + } else { + break; + } + } + } + }; + return IrreversibleTransform; + }(); + var ReversibleTransform = function ReversibleTransformClosure() { + function ReversibleTransform() { + Transform.call(this); + } + ReversibleTransform.prototype = Object.create(Transform.prototype); + ReversibleTransform.prototype.filter = function reversibleTransformFilter(x, offset, length) { + var len = length >> 1; + offset = offset | 0; + var j, n; + for (j = offset, n = len + 1; n--; j += 2) { + x[j] -= x[j - 1] + x[j + 1] + 2 >> 2; + } + for (j = offset + 1, n = len; n--; j += 2) { + x[j] += x[j - 1] + x[j + 1] >> 1; + } + }; + return ReversibleTransform; + }(); + return JpxImage; +}(); +exports.JpxImage = JpxImage; + +/***/ }), +/* 16 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreCrypto = __w_pdfjs_require__(13); +var coreParser = __w_pdfjs_require__(5); +var coreChunkedStream = __w_pdfjs_require__(12); +var coreColorSpace = __w_pdfjs_require__(3); +var InvalidPDFException = sharedUtil.InvalidPDFException; +var MissingDataException = sharedUtil.MissingDataException; +var XRefParseException = sharedUtil.XRefParseException; +var assert = sharedUtil.assert; +var bytesToString = sharedUtil.bytesToString; +var createPromiseCapability = sharedUtil.createPromiseCapability; +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var isBool = sharedUtil.isBool; +var isInt = sharedUtil.isInt; +var isString = sharedUtil.isString; +var shadow = sharedUtil.shadow; +var stringToPDFString = sharedUtil.stringToPDFString; +var stringToUTF8String = sharedUtil.stringToUTF8String; +var warn = sharedUtil.warn; +var createValidAbsoluteUrl = sharedUtil.createValidAbsoluteUrl; +var Util = sharedUtil.Util; +var Ref = corePrimitives.Ref; +var RefSet = corePrimitives.RefSet; +var RefSetCache = corePrimitives.RefSetCache; +var isName = corePrimitives.isName; +var isCmd = corePrimitives.isCmd; +var isDict = corePrimitives.isDict; +var isRef = corePrimitives.isRef; +var isRefsEqual = corePrimitives.isRefsEqual; +var isStream = corePrimitives.isStream; +var CipherTransformFactory = coreCrypto.CipherTransformFactory; +var Lexer = coreParser.Lexer; +var Parser = coreParser.Parser; +var ChunkedStream = coreChunkedStream.ChunkedStream; +var ColorSpace = coreColorSpace.ColorSpace; +var Catalog = function CatalogClosure() { + function Catalog(pdfManager, xref, pageFactory) { + this.pdfManager = pdfManager; + this.xref = xref; + this.catDict = xref.getCatalogObj(); + this.fontCache = new RefSetCache(); + this.builtInCMapCache = Object.create(null); + assert(isDict(this.catDict), 'catalog object is not a dictionary'); + this.pageFactory = pageFactory; + this.pagePromises = []; + } + Catalog.prototype = { + get metadata() { + var streamRef = this.catDict.getRaw('Metadata'); + if (!isRef(streamRef)) { + return shadow(this, 'metadata', null); + } + var encryptMetadata = !this.xref.encrypt ? false : this.xref.encrypt.encryptMetadata; + var stream = this.xref.fetch(streamRef, !encryptMetadata); + var metadata; + if (stream && isDict(stream.dict)) { + var type = stream.dict.get('Type'); + var subtype = stream.dict.get('Subtype'); + if (isName(type, 'Metadata') && isName(subtype, 'XML')) { + try { + metadata = stringToUTF8String(bytesToString(stream.getBytes())); + } catch (e) { + info('Skipping invalid metadata.'); + } + } + } + return shadow(this, 'metadata', metadata); + }, + get toplevelPagesDict() { + var pagesObj = this.catDict.get('Pages'); + assert(isDict(pagesObj), 'invalid top-level pages dictionary'); + return shadow(this, 'toplevelPagesDict', pagesObj); + }, + get documentOutline() { + var obj = null; + try { + obj = this.readDocumentOutline(); + } catch (ex) { + if (ex instanceof MissingDataException) { + throw ex; + } + warn('Unable to read document outline'); + } + return shadow(this, 'documentOutline', obj); + }, + readDocumentOutline: function Catalog_readDocumentOutline() { + var obj = this.catDict.get('Outlines'); + if (!isDict(obj)) { + return null; + } + obj = obj.getRaw('First'); + if (!isRef(obj)) { + return null; + } + var root = { items: [] }; + var queue = [{ + obj: obj, + parent: root + }]; + var processed = new RefSet(); + processed.put(obj); + var xref = this.xref, blackColor = new Uint8Array(3); + while (queue.length > 0) { + var i = queue.shift(); + var outlineDict = xref.fetchIfRef(i.obj); + if (outlineDict === null) { + continue; + } + assert(outlineDict.has('Title'), 'Invalid outline item'); + var data = { + url: null, + dest: null + }; + Catalog.parseDestDictionary({ + destDict: outlineDict, + resultObj: data, + docBaseUrl: this.pdfManager.docBaseUrl + }); + var title = outlineDict.get('Title'); + var flags = outlineDict.get('F') || 0; + var color = outlineDict.getArray('C'), rgbColor = blackColor; + if (isArray(color) && color.length === 3 && (color[0] !== 0 || color[1] !== 0 || color[2] !== 0)) { + rgbColor = ColorSpace.singletons.rgb.getRgb(color, 0); + } + var outlineItem = { + dest: data.dest, + url: data.url, + unsafeUrl: data.unsafeUrl, + newWindow: data.newWindow, + title: stringToPDFString(title), + color: rgbColor, + count: outlineDict.get('Count'), + bold: !!(flags & 2), + italic: !!(flags & 1), + items: [] + }; + i.parent.items.push(outlineItem); + obj = outlineDict.getRaw('First'); + if (isRef(obj) && !processed.has(obj)) { + queue.push({ + obj: obj, + parent: outlineItem + }); + processed.put(obj); + } + obj = outlineDict.getRaw('Next'); + if (isRef(obj) && !processed.has(obj)) { + queue.push({ + obj: obj, + parent: i.parent + }); + processed.put(obj); + } + } + return root.items.length > 0 ? root.items : null; + }, + get numPages() { + var obj = this.toplevelPagesDict.get('Count'); + assert(isInt(obj), 'page count in top level pages object is not an integer'); + return shadow(this, 'num', obj); + }, + get destinations() { + function fetchDestination(dest) { + return isDict(dest) ? dest.get('D') : dest; + } + var xref = this.xref; + var dests = {}, nameTreeRef, nameDictionaryRef; + var obj = this.catDict.get('Names'); + if (obj && obj.has('Dests')) { + nameTreeRef = obj.getRaw('Dests'); + } else if (this.catDict.has('Dests')) { + nameDictionaryRef = this.catDict.get('Dests'); + } + if (nameDictionaryRef) { + obj = nameDictionaryRef; + obj.forEach(function catalogForEach(key, value) { + if (!value) { + return; + } + dests[key] = fetchDestination(value); + }); + } + if (nameTreeRef) { + var nameTree = new NameTree(nameTreeRef, xref); + var names = nameTree.getAll(); + for (var name in names) { + dests[name] = fetchDestination(names[name]); + } + } + return shadow(this, 'destinations', dests); + }, + getDestination: function Catalog_getDestination(destinationId) { + function fetchDestination(dest) { + return isDict(dest) ? dest.get('D') : dest; + } + var xref = this.xref; + var dest = null, nameTreeRef, nameDictionaryRef; + var obj = this.catDict.get('Names'); + if (obj && obj.has('Dests')) { + nameTreeRef = obj.getRaw('Dests'); + } else if (this.catDict.has('Dests')) { + nameDictionaryRef = this.catDict.get('Dests'); + } + if (nameDictionaryRef) { + var value = nameDictionaryRef.get(destinationId); + if (value) { + dest = fetchDestination(value); + } + } + if (nameTreeRef) { + var nameTree = new NameTree(nameTreeRef, xref); + dest = fetchDestination(nameTree.get(destinationId)); + } + return dest; + }, + get pageLabels() { + var obj = null; + try { + obj = this.readPageLabels(); + } catch (ex) { + if (ex instanceof MissingDataException) { + throw ex; + } + warn('Unable to read page labels.'); + } + return shadow(this, 'pageLabels', obj); + }, + readPageLabels: function Catalog_readPageLabels() { + var obj = this.catDict.getRaw('PageLabels'); + if (!obj) { + return null; + } + var pageLabels = new Array(this.numPages); + var style = null; + var prefix = ''; + var numberTree = new NumberTree(obj, this.xref); + var nums = numberTree.getAll(); + var currentLabel = '', currentIndex = 1; + for (var i = 0, ii = this.numPages; i < ii; i++) { + if (i in nums) { + var labelDict = nums[i]; + assert(isDict(labelDict), 'The PageLabel is not a dictionary.'); + var type = labelDict.get('Type'); + assert(!type || isName(type, 'PageLabel'), 'Invalid type in PageLabel dictionary.'); + var s = labelDict.get('S'); + assert(!s || isName(s), 'Invalid style in PageLabel dictionary.'); + style = s ? s.name : null; + var p = labelDict.get('P'); + assert(!p || isString(p), 'Invalid prefix in PageLabel dictionary.'); + prefix = p ? stringToPDFString(p) : ''; + var st = labelDict.get('St'); + assert(!st || isInt(st) && st >= 1, 'Invalid start in PageLabel dictionary.'); + currentIndex = st || 1; + } + switch (style) { + case 'D': + currentLabel = currentIndex; + break; + case 'R': + case 'r': + currentLabel = Util.toRoman(currentIndex, style === 'r'); + break; + case 'A': + case 'a': + var LIMIT = 26; + var A_UPPER_CASE = 0x41, A_LOWER_CASE = 0x61; + var baseCharCode = style === 'a' ? A_LOWER_CASE : A_UPPER_CASE; + var letterIndex = currentIndex - 1; + var character = String.fromCharCode(baseCharCode + letterIndex % LIMIT); + var charBuf = []; + for (var j = 0, jj = letterIndex / LIMIT | 0; j <= jj; j++) { + charBuf.push(character); + } + currentLabel = charBuf.join(''); + break; + default: + assert(!style, 'Invalid style "' + style + '" in PageLabel dictionary.'); + } + pageLabels[i] = prefix + currentLabel; + currentLabel = ''; + currentIndex++; + } + return pageLabels; + }, + get attachments() { + var xref = this.xref; + var attachments = null, nameTreeRef; + var obj = this.catDict.get('Names'); + if (obj) { + nameTreeRef = obj.getRaw('EmbeddedFiles'); + } + if (nameTreeRef) { + var nameTree = new NameTree(nameTreeRef, xref); + var names = nameTree.getAll(); + for (var name in names) { + var fs = new FileSpec(names[name], xref); + if (!attachments) { + attachments = Object.create(null); + } + attachments[stringToPDFString(name)] = fs.serializable; + } + } + return shadow(this, 'attachments', attachments); + }, + get javaScript() { + var xref = this.xref; + var obj = this.catDict.get('Names'); + var javaScript = []; + function appendIfJavaScriptDict(jsDict) { + var type = jsDict.get('S'); + if (!isName(type, 'JavaScript')) { + return; + } + var js = jsDict.get('JS'); + if (isStream(js)) { + js = bytesToString(js.getBytes()); + } else if (!isString(js)) { + return; + } + javaScript.push(stringToPDFString(js)); + } + if (obj && obj.has('JavaScript')) { + var nameTree = new NameTree(obj.getRaw('JavaScript'), xref); + var names = nameTree.getAll(); + for (var name in names) { + var jsDict = names[name]; + if (isDict(jsDict)) { + appendIfJavaScriptDict(jsDict); + } + } + } + var openactionDict = this.catDict.get('OpenAction'); + if (isDict(openactionDict, 'Action')) { + var actionType = openactionDict.get('S'); + if (isName(actionType, 'Named')) { + var action = openactionDict.get('N'); + if (isName(action, 'Print')) { + javaScript.push('print({});'); + } + } else { + appendIfJavaScriptDict(openactionDict); + } + } + return shadow(this, 'javaScript', javaScript); + }, + cleanup: function Catalog_cleanup() { + var promises = []; + this.fontCache.forEach(function (promise) { + promises.push(promise); + }); + return Promise.all(promises).then(function (translatedFonts) { + for (var i = 0, ii = translatedFonts.length; i < ii; i++) { + var font = translatedFonts[i].dict; + delete font.translated; + } + this.fontCache.clear(); + this.builtInCMapCache = Object.create(null); + }.bind(this)); + }, + getPage: function Catalog_getPage(pageIndex) { + if (!(pageIndex in this.pagePromises)) { + this.pagePromises[pageIndex] = this.getPageDict(pageIndex).then(function (a) { + var dict = a[0]; + var ref = a[1]; + return this.pageFactory.createPage(pageIndex, dict, ref, this.fontCache, this.builtInCMapCache); + }.bind(this)); + } + return this.pagePromises[pageIndex]; + }, + getPageDict: function Catalog_getPageDict(pageIndex) { + var capability = createPromiseCapability(); + var nodesToVisit = [this.catDict.getRaw('Pages')]; + var currentPageIndex = 0; + var xref = this.xref; + function next() { + while (nodesToVisit.length) { + var currentNode = nodesToVisit.pop(); + if (isRef(currentNode)) { + xref.fetchAsync(currentNode).then(function (obj) { + if (isDict(obj, 'Page') || isDict(obj) && !obj.has('Kids')) { + if (pageIndex === currentPageIndex) { + capability.resolve([ + obj, + currentNode + ]); + } else { + currentPageIndex++; + next(); + } + return; + } + nodesToVisit.push(obj); + next(); + }, capability.reject); + return; + } + assert(isDict(currentNode), 'page dictionary kid reference points to wrong type of object'); + var count = currentNode.get('Count'); + if (currentPageIndex + count <= pageIndex) { + currentPageIndex += count; + continue; + } + var kids = currentNode.get('Kids'); + assert(isArray(kids), 'page dictionary kids object is not an array'); + for (var last = kids.length - 1; last >= 0; last--) { + nodesToVisit.push(kids[last]); + } + } + capability.reject('Page index ' + pageIndex + ' not found.'); + } + next(); + return capability.promise; + }, + getPageIndex: function Catalog_getPageIndex(pageRef) { + var xref = this.xref; + function pagesBeforeRef(kidRef) { + var total = 0; + var parentRef; + return xref.fetchAsync(kidRef).then(function (node) { + if (isRefsEqual(kidRef, pageRef) && !isDict(node, 'Page') && !(isDict(node) && !node.has('Type') && node.has('Contents'))) { + throw new Error('The reference does not point to a /Page Dict.'); + } + if (!node) { + return null; + } + assert(isDict(node), 'node must be a Dict.'); + parentRef = node.getRaw('Parent'); + return node.getAsync('Parent'); + }).then(function (parent) { + if (!parent) { + return null; + } + assert(isDict(parent), 'parent must be a Dict.'); + return parent.getAsync('Kids'); + }).then(function (kids) { + if (!kids) { + return null; + } + var kidPromises = []; + var found = false; + for (var i = 0; i < kids.length; i++) { + var kid = kids[i]; + assert(isRef(kid), 'kid must be a Ref.'); + if (kid.num === kidRef.num) { + found = true; + break; + } + kidPromises.push(xref.fetchAsync(kid).then(function (kid) { + if (kid.has('Count')) { + var count = kid.get('Count'); + total += count; + } else { + total++; + } + })); + } + if (!found) { + error('kid ref not found in parents kids'); + } + return Promise.all(kidPromises).then(function () { + return [ + total, + parentRef + ]; + }); + }); + } + var total = 0; + function next(ref) { + return pagesBeforeRef(ref).then(function (args) { + if (!args) { + return total; + } + var count = args[0]; + var parentRef = args[1]; + total += count; + return next(parentRef); + }); + } + return next(pageRef); + } + }; + Catalog.parseDestDictionary = function Catalog_parseDestDictionary(params) { + function addDefaultProtocolToUrl(url) { + if (url.indexOf('www.') === 0) { + return 'http://' + url; + } + return url; + } + function tryConvertUrlEncoding(url) { + try { + return stringToUTF8String(url); + } catch (e) { + return url; + } + } + var destDict = params.destDict; + if (!isDict(destDict)) { + warn('Catalog_parseDestDictionary: "destDict" must be a dictionary.'); + return; + } + var resultObj = params.resultObj; + if (typeof resultObj !== 'object') { + warn('Catalog_parseDestDictionary: "resultObj" must be an object.'); + return; + } + var docBaseUrl = params.docBaseUrl || null; + var action = destDict.get('A'), url, dest; + if (isDict(action)) { + var linkType = action.get('S').name; + switch (linkType) { + case 'URI': + url = action.get('URI'); + if (isName(url)) { + url = '/' + url.name; + } else if (isString(url)) { + url = addDefaultProtocolToUrl(url); + } + break; + case 'GoTo': + dest = action.get('D'); + break; + case 'Launch': + case 'GoToR': + var urlDict = action.get('F'); + if (isDict(urlDict)) { + url = urlDict.get('F') || null; + } else if (isString(urlDict)) { + url = urlDict; + } + var remoteDest = action.get('D'); + if (remoteDest) { + if (isName(remoteDest)) { + remoteDest = remoteDest.name; + } + if (isString(url)) { + var baseUrl = url.split('#')[0]; + if (isString(remoteDest)) { + url = baseUrl + '#' + (/^\d+$/.test(remoteDest) ? 'nameddest=' : '') + remoteDest; + } else if (isArray(remoteDest)) { + url = baseUrl + '#' + JSON.stringify(remoteDest); + } + } + } + var newWindow = action.get('NewWindow'); + if (isBool(newWindow)) { + resultObj.newWindow = newWindow; + } + break; + case 'Named': + var namedAction = action.get('N'); + if (isName(namedAction)) { + resultObj.action = namedAction.name; + } + break; + case 'JavaScript': + var jsAction = action.get('JS'), js; + if (isStream(jsAction)) { + js = bytesToString(jsAction.getBytes()); + } else if (isString(jsAction)) { + js = jsAction; + } + if (js) { + var URL_OPEN_METHODS = [ + 'app.launchURL', + 'window.open' + ]; + var regex = new RegExp('^\\s*(' + URL_OPEN_METHODS.join('|').split('.').join('\\.') + ')\\((?:\'|\")([^\'\"]*)(?:\'|\")(?:,\\s*(\\w+)\\)|\\))', 'i'); + var jsUrl = regex.exec(stringToPDFString(js)); + if (jsUrl && jsUrl[2]) { + url = jsUrl[2]; + if (jsUrl[3] === 'true' && jsUrl[1] === 'app.launchURL') { + resultObj.newWindow = true; + } + break; + } + } + default: + warn('Catalog_parseDestDictionary: Unrecognized link type "' + linkType + '".'); + break; + } + } else if (destDict.has('Dest')) { + dest = destDict.get('Dest'); + } + if (isString(url)) { + url = tryConvertUrlEncoding(url); + var absoluteUrl = createValidAbsoluteUrl(url, docBaseUrl); + if (absoluteUrl) { + resultObj.url = absoluteUrl.href; + } + resultObj.unsafeUrl = url; + } + if (dest) { + if (isName(dest)) { + dest = dest.name; + } + if (isString(dest) || isArray(dest)) { + resultObj.dest = dest; + } + } + }; + return Catalog; +}(); +var XRef = function XRefClosure() { + function XRef(stream, pdfManager) { + this.stream = stream; + this.pdfManager = pdfManager; + this.entries = []; + this.xrefstms = Object.create(null); + this.cache = []; + this.stats = { + streamTypes: [], + fontTypes: [] + }; + } + XRef.prototype = { + setStartXRef: function XRef_setStartXRef(startXRef) { + this.startXRefQueue = [startXRef]; + }, + parse: function XRef_parse(recoveryMode) { + var trailerDict; + if (!recoveryMode) { + trailerDict = this.readXRef(); + } else { + warn('Indexing all PDF objects'); + trailerDict = this.indexObjects(); + } + trailerDict.assignXref(this); + this.trailer = trailerDict; + var encrypt = trailerDict.get('Encrypt'); + if (isDict(encrypt)) { + var ids = trailerDict.get('ID'); + var fileId = ids && ids.length ? ids[0] : ''; + encrypt.suppressEncryption = true; + this.encrypt = new CipherTransformFactory(encrypt, fileId, this.pdfManager.password); + } + if (!(this.root = trailerDict.get('Root'))) { + error('Invalid root reference'); + } + }, + processXRefTable: function XRef_processXRefTable(parser) { + if (!('tableState' in this)) { + this.tableState = { + entryNum: 0, + streamPos: parser.lexer.stream.pos, + parserBuf1: parser.buf1, + parserBuf2: parser.buf2 + }; + } + var obj = this.readXRefTable(parser); + if (!isCmd(obj, 'trailer')) { + error('Invalid XRef table: could not find trailer dictionary'); + } + var dict = parser.getObj(); + if (!isDict(dict) && dict.dict) { + dict = dict.dict; + } + if (!isDict(dict)) { + error('Invalid XRef table: could not parse trailer dictionary'); + } + delete this.tableState; + return dict; + }, + readXRefTable: function XRef_readXRefTable(parser) { + var stream = parser.lexer.stream; + var tableState = this.tableState; + stream.pos = tableState.streamPos; + parser.buf1 = tableState.parserBuf1; + parser.buf2 = tableState.parserBuf2; + var obj; + while (true) { + if (!('firstEntryNum' in tableState) || !('entryCount' in tableState)) { + if (isCmd(obj = parser.getObj(), 'trailer')) { + break; + } + tableState.firstEntryNum = obj; + tableState.entryCount = parser.getObj(); + } + var first = tableState.firstEntryNum; + var count = tableState.entryCount; + if (!isInt(first) || !isInt(count)) { + error('Invalid XRef table: wrong types in subsection header'); + } + for (var i = tableState.entryNum; i < count; i++) { + tableState.streamPos = stream.pos; + tableState.entryNum = i; + tableState.parserBuf1 = parser.buf1; + tableState.parserBuf2 = parser.buf2; + var entry = {}; + entry.offset = parser.getObj(); + entry.gen = parser.getObj(); + var type = parser.getObj(); + if (isCmd(type, 'f')) { + entry.free = true; + } else if (isCmd(type, 'n')) { + entry.uncompressed = true; + } + if (!isInt(entry.offset) || !isInt(entry.gen) || !(entry.free || entry.uncompressed)) { + error('Invalid entry in XRef subsection: ' + first + ', ' + count); + } + if (i === 0 && entry.free && first === 1) { + first = 0; + } + if (!this.entries[i + first]) { + this.entries[i + first] = entry; + } + } + tableState.entryNum = 0; + tableState.streamPos = stream.pos; + tableState.parserBuf1 = parser.buf1; + tableState.parserBuf2 = parser.buf2; + delete tableState.firstEntryNum; + delete tableState.entryCount; + } + if (this.entries[0] && !this.entries[0].free) { + error('Invalid XRef table: unexpected first object'); + } + return obj; + }, + processXRefStream: function XRef_processXRefStream(stream) { + if (!('streamState' in this)) { + var streamParameters = stream.dict; + var byteWidths = streamParameters.get('W'); + var range = streamParameters.get('Index'); + if (!range) { + range = [ + 0, + streamParameters.get('Size') + ]; + } + this.streamState = { + entryRanges: range, + byteWidths: byteWidths, + entryNum: 0, + streamPos: stream.pos + }; + } + this.readXRefStream(stream); + delete this.streamState; + return stream.dict; + }, + readXRefStream: function XRef_readXRefStream(stream) { + var i, j; + var streamState = this.streamState; + stream.pos = streamState.streamPos; + var byteWidths = streamState.byteWidths; + var typeFieldWidth = byteWidths[0]; + var offsetFieldWidth = byteWidths[1]; + var generationFieldWidth = byteWidths[2]; + var entryRanges = streamState.entryRanges; + while (entryRanges.length > 0) { + var first = entryRanges[0]; + var n = entryRanges[1]; + if (!isInt(first) || !isInt(n)) { + error('Invalid XRef range fields: ' + first + ', ' + n); + } + if (!isInt(typeFieldWidth) || !isInt(offsetFieldWidth) || !isInt(generationFieldWidth)) { + error('Invalid XRef entry fields length: ' + first + ', ' + n); + } + for (i = streamState.entryNum; i < n; ++i) { + streamState.entryNum = i; + streamState.streamPos = stream.pos; + var type = 0, offset = 0, generation = 0; + for (j = 0; j < typeFieldWidth; ++j) { + type = type << 8 | stream.getByte(); + } + if (typeFieldWidth === 0) { + type = 1; + } + for (j = 0; j < offsetFieldWidth; ++j) { + offset = offset << 8 | stream.getByte(); + } + for (j = 0; j < generationFieldWidth; ++j) { + generation = generation << 8 | stream.getByte(); + } + var entry = {}; + entry.offset = offset; + entry.gen = generation; + switch (type) { + case 0: + entry.free = true; + break; + case 1: + entry.uncompressed = true; + break; + case 2: + break; + default: + error('Invalid XRef entry type: ' + type); + } + if (!this.entries[first + i]) { + this.entries[first + i] = entry; + } + } + streamState.entryNum = 0; + streamState.streamPos = stream.pos; + entryRanges.splice(0, 2); + } + }, + indexObjects: function XRef_indexObjects() { + var TAB = 0x9, LF = 0xA, CR = 0xD, SPACE = 0x20; + var PERCENT = 0x25, LT = 0x3C; + function readToken(data, offset) { + var token = '', ch = data[offset]; + while (ch !== LF && ch !== CR && ch !== LT) { + if (++offset >= data.length) { + break; + } + token += String.fromCharCode(ch); + ch = data[offset]; + } + return token; + } + function skipUntil(data, offset, what) { + var length = what.length, dataLength = data.length; + var skipped = 0; + while (offset < dataLength) { + var i = 0; + while (i < length && data[offset + i] === what[i]) { + ++i; + } + if (i >= length) { + break; + } + offset++; + skipped++; + } + return skipped; + } + var objRegExp = /^(\d+)\s+(\d+)\s+obj\b/; + var trailerBytes = new Uint8Array([ + 116, + 114, + 97, + 105, + 108, + 101, + 114 + ]); + var startxrefBytes = new Uint8Array([ + 115, + 116, + 97, + 114, + 116, + 120, + 114, + 101, + 102 + ]); + var endobjBytes = new Uint8Array([ + 101, + 110, + 100, + 111, + 98, + 106 + ]); + var xrefBytes = new Uint8Array([ + 47, + 88, + 82, + 101, + 102 + ]); + this.entries.length = 0; + var stream = this.stream; + stream.pos = 0; + var buffer = stream.getBytes(); + var position = stream.start, length = buffer.length; + var trailers = [], xrefStms = []; + while (position < length) { + var ch = buffer[position]; + if (ch === TAB || ch === LF || ch === CR || ch === SPACE) { + ++position; + continue; + } + if (ch === PERCENT) { + do { + ++position; + if (position >= length) { + break; + } + ch = buffer[position]; + } while (ch !== LF && ch !== CR); + continue; + } + var token = readToken(buffer, position); + var m; + if (token.indexOf('xref') === 0 && (token.length === 4 || /\s/.test(token[4]))) { + position += skipUntil(buffer, position, trailerBytes); + trailers.push(position); + position += skipUntil(buffer, position, startxrefBytes); + } else if (m = objRegExp.exec(token)) { + if (typeof this.entries[m[1]] === 'undefined') { + this.entries[m[1]] = { + offset: position - stream.start, + gen: m[2] | 0, + uncompressed: true + }; + } + var contentLength = skipUntil(buffer, position, endobjBytes) + 7; + var content = buffer.subarray(position, position + contentLength); + var xrefTagOffset = skipUntil(content, 0, xrefBytes); + if (xrefTagOffset < contentLength && content[xrefTagOffset + 5] < 64) { + xrefStms.push(position - stream.start); + this.xrefstms[position - stream.start] = 1; + } + position += contentLength; + } else if (token.indexOf('trailer') === 0 && (token.length === 7 || /\s/.test(token[7]))) { + trailers.push(position); + position += skipUntil(buffer, position, startxrefBytes); + } else { + position += token.length + 1; + } + } + var i, ii; + for (i = 0, ii = xrefStms.length; i < ii; ++i) { + this.startXRefQueue.push(xrefStms[i]); + this.readXRef(true); + } + var dict; + for (i = 0, ii = trailers.length; i < ii; ++i) { + stream.pos = trailers[i]; + var parser = new Parser(new Lexer(stream), true, this, true); + var obj = parser.getObj(); + if (!isCmd(obj, 'trailer')) { + continue; + } + dict = parser.getObj(); + if (!isDict(dict)) { + continue; + } + if (dict.has('ID')) { + return dict; + } + } + if (dict) { + return dict; + } + throw new InvalidPDFException('Invalid PDF structure'); + }, + readXRef: function XRef_readXRef(recoveryMode) { + var stream = this.stream; + try { + while (this.startXRefQueue.length) { + var startXRef = this.startXRefQueue[0]; + stream.pos = startXRef + stream.start; + var parser = new Parser(new Lexer(stream), true, this); + var obj = parser.getObj(); + var dict; + if (isCmd(obj, 'xref')) { + dict = this.processXRefTable(parser); + if (!this.topDict) { + this.topDict = dict; + } + obj = dict.get('XRefStm'); + if (isInt(obj)) { + var pos = obj; + if (!(pos in this.xrefstms)) { + this.xrefstms[pos] = 1; + this.startXRefQueue.push(pos); + } + } + } else if (isInt(obj)) { + if (!isInt(parser.getObj()) || !isCmd(parser.getObj(), 'obj') || !isStream(obj = parser.getObj())) { + error('Invalid XRef stream'); + } + dict = this.processXRefStream(obj); + if (!this.topDict) { + this.topDict = dict; + } + if (!dict) { + error('Failed to read XRef stream'); + } + } else { + error('Invalid XRef stream header'); + } + obj = dict.get('Prev'); + if (isInt(obj)) { + this.startXRefQueue.push(obj); + } else if (isRef(obj)) { + this.startXRefQueue.push(obj.num); + } + this.startXRefQueue.shift(); + } + return this.topDict; + } catch (e) { + if (e instanceof MissingDataException) { + throw e; + } + info('(while reading XRef): ' + e); + } + if (recoveryMode) { + return; + } + throw new XRefParseException(); + }, + getEntry: function XRef_getEntry(i) { + var xrefEntry = this.entries[i]; + if (xrefEntry && !xrefEntry.free && xrefEntry.offset) { + return xrefEntry; + } + return null; + }, + fetchIfRef: function XRef_fetchIfRef(obj, suppressEncryption) { + if (!isRef(obj)) { + return obj; + } + return this.fetch(obj, suppressEncryption); + }, + fetch: function XRef_fetch(ref, suppressEncryption) { + assert(isRef(ref), 'ref object is not a reference'); + var num = ref.num; + if (num in this.cache) { + var cacheEntry = this.cache[num]; + if (isDict(cacheEntry) && !cacheEntry.objId) { + cacheEntry.objId = ref.toString(); + } + return cacheEntry; + } + var xrefEntry = this.getEntry(num); + if (xrefEntry === null) { + return this.cache[num] = null; + } + if (xrefEntry.uncompressed) { + xrefEntry = this.fetchUncompressed(ref, xrefEntry, suppressEncryption); + } else { + xrefEntry = this.fetchCompressed(xrefEntry, suppressEncryption); + } + if (isDict(xrefEntry)) { + xrefEntry.objId = ref.toString(); + } else if (isStream(xrefEntry)) { + xrefEntry.dict.objId = ref.toString(); + } + return xrefEntry; + }, + fetchUncompressed: function XRef_fetchUncompressed(ref, xrefEntry, suppressEncryption) { + var gen = ref.gen; + var num = ref.num; + if (xrefEntry.gen !== gen) { + error('inconsistent generation in XRef'); + } + var stream = this.stream.makeSubStream(xrefEntry.offset + this.stream.start); + var parser = new Parser(new Lexer(stream), true, this); + var obj1 = parser.getObj(); + var obj2 = parser.getObj(); + var obj3 = parser.getObj(); + if (!isInt(obj1) || parseInt(obj1, 10) !== num || !isInt(obj2) || parseInt(obj2, 10) !== gen || !isCmd(obj3)) { + error('bad XRef entry'); + } + if (!isCmd(obj3, 'obj')) { + if (obj3.cmd.indexOf('obj') === 0) { + num = parseInt(obj3.cmd.substring(3), 10); + if (!isNaN(num)) { + return num; + } + } + error('bad XRef entry'); + } + if (this.encrypt && !suppressEncryption) { + xrefEntry = parser.getObj(this.encrypt.createCipherTransform(num, gen)); + } else { + xrefEntry = parser.getObj(); + } + if (!isStream(xrefEntry)) { + this.cache[num] = xrefEntry; + } + return xrefEntry; + }, + fetchCompressed: function XRef_fetchCompressed(xrefEntry, suppressEncryption) { + var tableOffset = xrefEntry.offset; + var stream = this.fetch(new Ref(tableOffset, 0)); + if (!isStream(stream)) { + error('bad ObjStm stream'); + } + var first = stream.dict.get('First'); + var n = stream.dict.get('N'); + if (!isInt(first) || !isInt(n)) { + error('invalid first and n parameters for ObjStm stream'); + } + var parser = new Parser(new Lexer(stream), false, this); + parser.allowStreams = true; + var i, entries = [], num, nums = []; + for (i = 0; i < n; ++i) { + num = parser.getObj(); + if (!isInt(num)) { + error('invalid object number in the ObjStm stream: ' + num); + } + nums.push(num); + var offset = parser.getObj(); + if (!isInt(offset)) { + error('invalid object offset in the ObjStm stream: ' + offset); + } + } + for (i = 0; i < n; ++i) { + entries.push(parser.getObj()); + if (isCmd(parser.buf1, 'endobj')) { + parser.shift(); + } + num = nums[i]; + var entry = this.entries[num]; + if (entry && entry.offset === tableOffset && entry.gen === i) { + this.cache[num] = entries[i]; + } + } + xrefEntry = entries[xrefEntry.gen]; + if (xrefEntry === undefined) { + error('bad XRef entry for compressed object'); + } + return xrefEntry; + }, + fetchIfRefAsync: function XRef_fetchIfRefAsync(obj, suppressEncryption) { + if (!isRef(obj)) { + return Promise.resolve(obj); + } + return this.fetchAsync(obj, suppressEncryption); + }, + fetchAsync: function XRef_fetchAsync(ref, suppressEncryption) { + var streamManager = this.stream.manager; + var xref = this; + return new Promise(function tryFetch(resolve, reject) { + try { + resolve(xref.fetch(ref, suppressEncryption)); + } catch (e) { + if (e instanceof MissingDataException) { + streamManager.requestRange(e.begin, e.end).then(function () { + tryFetch(resolve, reject); + }, reject); + return; + } + reject(e); + } + }); + }, + getCatalogObj: function XRef_getCatalogObj() { + return this.root; + } + }; + return XRef; +}(); +var NameOrNumberTree = function NameOrNumberTreeClosure() { + function NameOrNumberTree(root, xref) { + throw new Error('Cannot initialize NameOrNumberTree.'); + } + NameOrNumberTree.prototype = { + getAll: function NameOrNumberTree_getAll() { + var dict = Object.create(null); + if (!this.root) { + return dict; + } + var xref = this.xref; + var processed = new RefSet(); + processed.put(this.root); + var queue = [this.root]; + while (queue.length > 0) { + var i, n; + var obj = xref.fetchIfRef(queue.shift()); + if (!isDict(obj)) { + continue; + } + if (obj.has('Kids')) { + var kids = obj.get('Kids'); + for (i = 0, n = kids.length; i < n; i++) { + var kid = kids[i]; + assert(!processed.has(kid), 'Duplicate entry in "' + this._type + '" tree.'); + queue.push(kid); + processed.put(kid); + } + continue; + } + var entries = obj.get(this._type); + if (isArray(entries)) { + for (i = 0, n = entries.length; i < n; i += 2) { + dict[xref.fetchIfRef(entries[i])] = xref.fetchIfRef(entries[i + 1]); + } + } + } + return dict; + }, + get: function NameOrNumberTree_get(key) { + if (!this.root) { + return null; + } + var xref = this.xref; + var kidsOrEntries = xref.fetchIfRef(this.root); + var loopCount = 0; + var MAX_LEVELS = 10; + var l, r, m; + while (kidsOrEntries.has('Kids')) { + if (++loopCount > MAX_LEVELS) { + warn('Search depth limit reached for "' + this._type + '" tree.'); + return null; + } + var kids = kidsOrEntries.get('Kids'); + if (!isArray(kids)) { + return null; + } + l = 0; + r = kids.length - 1; + while (l <= r) { + m = l + r >> 1; + var kid = xref.fetchIfRef(kids[m]); + var limits = kid.get('Limits'); + if (key < xref.fetchIfRef(limits[0])) { + r = m - 1; + } else if (key > xref.fetchIfRef(limits[1])) { + l = m + 1; + } else { + kidsOrEntries = xref.fetchIfRef(kids[m]); + break; + } + } + if (l > r) { + return null; + } + } + var entries = kidsOrEntries.get(this._type); + if (isArray(entries)) { + l = 0; + r = entries.length - 2; + while (l <= r) { + m = l + r & ~1; + var currentKey = xref.fetchIfRef(entries[m]); + if (key < currentKey) { + r = m - 2; + } else if (key > currentKey) { + l = m + 2; + } else { + return xref.fetchIfRef(entries[m + 1]); + } + } + } + return null; + } + }; + return NameOrNumberTree; +}(); +var NameTree = function NameTreeClosure() { + function NameTree(root, xref) { + this.root = root; + this.xref = xref; + this._type = 'Names'; + } + Util.inherit(NameTree, NameOrNumberTree, {}); + return NameTree; +}(); +var NumberTree = function NumberTreeClosure() { + function NumberTree(root, xref) { + this.root = root; + this.xref = xref; + this._type = 'Nums'; + } + Util.inherit(NumberTree, NameOrNumberTree, {}); + return NumberTree; +}(); +var FileSpec = function FileSpecClosure() { + function FileSpec(root, xref) { + if (!root || !isDict(root)) { + return; + } + this.xref = xref; + this.root = root; + if (root.has('FS')) { + this.fs = root.get('FS'); + } + this.description = root.has('Desc') ? stringToPDFString(root.get('Desc')) : ''; + if (root.has('RF')) { + warn('Related file specifications are not supported'); + } + this.contentAvailable = true; + if (!root.has('EF')) { + this.contentAvailable = false; + warn('Non-embedded file specifications are not supported'); + } + } + function pickPlatformItem(dict) { + if (dict.has('UF')) { + return dict.get('UF'); + } else if (dict.has('F')) { + return dict.get('F'); + } else if (dict.has('Unix')) { + return dict.get('Unix'); + } else if (dict.has('Mac')) { + return dict.get('Mac'); + } else if (dict.has('DOS')) { + return dict.get('DOS'); + } + return null; + } + FileSpec.prototype = { + get filename() { + if (!this._filename && this.root) { + var filename = pickPlatformItem(this.root) || 'unnamed'; + this._filename = stringToPDFString(filename).replace(/\\\\/g, '\\').replace(/\\\//g, '/').replace(/\\/g, '/'); + } + return this._filename; + }, + get content() { + if (!this.contentAvailable) { + return null; + } + if (!this.contentRef && this.root) { + this.contentRef = pickPlatformItem(this.root.get('EF')); + } + var content = null; + if (this.contentRef) { + var xref = this.xref; + var fileObj = xref.fetchIfRef(this.contentRef); + if (fileObj && isStream(fileObj)) { + content = fileObj.getBytes(); + } else { + warn('Embedded file specification points to non-existing/invalid ' + 'content'); + } + } else { + warn('Embedded file specification does not have a content'); + } + return content; + }, + get serializable() { + return { + filename: this.filename, + content: this.content + }; + } + }; + return FileSpec; +}(); +var ObjectLoader = function () { + function mayHaveChildren(value) { + return isRef(value) || isDict(value) || isArray(value) || isStream(value); + } + function addChildren(node, nodesToVisit) { + var value; + if (isDict(node) || isStream(node)) { + var map; + if (isDict(node)) { + map = node.map; + } else { + map = node.dict.map; + } + for (var key in map) { + value = map[key]; + if (mayHaveChildren(value)) { + nodesToVisit.push(value); + } + } + } else if (isArray(node)) { + for (var i = 0, ii = node.length; i < ii; i++) { + value = node[i]; + if (mayHaveChildren(value)) { + nodesToVisit.push(value); + } + } + } + } + function ObjectLoader(obj, keys, xref) { + this.obj = obj; + this.keys = keys; + this.xref = xref; + this.refSet = null; + this.capability = null; + } + ObjectLoader.prototype = { + load: function ObjectLoader_load() { + var keys = this.keys; + this.capability = createPromiseCapability(); + if (!(this.xref.stream instanceof ChunkedStream) || this.xref.stream.getMissingChunks().length === 0) { + this.capability.resolve(); + return this.capability.promise; + } + this.refSet = new RefSet(); + var nodesToVisit = []; + for (var i = 0; i < keys.length; i++) { + nodesToVisit.push(this.obj[keys[i]]); + } + this._walk(nodesToVisit); + return this.capability.promise; + }, + _walk: function ObjectLoader_walk(nodesToVisit) { + var nodesToRevisit = []; + var pendingRequests = []; + while (nodesToVisit.length) { + var currentNode = nodesToVisit.pop(); + if (isRef(currentNode)) { + if (this.refSet.has(currentNode)) { + continue; + } + try { + var ref = currentNode; + this.refSet.put(ref); + currentNode = this.xref.fetch(currentNode); + } catch (e) { + if (!(e instanceof MissingDataException)) { + throw e; + } + nodesToRevisit.push(currentNode); + pendingRequests.push({ + begin: e.begin, + end: e.end + }); + } + } + if (currentNode && currentNode.getBaseStreams) { + var baseStreams = currentNode.getBaseStreams(); + var foundMissingData = false; + for (var i = 0; i < baseStreams.length; i++) { + var stream = baseStreams[i]; + if (stream.getMissingChunks && stream.getMissingChunks().length) { + foundMissingData = true; + pendingRequests.push({ + begin: stream.start, + end: stream.end + }); + } + } + if (foundMissingData) { + nodesToRevisit.push(currentNode); + } + } + addChildren(currentNode, nodesToVisit); + } + if (pendingRequests.length) { + this.xref.stream.manager.requestRanges(pendingRequests).then(function pendingRequestCallback() { + nodesToVisit = nodesToRevisit; + for (var i = 0; i < nodesToRevisit.length; i++) { + var node = nodesToRevisit[i]; + if (isRef(node)) { + this.refSet.remove(node); + } + } + this._walk(nodesToVisit); + }.bind(this), this.capability.reject); + return; + } + this.refSet = null; + this.capability.resolve(); + } + }; + return ObjectLoader; +}(); +exports.Catalog = Catalog; +exports.ObjectLoader = ObjectLoader; +exports.XRef = XRef; +exports.FileSpec = FileSpec; + +/***/ }), +/* 17 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var getLookupTableFactory = sharedUtil.getLookupTableFactory; +var getStdFontMap = getLookupTableFactory(function (t) { + t['ArialNarrow'] = 'Helvetica'; + t['ArialNarrow-Bold'] = 'Helvetica-Bold'; + t['ArialNarrow-BoldItalic'] = 'Helvetica-BoldOblique'; + t['ArialNarrow-Italic'] = 'Helvetica-Oblique'; + t['ArialBlack'] = 'Helvetica'; + t['ArialBlack-Bold'] = 'Helvetica-Bold'; + t['ArialBlack-BoldItalic'] = 'Helvetica-BoldOblique'; + t['ArialBlack-Italic'] = 'Helvetica-Oblique'; + t['Arial-Black'] = 'Helvetica'; + t['Arial-Black-Bold'] = 'Helvetica-Bold'; + t['Arial-Black-BoldItalic'] = 'Helvetica-BoldOblique'; + t['Arial-Black-Italic'] = 'Helvetica-Oblique'; + t['Arial'] = 'Helvetica'; + t['Arial-Bold'] = 'Helvetica-Bold'; + t['Arial-BoldItalic'] = 'Helvetica-BoldOblique'; + t['Arial-Italic'] = 'Helvetica-Oblique'; + t['Arial-BoldItalicMT'] = 'Helvetica-BoldOblique'; + t['Arial-BoldMT'] = 'Helvetica-Bold'; + t['Arial-ItalicMT'] = 'Helvetica-Oblique'; + t['ArialMT'] = 'Helvetica'; + t['Courier-Bold'] = 'Courier-Bold'; + t['Courier-BoldItalic'] = 'Courier-BoldOblique'; + t['Courier-Italic'] = 'Courier-Oblique'; + t['CourierNew'] = 'Courier'; + t['CourierNew-Bold'] = 'Courier-Bold'; + t['CourierNew-BoldItalic'] = 'Courier-BoldOblique'; + t['CourierNew-Italic'] = 'Courier-Oblique'; + t['CourierNewPS-BoldItalicMT'] = 'Courier-BoldOblique'; + t['CourierNewPS-BoldMT'] = 'Courier-Bold'; + t['CourierNewPS-ItalicMT'] = 'Courier-Oblique'; + t['CourierNewPSMT'] = 'Courier'; + t['Helvetica'] = 'Helvetica'; + t['Helvetica-Bold'] = 'Helvetica-Bold'; + t['Helvetica-BoldItalic'] = 'Helvetica-BoldOblique'; + t['Helvetica-BoldOblique'] = 'Helvetica-BoldOblique'; + t['Helvetica-Italic'] = 'Helvetica-Oblique'; + t['Helvetica-Oblique'] = 'Helvetica-Oblique'; + t['Symbol-Bold'] = 'Symbol'; + t['Symbol-BoldItalic'] = 'Symbol'; + t['Symbol-Italic'] = 'Symbol'; + t['TimesNewRoman'] = 'Times-Roman'; + t['TimesNewRoman-Bold'] = 'Times-Bold'; + t['TimesNewRoman-BoldItalic'] = 'Times-BoldItalic'; + t['TimesNewRoman-Italic'] = 'Times-Italic'; + t['TimesNewRomanPS'] = 'Times-Roman'; + t['TimesNewRomanPS-Bold'] = 'Times-Bold'; + t['TimesNewRomanPS-BoldItalic'] = 'Times-BoldItalic'; + t['TimesNewRomanPS-BoldItalicMT'] = 'Times-BoldItalic'; + t['TimesNewRomanPS-BoldMT'] = 'Times-Bold'; + t['TimesNewRomanPS-Italic'] = 'Times-Italic'; + t['TimesNewRomanPS-ItalicMT'] = 'Times-Italic'; + t['TimesNewRomanPSMT'] = 'Times-Roman'; + t['TimesNewRomanPSMT-Bold'] = 'Times-Bold'; + t['TimesNewRomanPSMT-BoldItalic'] = 'Times-BoldItalic'; + t['TimesNewRomanPSMT-Italic'] = 'Times-Italic'; +}); +var getNonStdFontMap = getLookupTableFactory(function (t) { + t['CenturyGothic'] = 'Helvetica'; + t['CenturyGothic-Bold'] = 'Helvetica-Bold'; + t['CenturyGothic-BoldItalic'] = 'Helvetica-BoldOblique'; + t['CenturyGothic-Italic'] = 'Helvetica-Oblique'; + t['ComicSansMS'] = 'Comic Sans MS'; + t['ComicSansMS-Bold'] = 'Comic Sans MS-Bold'; + t['ComicSansMS-BoldItalic'] = 'Comic Sans MS-BoldItalic'; + t['ComicSansMS-Italic'] = 'Comic Sans MS-Italic'; + t['LucidaConsole'] = 'Courier'; + t['LucidaConsole-Bold'] = 'Courier-Bold'; + t['LucidaConsole-BoldItalic'] = 'Courier-BoldOblique'; + t['LucidaConsole-Italic'] = 'Courier-Oblique'; + t['MS-Gothic'] = 'MS Gothic'; + t['MS-Gothic-Bold'] = 'MS Gothic-Bold'; + t['MS-Gothic-BoldItalic'] = 'MS Gothic-BoldItalic'; + t['MS-Gothic-Italic'] = 'MS Gothic-Italic'; + t['MS-Mincho'] = 'MS Mincho'; + t['MS-Mincho-Bold'] = 'MS Mincho-Bold'; + t['MS-Mincho-BoldItalic'] = 'MS Mincho-BoldItalic'; + t['MS-Mincho-Italic'] = 'MS Mincho-Italic'; + t['MS-PGothic'] = 'MS PGothic'; + t['MS-PGothic-Bold'] = 'MS PGothic-Bold'; + t['MS-PGothic-BoldItalic'] = 'MS PGothic-BoldItalic'; + t['MS-PGothic-Italic'] = 'MS PGothic-Italic'; + t['MS-PMincho'] = 'MS PMincho'; + t['MS-PMincho-Bold'] = 'MS PMincho-Bold'; + t['MS-PMincho-BoldItalic'] = 'MS PMincho-BoldItalic'; + t['MS-PMincho-Italic'] = 'MS PMincho-Italic'; + t['NuptialScript'] = 'Times-Italic'; + t['Wingdings'] = 'ZapfDingbats'; +}); +var getSerifFonts = getLookupTableFactory(function (t) { + t['Adobe Jenson'] = true; + t['Adobe Text'] = true; + t['Albertus'] = true; + t['Aldus'] = true; + t['Alexandria'] = true; + t['Algerian'] = true; + t['American Typewriter'] = true; + t['Antiqua'] = true; + t['Apex'] = true; + t['Arno'] = true; + t['Aster'] = true; + t['Aurora'] = true; + t['Baskerville'] = true; + t['Bell'] = true; + t['Bembo'] = true; + t['Bembo Schoolbook'] = true; + t['Benguiat'] = true; + t['Berkeley Old Style'] = true; + t['Bernhard Modern'] = true; + t['Berthold City'] = true; + t['Bodoni'] = true; + t['Bauer Bodoni'] = true; + t['Book Antiqua'] = true; + t['Bookman'] = true; + t['Bordeaux Roman'] = true; + t['Californian FB'] = true; + t['Calisto'] = true; + t['Calvert'] = true; + t['Capitals'] = true; + t['Cambria'] = true; + t['Cartier'] = true; + t['Caslon'] = true; + t['Catull'] = true; + t['Centaur'] = true; + t['Century Old Style'] = true; + t['Century Schoolbook'] = true; + t['Chaparral'] = true; + t['Charis SIL'] = true; + t['Cheltenham'] = true; + t['Cholla Slab'] = true; + t['Clarendon'] = true; + t['Clearface'] = true; + t['Cochin'] = true; + t['Colonna'] = true; + t['Computer Modern'] = true; + t['Concrete Roman'] = true; + t['Constantia'] = true; + t['Cooper Black'] = true; + t['Corona'] = true; + t['Ecotype'] = true; + t['Egyptienne'] = true; + t['Elephant'] = true; + t['Excelsior'] = true; + t['Fairfield'] = true; + t['FF Scala'] = true; + t['Folkard'] = true; + t['Footlight'] = true; + t['FreeSerif'] = true; + t['Friz Quadrata'] = true; + t['Garamond'] = true; + t['Gentium'] = true; + t['Georgia'] = true; + t['Gloucester'] = true; + t['Goudy Old Style'] = true; + t['Goudy Schoolbook'] = true; + t['Goudy Pro Font'] = true; + t['Granjon'] = true; + t['Guardian Egyptian'] = true; + t['Heather'] = true; + t['Hercules'] = true; + t['High Tower Text'] = true; + t['Hiroshige'] = true; + t['Hoefler Text'] = true; + t['Humana Serif'] = true; + t['Imprint'] = true; + t['Ionic No. 5'] = true; + t['Janson'] = true; + t['Joanna'] = true; + t['Korinna'] = true; + t['Lexicon'] = true; + t['Liberation Serif'] = true; + t['Linux Libertine'] = true; + t['Literaturnaya'] = true; + t['Lucida'] = true; + t['Lucida Bright'] = true; + t['Melior'] = true; + t['Memphis'] = true; + t['Miller'] = true; + t['Minion'] = true; + t['Modern'] = true; + t['Mona Lisa'] = true; + t['Mrs Eaves'] = true; + t['MS Serif'] = true; + t['Museo Slab'] = true; + t['New York'] = true; + t['Nimbus Roman'] = true; + t['NPS Rawlinson Roadway'] = true; + t['NuptialScript'] = true; + t['Palatino'] = true; + t['Perpetua'] = true; + t['Plantin'] = true; + t['Plantin Schoolbook'] = true; + t['Playbill'] = true; + t['Poor Richard'] = true; + t['Rawlinson Roadway'] = true; + t['Renault'] = true; + t['Requiem'] = true; + t['Rockwell'] = true; + t['Roman'] = true; + t['Rotis Serif'] = true; + t['Sabon'] = true; + t['Scala'] = true; + t['Seagull'] = true; + t['Sistina'] = true; + t['Souvenir'] = true; + t['STIX'] = true; + t['Stone Informal'] = true; + t['Stone Serif'] = true; + t['Sylfaen'] = true; + t['Times'] = true; + t['Trajan'] = true; + t['Trinité'] = true; + t['Trump Mediaeval'] = true; + t['Utopia'] = true; + t['Vale Type'] = true; + t['Bitstream Vera'] = true; + t['Vera Serif'] = true; + t['Versailles'] = true; + t['Wanted'] = true; + t['Weiss'] = true; + t['Wide Latin'] = true; + t['Windsor'] = true; + t['XITS'] = true; +}); +var getSymbolsFonts = getLookupTableFactory(function (t) { + t['Dingbats'] = true; + t['Symbol'] = true; + t['ZapfDingbats'] = true; +}); +var getGlyphMapForStandardFonts = getLookupTableFactory(function (t) { + t[2] = 10; + t[3] = 32; + t[4] = 33; + t[5] = 34; + t[6] = 35; + t[7] = 36; + t[8] = 37; + t[9] = 38; + t[10] = 39; + t[11] = 40; + t[12] = 41; + t[13] = 42; + t[14] = 43; + t[15] = 44; + t[16] = 45; + t[17] = 46; + t[18] = 47; + t[19] = 48; + t[20] = 49; + t[21] = 50; + t[22] = 51; + t[23] = 52; + t[24] = 53; + t[25] = 54; + t[26] = 55; + t[27] = 56; + t[28] = 57; + t[29] = 58; + t[30] = 894; + t[31] = 60; + t[32] = 61; + t[33] = 62; + t[34] = 63; + t[35] = 64; + t[36] = 65; + t[37] = 66; + t[38] = 67; + t[39] = 68; + t[40] = 69; + t[41] = 70; + t[42] = 71; + t[43] = 72; + t[44] = 73; + t[45] = 74; + t[46] = 75; + t[47] = 76; + t[48] = 77; + t[49] = 78; + t[50] = 79; + t[51] = 80; + t[52] = 81; + t[53] = 82; + t[54] = 83; + t[55] = 84; + t[56] = 85; + t[57] = 86; + t[58] = 87; + t[59] = 88; + t[60] = 89; + t[61] = 90; + t[62] = 91; + t[63] = 92; + t[64] = 93; + t[65] = 94; + t[66] = 95; + t[67] = 96; + t[68] = 97; + t[69] = 98; + t[70] = 99; + t[71] = 100; + t[72] = 101; + t[73] = 102; + t[74] = 103; + t[75] = 104; + t[76] = 105; + t[77] = 106; + t[78] = 107; + t[79] = 108; + t[80] = 109; + t[81] = 110; + t[82] = 111; + t[83] = 112; + t[84] = 113; + t[85] = 114; + t[86] = 115; + t[87] = 116; + t[88] = 117; + t[89] = 118; + t[90] = 119; + t[91] = 120; + t[92] = 121; + t[93] = 122; + t[94] = 123; + t[95] = 124; + t[96] = 125; + t[97] = 126; + t[98] = 196; + t[99] = 197; + t[100] = 199; + t[101] = 201; + t[102] = 209; + t[103] = 214; + t[104] = 220; + t[105] = 225; + t[106] = 224; + t[107] = 226; + t[108] = 228; + t[109] = 227; + t[110] = 229; + t[111] = 231; + t[112] = 233; + t[113] = 232; + t[114] = 234; + t[115] = 235; + t[116] = 237; + t[117] = 236; + t[118] = 238; + t[119] = 239; + t[120] = 241; + t[121] = 243; + t[122] = 242; + t[123] = 244; + t[124] = 246; + t[125] = 245; + t[126] = 250; + t[127] = 249; + t[128] = 251; + t[129] = 252; + t[130] = 8224; + t[131] = 176; + t[132] = 162; + t[133] = 163; + t[134] = 167; + t[135] = 8226; + t[136] = 182; + t[137] = 223; + t[138] = 174; + t[139] = 169; + t[140] = 8482; + t[141] = 180; + t[142] = 168; + t[143] = 8800; + t[144] = 198; + t[145] = 216; + t[146] = 8734; + t[147] = 177; + t[148] = 8804; + t[149] = 8805; + t[150] = 165; + t[151] = 181; + t[152] = 8706; + t[153] = 8721; + t[154] = 8719; + t[156] = 8747; + t[157] = 170; + t[158] = 186; + t[159] = 8486; + t[160] = 230; + t[161] = 248; + t[162] = 191; + t[163] = 161; + t[164] = 172; + t[165] = 8730; + t[166] = 402; + t[167] = 8776; + t[168] = 8710; + t[169] = 171; + t[170] = 187; + t[171] = 8230; + t[210] = 218; + t[223] = 711; + t[224] = 321; + t[225] = 322; + t[227] = 353; + t[229] = 382; + t[234] = 253; + t[252] = 263; + t[253] = 268; + t[254] = 269; + t[258] = 258; + t[260] = 260; + t[261] = 261; + t[265] = 280; + t[266] = 281; + t[268] = 283; + t[269] = 313; + t[275] = 323; + t[276] = 324; + t[278] = 328; + t[284] = 345; + t[285] = 346; + t[286] = 347; + t[292] = 367; + t[295] = 377; + t[296] = 378; + t[298] = 380; + t[305] = 963; + t[306] = 964; + t[307] = 966; + t[308] = 8215; + t[309] = 8252; + t[310] = 8319; + t[311] = 8359; + t[312] = 8592; + t[313] = 8593; + t[337] = 9552; + t[493] = 1039; + t[494] = 1040; + t[705] = 1524; + t[706] = 8362; + t[710] = 64288; + t[711] = 64298; + t[759] = 1617; + t[761] = 1776; + t[763] = 1778; + t[775] = 1652; + t[777] = 1764; + t[778] = 1780; + t[779] = 1781; + t[780] = 1782; + t[782] = 771; + t[783] = 64726; + t[786] = 8363; + t[788] = 8532; + t[790] = 768; + t[791] = 769; + t[792] = 768; + t[795] = 803; + t[797] = 64336; + t[798] = 64337; + t[799] = 64342; + t[800] = 64343; + t[801] = 64344; + t[802] = 64345; + t[803] = 64362; + t[804] = 64363; + t[805] = 64364; + t[2424] = 7821; + t[2425] = 7822; + t[2426] = 7823; + t[2427] = 7824; + t[2428] = 7825; + t[2429] = 7826; + t[2430] = 7827; + t[2433] = 7682; + t[2678] = 8045; + t[2679] = 8046; + t[2830] = 1552; + t[2838] = 686; + t[2840] = 751; + t[2842] = 753; + t[2843] = 754; + t[2844] = 755; + t[2846] = 757; + t[2856] = 767; + t[2857] = 848; + t[2858] = 849; + t[2862] = 853; + t[2863] = 854; + t[2864] = 855; + t[2865] = 861; + t[2866] = 862; + t[2906] = 7460; + t[2908] = 7462; + t[2909] = 7463; + t[2910] = 7464; + t[2912] = 7466; + t[2913] = 7467; + t[2914] = 7468; + t[2916] = 7470; + t[2917] = 7471; + t[2918] = 7472; + t[2920] = 7474; + t[2921] = 7475; + t[2922] = 7476; + t[2924] = 7478; + t[2925] = 7479; + t[2926] = 7480; + t[2928] = 7482; + t[2929] = 7483; + t[2930] = 7484; + t[2932] = 7486; + t[2933] = 7487; + t[2934] = 7488; + t[2936] = 7490; + t[2937] = 7491; + t[2938] = 7492; + t[2940] = 7494; + t[2941] = 7495; + t[2942] = 7496; + t[2944] = 7498; + t[2946] = 7500; + t[2948] = 7502; + t[2950] = 7504; + t[2951] = 7505; + t[2952] = 7506; + t[2954] = 7508; + t[2955] = 7509; + t[2956] = 7510; + t[2958] = 7512; + t[2959] = 7513; + t[2960] = 7514; + t[2962] = 7516; + t[2963] = 7517; + t[2964] = 7518; + t[2966] = 7520; + t[2967] = 7521; + t[2968] = 7522; + t[2970] = 7524; + t[2971] = 7525; + t[2972] = 7526; + t[2974] = 7528; + t[2975] = 7529; + t[2976] = 7530; + t[2978] = 1537; + t[2979] = 1538; + t[2980] = 1539; + t[2982] = 1549; + t[2983] = 1551; + t[2984] = 1552; + t[2986] = 1554; + t[2987] = 1555; + t[2988] = 1556; + t[2990] = 1623; + t[2991] = 1624; + t[2995] = 1775; + t[2999] = 1791; + t[3002] = 64290; + t[3003] = 64291; + t[3004] = 64292; + t[3006] = 64294; + t[3007] = 64295; + t[3008] = 64296; + t[3011] = 1900; + t[3014] = 8223; + t[3015] = 8244; + t[3017] = 7532; + t[3018] = 7533; + t[3019] = 7534; + t[3075] = 7590; + t[3076] = 7591; + t[3079] = 7594; + t[3080] = 7595; + t[3083] = 7598; + t[3084] = 7599; + t[3087] = 7602; + t[3088] = 7603; + t[3091] = 7606; + t[3092] = 7607; + t[3095] = 7610; + t[3096] = 7611; + t[3099] = 7614; + t[3100] = 7615; + t[3103] = 7618; + t[3104] = 7619; + t[3107] = 8337; + t[3108] = 8338; + t[3116] = 1884; + t[3119] = 1885; + t[3120] = 1885; + t[3123] = 1886; + t[3124] = 1886; + t[3127] = 1887; + t[3128] = 1887; + t[3131] = 1888; + t[3132] = 1888; + t[3135] = 1889; + t[3136] = 1889; + t[3139] = 1890; + t[3140] = 1890; + t[3143] = 1891; + t[3144] = 1891; + t[3147] = 1892; + t[3148] = 1892; + t[3153] = 580; + t[3154] = 581; + t[3157] = 584; + t[3158] = 585; + t[3161] = 588; + t[3162] = 589; + t[3165] = 891; + t[3166] = 892; + t[3169] = 1274; + t[3170] = 1275; + t[3173] = 1278; + t[3174] = 1279; + t[3181] = 7622; + t[3182] = 7623; + t[3282] = 11799; + t[3316] = 578; + t[3379] = 42785; + t[3393] = 1159; + t[3416] = 8377; +}); +var getSupplementalGlyphMapForArialBlack = getLookupTableFactory(function (t) { + t[227] = 322; + t[264] = 261; + t[291] = 346; +}); +exports.getStdFontMap = getStdFontMap; +exports.getNonStdFontMap = getNonStdFontMap; +exports.getSerifFonts = getSerifFonts; +exports.getSymbolsFonts = getSymbolsFonts; +exports.getGlyphMapForStandardFonts = getGlyphMapForStandardFonts; +exports.getSupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack; + +/***/ }), +/* 18 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var getLookupTableFactory = sharedUtil.getLookupTableFactory; +var getSpecialPUASymbols = getLookupTableFactory(function (t) { + t[63721] = 0x00A9; + t[63193] = 0x00A9; + t[63720] = 0x00AE; + t[63194] = 0x00AE; + t[63722] = 0x2122; + t[63195] = 0x2122; + t[63729] = 0x23A7; + t[63730] = 0x23A8; + t[63731] = 0x23A9; + t[63740] = 0x23AB; + t[63741] = 0x23AC; + t[63742] = 0x23AD; + t[63726] = 0x23A1; + t[63727] = 0x23A2; + t[63728] = 0x23A3; + t[63737] = 0x23A4; + t[63738] = 0x23A5; + t[63739] = 0x23A6; + t[63723] = 0x239B; + t[63724] = 0x239C; + t[63725] = 0x239D; + t[63734] = 0x239E; + t[63735] = 0x239F; + t[63736] = 0x23A0; +}); +function mapSpecialUnicodeValues(code) { + if (code >= 0xFFF0 && code <= 0xFFFF) { + return 0; + } else if (code >= 0xF600 && code <= 0xF8FF) { + return getSpecialPUASymbols()[code] || code; + } + return code; +} +function getUnicodeForGlyph(name, glyphsUnicodeMap) { + var unicode = glyphsUnicodeMap[name]; + if (unicode !== undefined) { + return unicode; + } + if (!name) { + return -1; + } + if (name[0] === 'u') { + var nameLen = name.length, hexStr; + if (nameLen === 7 && name[1] === 'n' && name[2] === 'i') { + hexStr = name.substr(3); + } else if (nameLen >= 5 && nameLen <= 7) { + hexStr = name.substr(1); + } else { + return -1; + } + if (hexStr === hexStr.toUpperCase()) { + unicode = parseInt(hexStr, 16); + if (unicode >= 0) { + return unicode; + } + } + } + return -1; +} +var UnicodeRanges = [ + { + 'begin': 0x0000, + 'end': 0x007F + }, + { + 'begin': 0x0080, + 'end': 0x00FF + }, + { + 'begin': 0x0100, + 'end': 0x017F + }, + { + 'begin': 0x0180, + 'end': 0x024F + }, + { + 'begin': 0x0250, + 'end': 0x02AF + }, + { + 'begin': 0x02B0, + 'end': 0x02FF + }, + { + 'begin': 0x0300, + 'end': 0x036F + }, + { + 'begin': 0x0370, + 'end': 0x03FF + }, + { + 'begin': 0x2C80, + 'end': 0x2CFF + }, + { + 'begin': 0x0400, + 'end': 0x04FF + }, + { + 'begin': 0x0530, + 'end': 0x058F + }, + { + 'begin': 0x0590, + 'end': 0x05FF + }, + { + 'begin': 0xA500, + 'end': 0xA63F + }, + { + 'begin': 0x0600, + 'end': 0x06FF + }, + { + 'begin': 0x07C0, + 'end': 0x07FF + }, + { + 'begin': 0x0900, + 'end': 0x097F + }, + { + 'begin': 0x0980, + 'end': 0x09FF + }, + { + 'begin': 0x0A00, + 'end': 0x0A7F + }, + { + 'begin': 0x0A80, + 'end': 0x0AFF + }, + { + 'begin': 0x0B00, + 'end': 0x0B7F + }, + { + 'begin': 0x0B80, + 'end': 0x0BFF + }, + { + 'begin': 0x0C00, + 'end': 0x0C7F + }, + { + 'begin': 0x0C80, + 'end': 0x0CFF + }, + { + 'begin': 0x0D00, + 'end': 0x0D7F + }, + { + 'begin': 0x0E00, + 'end': 0x0E7F + }, + { + 'begin': 0x0E80, + 'end': 0x0EFF + }, + { + 'begin': 0x10A0, + 'end': 0x10FF + }, + { + 'begin': 0x1B00, + 'end': 0x1B7F + }, + { + 'begin': 0x1100, + 'end': 0x11FF + }, + { + 'begin': 0x1E00, + 'end': 0x1EFF + }, + { + 'begin': 0x1F00, + 'end': 0x1FFF + }, + { + 'begin': 0x2000, + 'end': 0x206F + }, + { + 'begin': 0x2070, + 'end': 0x209F + }, + { + 'begin': 0x20A0, + 'end': 0x20CF + }, + { + 'begin': 0x20D0, + 'end': 0x20FF + }, + { + 'begin': 0x2100, + 'end': 0x214F + }, + { + 'begin': 0x2150, + 'end': 0x218F + }, + { + 'begin': 0x2190, + 'end': 0x21FF + }, + { + 'begin': 0x2200, + 'end': 0x22FF + }, + { + 'begin': 0x2300, + 'end': 0x23FF + }, + { + 'begin': 0x2400, + 'end': 0x243F + }, + { + 'begin': 0x2440, + 'end': 0x245F + }, + { + 'begin': 0x2460, + 'end': 0x24FF + }, + { + 'begin': 0x2500, + 'end': 0x257F + }, + { + 'begin': 0x2580, + 'end': 0x259F + }, + { + 'begin': 0x25A0, + 'end': 0x25FF + }, + { + 'begin': 0x2600, + 'end': 0x26FF + }, + { + 'begin': 0x2700, + 'end': 0x27BF + }, + { + 'begin': 0x3000, + 'end': 0x303F + }, + { + 'begin': 0x3040, + 'end': 0x309F + }, + { + 'begin': 0x30A0, + 'end': 0x30FF + }, + { + 'begin': 0x3100, + 'end': 0x312F + }, + { + 'begin': 0x3130, + 'end': 0x318F + }, + { + 'begin': 0xA840, + 'end': 0xA87F + }, + { + 'begin': 0x3200, + 'end': 0x32FF + }, + { + 'begin': 0x3300, + 'end': 0x33FF + }, + { + 'begin': 0xAC00, + 'end': 0xD7AF + }, + { + 'begin': 0xD800, + 'end': 0xDFFF + }, + { + 'begin': 0x10900, + 'end': 0x1091F + }, + { + 'begin': 0x4E00, + 'end': 0x9FFF + }, + { + 'begin': 0xE000, + 'end': 0xF8FF + }, + { + 'begin': 0x31C0, + 'end': 0x31EF + }, + { + 'begin': 0xFB00, + 'end': 0xFB4F + }, + { + 'begin': 0xFB50, + 'end': 0xFDFF + }, + { + 'begin': 0xFE20, + 'end': 0xFE2F + }, + { + 'begin': 0xFE10, + 'end': 0xFE1F + }, + { + 'begin': 0xFE50, + 'end': 0xFE6F + }, + { + 'begin': 0xFE70, + 'end': 0xFEFF + }, + { + 'begin': 0xFF00, + 'end': 0xFFEF + }, + { + 'begin': 0xFFF0, + 'end': 0xFFFF + }, + { + 'begin': 0x0F00, + 'end': 0x0FFF + }, + { + 'begin': 0x0700, + 'end': 0x074F + }, + { + 'begin': 0x0780, + 'end': 0x07BF + }, + { + 'begin': 0x0D80, + 'end': 0x0DFF + }, + { + 'begin': 0x1000, + 'end': 0x109F + }, + { + 'begin': 0x1200, + 'end': 0x137F + }, + { + 'begin': 0x13A0, + 'end': 0x13FF + }, + { + 'begin': 0x1400, + 'end': 0x167F + }, + { + 'begin': 0x1680, + 'end': 0x169F + }, + { + 'begin': 0x16A0, + 'end': 0x16FF + }, + { + 'begin': 0x1780, + 'end': 0x17FF + }, + { + 'begin': 0x1800, + 'end': 0x18AF + }, + { + 'begin': 0x2800, + 'end': 0x28FF + }, + { + 'begin': 0xA000, + 'end': 0xA48F + }, + { + 'begin': 0x1700, + 'end': 0x171F + }, + { + 'begin': 0x10300, + 'end': 0x1032F + }, + { + 'begin': 0x10330, + 'end': 0x1034F + }, + { + 'begin': 0x10400, + 'end': 0x1044F + }, + { + 'begin': 0x1D000, + 'end': 0x1D0FF + }, + { + 'begin': 0x1D400, + 'end': 0x1D7FF + }, + { + 'begin': 0xFF000, + 'end': 0xFFFFD + }, + { + 'begin': 0xFE00, + 'end': 0xFE0F + }, + { + 'begin': 0xE0000, + 'end': 0xE007F + }, + { + 'begin': 0x1900, + 'end': 0x194F + }, + { + 'begin': 0x1950, + 'end': 0x197F + }, + { + 'begin': 0x1980, + 'end': 0x19DF + }, + { + 'begin': 0x1A00, + 'end': 0x1A1F + }, + { + 'begin': 0x2C00, + 'end': 0x2C5F + }, + { + 'begin': 0x2D30, + 'end': 0x2D7F + }, + { + 'begin': 0x4DC0, + 'end': 0x4DFF + }, + { + 'begin': 0xA800, + 'end': 0xA82F + }, + { + 'begin': 0x10000, + 'end': 0x1007F + }, + { + 'begin': 0x10140, + 'end': 0x1018F + }, + { + 'begin': 0x10380, + 'end': 0x1039F + }, + { + 'begin': 0x103A0, + 'end': 0x103DF + }, + { + 'begin': 0x10450, + 'end': 0x1047F + }, + { + 'begin': 0x10480, + 'end': 0x104AF + }, + { + 'begin': 0x10800, + 'end': 0x1083F + }, + { + 'begin': 0x10A00, + 'end': 0x10A5F + }, + { + 'begin': 0x1D300, + 'end': 0x1D35F + }, + { + 'begin': 0x12000, + 'end': 0x123FF + }, + { + 'begin': 0x1D360, + 'end': 0x1D37F + }, + { + 'begin': 0x1B80, + 'end': 0x1BBF + }, + { + 'begin': 0x1C00, + 'end': 0x1C4F + }, + { + 'begin': 0x1C50, + 'end': 0x1C7F + }, + { + 'begin': 0xA880, + 'end': 0xA8DF + }, + { + 'begin': 0xA900, + 'end': 0xA92F + }, + { + 'begin': 0xA930, + 'end': 0xA95F + }, + { + 'begin': 0xAA00, + 'end': 0xAA5F + }, + { + 'begin': 0x10190, + 'end': 0x101CF + }, + { + 'begin': 0x101D0, + 'end': 0x101FF + }, + { + 'begin': 0x102A0, + 'end': 0x102DF + }, + { + 'begin': 0x1F030, + 'end': 0x1F09F + } +]; +function getUnicodeRangeFor(value) { + for (var i = 0, ii = UnicodeRanges.length; i < ii; i++) { + var range = UnicodeRanges[i]; + if (value >= range.begin && value < range.end) { + return i; + } + } + return -1; +} +function isRTLRangeFor(value) { + var range = UnicodeRanges[13]; + if (value >= range.begin && value < range.end) { + return true; + } + range = UnicodeRanges[11]; + if (value >= range.begin && value < range.end) { + return true; + } + return false; +} +var getNormalizedUnicodes = getLookupTableFactory(function (t) { + t['\u00A8'] = '\u0020\u0308'; + t['\u00AF'] = '\u0020\u0304'; + t['\u00B4'] = '\u0020\u0301'; + t['\u00B5'] = '\u03BC'; + t['\u00B8'] = '\u0020\u0327'; + t['\u0132'] = '\u0049\u004A'; + t['\u0133'] = '\u0069\u006A'; + t['\u013F'] = '\u004C\u00B7'; + t['\u0140'] = '\u006C\u00B7'; + t['\u0149'] = '\u02BC\u006E'; + t['\u017F'] = '\u0073'; + t['\u01C4'] = '\u0044\u017D'; + t['\u01C5'] = '\u0044\u017E'; + t['\u01C6'] = '\u0064\u017E'; + t['\u01C7'] = '\u004C\u004A'; + t['\u01C8'] = '\u004C\u006A'; + t['\u01C9'] = '\u006C\u006A'; + t['\u01CA'] = '\u004E\u004A'; + t['\u01CB'] = '\u004E\u006A'; + t['\u01CC'] = '\u006E\u006A'; + t['\u01F1'] = '\u0044\u005A'; + t['\u01F2'] = '\u0044\u007A'; + t['\u01F3'] = '\u0064\u007A'; + t['\u02D8'] = '\u0020\u0306'; + t['\u02D9'] = '\u0020\u0307'; + t['\u02DA'] = '\u0020\u030A'; + t['\u02DB'] = '\u0020\u0328'; + t['\u02DC'] = '\u0020\u0303'; + t['\u02DD'] = '\u0020\u030B'; + t['\u037A'] = '\u0020\u0345'; + t['\u0384'] = '\u0020\u0301'; + t['\u03D0'] = '\u03B2'; + t['\u03D1'] = '\u03B8'; + t['\u03D2'] = '\u03A5'; + t['\u03D5'] = '\u03C6'; + t['\u03D6'] = '\u03C0'; + t['\u03F0'] = '\u03BA'; + t['\u03F1'] = '\u03C1'; + t['\u03F2'] = '\u03C2'; + t['\u03F4'] = '\u0398'; + t['\u03F5'] = '\u03B5'; + t['\u03F9'] = '\u03A3'; + t['\u0587'] = '\u0565\u0582'; + t['\u0675'] = '\u0627\u0674'; + t['\u0676'] = '\u0648\u0674'; + t['\u0677'] = '\u06C7\u0674'; + t['\u0678'] = '\u064A\u0674'; + t['\u0E33'] = '\u0E4D\u0E32'; + t['\u0EB3'] = '\u0ECD\u0EB2'; + t['\u0EDC'] = '\u0EAB\u0E99'; + t['\u0EDD'] = '\u0EAB\u0EA1'; + t['\u0F77'] = '\u0FB2\u0F81'; + t['\u0F79'] = '\u0FB3\u0F81'; + t['\u1E9A'] = '\u0061\u02BE'; + t['\u1FBD'] = '\u0020\u0313'; + t['\u1FBF'] = '\u0020\u0313'; + t['\u1FC0'] = '\u0020\u0342'; + t['\u1FFE'] = '\u0020\u0314'; + t['\u2002'] = '\u0020'; + t['\u2003'] = '\u0020'; + t['\u2004'] = '\u0020'; + t['\u2005'] = '\u0020'; + t['\u2006'] = '\u0020'; + t['\u2008'] = '\u0020'; + t['\u2009'] = '\u0020'; + t['\u200A'] = '\u0020'; + t['\u2017'] = '\u0020\u0333'; + t['\u2024'] = '\u002E'; + t['\u2025'] = '\u002E\u002E'; + t['\u2026'] = '\u002E\u002E\u002E'; + t['\u2033'] = '\u2032\u2032'; + t['\u2034'] = '\u2032\u2032\u2032'; + t['\u2036'] = '\u2035\u2035'; + t['\u2037'] = '\u2035\u2035\u2035'; + t['\u203C'] = '\u0021\u0021'; + t['\u203E'] = '\u0020\u0305'; + t['\u2047'] = '\u003F\u003F'; + t['\u2048'] = '\u003F\u0021'; + t['\u2049'] = '\u0021\u003F'; + t['\u2057'] = '\u2032\u2032\u2032\u2032'; + t['\u205F'] = '\u0020'; + t['\u20A8'] = '\u0052\u0073'; + t['\u2100'] = '\u0061\u002F\u0063'; + t['\u2101'] = '\u0061\u002F\u0073'; + t['\u2103'] = '\u00B0\u0043'; + t['\u2105'] = '\u0063\u002F\u006F'; + t['\u2106'] = '\u0063\u002F\u0075'; + t['\u2107'] = '\u0190'; + t['\u2109'] = '\u00B0\u0046'; + t['\u2116'] = '\u004E\u006F'; + t['\u2121'] = '\u0054\u0045\u004C'; + t['\u2135'] = '\u05D0'; + t['\u2136'] = '\u05D1'; + t['\u2137'] = '\u05D2'; + t['\u2138'] = '\u05D3'; + t['\u213B'] = '\u0046\u0041\u0058'; + t['\u2160'] = '\u0049'; + t['\u2161'] = '\u0049\u0049'; + t['\u2162'] = '\u0049\u0049\u0049'; + t['\u2163'] = '\u0049\u0056'; + t['\u2164'] = '\u0056'; + t['\u2165'] = '\u0056\u0049'; + t['\u2166'] = '\u0056\u0049\u0049'; + t['\u2167'] = '\u0056\u0049\u0049\u0049'; + t['\u2168'] = '\u0049\u0058'; + t['\u2169'] = '\u0058'; + t['\u216A'] = '\u0058\u0049'; + t['\u216B'] = '\u0058\u0049\u0049'; + t['\u216C'] = '\u004C'; + t['\u216D'] = '\u0043'; + t['\u216E'] = '\u0044'; + t['\u216F'] = '\u004D'; + t['\u2170'] = '\u0069'; + t['\u2171'] = '\u0069\u0069'; + t['\u2172'] = '\u0069\u0069\u0069'; + t['\u2173'] = '\u0069\u0076'; + t['\u2174'] = '\u0076'; + t['\u2175'] = '\u0076\u0069'; + t['\u2176'] = '\u0076\u0069\u0069'; + t['\u2177'] = '\u0076\u0069\u0069\u0069'; + t['\u2178'] = '\u0069\u0078'; + t['\u2179'] = '\u0078'; + t['\u217A'] = '\u0078\u0069'; + t['\u217B'] = '\u0078\u0069\u0069'; + t['\u217C'] = '\u006C'; + t['\u217D'] = '\u0063'; + t['\u217E'] = '\u0064'; + t['\u217F'] = '\u006D'; + t['\u222C'] = '\u222B\u222B'; + t['\u222D'] = '\u222B\u222B\u222B'; + t['\u222F'] = '\u222E\u222E'; + t['\u2230'] = '\u222E\u222E\u222E'; + t['\u2474'] = '\u0028\u0031\u0029'; + t['\u2475'] = '\u0028\u0032\u0029'; + t['\u2476'] = '\u0028\u0033\u0029'; + t['\u2477'] = '\u0028\u0034\u0029'; + t['\u2478'] = '\u0028\u0035\u0029'; + t['\u2479'] = '\u0028\u0036\u0029'; + t['\u247A'] = '\u0028\u0037\u0029'; + t['\u247B'] = '\u0028\u0038\u0029'; + t['\u247C'] = '\u0028\u0039\u0029'; + t['\u247D'] = '\u0028\u0031\u0030\u0029'; + t['\u247E'] = '\u0028\u0031\u0031\u0029'; + t['\u247F'] = '\u0028\u0031\u0032\u0029'; + t['\u2480'] = '\u0028\u0031\u0033\u0029'; + t['\u2481'] = '\u0028\u0031\u0034\u0029'; + t['\u2482'] = '\u0028\u0031\u0035\u0029'; + t['\u2483'] = '\u0028\u0031\u0036\u0029'; + t['\u2484'] = '\u0028\u0031\u0037\u0029'; + t['\u2485'] = '\u0028\u0031\u0038\u0029'; + t['\u2486'] = '\u0028\u0031\u0039\u0029'; + t['\u2487'] = '\u0028\u0032\u0030\u0029'; + t['\u2488'] = '\u0031\u002E'; + t['\u2489'] = '\u0032\u002E'; + t['\u248A'] = '\u0033\u002E'; + t['\u248B'] = '\u0034\u002E'; + t['\u248C'] = '\u0035\u002E'; + t['\u248D'] = '\u0036\u002E'; + t['\u248E'] = '\u0037\u002E'; + t['\u248F'] = '\u0038\u002E'; + t['\u2490'] = '\u0039\u002E'; + t['\u2491'] = '\u0031\u0030\u002E'; + t['\u2492'] = '\u0031\u0031\u002E'; + t['\u2493'] = '\u0031\u0032\u002E'; + t['\u2494'] = '\u0031\u0033\u002E'; + t['\u2495'] = '\u0031\u0034\u002E'; + t['\u2496'] = '\u0031\u0035\u002E'; + t['\u2497'] = '\u0031\u0036\u002E'; + t['\u2498'] = '\u0031\u0037\u002E'; + t['\u2499'] = '\u0031\u0038\u002E'; + t['\u249A'] = '\u0031\u0039\u002E'; + t['\u249B'] = '\u0032\u0030\u002E'; + t['\u249C'] = '\u0028\u0061\u0029'; + t['\u249D'] = '\u0028\u0062\u0029'; + t['\u249E'] = '\u0028\u0063\u0029'; + t['\u249F'] = '\u0028\u0064\u0029'; + t['\u24A0'] = '\u0028\u0065\u0029'; + t['\u24A1'] = '\u0028\u0066\u0029'; + t['\u24A2'] = '\u0028\u0067\u0029'; + t['\u24A3'] = '\u0028\u0068\u0029'; + t['\u24A4'] = '\u0028\u0069\u0029'; + t['\u24A5'] = '\u0028\u006A\u0029'; + t['\u24A6'] = '\u0028\u006B\u0029'; + t['\u24A7'] = '\u0028\u006C\u0029'; + t['\u24A8'] = '\u0028\u006D\u0029'; + t['\u24A9'] = '\u0028\u006E\u0029'; + t['\u24AA'] = '\u0028\u006F\u0029'; + t['\u24AB'] = '\u0028\u0070\u0029'; + t['\u24AC'] = '\u0028\u0071\u0029'; + t['\u24AD'] = '\u0028\u0072\u0029'; + t['\u24AE'] = '\u0028\u0073\u0029'; + t['\u24AF'] = '\u0028\u0074\u0029'; + t['\u24B0'] = '\u0028\u0075\u0029'; + t['\u24B1'] = '\u0028\u0076\u0029'; + t['\u24B2'] = '\u0028\u0077\u0029'; + t['\u24B3'] = '\u0028\u0078\u0029'; + t['\u24B4'] = '\u0028\u0079\u0029'; + t['\u24B5'] = '\u0028\u007A\u0029'; + t['\u2A0C'] = '\u222B\u222B\u222B\u222B'; + t['\u2A74'] = '\u003A\u003A\u003D'; + t['\u2A75'] = '\u003D\u003D'; + t['\u2A76'] = '\u003D\u003D\u003D'; + t['\u2E9F'] = '\u6BCD'; + t['\u2EF3'] = '\u9F9F'; + t['\u2F00'] = '\u4E00'; + t['\u2F01'] = '\u4E28'; + t['\u2F02'] = '\u4E36'; + t['\u2F03'] = '\u4E3F'; + t['\u2F04'] = '\u4E59'; + t['\u2F05'] = '\u4E85'; + t['\u2F06'] = '\u4E8C'; + t['\u2F07'] = '\u4EA0'; + t['\u2F08'] = '\u4EBA'; + t['\u2F09'] = '\u513F'; + t['\u2F0A'] = '\u5165'; + t['\u2F0B'] = '\u516B'; + t['\u2F0C'] = '\u5182'; + t['\u2F0D'] = '\u5196'; + t['\u2F0E'] = '\u51AB'; + t['\u2F0F'] = '\u51E0'; + t['\u2F10'] = '\u51F5'; + t['\u2F11'] = '\u5200'; + t['\u2F12'] = '\u529B'; + t['\u2F13'] = '\u52F9'; + t['\u2F14'] = '\u5315'; + t['\u2F15'] = '\u531A'; + t['\u2F16'] = '\u5338'; + t['\u2F17'] = '\u5341'; + t['\u2F18'] = '\u535C'; + t['\u2F19'] = '\u5369'; + t['\u2F1A'] = '\u5382'; + t['\u2F1B'] = '\u53B6'; + t['\u2F1C'] = '\u53C8'; + t['\u2F1D'] = '\u53E3'; + t['\u2F1E'] = '\u56D7'; + t['\u2F1F'] = '\u571F'; + t['\u2F20'] = '\u58EB'; + t['\u2F21'] = '\u5902'; + t['\u2F22'] = '\u590A'; + t['\u2F23'] = '\u5915'; + t['\u2F24'] = '\u5927'; + t['\u2F25'] = '\u5973'; + t['\u2F26'] = '\u5B50'; + t['\u2F27'] = '\u5B80'; + t['\u2F28'] = '\u5BF8'; + t['\u2F29'] = '\u5C0F'; + t['\u2F2A'] = '\u5C22'; + t['\u2F2B'] = '\u5C38'; + t['\u2F2C'] = '\u5C6E'; + t['\u2F2D'] = '\u5C71'; + t['\u2F2E'] = '\u5DDB'; + t['\u2F2F'] = '\u5DE5'; + t['\u2F30'] = '\u5DF1'; + t['\u2F31'] = '\u5DFE'; + t['\u2F32'] = '\u5E72'; + t['\u2F33'] = '\u5E7A'; + t['\u2F34'] = '\u5E7F'; + t['\u2F35'] = '\u5EF4'; + t['\u2F36'] = '\u5EFE'; + t['\u2F37'] = '\u5F0B'; + t['\u2F38'] = '\u5F13'; + t['\u2F39'] = '\u5F50'; + t['\u2F3A'] = '\u5F61'; + t['\u2F3B'] = '\u5F73'; + t['\u2F3C'] = '\u5FC3'; + t['\u2F3D'] = '\u6208'; + t['\u2F3E'] = '\u6236'; + t['\u2F3F'] = '\u624B'; + t['\u2F40'] = '\u652F'; + t['\u2F41'] = '\u6534'; + t['\u2F42'] = '\u6587'; + t['\u2F43'] = '\u6597'; + t['\u2F44'] = '\u65A4'; + t['\u2F45'] = '\u65B9'; + t['\u2F46'] = '\u65E0'; + t['\u2F47'] = '\u65E5'; + t['\u2F48'] = '\u66F0'; + t['\u2F49'] = '\u6708'; + t['\u2F4A'] = '\u6728'; + t['\u2F4B'] = '\u6B20'; + t['\u2F4C'] = '\u6B62'; + t['\u2F4D'] = '\u6B79'; + t['\u2F4E'] = '\u6BB3'; + t['\u2F4F'] = '\u6BCB'; + t['\u2F50'] = '\u6BD4'; + t['\u2F51'] = '\u6BDB'; + t['\u2F52'] = '\u6C0F'; + t['\u2F53'] = '\u6C14'; + t['\u2F54'] = '\u6C34'; + t['\u2F55'] = '\u706B'; + t['\u2F56'] = '\u722A'; + t['\u2F57'] = '\u7236'; + t['\u2F58'] = '\u723B'; + t['\u2F59'] = '\u723F'; + t['\u2F5A'] = '\u7247'; + t['\u2F5B'] = '\u7259'; + t['\u2F5C'] = '\u725B'; + t['\u2F5D'] = '\u72AC'; + t['\u2F5E'] = '\u7384'; + t['\u2F5F'] = '\u7389'; + t['\u2F60'] = '\u74DC'; + t['\u2F61'] = '\u74E6'; + t['\u2F62'] = '\u7518'; + t['\u2F63'] = '\u751F'; + t['\u2F64'] = '\u7528'; + t['\u2F65'] = '\u7530'; + t['\u2F66'] = '\u758B'; + t['\u2F67'] = '\u7592'; + t['\u2F68'] = '\u7676'; + t['\u2F69'] = '\u767D'; + t['\u2F6A'] = '\u76AE'; + t['\u2F6B'] = '\u76BF'; + t['\u2F6C'] = '\u76EE'; + t['\u2F6D'] = '\u77DB'; + t['\u2F6E'] = '\u77E2'; + t['\u2F6F'] = '\u77F3'; + t['\u2F70'] = '\u793A'; + t['\u2F71'] = '\u79B8'; + t['\u2F72'] = '\u79BE'; + t['\u2F73'] = '\u7A74'; + t['\u2F74'] = '\u7ACB'; + t['\u2F75'] = '\u7AF9'; + t['\u2F76'] = '\u7C73'; + t['\u2F77'] = '\u7CF8'; + t['\u2F78'] = '\u7F36'; + t['\u2F79'] = '\u7F51'; + t['\u2F7A'] = '\u7F8A'; + t['\u2F7B'] = '\u7FBD'; + t['\u2F7C'] = '\u8001'; + t['\u2F7D'] = '\u800C'; + t['\u2F7E'] = '\u8012'; + t['\u2F7F'] = '\u8033'; + t['\u2F80'] = '\u807F'; + t['\u2F81'] = '\u8089'; + t['\u2F82'] = '\u81E3'; + t['\u2F83'] = '\u81EA'; + t['\u2F84'] = '\u81F3'; + t['\u2F85'] = '\u81FC'; + t['\u2F86'] = '\u820C'; + t['\u2F87'] = '\u821B'; + t['\u2F88'] = '\u821F'; + t['\u2F89'] = '\u826E'; + t['\u2F8A'] = '\u8272'; + t['\u2F8B'] = '\u8278'; + t['\u2F8C'] = '\u864D'; + t['\u2F8D'] = '\u866B'; + t['\u2F8E'] = '\u8840'; + t['\u2F8F'] = '\u884C'; + t['\u2F90'] = '\u8863'; + t['\u2F91'] = '\u897E'; + t['\u2F92'] = '\u898B'; + t['\u2F93'] = '\u89D2'; + t['\u2F94'] = '\u8A00'; + t['\u2F95'] = '\u8C37'; + t['\u2F96'] = '\u8C46'; + t['\u2F97'] = '\u8C55'; + t['\u2F98'] = '\u8C78'; + t['\u2F99'] = '\u8C9D'; + t['\u2F9A'] = '\u8D64'; + t['\u2F9B'] = '\u8D70'; + t['\u2F9C'] = '\u8DB3'; + t['\u2F9D'] = '\u8EAB'; + t['\u2F9E'] = '\u8ECA'; + t['\u2F9F'] = '\u8F9B'; + t['\u2FA0'] = '\u8FB0'; + t['\u2FA1'] = '\u8FB5'; + t['\u2FA2'] = '\u9091'; + t['\u2FA3'] = '\u9149'; + t['\u2FA4'] = '\u91C6'; + t['\u2FA5'] = '\u91CC'; + t['\u2FA6'] = '\u91D1'; + t['\u2FA7'] = '\u9577'; + t['\u2FA8'] = '\u9580'; + t['\u2FA9'] = '\u961C'; + t['\u2FAA'] = '\u96B6'; + t['\u2FAB'] = '\u96B9'; + t['\u2FAC'] = '\u96E8'; + t['\u2FAD'] = '\u9751'; + t['\u2FAE'] = '\u975E'; + t['\u2FAF'] = '\u9762'; + t['\u2FB0'] = '\u9769'; + t['\u2FB1'] = '\u97CB'; + t['\u2FB2'] = '\u97ED'; + t['\u2FB3'] = '\u97F3'; + t['\u2FB4'] = '\u9801'; + t['\u2FB5'] = '\u98A8'; + t['\u2FB6'] = '\u98DB'; + t['\u2FB7'] = '\u98DF'; + t['\u2FB8'] = '\u9996'; + t['\u2FB9'] = '\u9999'; + t['\u2FBA'] = '\u99AC'; + t['\u2FBB'] = '\u9AA8'; + t['\u2FBC'] = '\u9AD8'; + t['\u2FBD'] = '\u9ADF'; + t['\u2FBE'] = '\u9B25'; + t['\u2FBF'] = '\u9B2F'; + t['\u2FC0'] = '\u9B32'; + t['\u2FC1'] = '\u9B3C'; + t['\u2FC2'] = '\u9B5A'; + t['\u2FC3'] = '\u9CE5'; + t['\u2FC4'] = '\u9E75'; + t['\u2FC5'] = '\u9E7F'; + t['\u2FC6'] = '\u9EA5'; + t['\u2FC7'] = '\u9EBB'; + t['\u2FC8'] = '\u9EC3'; + t['\u2FC9'] = '\u9ECD'; + t['\u2FCA'] = '\u9ED1'; + t['\u2FCB'] = '\u9EF9'; + t['\u2FCC'] = '\u9EFD'; + t['\u2FCD'] = '\u9F0E'; + t['\u2FCE'] = '\u9F13'; + t['\u2FCF'] = '\u9F20'; + t['\u2FD0'] = '\u9F3B'; + t['\u2FD1'] = '\u9F4A'; + t['\u2FD2'] = '\u9F52'; + t['\u2FD3'] = '\u9F8D'; + t['\u2FD4'] = '\u9F9C'; + t['\u2FD5'] = '\u9FA0'; + t['\u3036'] = '\u3012'; + t['\u3038'] = '\u5341'; + t['\u3039'] = '\u5344'; + t['\u303A'] = '\u5345'; + t['\u309B'] = '\u0020\u3099'; + t['\u309C'] = '\u0020\u309A'; + t['\u3131'] = '\u1100'; + t['\u3132'] = '\u1101'; + t['\u3133'] = '\u11AA'; + t['\u3134'] = '\u1102'; + t['\u3135'] = '\u11AC'; + t['\u3136'] = '\u11AD'; + t['\u3137'] = '\u1103'; + t['\u3138'] = '\u1104'; + t['\u3139'] = '\u1105'; + t['\u313A'] = '\u11B0'; + t['\u313B'] = '\u11B1'; + t['\u313C'] = '\u11B2'; + t['\u313D'] = '\u11B3'; + t['\u313E'] = '\u11B4'; + t['\u313F'] = '\u11B5'; + t['\u3140'] = '\u111A'; + t['\u3141'] = '\u1106'; + t['\u3142'] = '\u1107'; + t['\u3143'] = '\u1108'; + t['\u3144'] = '\u1121'; + t['\u3145'] = '\u1109'; + t['\u3146'] = '\u110A'; + t['\u3147'] = '\u110B'; + t['\u3148'] = '\u110C'; + t['\u3149'] = '\u110D'; + t['\u314A'] = '\u110E'; + t['\u314B'] = '\u110F'; + t['\u314C'] = '\u1110'; + t['\u314D'] = '\u1111'; + t['\u314E'] = '\u1112'; + t['\u314F'] = '\u1161'; + t['\u3150'] = '\u1162'; + t['\u3151'] = '\u1163'; + t['\u3152'] = '\u1164'; + t['\u3153'] = '\u1165'; + t['\u3154'] = '\u1166'; + t['\u3155'] = '\u1167'; + t['\u3156'] = '\u1168'; + t['\u3157'] = '\u1169'; + t['\u3158'] = '\u116A'; + t['\u3159'] = '\u116B'; + t['\u315A'] = '\u116C'; + t['\u315B'] = '\u116D'; + t['\u315C'] = '\u116E'; + t['\u315D'] = '\u116F'; + t['\u315E'] = '\u1170'; + t['\u315F'] = '\u1171'; + t['\u3160'] = '\u1172'; + t['\u3161'] = '\u1173'; + t['\u3162'] = '\u1174'; + t['\u3163'] = '\u1175'; + t['\u3164'] = '\u1160'; + t['\u3165'] = '\u1114'; + t['\u3166'] = '\u1115'; + t['\u3167'] = '\u11C7'; + t['\u3168'] = '\u11C8'; + t['\u3169'] = '\u11CC'; + t['\u316A'] = '\u11CE'; + t['\u316B'] = '\u11D3'; + t['\u316C'] = '\u11D7'; + t['\u316D'] = '\u11D9'; + t['\u316E'] = '\u111C'; + t['\u316F'] = '\u11DD'; + t['\u3170'] = '\u11DF'; + t['\u3171'] = '\u111D'; + t['\u3172'] = '\u111E'; + t['\u3173'] = '\u1120'; + t['\u3174'] = '\u1122'; + t['\u3175'] = '\u1123'; + t['\u3176'] = '\u1127'; + t['\u3177'] = '\u1129'; + t['\u3178'] = '\u112B'; + t['\u3179'] = '\u112C'; + t['\u317A'] = '\u112D'; + t['\u317B'] = '\u112E'; + t['\u317C'] = '\u112F'; + t['\u317D'] = '\u1132'; + t['\u317E'] = '\u1136'; + t['\u317F'] = '\u1140'; + t['\u3180'] = '\u1147'; + t['\u3181'] = '\u114C'; + t['\u3182'] = '\u11F1'; + t['\u3183'] = '\u11F2'; + t['\u3184'] = '\u1157'; + t['\u3185'] = '\u1158'; + t['\u3186'] = '\u1159'; + t['\u3187'] = '\u1184'; + t['\u3188'] = '\u1185'; + t['\u3189'] = '\u1188'; + t['\u318A'] = '\u1191'; + t['\u318B'] = '\u1192'; + t['\u318C'] = '\u1194'; + t['\u318D'] = '\u119E'; + t['\u318E'] = '\u11A1'; + t['\u3200'] = '\u0028\u1100\u0029'; + t['\u3201'] = '\u0028\u1102\u0029'; + t['\u3202'] = '\u0028\u1103\u0029'; + t['\u3203'] = '\u0028\u1105\u0029'; + t['\u3204'] = '\u0028\u1106\u0029'; + t['\u3205'] = '\u0028\u1107\u0029'; + t['\u3206'] = '\u0028\u1109\u0029'; + t['\u3207'] = '\u0028\u110B\u0029'; + t['\u3208'] = '\u0028\u110C\u0029'; + t['\u3209'] = '\u0028\u110E\u0029'; + t['\u320A'] = '\u0028\u110F\u0029'; + t['\u320B'] = '\u0028\u1110\u0029'; + t['\u320C'] = '\u0028\u1111\u0029'; + t['\u320D'] = '\u0028\u1112\u0029'; + t['\u320E'] = '\u0028\u1100\u1161\u0029'; + t['\u320F'] = '\u0028\u1102\u1161\u0029'; + t['\u3210'] = '\u0028\u1103\u1161\u0029'; + t['\u3211'] = '\u0028\u1105\u1161\u0029'; + t['\u3212'] = '\u0028\u1106\u1161\u0029'; + t['\u3213'] = '\u0028\u1107\u1161\u0029'; + t['\u3214'] = '\u0028\u1109\u1161\u0029'; + t['\u3215'] = '\u0028\u110B\u1161\u0029'; + t['\u3216'] = '\u0028\u110C\u1161\u0029'; + t['\u3217'] = '\u0028\u110E\u1161\u0029'; + t['\u3218'] = '\u0028\u110F\u1161\u0029'; + t['\u3219'] = '\u0028\u1110\u1161\u0029'; + t['\u321A'] = '\u0028\u1111\u1161\u0029'; + t['\u321B'] = '\u0028\u1112\u1161\u0029'; + t['\u321C'] = '\u0028\u110C\u116E\u0029'; + t['\u321D'] = '\u0028\u110B\u1169\u110C\u1165\u11AB\u0029'; + t['\u321E'] = '\u0028\u110B\u1169\u1112\u116E\u0029'; + t['\u3220'] = '\u0028\u4E00\u0029'; + t['\u3221'] = '\u0028\u4E8C\u0029'; + t['\u3222'] = '\u0028\u4E09\u0029'; + t['\u3223'] = '\u0028\u56DB\u0029'; + t['\u3224'] = '\u0028\u4E94\u0029'; + t['\u3225'] = '\u0028\u516D\u0029'; + t['\u3226'] = '\u0028\u4E03\u0029'; + t['\u3227'] = '\u0028\u516B\u0029'; + t['\u3228'] = '\u0028\u4E5D\u0029'; + t['\u3229'] = '\u0028\u5341\u0029'; + t['\u322A'] = '\u0028\u6708\u0029'; + t['\u322B'] = '\u0028\u706B\u0029'; + t['\u322C'] = '\u0028\u6C34\u0029'; + t['\u322D'] = '\u0028\u6728\u0029'; + t['\u322E'] = '\u0028\u91D1\u0029'; + t['\u322F'] = '\u0028\u571F\u0029'; + t['\u3230'] = '\u0028\u65E5\u0029'; + t['\u3231'] = '\u0028\u682A\u0029'; + t['\u3232'] = '\u0028\u6709\u0029'; + t['\u3233'] = '\u0028\u793E\u0029'; + t['\u3234'] = '\u0028\u540D\u0029'; + t['\u3235'] = '\u0028\u7279\u0029'; + t['\u3236'] = '\u0028\u8CA1\u0029'; + t['\u3237'] = '\u0028\u795D\u0029'; + t['\u3238'] = '\u0028\u52B4\u0029'; + t['\u3239'] = '\u0028\u4EE3\u0029'; + t['\u323A'] = '\u0028\u547C\u0029'; + t['\u323B'] = '\u0028\u5B66\u0029'; + t['\u323C'] = '\u0028\u76E3\u0029'; + t['\u323D'] = '\u0028\u4F01\u0029'; + t['\u323E'] = '\u0028\u8CC7\u0029'; + t['\u323F'] = '\u0028\u5354\u0029'; + t['\u3240'] = '\u0028\u796D\u0029'; + t['\u3241'] = '\u0028\u4F11\u0029'; + t['\u3242'] = '\u0028\u81EA\u0029'; + t['\u3243'] = '\u0028\u81F3\u0029'; + t['\u32C0'] = '\u0031\u6708'; + t['\u32C1'] = '\u0032\u6708'; + t['\u32C2'] = '\u0033\u6708'; + t['\u32C3'] = '\u0034\u6708'; + t['\u32C4'] = '\u0035\u6708'; + t['\u32C5'] = '\u0036\u6708'; + t['\u32C6'] = '\u0037\u6708'; + t['\u32C7'] = '\u0038\u6708'; + t['\u32C8'] = '\u0039\u6708'; + t['\u32C9'] = '\u0031\u0030\u6708'; + t['\u32CA'] = '\u0031\u0031\u6708'; + t['\u32CB'] = '\u0031\u0032\u6708'; + t['\u3358'] = '\u0030\u70B9'; + t['\u3359'] = '\u0031\u70B9'; + t['\u335A'] = '\u0032\u70B9'; + t['\u335B'] = '\u0033\u70B9'; + t['\u335C'] = '\u0034\u70B9'; + t['\u335D'] = '\u0035\u70B9'; + t['\u335E'] = '\u0036\u70B9'; + t['\u335F'] = '\u0037\u70B9'; + t['\u3360'] = '\u0038\u70B9'; + t['\u3361'] = '\u0039\u70B9'; + t['\u3362'] = '\u0031\u0030\u70B9'; + t['\u3363'] = '\u0031\u0031\u70B9'; + t['\u3364'] = '\u0031\u0032\u70B9'; + t['\u3365'] = '\u0031\u0033\u70B9'; + t['\u3366'] = '\u0031\u0034\u70B9'; + t['\u3367'] = '\u0031\u0035\u70B9'; + t['\u3368'] = '\u0031\u0036\u70B9'; + t['\u3369'] = '\u0031\u0037\u70B9'; + t['\u336A'] = '\u0031\u0038\u70B9'; + t['\u336B'] = '\u0031\u0039\u70B9'; + t['\u336C'] = '\u0032\u0030\u70B9'; + t['\u336D'] = '\u0032\u0031\u70B9'; + t['\u336E'] = '\u0032\u0032\u70B9'; + t['\u336F'] = '\u0032\u0033\u70B9'; + t['\u3370'] = '\u0032\u0034\u70B9'; + t['\u33E0'] = '\u0031\u65E5'; + t['\u33E1'] = '\u0032\u65E5'; + t['\u33E2'] = '\u0033\u65E5'; + t['\u33E3'] = '\u0034\u65E5'; + t['\u33E4'] = '\u0035\u65E5'; + t['\u33E5'] = '\u0036\u65E5'; + t['\u33E6'] = '\u0037\u65E5'; + t['\u33E7'] = '\u0038\u65E5'; + t['\u33E8'] = '\u0039\u65E5'; + t['\u33E9'] = '\u0031\u0030\u65E5'; + t['\u33EA'] = '\u0031\u0031\u65E5'; + t['\u33EB'] = '\u0031\u0032\u65E5'; + t['\u33EC'] = '\u0031\u0033\u65E5'; + t['\u33ED'] = '\u0031\u0034\u65E5'; + t['\u33EE'] = '\u0031\u0035\u65E5'; + t['\u33EF'] = '\u0031\u0036\u65E5'; + t['\u33F0'] = '\u0031\u0037\u65E5'; + t['\u33F1'] = '\u0031\u0038\u65E5'; + t['\u33F2'] = '\u0031\u0039\u65E5'; + t['\u33F3'] = '\u0032\u0030\u65E5'; + t['\u33F4'] = '\u0032\u0031\u65E5'; + t['\u33F5'] = '\u0032\u0032\u65E5'; + t['\u33F6'] = '\u0032\u0033\u65E5'; + t['\u33F7'] = '\u0032\u0034\u65E5'; + t['\u33F8'] = '\u0032\u0035\u65E5'; + t['\u33F9'] = '\u0032\u0036\u65E5'; + t['\u33FA'] = '\u0032\u0037\u65E5'; + t['\u33FB'] = '\u0032\u0038\u65E5'; + t['\u33FC'] = '\u0032\u0039\u65E5'; + t['\u33FD'] = '\u0033\u0030\u65E5'; + t['\u33FE'] = '\u0033\u0031\u65E5'; + t['\uFB00'] = '\u0066\u0066'; + t['\uFB01'] = '\u0066\u0069'; + t['\uFB02'] = '\u0066\u006C'; + t['\uFB03'] = '\u0066\u0066\u0069'; + t['\uFB04'] = '\u0066\u0066\u006C'; + t['\uFB05'] = '\u017F\u0074'; + t['\uFB06'] = '\u0073\u0074'; + t['\uFB13'] = '\u0574\u0576'; + t['\uFB14'] = '\u0574\u0565'; + t['\uFB15'] = '\u0574\u056B'; + t['\uFB16'] = '\u057E\u0576'; + t['\uFB17'] = '\u0574\u056D'; + t['\uFB4F'] = '\u05D0\u05DC'; + t['\uFB50'] = '\u0671'; + t['\uFB51'] = '\u0671'; + t['\uFB52'] = '\u067B'; + t['\uFB53'] = '\u067B'; + t['\uFB54'] = '\u067B'; + t['\uFB55'] = '\u067B'; + t['\uFB56'] = '\u067E'; + t['\uFB57'] = '\u067E'; + t['\uFB58'] = '\u067E'; + t['\uFB59'] = '\u067E'; + t['\uFB5A'] = '\u0680'; + t['\uFB5B'] = '\u0680'; + t['\uFB5C'] = '\u0680'; + t['\uFB5D'] = '\u0680'; + t['\uFB5E'] = '\u067A'; + t['\uFB5F'] = '\u067A'; + t['\uFB60'] = '\u067A'; + t['\uFB61'] = '\u067A'; + t['\uFB62'] = '\u067F'; + t['\uFB63'] = '\u067F'; + t['\uFB64'] = '\u067F'; + t['\uFB65'] = '\u067F'; + t['\uFB66'] = '\u0679'; + t['\uFB67'] = '\u0679'; + t['\uFB68'] = '\u0679'; + t['\uFB69'] = '\u0679'; + t['\uFB6A'] = '\u06A4'; + t['\uFB6B'] = '\u06A4'; + t['\uFB6C'] = '\u06A4'; + t['\uFB6D'] = '\u06A4'; + t['\uFB6E'] = '\u06A6'; + t['\uFB6F'] = '\u06A6'; + t['\uFB70'] = '\u06A6'; + t['\uFB71'] = '\u06A6'; + t['\uFB72'] = '\u0684'; + t['\uFB73'] = '\u0684'; + t['\uFB74'] = '\u0684'; + t['\uFB75'] = '\u0684'; + t['\uFB76'] = '\u0683'; + t['\uFB77'] = '\u0683'; + t['\uFB78'] = '\u0683'; + t['\uFB79'] = '\u0683'; + t['\uFB7A'] = '\u0686'; + t['\uFB7B'] = '\u0686'; + t['\uFB7C'] = '\u0686'; + t['\uFB7D'] = '\u0686'; + t['\uFB7E'] = '\u0687'; + t['\uFB7F'] = '\u0687'; + t['\uFB80'] = '\u0687'; + t['\uFB81'] = '\u0687'; + t['\uFB82'] = '\u068D'; + t['\uFB83'] = '\u068D'; + t['\uFB84'] = '\u068C'; + t['\uFB85'] = '\u068C'; + t['\uFB86'] = '\u068E'; + t['\uFB87'] = '\u068E'; + t['\uFB88'] = '\u0688'; + t['\uFB89'] = '\u0688'; + t['\uFB8A'] = '\u0698'; + t['\uFB8B'] = '\u0698'; + t['\uFB8C'] = '\u0691'; + t['\uFB8D'] = '\u0691'; + t['\uFB8E'] = '\u06A9'; + t['\uFB8F'] = '\u06A9'; + t['\uFB90'] = '\u06A9'; + t['\uFB91'] = '\u06A9'; + t['\uFB92'] = '\u06AF'; + t['\uFB93'] = '\u06AF'; + t['\uFB94'] = '\u06AF'; + t['\uFB95'] = '\u06AF'; + t['\uFB96'] = '\u06B3'; + t['\uFB97'] = '\u06B3'; + t['\uFB98'] = '\u06B3'; + t['\uFB99'] = '\u06B3'; + t['\uFB9A'] = '\u06B1'; + t['\uFB9B'] = '\u06B1'; + t['\uFB9C'] = '\u06B1'; + t['\uFB9D'] = '\u06B1'; + t['\uFB9E'] = '\u06BA'; + t['\uFB9F'] = '\u06BA'; + t['\uFBA0'] = '\u06BB'; + t['\uFBA1'] = '\u06BB'; + t['\uFBA2'] = '\u06BB'; + t['\uFBA3'] = '\u06BB'; + t['\uFBA4'] = '\u06C0'; + t['\uFBA5'] = '\u06C0'; + t['\uFBA6'] = '\u06C1'; + t['\uFBA7'] = '\u06C1'; + t['\uFBA8'] = '\u06C1'; + t['\uFBA9'] = '\u06C1'; + t['\uFBAA'] = '\u06BE'; + t['\uFBAB'] = '\u06BE'; + t['\uFBAC'] = '\u06BE'; + t['\uFBAD'] = '\u06BE'; + t['\uFBAE'] = '\u06D2'; + t['\uFBAF'] = '\u06D2'; + t['\uFBB0'] = '\u06D3'; + t['\uFBB1'] = '\u06D3'; + t['\uFBD3'] = '\u06AD'; + t['\uFBD4'] = '\u06AD'; + t['\uFBD5'] = '\u06AD'; + t['\uFBD6'] = '\u06AD'; + t['\uFBD7'] = '\u06C7'; + t['\uFBD8'] = '\u06C7'; + t['\uFBD9'] = '\u06C6'; + t['\uFBDA'] = '\u06C6'; + t['\uFBDB'] = '\u06C8'; + t['\uFBDC'] = '\u06C8'; + t['\uFBDD'] = '\u0677'; + t['\uFBDE'] = '\u06CB'; + t['\uFBDF'] = '\u06CB'; + t['\uFBE0'] = '\u06C5'; + t['\uFBE1'] = '\u06C5'; + t['\uFBE2'] = '\u06C9'; + t['\uFBE3'] = '\u06C9'; + t['\uFBE4'] = '\u06D0'; + t['\uFBE5'] = '\u06D0'; + t['\uFBE6'] = '\u06D0'; + t['\uFBE7'] = '\u06D0'; + t['\uFBE8'] = '\u0649'; + t['\uFBE9'] = '\u0649'; + t['\uFBEA'] = '\u0626\u0627'; + t['\uFBEB'] = '\u0626\u0627'; + t['\uFBEC'] = '\u0626\u06D5'; + t['\uFBED'] = '\u0626\u06D5'; + t['\uFBEE'] = '\u0626\u0648'; + t['\uFBEF'] = '\u0626\u0648'; + t['\uFBF0'] = '\u0626\u06C7'; + t['\uFBF1'] = '\u0626\u06C7'; + t['\uFBF2'] = '\u0626\u06C6'; + t['\uFBF3'] = '\u0626\u06C6'; + t['\uFBF4'] = '\u0626\u06C8'; + t['\uFBF5'] = '\u0626\u06C8'; + t['\uFBF6'] = '\u0626\u06D0'; + t['\uFBF7'] = '\u0626\u06D0'; + t['\uFBF8'] = '\u0626\u06D0'; + t['\uFBF9'] = '\u0626\u0649'; + t['\uFBFA'] = '\u0626\u0649'; + t['\uFBFB'] = '\u0626\u0649'; + t['\uFBFC'] = '\u06CC'; + t['\uFBFD'] = '\u06CC'; + t['\uFBFE'] = '\u06CC'; + t['\uFBFF'] = '\u06CC'; + t['\uFC00'] = '\u0626\u062C'; + t['\uFC01'] = '\u0626\u062D'; + t['\uFC02'] = '\u0626\u0645'; + t['\uFC03'] = '\u0626\u0649'; + t['\uFC04'] = '\u0626\u064A'; + t['\uFC05'] = '\u0628\u062C'; + t['\uFC06'] = '\u0628\u062D'; + t['\uFC07'] = '\u0628\u062E'; + t['\uFC08'] = '\u0628\u0645'; + t['\uFC09'] = '\u0628\u0649'; + t['\uFC0A'] = '\u0628\u064A'; + t['\uFC0B'] = '\u062A\u062C'; + t['\uFC0C'] = '\u062A\u062D'; + t['\uFC0D'] = '\u062A\u062E'; + t['\uFC0E'] = '\u062A\u0645'; + t['\uFC0F'] = '\u062A\u0649'; + t['\uFC10'] = '\u062A\u064A'; + t['\uFC11'] = '\u062B\u062C'; + t['\uFC12'] = '\u062B\u0645'; + t['\uFC13'] = '\u062B\u0649'; + t['\uFC14'] = '\u062B\u064A'; + t['\uFC15'] = '\u062C\u062D'; + t['\uFC16'] = '\u062C\u0645'; + t['\uFC17'] = '\u062D\u062C'; + t['\uFC18'] = '\u062D\u0645'; + t['\uFC19'] = '\u062E\u062C'; + t['\uFC1A'] = '\u062E\u062D'; + t['\uFC1B'] = '\u062E\u0645'; + t['\uFC1C'] = '\u0633\u062C'; + t['\uFC1D'] = '\u0633\u062D'; + t['\uFC1E'] = '\u0633\u062E'; + t['\uFC1F'] = '\u0633\u0645'; + t['\uFC20'] = '\u0635\u062D'; + t['\uFC21'] = '\u0635\u0645'; + t['\uFC22'] = '\u0636\u062C'; + t['\uFC23'] = '\u0636\u062D'; + t['\uFC24'] = '\u0636\u062E'; + t['\uFC25'] = '\u0636\u0645'; + t['\uFC26'] = '\u0637\u062D'; + t['\uFC27'] = '\u0637\u0645'; + t['\uFC28'] = '\u0638\u0645'; + t['\uFC29'] = '\u0639\u062C'; + t['\uFC2A'] = '\u0639\u0645'; + t['\uFC2B'] = '\u063A\u062C'; + t['\uFC2C'] = '\u063A\u0645'; + t['\uFC2D'] = '\u0641\u062C'; + t['\uFC2E'] = '\u0641\u062D'; + t['\uFC2F'] = '\u0641\u062E'; + t['\uFC30'] = '\u0641\u0645'; + t['\uFC31'] = '\u0641\u0649'; + t['\uFC32'] = '\u0641\u064A'; + t['\uFC33'] = '\u0642\u062D'; + t['\uFC34'] = '\u0642\u0645'; + t['\uFC35'] = '\u0642\u0649'; + t['\uFC36'] = '\u0642\u064A'; + t['\uFC37'] = '\u0643\u0627'; + t['\uFC38'] = '\u0643\u062C'; + t['\uFC39'] = '\u0643\u062D'; + t['\uFC3A'] = '\u0643\u062E'; + t['\uFC3B'] = '\u0643\u0644'; + t['\uFC3C'] = '\u0643\u0645'; + t['\uFC3D'] = '\u0643\u0649'; + t['\uFC3E'] = '\u0643\u064A'; + t['\uFC3F'] = '\u0644\u062C'; + t['\uFC40'] = '\u0644\u062D'; + t['\uFC41'] = '\u0644\u062E'; + t['\uFC42'] = '\u0644\u0645'; + t['\uFC43'] = '\u0644\u0649'; + t['\uFC44'] = '\u0644\u064A'; + t['\uFC45'] = '\u0645\u062C'; + t['\uFC46'] = '\u0645\u062D'; + t['\uFC47'] = '\u0645\u062E'; + t['\uFC48'] = '\u0645\u0645'; + t['\uFC49'] = '\u0645\u0649'; + t['\uFC4A'] = '\u0645\u064A'; + t['\uFC4B'] = '\u0646\u062C'; + t['\uFC4C'] = '\u0646\u062D'; + t['\uFC4D'] = '\u0646\u062E'; + t['\uFC4E'] = '\u0646\u0645'; + t['\uFC4F'] = '\u0646\u0649'; + t['\uFC50'] = '\u0646\u064A'; + t['\uFC51'] = '\u0647\u062C'; + t['\uFC52'] = '\u0647\u0645'; + t['\uFC53'] = '\u0647\u0649'; + t['\uFC54'] = '\u0647\u064A'; + t['\uFC55'] = '\u064A\u062C'; + t['\uFC56'] = '\u064A\u062D'; + t['\uFC57'] = '\u064A\u062E'; + t['\uFC58'] = '\u064A\u0645'; + t['\uFC59'] = '\u064A\u0649'; + t['\uFC5A'] = '\u064A\u064A'; + t['\uFC5B'] = '\u0630\u0670'; + t['\uFC5C'] = '\u0631\u0670'; + t['\uFC5D'] = '\u0649\u0670'; + t['\uFC5E'] = '\u0020\u064C\u0651'; + t['\uFC5F'] = '\u0020\u064D\u0651'; + t['\uFC60'] = '\u0020\u064E\u0651'; + t['\uFC61'] = '\u0020\u064F\u0651'; + t['\uFC62'] = '\u0020\u0650\u0651'; + t['\uFC63'] = '\u0020\u0651\u0670'; + t['\uFC64'] = '\u0626\u0631'; + t['\uFC65'] = '\u0626\u0632'; + t['\uFC66'] = '\u0626\u0645'; + t['\uFC67'] = '\u0626\u0646'; + t['\uFC68'] = '\u0626\u0649'; + t['\uFC69'] = '\u0626\u064A'; + t['\uFC6A'] = '\u0628\u0631'; + t['\uFC6B'] = '\u0628\u0632'; + t['\uFC6C'] = '\u0628\u0645'; + t['\uFC6D'] = '\u0628\u0646'; + t['\uFC6E'] = '\u0628\u0649'; + t['\uFC6F'] = '\u0628\u064A'; + t['\uFC70'] = '\u062A\u0631'; + t['\uFC71'] = '\u062A\u0632'; + t['\uFC72'] = '\u062A\u0645'; + t['\uFC73'] = '\u062A\u0646'; + t['\uFC74'] = '\u062A\u0649'; + t['\uFC75'] = '\u062A\u064A'; + t['\uFC76'] = '\u062B\u0631'; + t['\uFC77'] = '\u062B\u0632'; + t['\uFC78'] = '\u062B\u0645'; + t['\uFC79'] = '\u062B\u0646'; + t['\uFC7A'] = '\u062B\u0649'; + t['\uFC7B'] = '\u062B\u064A'; + t['\uFC7C'] = '\u0641\u0649'; + t['\uFC7D'] = '\u0641\u064A'; + t['\uFC7E'] = '\u0642\u0649'; + t['\uFC7F'] = '\u0642\u064A'; + t['\uFC80'] = '\u0643\u0627'; + t['\uFC81'] = '\u0643\u0644'; + t['\uFC82'] = '\u0643\u0645'; + t['\uFC83'] = '\u0643\u0649'; + t['\uFC84'] = '\u0643\u064A'; + t['\uFC85'] = '\u0644\u0645'; + t['\uFC86'] = '\u0644\u0649'; + t['\uFC87'] = '\u0644\u064A'; + t['\uFC88'] = '\u0645\u0627'; + t['\uFC89'] = '\u0645\u0645'; + t['\uFC8A'] = '\u0646\u0631'; + t['\uFC8B'] = '\u0646\u0632'; + t['\uFC8C'] = '\u0646\u0645'; + t['\uFC8D'] = '\u0646\u0646'; + t['\uFC8E'] = '\u0646\u0649'; + t['\uFC8F'] = '\u0646\u064A'; + t['\uFC90'] = '\u0649\u0670'; + t['\uFC91'] = '\u064A\u0631'; + t['\uFC92'] = '\u064A\u0632'; + t['\uFC93'] = '\u064A\u0645'; + t['\uFC94'] = '\u064A\u0646'; + t['\uFC95'] = '\u064A\u0649'; + t['\uFC96'] = '\u064A\u064A'; + t['\uFC97'] = '\u0626\u062C'; + t['\uFC98'] = '\u0626\u062D'; + t['\uFC99'] = '\u0626\u062E'; + t['\uFC9A'] = '\u0626\u0645'; + t['\uFC9B'] = '\u0626\u0647'; + t['\uFC9C'] = '\u0628\u062C'; + t['\uFC9D'] = '\u0628\u062D'; + t['\uFC9E'] = '\u0628\u062E'; + t['\uFC9F'] = '\u0628\u0645'; + t['\uFCA0'] = '\u0628\u0647'; + t['\uFCA1'] = '\u062A\u062C'; + t['\uFCA2'] = '\u062A\u062D'; + t['\uFCA3'] = '\u062A\u062E'; + t['\uFCA4'] = '\u062A\u0645'; + t['\uFCA5'] = '\u062A\u0647'; + t['\uFCA6'] = '\u062B\u0645'; + t['\uFCA7'] = '\u062C\u062D'; + t['\uFCA8'] = '\u062C\u0645'; + t['\uFCA9'] = '\u062D\u062C'; + t['\uFCAA'] = '\u062D\u0645'; + t['\uFCAB'] = '\u062E\u062C'; + t['\uFCAC'] = '\u062E\u0645'; + t['\uFCAD'] = '\u0633\u062C'; + t['\uFCAE'] = '\u0633\u062D'; + t['\uFCAF'] = '\u0633\u062E'; + t['\uFCB0'] = '\u0633\u0645'; + t['\uFCB1'] = '\u0635\u062D'; + t['\uFCB2'] = '\u0635\u062E'; + t['\uFCB3'] = '\u0635\u0645'; + t['\uFCB4'] = '\u0636\u062C'; + t['\uFCB5'] = '\u0636\u062D'; + t['\uFCB6'] = '\u0636\u062E'; + t['\uFCB7'] = '\u0636\u0645'; + t['\uFCB8'] = '\u0637\u062D'; + t['\uFCB9'] = '\u0638\u0645'; + t['\uFCBA'] = '\u0639\u062C'; + t['\uFCBB'] = '\u0639\u0645'; + t['\uFCBC'] = '\u063A\u062C'; + t['\uFCBD'] = '\u063A\u0645'; + t['\uFCBE'] = '\u0641\u062C'; + t['\uFCBF'] = '\u0641\u062D'; + t['\uFCC0'] = '\u0641\u062E'; + t['\uFCC1'] = '\u0641\u0645'; + t['\uFCC2'] = '\u0642\u062D'; + t['\uFCC3'] = '\u0642\u0645'; + t['\uFCC4'] = '\u0643\u062C'; + t['\uFCC5'] = '\u0643\u062D'; + t['\uFCC6'] = '\u0643\u062E'; + t['\uFCC7'] = '\u0643\u0644'; + t['\uFCC8'] = '\u0643\u0645'; + t['\uFCC9'] = '\u0644\u062C'; + t['\uFCCA'] = '\u0644\u062D'; + t['\uFCCB'] = '\u0644\u062E'; + t['\uFCCC'] = '\u0644\u0645'; + t['\uFCCD'] = '\u0644\u0647'; + t['\uFCCE'] = '\u0645\u062C'; + t['\uFCCF'] = '\u0645\u062D'; + t['\uFCD0'] = '\u0645\u062E'; + t['\uFCD1'] = '\u0645\u0645'; + t['\uFCD2'] = '\u0646\u062C'; + t['\uFCD3'] = '\u0646\u062D'; + t['\uFCD4'] = '\u0646\u062E'; + t['\uFCD5'] = '\u0646\u0645'; + t['\uFCD6'] = '\u0646\u0647'; + t['\uFCD7'] = '\u0647\u062C'; + t['\uFCD8'] = '\u0647\u0645'; + t['\uFCD9'] = '\u0647\u0670'; + t['\uFCDA'] = '\u064A\u062C'; + t['\uFCDB'] = '\u064A\u062D'; + t['\uFCDC'] = '\u064A\u062E'; + t['\uFCDD'] = '\u064A\u0645'; + t['\uFCDE'] = '\u064A\u0647'; + t['\uFCDF'] = '\u0626\u0645'; + t['\uFCE0'] = '\u0626\u0647'; + t['\uFCE1'] = '\u0628\u0645'; + t['\uFCE2'] = '\u0628\u0647'; + t['\uFCE3'] = '\u062A\u0645'; + t['\uFCE4'] = '\u062A\u0647'; + t['\uFCE5'] = '\u062B\u0645'; + t['\uFCE6'] = '\u062B\u0647'; + t['\uFCE7'] = '\u0633\u0645'; + t['\uFCE8'] = '\u0633\u0647'; + t['\uFCE9'] = '\u0634\u0645'; + t['\uFCEA'] = '\u0634\u0647'; + t['\uFCEB'] = '\u0643\u0644'; + t['\uFCEC'] = '\u0643\u0645'; + t['\uFCED'] = '\u0644\u0645'; + t['\uFCEE'] = '\u0646\u0645'; + t['\uFCEF'] = '\u0646\u0647'; + t['\uFCF0'] = '\u064A\u0645'; + t['\uFCF1'] = '\u064A\u0647'; + t['\uFCF2'] = '\u0640\u064E\u0651'; + t['\uFCF3'] = '\u0640\u064F\u0651'; + t['\uFCF4'] = '\u0640\u0650\u0651'; + t['\uFCF5'] = '\u0637\u0649'; + t['\uFCF6'] = '\u0637\u064A'; + t['\uFCF7'] = '\u0639\u0649'; + t['\uFCF8'] = '\u0639\u064A'; + t['\uFCF9'] = '\u063A\u0649'; + t['\uFCFA'] = '\u063A\u064A'; + t['\uFCFB'] = '\u0633\u0649'; + t['\uFCFC'] = '\u0633\u064A'; + t['\uFCFD'] = '\u0634\u0649'; + t['\uFCFE'] = '\u0634\u064A'; + t['\uFCFF'] = '\u062D\u0649'; + t['\uFD00'] = '\u062D\u064A'; + t['\uFD01'] = '\u062C\u0649'; + t['\uFD02'] = '\u062C\u064A'; + t['\uFD03'] = '\u062E\u0649'; + t['\uFD04'] = '\u062E\u064A'; + t['\uFD05'] = '\u0635\u0649'; + t['\uFD06'] = '\u0635\u064A'; + t['\uFD07'] = '\u0636\u0649'; + t['\uFD08'] = '\u0636\u064A'; + t['\uFD09'] = '\u0634\u062C'; + t['\uFD0A'] = '\u0634\u062D'; + t['\uFD0B'] = '\u0634\u062E'; + t['\uFD0C'] = '\u0634\u0645'; + t['\uFD0D'] = '\u0634\u0631'; + t['\uFD0E'] = '\u0633\u0631'; + t['\uFD0F'] = '\u0635\u0631'; + t['\uFD10'] = '\u0636\u0631'; + t['\uFD11'] = '\u0637\u0649'; + t['\uFD12'] = '\u0637\u064A'; + t['\uFD13'] = '\u0639\u0649'; + t['\uFD14'] = '\u0639\u064A'; + t['\uFD15'] = '\u063A\u0649'; + t['\uFD16'] = '\u063A\u064A'; + t['\uFD17'] = '\u0633\u0649'; + t['\uFD18'] = '\u0633\u064A'; + t['\uFD19'] = '\u0634\u0649'; + t['\uFD1A'] = '\u0634\u064A'; + t['\uFD1B'] = '\u062D\u0649'; + t['\uFD1C'] = '\u062D\u064A'; + t['\uFD1D'] = '\u062C\u0649'; + t['\uFD1E'] = '\u062C\u064A'; + t['\uFD1F'] = '\u062E\u0649'; + t['\uFD20'] = '\u062E\u064A'; + t['\uFD21'] = '\u0635\u0649'; + t['\uFD22'] = '\u0635\u064A'; + t['\uFD23'] = '\u0636\u0649'; + t['\uFD24'] = '\u0636\u064A'; + t['\uFD25'] = '\u0634\u062C'; + t['\uFD26'] = '\u0634\u062D'; + t['\uFD27'] = '\u0634\u062E'; + t['\uFD28'] = '\u0634\u0645'; + t['\uFD29'] = '\u0634\u0631'; + t['\uFD2A'] = '\u0633\u0631'; + t['\uFD2B'] = '\u0635\u0631'; + t['\uFD2C'] = '\u0636\u0631'; + t['\uFD2D'] = '\u0634\u062C'; + t['\uFD2E'] = '\u0634\u062D'; + t['\uFD2F'] = '\u0634\u062E'; + t['\uFD30'] = '\u0634\u0645'; + t['\uFD31'] = '\u0633\u0647'; + t['\uFD32'] = '\u0634\u0647'; + t['\uFD33'] = '\u0637\u0645'; + t['\uFD34'] = '\u0633\u062C'; + t['\uFD35'] = '\u0633\u062D'; + t['\uFD36'] = '\u0633\u062E'; + t['\uFD37'] = '\u0634\u062C'; + t['\uFD38'] = '\u0634\u062D'; + t['\uFD39'] = '\u0634\u062E'; + t['\uFD3A'] = '\u0637\u0645'; + t['\uFD3B'] = '\u0638\u0645'; + t['\uFD3C'] = '\u0627\u064B'; + t['\uFD3D'] = '\u0627\u064B'; + t['\uFD50'] = '\u062A\u062C\u0645'; + t['\uFD51'] = '\u062A\u062D\u062C'; + t['\uFD52'] = '\u062A\u062D\u062C'; + t['\uFD53'] = '\u062A\u062D\u0645'; + t['\uFD54'] = '\u062A\u062E\u0645'; + t['\uFD55'] = '\u062A\u0645\u062C'; + t['\uFD56'] = '\u062A\u0645\u062D'; + t['\uFD57'] = '\u062A\u0645\u062E'; + t['\uFD58'] = '\u062C\u0645\u062D'; + t['\uFD59'] = '\u062C\u0645\u062D'; + t['\uFD5A'] = '\u062D\u0645\u064A'; + t['\uFD5B'] = '\u062D\u0645\u0649'; + t['\uFD5C'] = '\u0633\u062D\u062C'; + t['\uFD5D'] = '\u0633\u062C\u062D'; + t['\uFD5E'] = '\u0633\u062C\u0649'; + t['\uFD5F'] = '\u0633\u0645\u062D'; + t['\uFD60'] = '\u0633\u0645\u062D'; + t['\uFD61'] = '\u0633\u0645\u062C'; + t['\uFD62'] = '\u0633\u0645\u0645'; + t['\uFD63'] = '\u0633\u0645\u0645'; + t['\uFD64'] = '\u0635\u062D\u062D'; + t['\uFD65'] = '\u0635\u062D\u062D'; + t['\uFD66'] = '\u0635\u0645\u0645'; + t['\uFD67'] = '\u0634\u062D\u0645'; + t['\uFD68'] = '\u0634\u062D\u0645'; + t['\uFD69'] = '\u0634\u062C\u064A'; + t['\uFD6A'] = '\u0634\u0645\u062E'; + t['\uFD6B'] = '\u0634\u0645\u062E'; + t['\uFD6C'] = '\u0634\u0645\u0645'; + t['\uFD6D'] = '\u0634\u0645\u0645'; + t['\uFD6E'] = '\u0636\u062D\u0649'; + t['\uFD6F'] = '\u0636\u062E\u0645'; + t['\uFD70'] = '\u0636\u062E\u0645'; + t['\uFD71'] = '\u0637\u0645\u062D'; + t['\uFD72'] = '\u0637\u0645\u062D'; + t['\uFD73'] = '\u0637\u0645\u0645'; + t['\uFD74'] = '\u0637\u0645\u064A'; + t['\uFD75'] = '\u0639\u062C\u0645'; + t['\uFD76'] = '\u0639\u0645\u0645'; + t['\uFD77'] = '\u0639\u0645\u0645'; + t['\uFD78'] = '\u0639\u0645\u0649'; + t['\uFD79'] = '\u063A\u0645\u0645'; + t['\uFD7A'] = '\u063A\u0645\u064A'; + t['\uFD7B'] = '\u063A\u0645\u0649'; + t['\uFD7C'] = '\u0641\u062E\u0645'; + t['\uFD7D'] = '\u0641\u062E\u0645'; + t['\uFD7E'] = '\u0642\u0645\u062D'; + t['\uFD7F'] = '\u0642\u0645\u0645'; + t['\uFD80'] = '\u0644\u062D\u0645'; + t['\uFD81'] = '\u0644\u062D\u064A'; + t['\uFD82'] = '\u0644\u062D\u0649'; + t['\uFD83'] = '\u0644\u062C\u062C'; + t['\uFD84'] = '\u0644\u062C\u062C'; + t['\uFD85'] = '\u0644\u062E\u0645'; + t['\uFD86'] = '\u0644\u062E\u0645'; + t['\uFD87'] = '\u0644\u0645\u062D'; + t['\uFD88'] = '\u0644\u0645\u062D'; + t['\uFD89'] = '\u0645\u062D\u062C'; + t['\uFD8A'] = '\u0645\u062D\u0645'; + t['\uFD8B'] = '\u0645\u062D\u064A'; + t['\uFD8C'] = '\u0645\u062C\u062D'; + t['\uFD8D'] = '\u0645\u062C\u0645'; + t['\uFD8E'] = '\u0645\u062E\u062C'; + t['\uFD8F'] = '\u0645\u062E\u0645'; + t['\uFD92'] = '\u0645\u062C\u062E'; + t['\uFD93'] = '\u0647\u0645\u062C'; + t['\uFD94'] = '\u0647\u0645\u0645'; + t['\uFD95'] = '\u0646\u062D\u0645'; + t['\uFD96'] = '\u0646\u062D\u0649'; + t['\uFD97'] = '\u0646\u062C\u0645'; + t['\uFD98'] = '\u0646\u062C\u0645'; + t['\uFD99'] = '\u0646\u062C\u0649'; + t['\uFD9A'] = '\u0646\u0645\u064A'; + t['\uFD9B'] = '\u0646\u0645\u0649'; + t['\uFD9C'] = '\u064A\u0645\u0645'; + t['\uFD9D'] = '\u064A\u0645\u0645'; + t['\uFD9E'] = '\u0628\u062E\u064A'; + t['\uFD9F'] = '\u062A\u062C\u064A'; + t['\uFDA0'] = '\u062A\u062C\u0649'; + t['\uFDA1'] = '\u062A\u062E\u064A'; + t['\uFDA2'] = '\u062A\u062E\u0649'; + t['\uFDA3'] = '\u062A\u0645\u064A'; + t['\uFDA4'] = '\u062A\u0645\u0649'; + t['\uFDA5'] = '\u062C\u0645\u064A'; + t['\uFDA6'] = '\u062C\u062D\u0649'; + t['\uFDA7'] = '\u062C\u0645\u0649'; + t['\uFDA8'] = '\u0633\u062E\u0649'; + t['\uFDA9'] = '\u0635\u062D\u064A'; + t['\uFDAA'] = '\u0634\u062D\u064A'; + t['\uFDAB'] = '\u0636\u062D\u064A'; + t['\uFDAC'] = '\u0644\u062C\u064A'; + t['\uFDAD'] = '\u0644\u0645\u064A'; + t['\uFDAE'] = '\u064A\u062D\u064A'; + t['\uFDAF'] = '\u064A\u062C\u064A'; + t['\uFDB0'] = '\u064A\u0645\u064A'; + t['\uFDB1'] = '\u0645\u0645\u064A'; + t['\uFDB2'] = '\u0642\u0645\u064A'; + t['\uFDB3'] = '\u0646\u062D\u064A'; + t['\uFDB4'] = '\u0642\u0645\u062D'; + t['\uFDB5'] = '\u0644\u062D\u0645'; + t['\uFDB6'] = '\u0639\u0645\u064A'; + t['\uFDB7'] = '\u0643\u0645\u064A'; + t['\uFDB8'] = '\u0646\u062C\u062D'; + t['\uFDB9'] = '\u0645\u062E\u064A'; + t['\uFDBA'] = '\u0644\u062C\u0645'; + t['\uFDBB'] = '\u0643\u0645\u0645'; + t['\uFDBC'] = '\u0644\u062C\u0645'; + t['\uFDBD'] = '\u0646\u062C\u062D'; + t['\uFDBE'] = '\u062C\u062D\u064A'; + t['\uFDBF'] = '\u062D\u062C\u064A'; + t['\uFDC0'] = '\u0645\u062C\u064A'; + t['\uFDC1'] = '\u0641\u0645\u064A'; + t['\uFDC2'] = '\u0628\u062D\u064A'; + t['\uFDC3'] = '\u0643\u0645\u0645'; + t['\uFDC4'] = '\u0639\u062C\u0645'; + t['\uFDC5'] = '\u0635\u0645\u0645'; + t['\uFDC6'] = '\u0633\u062E\u064A'; + t['\uFDC7'] = '\u0646\u062C\u064A'; + t['\uFE49'] = '\u203E'; + t['\uFE4A'] = '\u203E'; + t['\uFE4B'] = '\u203E'; + t['\uFE4C'] = '\u203E'; + t['\uFE4D'] = '\u005F'; + t['\uFE4E'] = '\u005F'; + t['\uFE4F'] = '\u005F'; + t['\uFE80'] = '\u0621'; + t['\uFE81'] = '\u0622'; + t['\uFE82'] = '\u0622'; + t['\uFE83'] = '\u0623'; + t['\uFE84'] = '\u0623'; + t['\uFE85'] = '\u0624'; + t['\uFE86'] = '\u0624'; + t['\uFE87'] = '\u0625'; + t['\uFE88'] = '\u0625'; + t['\uFE89'] = '\u0626'; + t['\uFE8A'] = '\u0626'; + t['\uFE8B'] = '\u0626'; + t['\uFE8C'] = '\u0626'; + t['\uFE8D'] = '\u0627'; + t['\uFE8E'] = '\u0627'; + t['\uFE8F'] = '\u0628'; + t['\uFE90'] = '\u0628'; + t['\uFE91'] = '\u0628'; + t['\uFE92'] = '\u0628'; + t['\uFE93'] = '\u0629'; + t['\uFE94'] = '\u0629'; + t['\uFE95'] = '\u062A'; + t['\uFE96'] = '\u062A'; + t['\uFE97'] = '\u062A'; + t['\uFE98'] = '\u062A'; + t['\uFE99'] = '\u062B'; + t['\uFE9A'] = '\u062B'; + t['\uFE9B'] = '\u062B'; + t['\uFE9C'] = '\u062B'; + t['\uFE9D'] = '\u062C'; + t['\uFE9E'] = '\u062C'; + t['\uFE9F'] = '\u062C'; + t['\uFEA0'] = '\u062C'; + t['\uFEA1'] = '\u062D'; + t['\uFEA2'] = '\u062D'; + t['\uFEA3'] = '\u062D'; + t['\uFEA4'] = '\u062D'; + t['\uFEA5'] = '\u062E'; + t['\uFEA6'] = '\u062E'; + t['\uFEA7'] = '\u062E'; + t['\uFEA8'] = '\u062E'; + t['\uFEA9'] = '\u062F'; + t['\uFEAA'] = '\u062F'; + t['\uFEAB'] = '\u0630'; + t['\uFEAC'] = '\u0630'; + t['\uFEAD'] = '\u0631'; + t['\uFEAE'] = '\u0631'; + t['\uFEAF'] = '\u0632'; + t['\uFEB0'] = '\u0632'; + t['\uFEB1'] = '\u0633'; + t['\uFEB2'] = '\u0633'; + t['\uFEB3'] = '\u0633'; + t['\uFEB4'] = '\u0633'; + t['\uFEB5'] = '\u0634'; + t['\uFEB6'] = '\u0634'; + t['\uFEB7'] = '\u0634'; + t['\uFEB8'] = '\u0634'; + t['\uFEB9'] = '\u0635'; + t['\uFEBA'] = '\u0635'; + t['\uFEBB'] = '\u0635'; + t['\uFEBC'] = '\u0635'; + t['\uFEBD'] = '\u0636'; + t['\uFEBE'] = '\u0636'; + t['\uFEBF'] = '\u0636'; + t['\uFEC0'] = '\u0636'; + t['\uFEC1'] = '\u0637'; + t['\uFEC2'] = '\u0637'; + t['\uFEC3'] = '\u0637'; + t['\uFEC4'] = '\u0637'; + t['\uFEC5'] = '\u0638'; + t['\uFEC6'] = '\u0638'; + t['\uFEC7'] = '\u0638'; + t['\uFEC8'] = '\u0638'; + t['\uFEC9'] = '\u0639'; + t['\uFECA'] = '\u0639'; + t['\uFECB'] = '\u0639'; + t['\uFECC'] = '\u0639'; + t['\uFECD'] = '\u063A'; + t['\uFECE'] = '\u063A'; + t['\uFECF'] = '\u063A'; + t['\uFED0'] = '\u063A'; + t['\uFED1'] = '\u0641'; + t['\uFED2'] = '\u0641'; + t['\uFED3'] = '\u0641'; + t['\uFED4'] = '\u0641'; + t['\uFED5'] = '\u0642'; + t['\uFED6'] = '\u0642'; + t['\uFED7'] = '\u0642'; + t['\uFED8'] = '\u0642'; + t['\uFED9'] = '\u0643'; + t['\uFEDA'] = '\u0643'; + t['\uFEDB'] = '\u0643'; + t['\uFEDC'] = '\u0643'; + t['\uFEDD'] = '\u0644'; + t['\uFEDE'] = '\u0644'; + t['\uFEDF'] = '\u0644'; + t['\uFEE0'] = '\u0644'; + t['\uFEE1'] = '\u0645'; + t['\uFEE2'] = '\u0645'; + t['\uFEE3'] = '\u0645'; + t['\uFEE4'] = '\u0645'; + t['\uFEE5'] = '\u0646'; + t['\uFEE6'] = '\u0646'; + t['\uFEE7'] = '\u0646'; + t['\uFEE8'] = '\u0646'; + t['\uFEE9'] = '\u0647'; + t['\uFEEA'] = '\u0647'; + t['\uFEEB'] = '\u0647'; + t['\uFEEC'] = '\u0647'; + t['\uFEED'] = '\u0648'; + t['\uFEEE'] = '\u0648'; + t['\uFEEF'] = '\u0649'; + t['\uFEF0'] = '\u0649'; + t['\uFEF1'] = '\u064A'; + t['\uFEF2'] = '\u064A'; + t['\uFEF3'] = '\u064A'; + t['\uFEF4'] = '\u064A'; + t['\uFEF5'] = '\u0644\u0622'; + t['\uFEF6'] = '\u0644\u0622'; + t['\uFEF7'] = '\u0644\u0623'; + t['\uFEF8'] = '\u0644\u0623'; + t['\uFEF9'] = '\u0644\u0625'; + t['\uFEFA'] = '\u0644\u0625'; + t['\uFEFB'] = '\u0644\u0627'; + t['\uFEFC'] = '\u0644\u0627'; +}); +function reverseIfRtl(chars) { + var charsLength = chars.length; + if (charsLength <= 1 || !isRTLRangeFor(chars.charCodeAt(0))) { + return chars; + } + var s = ''; + for (var ii = charsLength - 1; ii >= 0; ii--) { + s += chars[ii]; + } + return s; +} +exports.mapSpecialUnicodeValues = mapSpecialUnicodeValues; +exports.reverseIfRtl = reverseIfRtl; +exports.getUnicodeRangeFor = getUnicodeRangeFor; +exports.getNormalizedUnicodes = getNormalizedUnicodes; +exports.getUnicodeForGlyph = getUnicodeForGlyph; + +/***/ }), +/* 19 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var coreWorker = __w_pdfjs_require__(8); +var globalScope = sharedUtil.globalScope; +var OK_RESPONSE = 200; +var PARTIAL_CONTENT_RESPONSE = 206; +function NetworkManager(url, args) { + this.url = url; + args = args || {}; + this.isHttp = /^https?:/i.test(url); + this.httpHeaders = this.isHttp && args.httpHeaders || {}; + this.withCredentials = args.withCredentials || false; + this.getXhr = args.getXhr || function NetworkManager_getXhr() { + return new XMLHttpRequest(); + }; + this.currXhrId = 0; + this.pendingRequests = Object.create(null); + this.loadedRequests = Object.create(null); +} +function getArrayBuffer(xhr) { + var data = xhr.response; + if (typeof data !== 'string') { + return data; + } + var length = data.length; + var array = new Uint8Array(length); + for (var i = 0; i < length; i++) { + array[i] = data.charCodeAt(i) & 0xFF; + } + return array.buffer; +} +var supportsMozChunked = function supportsMozChunkedClosure() { + try { + var x = new XMLHttpRequest(); + x.open('GET', globalScope.location.href); + x.responseType = 'moz-chunked-arraybuffer'; + return x.responseType === 'moz-chunked-arraybuffer'; + } catch (e) { + return false; + } +}(); +NetworkManager.prototype = { + requestRange: function NetworkManager_requestRange(begin, end, listeners) { + var args = { + begin: begin, + end: end + }; + for (var prop in listeners) { + args[prop] = listeners[prop]; + } + return this.request(args); + }, + requestFull: function NetworkManager_requestFull(listeners) { + return this.request(listeners); + }, + request: function NetworkManager_request(args) { + var xhr = this.getXhr(); + var xhrId = this.currXhrId++; + var pendingRequest = this.pendingRequests[xhrId] = { xhr: xhr }; + xhr.open('GET', this.url); + xhr.withCredentials = this.withCredentials; + for (var property in this.httpHeaders) { + var value = this.httpHeaders[property]; + if (typeof value === 'undefined') { + continue; + } + xhr.setRequestHeader(property, value); + } + if (this.isHttp && 'begin' in args && 'end' in args) { + var rangeStr = args.begin + '-' + (args.end - 1); + xhr.setRequestHeader('Range', 'bytes=' + rangeStr); + pendingRequest.expectedStatus = 206; + } else { + pendingRequest.expectedStatus = 200; + } + var useMozChunkedLoading = supportsMozChunked && !!args.onProgressiveData; + if (useMozChunkedLoading) { + xhr.responseType = 'moz-chunked-arraybuffer'; + pendingRequest.onProgressiveData = args.onProgressiveData; + pendingRequest.mozChunked = true; + } else { + xhr.responseType = 'arraybuffer'; + } + if (args.onError) { + xhr.onerror = function (evt) { + args.onError(xhr.status); + }; + } + xhr.onreadystatechange = this.onStateChange.bind(this, xhrId); + xhr.onprogress = this.onProgress.bind(this, xhrId); + pendingRequest.onHeadersReceived = args.onHeadersReceived; + pendingRequest.onDone = args.onDone; + pendingRequest.onError = args.onError; + pendingRequest.onProgress = args.onProgress; + xhr.send(null); + return xhrId; + }, + onProgress: function NetworkManager_onProgress(xhrId, evt) { + var pendingRequest = this.pendingRequests[xhrId]; + if (!pendingRequest) { + return; + } + if (pendingRequest.mozChunked) { + var chunk = getArrayBuffer(pendingRequest.xhr); + pendingRequest.onProgressiveData(chunk); + } + var onProgress = pendingRequest.onProgress; + if (onProgress) { + onProgress(evt); + } + }, + onStateChange: function NetworkManager_onStateChange(xhrId, evt) { + var pendingRequest = this.pendingRequests[xhrId]; + if (!pendingRequest) { + return; + } + var xhr = pendingRequest.xhr; + if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) { + pendingRequest.onHeadersReceived(); + delete pendingRequest.onHeadersReceived; + } + if (xhr.readyState !== 4) { + return; + } + if (!(xhrId in this.pendingRequests)) { + return; + } + delete this.pendingRequests[xhrId]; + if (xhr.status === 0 && this.isHttp) { + if (pendingRequest.onError) { + pendingRequest.onError(xhr.status); + } + return; + } + var xhrStatus = xhr.status || OK_RESPONSE; + var ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE; + if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) { + if (pendingRequest.onError) { + pendingRequest.onError(xhr.status); + } + return; + } + this.loadedRequests[xhrId] = true; + var chunk = getArrayBuffer(xhr); + if (xhrStatus === PARTIAL_CONTENT_RESPONSE) { + var rangeHeader = xhr.getResponseHeader('Content-Range'); + var matches = /bytes (\d+)-(\d+)\/(\d+)/.exec(rangeHeader); + var begin = parseInt(matches[1], 10); + pendingRequest.onDone({ + begin: begin, + chunk: chunk + }); + } else if (pendingRequest.onProgressiveData) { + pendingRequest.onDone(null); + } else if (chunk) { + pendingRequest.onDone({ + begin: 0, + chunk: chunk + }); + } else if (pendingRequest.onError) { + pendingRequest.onError(xhr.status); + } + }, + hasPendingRequests: function NetworkManager_hasPendingRequests() { + for (var xhrId in this.pendingRequests) { + return true; + } + return false; + }, + getRequestXhr: function NetworkManager_getXhr(xhrId) { + return this.pendingRequests[xhrId].xhr; + }, + isStreamingRequest: function NetworkManager_isStreamingRequest(xhrId) { + return !!this.pendingRequests[xhrId].onProgressiveData; + }, + isPendingRequest: function NetworkManager_isPendingRequest(xhrId) { + return xhrId in this.pendingRequests; + }, + isLoadedRequest: function NetworkManager_isLoadedRequest(xhrId) { + return xhrId in this.loadedRequests; + }, + abortAllRequests: function NetworkManager_abortAllRequests() { + for (var xhrId in this.pendingRequests) { + this.abortRequest(xhrId | 0); + } + }, + abortRequest: function NetworkManager_abortRequest(xhrId) { + var xhr = this.pendingRequests[xhrId].xhr; + delete this.pendingRequests[xhrId]; + xhr.abort(); + } +}; +var assert = sharedUtil.assert; +var createPromiseCapability = sharedUtil.createPromiseCapability; +var isInt = sharedUtil.isInt; +var MissingPDFException = sharedUtil.MissingPDFException; +var UnexpectedResponseException = sharedUtil.UnexpectedResponseException; +function PDFNetworkStream(options) { + this._options = options; + var source = options.source; + this._manager = new NetworkManager(source.url, { + httpHeaders: source.httpHeaders, + withCredentials: source.withCredentials + }); + this._rangeChunkSize = source.rangeChunkSize; + this._fullRequestReader = null; + this._rangeRequestReaders = []; +} +PDFNetworkStream.prototype = { + _onRangeRequestReaderClosed: function PDFNetworkStream_onRangeRequestReaderClosed(reader) { + var i = this._rangeRequestReaders.indexOf(reader); + if (i >= 0) { + this._rangeRequestReaders.splice(i, 1); + } + }, + getFullReader: function PDFNetworkStream_getFullReader() { + assert(!this._fullRequestReader); + this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._options); + return this._fullRequestReader; + }, + getRangeReader: function PDFNetworkStream_getRangeReader(begin, end) { + var reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end); + reader.onClosed = this._onRangeRequestReaderClosed.bind(this); + this._rangeRequestReaders.push(reader); + return reader; + }, + cancelAllRequests: function PDFNetworkStream_cancelAllRequests(reason) { + if (this._fullRequestReader) { + this._fullRequestReader.cancel(reason); + } + var readers = this._rangeRequestReaders.slice(0); + readers.forEach(function (reader) { + reader.cancel(reason); + }); + } +}; +function PDFNetworkStreamFullRequestReader(manager, options) { + this._manager = manager; + var source = options.source; + var args = { + onHeadersReceived: this._onHeadersReceived.bind(this), + onProgressiveData: source.disableStream ? null : this._onProgressiveData.bind(this), + onDone: this._onDone.bind(this), + onError: this._onError.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._url = source.url; + this._fullRequestId = manager.requestFull(args); + this._headersReceivedCapability = createPromiseCapability(); + this._disableRange = options.disableRange || false; + this._contentLength = source.length; + this._rangeChunkSize = source.rangeChunkSize; + if (!this._rangeChunkSize && !this._disableRange) { + this._disableRange = true; + } + this._isStreamingSupported = false; + this._isRangeSupported = false; + this._cachedChunks = []; + this._requests = []; + this._done = false; + this._storedError = undefined; + this.onProgress = null; +} +PDFNetworkStreamFullRequestReader.prototype = { + _validateRangeRequestCapabilities: function PDFNetworkStreamFullRequestReader_validateRangeRequestCapabilities() { + if (this._disableRange) { + return false; + } + var networkManager = this._manager; + if (!networkManager.isHttp) { + return false; + } + var fullRequestXhrId = this._fullRequestId; + var fullRequestXhr = networkManager.getRequestXhr(fullRequestXhrId); + if (fullRequestXhr.getResponseHeader('Accept-Ranges') !== 'bytes') { + return false; + } + var contentEncoding = fullRequestXhr.getResponseHeader('Content-Encoding') || 'identity'; + if (contentEncoding !== 'identity') { + return false; + } + var length = fullRequestXhr.getResponseHeader('Content-Length'); + length = parseInt(length, 10); + if (!isInt(length)) { + return false; + } + this._contentLength = length; + if (length <= 2 * this._rangeChunkSize) { + return false; + } + return true; + }, + _onHeadersReceived: function PDFNetworkStreamFullRequestReader_onHeadersReceived() { + if (this._validateRangeRequestCapabilities()) { + this._isRangeSupported = true; + } + var networkManager = this._manager; + var fullRequestXhrId = this._fullRequestId; + if (networkManager.isStreamingRequest(fullRequestXhrId)) { + this._isStreamingSupported = true; + } else if (this._isRangeSupported) { + networkManager.abortRequest(fullRequestXhrId); + } + this._headersReceivedCapability.resolve(); + }, + _onProgressiveData: function PDFNetworkStreamFullRequestReader_onProgressiveData(chunk) { + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._cachedChunks.push(chunk); + } + }, + _onDone: function PDFNetworkStreamFullRequestReader_onDone(args) { + if (args) { + this._onProgressiveData(args.chunk); + } + this._done = true; + if (this._cachedChunks.length > 0) { + return; + } + this._requests.forEach(function (requestCapability) { + requestCapability.resolve({ + value: undefined, + done: true + }); + }); + this._requests = []; + }, + _onError: function PDFNetworkStreamFullRequestReader_onError(status) { + var url = this._url; + var exception; + if (status === 404 || status === 0 && /^file:/.test(url)) { + exception = new MissingPDFException('Missing PDF "' + url + '".'); + } else { + exception = new UnexpectedResponseException('Unexpected server response (' + status + ') while retrieving PDF "' + url + '".', status); + } + this._storedError = exception; + this._headersReceivedCapability.reject(exception); + this._requests.forEach(function (requestCapability) { + requestCapability.reject(exception); + }); + this._requests = []; + this._cachedChunks = []; + }, + _onProgress: function PDFNetworkStreamFullRequestReader_onProgress(data) { + if (this.onProgress) { + this.onProgress({ + loaded: data.loaded, + total: data.lengthComputable ? data.total : this._contentLength + }); + } + }, + get isRangeSupported() { + return this._isRangeSupported; + }, + get isStreamingSupported() { + return this._isStreamingSupported; + }, + get contentLength() { + return this._contentLength; + }, + get headersReady() { + return this._headersReceivedCapability.promise; + }, + read: function PDFNetworkStreamFullRequestReader_read() { + if (this._storedError) { + return Promise.reject(this._storedError); + } + if (this._cachedChunks.length > 0) { + var chunk = this._cachedChunks.shift(); + return Promise.resolve(chunk); + } + if (this._done) { + return Promise.resolve({ + value: undefined, + done: true + }); + } + var requestCapability = createPromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + }, + cancel: function PDFNetworkStreamFullRequestReader_cancel(reason) { + this._done = true; + this._headersReceivedCapability.reject(reason); + this._requests.forEach(function (requestCapability) { + requestCapability.resolve({ + value: undefined, + done: true + }); + }); + this._requests = []; + if (this._manager.isPendingRequest(this._fullRequestId)) { + this._manager.abortRequest(this._fullRequestId); + } + this._fullRequestReader = null; + } +}; +function PDFNetworkStreamRangeRequestReader(manager, begin, end) { + this._manager = manager; + var args = { + onDone: this._onDone.bind(this), + onProgress: this._onProgress.bind(this) + }; + this._requestId = manager.requestRange(begin, end, args); + this._requests = []; + this._queuedChunk = null; + this._done = false; + this.onProgress = null; + this.onClosed = null; +} +PDFNetworkStreamRangeRequestReader.prototype = { + _close: function PDFNetworkStreamRangeRequestReader_close() { + if (this.onClosed) { + this.onClosed(this); + } + }, + _onDone: function PDFNetworkStreamRangeRequestReader_onDone(data) { + var chunk = data.chunk; + if (this._requests.length > 0) { + var requestCapability = this._requests.shift(); + requestCapability.resolve({ + value: chunk, + done: false + }); + } else { + this._queuedChunk = chunk; + } + this._done = true; + this._requests.forEach(function (requestCapability) { + requestCapability.resolve({ + value: undefined, + done: true + }); + }); + this._requests = []; + this._close(); + }, + _onProgress: function PDFNetworkStreamRangeRequestReader_onProgress(evt) { + if (!this.isStreamingSupported && this.onProgress) { + this.onProgress({ loaded: evt.loaded }); + } + }, + get isStreamingSupported() { + return false; + }, + read: function PDFNetworkStreamRangeRequestReader_read() { + if (this._queuedChunk !== null) { + var chunk = this._queuedChunk; + this._queuedChunk = null; + return Promise.resolve({ + value: chunk, + done: false + }); + } + if (this._done) { + return Promise.resolve({ + value: undefined, + done: true + }); + } + var requestCapability = createPromiseCapability(); + this._requests.push(requestCapability); + return requestCapability.promise; + }, + cancel: function PDFNetworkStreamRangeRequestReader_cancel(reason) { + this._done = true; + this._requests.forEach(function (requestCapability) { + requestCapability.resolve({ + value: undefined, + done: true + }); + }); + this._requests = []; + if (this._manager.isPendingRequest(this._requestId)) { + this._manager.abortRequest(this._requestId); + } + this._close(); + } +}; +coreWorker.setPDFNetworkStreamClass(PDFNetworkStream); +exports.PDFNetworkStream = PDFNetworkStream; +exports.NetworkManager = NetworkManager; + +/***/ }), +/* 20 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreStream = __w_pdfjs_require__(2); +var coreColorSpace = __w_pdfjs_require__(3); +var coreObj = __w_pdfjs_require__(16); +var coreEvaluator = __w_pdfjs_require__(14); +var AnnotationBorderStyleType = sharedUtil.AnnotationBorderStyleType; +var AnnotationFieldFlag = sharedUtil.AnnotationFieldFlag; +var AnnotationFlag = sharedUtil.AnnotationFlag; +var AnnotationType = sharedUtil.AnnotationType; +var OPS = sharedUtil.OPS; +var Util = sharedUtil.Util; +var isArray = sharedUtil.isArray; +var isInt = sharedUtil.isInt; +var stringToBytes = sharedUtil.stringToBytes; +var stringToPDFString = sharedUtil.stringToPDFString; +var warn = sharedUtil.warn; +var Dict = corePrimitives.Dict; +var isDict = corePrimitives.isDict; +var isName = corePrimitives.isName; +var isRef = corePrimitives.isRef; +var isStream = corePrimitives.isStream; +var Stream = coreStream.Stream; +var ColorSpace = coreColorSpace.ColorSpace; +var Catalog = coreObj.Catalog; +var ObjectLoader = coreObj.ObjectLoader; +var FileSpec = coreObj.FileSpec; +var OperatorList = coreEvaluator.OperatorList; +function AnnotationFactory() { +} +AnnotationFactory.prototype = { + create: function AnnotationFactory_create(xref, ref, pdfManager, idFactory) { + var dict = xref.fetchIfRef(ref); + if (!isDict(dict)) { + return; + } + var id = isRef(ref) ? ref.toString() : 'annot_' + idFactory.createObjId(); + var subtype = dict.get('Subtype'); + subtype = isName(subtype) ? subtype.name : null; + var parameters = { + xref: xref, + dict: dict, + ref: isRef(ref) ? ref : null, + subtype: subtype, + id: id, + pdfManager: pdfManager + }; + switch (subtype) { + case 'Link': + return new LinkAnnotation(parameters); + case 'Text': + return new TextAnnotation(parameters); + case 'Widget': + var fieldType = Util.getInheritableProperty(dict, 'FT'); + fieldType = isName(fieldType) ? fieldType.name : null; + switch (fieldType) { + case 'Tx': + return new TextWidgetAnnotation(parameters); + case 'Btn': + return new ButtonWidgetAnnotation(parameters); + case 'Ch': + return new ChoiceWidgetAnnotation(parameters); + } + warn('Unimplemented widget field type "' + fieldType + '", ' + 'falling back to base field type.'); + return new WidgetAnnotation(parameters); + case 'Popup': + return new PopupAnnotation(parameters); + case 'Highlight': + return new HighlightAnnotation(parameters); + case 'Underline': + return new UnderlineAnnotation(parameters); + case 'Squiggly': + return new SquigglyAnnotation(parameters); + case 'StrikeOut': + return new StrikeOutAnnotation(parameters); + case 'FileAttachment': + return new FileAttachmentAnnotation(parameters); + default: + if (!subtype) { + warn('Annotation is missing the required /Subtype.'); + } else { + warn('Unimplemented annotation type "' + subtype + '", ' + 'falling back to base annotation.'); + } + return new Annotation(parameters); + } + } +}; +var Annotation = function AnnotationClosure() { + function getTransformMatrix(rect, bbox, matrix) { + var bounds = Util.getAxialAlignedBoundingBox(bbox, matrix); + var minX = bounds[0]; + var minY = bounds[1]; + var maxX = bounds[2]; + var maxY = bounds[3]; + if (minX === maxX || minY === maxY) { + return [ + 1, + 0, + 0, + 1, + rect[0], + rect[1] + ]; + } + var xRatio = (rect[2] - rect[0]) / (maxX - minX); + var yRatio = (rect[3] - rect[1]) / (maxY - minY); + return [ + xRatio, + 0, + 0, + yRatio, + rect[0] - minX * xRatio, + rect[1] - minY * yRatio + ]; + } + function Annotation(params) { + var dict = params.dict; + this.setFlags(dict.get('F')); + this.setRectangle(dict.getArray('Rect')); + this.setColor(dict.getArray('C')); + this.setBorderStyle(dict); + this.setAppearance(dict); + this.data = {}; + this.data.id = params.id; + this.data.subtype = params.subtype; + this.data.annotationFlags = this.flags; + this.data.rect = this.rectangle; + this.data.color = this.color; + this.data.borderStyle = this.borderStyle; + this.data.hasAppearance = !!this.appearance; + } + Annotation.prototype = { + _hasFlag: function Annotation_hasFlag(flags, flag) { + return !!(flags & flag); + }, + _isViewable: function Annotation_isViewable(flags) { + return !this._hasFlag(flags, AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, AnnotationFlag.HIDDEN) && !this._hasFlag(flags, AnnotationFlag.NOVIEW); + }, + _isPrintable: function AnnotationFlag_isPrintable(flags) { + return this._hasFlag(flags, AnnotationFlag.PRINT) && !this._hasFlag(flags, AnnotationFlag.INVISIBLE) && !this._hasFlag(flags, AnnotationFlag.HIDDEN); + }, + get viewable() { + if (this.flags === 0) { + return true; + } + return this._isViewable(this.flags); + }, + get printable() { + if (this.flags === 0) { + return false; + } + return this._isPrintable(this.flags); + }, + setFlags: function Annotation_setFlags(flags) { + this.flags = isInt(flags) && flags > 0 ? flags : 0; + }, + hasFlag: function Annotation_hasFlag(flag) { + return this._hasFlag(this.flags, flag); + }, + setRectangle: function Annotation_setRectangle(rectangle) { + if (isArray(rectangle) && rectangle.length === 4) { + this.rectangle = Util.normalizeRect(rectangle); + } else { + this.rectangle = [ + 0, + 0, + 0, + 0 + ]; + } + }, + setColor: function Annotation_setColor(color) { + var rgbColor = new Uint8Array(3); + if (!isArray(color)) { + this.color = rgbColor; + return; + } + switch (color.length) { + case 0: + this.color = null; + break; + case 1: + ColorSpace.singletons.gray.getRgbItem(color, 0, rgbColor, 0); + this.color = rgbColor; + break; + case 3: + ColorSpace.singletons.rgb.getRgbItem(color, 0, rgbColor, 0); + this.color = rgbColor; + break; + case 4: + ColorSpace.singletons.cmyk.getRgbItem(color, 0, rgbColor, 0); + this.color = rgbColor; + break; + default: + this.color = rgbColor; + break; + } + }, + setBorderStyle: function Annotation_setBorderStyle(borderStyle) { + this.borderStyle = new AnnotationBorderStyle(); + if (!isDict(borderStyle)) { + return; + } + if (borderStyle.has('BS')) { + var dict = borderStyle.get('BS'); + var dictType = dict.get('Type'); + if (!dictType || isName(dictType, 'Border')) { + this.borderStyle.setWidth(dict.get('W')); + this.borderStyle.setStyle(dict.get('S')); + this.borderStyle.setDashArray(dict.getArray('D')); + } + } else if (borderStyle.has('Border')) { + var array = borderStyle.getArray('Border'); + if (isArray(array) && array.length >= 3) { + this.borderStyle.setHorizontalCornerRadius(array[0]); + this.borderStyle.setVerticalCornerRadius(array[1]); + this.borderStyle.setWidth(array[2]); + if (array.length === 4) { + this.borderStyle.setDashArray(array[3]); + } + } + } else { + this.borderStyle.setWidth(0); + } + }, + setAppearance: function Annotation_setAppearance(dict) { + this.appearance = null; + var appearanceStates = dict.get('AP'); + if (!isDict(appearanceStates)) { + return; + } + var normalAppearanceState = appearanceStates.get('N'); + if (isStream(normalAppearanceState)) { + this.appearance = normalAppearanceState; + return; + } + if (!isDict(normalAppearanceState)) { + return; + } + var as = dict.get('AS'); + if (!isName(as) || !normalAppearanceState.has(as.name)) { + return; + } + this.appearance = normalAppearanceState.get(as.name); + }, + _preparePopup: function Annotation_preparePopup(dict) { + if (!dict.has('C')) { + this.data.color = null; + } + this.data.hasPopup = dict.has('Popup'); + this.data.title = stringToPDFString(dict.get('T') || ''); + this.data.contents = stringToPDFString(dict.get('Contents') || ''); + }, + loadResources: function Annotation_loadResources(keys) { + return new Promise(function (resolve, reject) { + this.appearance.dict.getAsync('Resources').then(function (resources) { + if (!resources) { + resolve(); + return; + } + var objectLoader = new ObjectLoader(resources.map, keys, resources.xref); + objectLoader.load().then(function () { + resolve(resources); + }, reject); + }, reject); + }.bind(this)); + }, + getOperatorList: function Annotation_getOperatorList(evaluator, task, renderForms) { + if (!this.appearance) { + return Promise.resolve(new OperatorList()); + } + var data = this.data; + var appearanceDict = this.appearance.dict; + var resourcesPromise = this.loadResources([ + 'ExtGState', + 'ColorSpace', + 'Pattern', + 'Shading', + 'XObject', + 'Font' + ]); + var bbox = appearanceDict.getArray('BBox') || [ + 0, + 0, + 1, + 1 + ]; + var matrix = appearanceDict.getArray('Matrix') || [ + 1, + 0, + 0, + 1, + 0, + 0 + ]; + var transform = getTransformMatrix(data.rect, bbox, matrix); + var self = this; + return resourcesPromise.then(function (resources) { + var opList = new OperatorList(); + opList.addOp(OPS.beginAnnotation, [ + data.rect, + transform, + matrix + ]); + return evaluator.getOperatorList(self.appearance, task, resources, opList).then(function () { + opList.addOp(OPS.endAnnotation, []); + self.appearance.reset(); + return opList; + }); + }); + } + }; + return Annotation; +}(); +var AnnotationBorderStyle = function AnnotationBorderStyleClosure() { + function AnnotationBorderStyle() { + this.width = 1; + this.style = AnnotationBorderStyleType.SOLID; + this.dashArray = [3]; + this.horizontalCornerRadius = 0; + this.verticalCornerRadius = 0; + } + AnnotationBorderStyle.prototype = { + setWidth: function AnnotationBorderStyle_setWidth(width) { + if (width === (width | 0)) { + this.width = width; + } + }, + setStyle: function AnnotationBorderStyle_setStyle(style) { + if (!style) { + return; + } + switch (style.name) { + case 'S': + this.style = AnnotationBorderStyleType.SOLID; + break; + case 'D': + this.style = AnnotationBorderStyleType.DASHED; + break; + case 'B': + this.style = AnnotationBorderStyleType.BEVELED; + break; + case 'I': + this.style = AnnotationBorderStyleType.INSET; + break; + case 'U': + this.style = AnnotationBorderStyleType.UNDERLINE; + break; + default: + break; + } + }, + setDashArray: function AnnotationBorderStyle_setDashArray(dashArray) { + if (isArray(dashArray) && dashArray.length > 0) { + var isValid = true; + var allZeros = true; + for (var i = 0, len = dashArray.length; i < len; i++) { + var element = dashArray[i]; + var validNumber = +element >= 0; + if (!validNumber) { + isValid = false; + break; + } else if (element > 0) { + allZeros = false; + } + } + if (isValid && !allZeros) { + this.dashArray = dashArray; + } else { + this.width = 0; + } + } else if (dashArray) { + this.width = 0; + } + }, + setHorizontalCornerRadius: function AnnotationBorderStyle_setHorizontalCornerRadius(radius) { + if (radius === (radius | 0)) { + this.horizontalCornerRadius = radius; + } + }, + setVerticalCornerRadius: function AnnotationBorderStyle_setVerticalCornerRadius(radius) { + if (radius === (radius | 0)) { + this.verticalCornerRadius = radius; + } + } + }; + return AnnotationBorderStyle; +}(); +var WidgetAnnotation = function WidgetAnnotationClosure() { + function WidgetAnnotation(params) { + Annotation.call(this, params); + var dict = params.dict; + var data = this.data; + data.annotationType = AnnotationType.WIDGET; + data.fieldName = this._constructFieldName(dict); + data.fieldValue = Util.getInheritableProperty(dict, 'V', true); + data.alternativeText = stringToPDFString(dict.get('TU') || ''); + data.defaultAppearance = Util.getInheritableProperty(dict, 'DA') || ''; + var fieldType = Util.getInheritableProperty(dict, 'FT'); + data.fieldType = isName(fieldType) ? fieldType.name : null; + this.fieldResources = Util.getInheritableProperty(dict, 'DR') || Dict.empty; + data.fieldFlags = Util.getInheritableProperty(dict, 'Ff'); + if (!isInt(data.fieldFlags) || data.fieldFlags < 0) { + data.fieldFlags = 0; + } + data.readOnly = this.hasFieldFlag(AnnotationFieldFlag.READONLY); + if (data.fieldType === 'Sig') { + this.setFlags(AnnotationFlag.HIDDEN); + } + } + Util.inherit(WidgetAnnotation, Annotation, { + _constructFieldName: function WidgetAnnotation_constructFieldName(dict) { + if (!dict.has('T') && !dict.has('Parent')) { + warn('Unknown field name, falling back to empty field name.'); + return ''; + } + if (!dict.has('Parent')) { + return stringToPDFString(dict.get('T')); + } + var fieldName = []; + if (dict.has('T')) { + fieldName.unshift(stringToPDFString(dict.get('T'))); + } + var loopDict = dict; + while (loopDict.has('Parent')) { + loopDict = loopDict.get('Parent'); + if (loopDict.has('T')) { + fieldName.unshift(stringToPDFString(loopDict.get('T'))); + } + } + return fieldName.join('.'); + }, + hasFieldFlag: function WidgetAnnotation_hasFieldFlag(flag) { + return !!(this.data.fieldFlags & flag); + } + }); + return WidgetAnnotation; +}(); +var TextWidgetAnnotation = function TextWidgetAnnotationClosure() { + function TextWidgetAnnotation(params) { + WidgetAnnotation.call(this, params); + this.data.fieldValue = stringToPDFString(this.data.fieldValue || ''); + var alignment = Util.getInheritableProperty(params.dict, 'Q'); + if (!isInt(alignment) || alignment < 0 || alignment > 2) { + alignment = null; + } + this.data.textAlignment = alignment; + var maximumLength = Util.getInheritableProperty(params.dict, 'MaxLen'); + if (!isInt(maximumLength) || maximumLength < 0) { + maximumLength = null; + } + this.data.maxLen = maximumLength; + this.data.multiLine = this.hasFieldFlag(AnnotationFieldFlag.MULTILINE); + this.data.comb = this.hasFieldFlag(AnnotationFieldFlag.COMB) && !this.hasFieldFlag(AnnotationFieldFlag.MULTILINE) && !this.hasFieldFlag(AnnotationFieldFlag.PASSWORD) && !this.hasFieldFlag(AnnotationFieldFlag.FILESELECT) && this.data.maxLen !== null; + } + Util.inherit(TextWidgetAnnotation, WidgetAnnotation, { + getOperatorList: function TextWidgetAnnotation_getOperatorList(evaluator, task, renderForms) { + var operatorList = new OperatorList(); + if (renderForms) { + return Promise.resolve(operatorList); + } + if (this.appearance) { + return Annotation.prototype.getOperatorList.call(this, evaluator, task, renderForms); + } + if (!this.data.defaultAppearance) { + return Promise.resolve(operatorList); + } + var stream = new Stream(stringToBytes(this.data.defaultAppearance)); + return evaluator.getOperatorList(stream, task, this.fieldResources, operatorList).then(function () { + return operatorList; + }); + } + }); + return TextWidgetAnnotation; +}(); +var ButtonWidgetAnnotation = function ButtonWidgetAnnotationClosure() { + function ButtonWidgetAnnotation(params) { + WidgetAnnotation.call(this, params); + this.data.checkBox = !this.hasFieldFlag(AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(AnnotationFieldFlag.PUSHBUTTON); + if (this.data.checkBox) { + if (!isName(this.data.fieldValue)) { + return; + } + this.data.fieldValue = this.data.fieldValue.name; + } + this.data.radioButton = this.hasFieldFlag(AnnotationFieldFlag.RADIO) && !this.hasFieldFlag(AnnotationFieldFlag.PUSHBUTTON); + if (this.data.radioButton) { + this.data.fieldValue = this.data.buttonValue = null; + var fieldParent = params.dict.get('Parent'); + if (isDict(fieldParent) && fieldParent.has('V')) { + var fieldParentValue = fieldParent.get('V'); + if (isName(fieldParentValue)) { + this.data.fieldValue = fieldParentValue.name; + } + } + var appearanceStates = params.dict.get('AP'); + if (!isDict(appearanceStates)) { + return; + } + var normalAppearanceState = appearanceStates.get('N'); + if (!isDict(normalAppearanceState)) { + return; + } + var keys = normalAppearanceState.getKeys(); + for (var i = 0, ii = keys.length; i < ii; i++) { + if (keys[i] !== 'Off') { + this.data.buttonValue = keys[i]; + break; + } + } + } + } + Util.inherit(ButtonWidgetAnnotation, WidgetAnnotation, { + getOperatorList: function ButtonWidgetAnnotation_getOperatorList(evaluator, task, renderForms) { + var operatorList = new OperatorList(); + if (renderForms) { + return Promise.resolve(operatorList); + } + if (this.appearance) { + return Annotation.prototype.getOperatorList.call(this, evaluator, task, renderForms); + } + return Promise.resolve(operatorList); + } + }); + return ButtonWidgetAnnotation; +}(); +var ChoiceWidgetAnnotation = function ChoiceWidgetAnnotationClosure() { + function ChoiceWidgetAnnotation(params) { + WidgetAnnotation.call(this, params); + this.data.options = []; + var options = Util.getInheritableProperty(params.dict, 'Opt'); + if (isArray(options)) { + var xref = params.xref; + for (var i = 0, ii = options.length; i < ii; i++) { + var option = xref.fetchIfRef(options[i]); + var isOptionArray = isArray(option); + this.data.options[i] = { + exportValue: isOptionArray ? xref.fetchIfRef(option[0]) : option, + displayValue: isOptionArray ? xref.fetchIfRef(option[1]) : option + }; + } + } + if (!isArray(this.data.fieldValue)) { + this.data.fieldValue = [this.data.fieldValue]; + } + this.data.combo = this.hasFieldFlag(AnnotationFieldFlag.COMBO); + this.data.multiSelect = this.hasFieldFlag(AnnotationFieldFlag.MULTISELECT); + } + Util.inherit(ChoiceWidgetAnnotation, WidgetAnnotation, { + getOperatorList: function ChoiceWidgetAnnotation_getOperatorList(evaluator, task, renderForms) { + var operatorList = new OperatorList(); + if (renderForms) { + return Promise.resolve(operatorList); + } + return Annotation.prototype.getOperatorList.call(this, evaluator, task, renderForms); + } + }); + return ChoiceWidgetAnnotation; +}(); +var TextAnnotation = function TextAnnotationClosure() { + var DEFAULT_ICON_SIZE = 22; + function TextAnnotation(parameters) { + Annotation.call(this, parameters); + this.data.annotationType = AnnotationType.TEXT; + if (this.data.hasAppearance) { + this.data.name = 'NoIcon'; + } else { + this.data.rect[1] = this.data.rect[3] - DEFAULT_ICON_SIZE; + this.data.rect[2] = this.data.rect[0] + DEFAULT_ICON_SIZE; + this.data.name = parameters.dict.has('Name') ? parameters.dict.get('Name').name : 'Note'; + } + this._preparePopup(parameters.dict); + } + Util.inherit(TextAnnotation, Annotation, {}); + return TextAnnotation; +}(); +var LinkAnnotation = function LinkAnnotationClosure() { + function LinkAnnotation(params) { + Annotation.call(this, params); + var data = this.data; + data.annotationType = AnnotationType.LINK; + Catalog.parseDestDictionary({ + destDict: params.dict, + resultObj: data, + docBaseUrl: params.pdfManager.docBaseUrl + }); + } + Util.inherit(LinkAnnotation, Annotation, {}); + return LinkAnnotation; +}(); +var PopupAnnotation = function PopupAnnotationClosure() { + function PopupAnnotation(parameters) { + Annotation.call(this, parameters); + this.data.annotationType = AnnotationType.POPUP; + var dict = parameters.dict; + var parentItem = dict.get('Parent'); + if (!parentItem) { + warn('Popup annotation has a missing or invalid parent annotation.'); + return; + } + this.data.parentId = dict.getRaw('Parent').toString(); + this.data.title = stringToPDFString(parentItem.get('T') || ''); + this.data.contents = stringToPDFString(parentItem.get('Contents') || ''); + if (!parentItem.has('C')) { + this.data.color = null; + } else { + this.setColor(parentItem.getArray('C')); + this.data.color = this.color; + } + if (!this.viewable) { + var parentFlags = parentItem.get('F'); + if (this._isViewable(parentFlags)) { + this.setFlags(parentFlags); + } + } + } + Util.inherit(PopupAnnotation, Annotation, {}); + return PopupAnnotation; +}(); +var HighlightAnnotation = function HighlightAnnotationClosure() { + function HighlightAnnotation(parameters) { + Annotation.call(this, parameters); + this.data.annotationType = AnnotationType.HIGHLIGHT; + this._preparePopup(parameters.dict); + this.data.borderStyle.setWidth(0); + } + Util.inherit(HighlightAnnotation, Annotation, {}); + return HighlightAnnotation; +}(); +var UnderlineAnnotation = function UnderlineAnnotationClosure() { + function UnderlineAnnotation(parameters) { + Annotation.call(this, parameters); + this.data.annotationType = AnnotationType.UNDERLINE; + this._preparePopup(parameters.dict); + this.data.borderStyle.setWidth(0); + } + Util.inherit(UnderlineAnnotation, Annotation, {}); + return UnderlineAnnotation; +}(); +var SquigglyAnnotation = function SquigglyAnnotationClosure() { + function SquigglyAnnotation(parameters) { + Annotation.call(this, parameters); + this.data.annotationType = AnnotationType.SQUIGGLY; + this._preparePopup(parameters.dict); + this.data.borderStyle.setWidth(0); + } + Util.inherit(SquigglyAnnotation, Annotation, {}); + return SquigglyAnnotation; +}(); +var StrikeOutAnnotation = function StrikeOutAnnotationClosure() { + function StrikeOutAnnotation(parameters) { + Annotation.call(this, parameters); + this.data.annotationType = AnnotationType.STRIKEOUT; + this._preparePopup(parameters.dict); + this.data.borderStyle.setWidth(0); + } + Util.inherit(StrikeOutAnnotation, Annotation, {}); + return StrikeOutAnnotation; +}(); +var FileAttachmentAnnotation = function FileAttachmentAnnotationClosure() { + function FileAttachmentAnnotation(parameters) { + Annotation.call(this, parameters); + var file = new FileSpec(parameters.dict.get('FS'), parameters.xref); + this.data.annotationType = AnnotationType.FILEATTACHMENT; + this.data.file = file.serializable; + this._preparePopup(parameters.dict); + } + Util.inherit(FileAttachmentAnnotation, Annotation, {}); + return FileAttachmentAnnotation; +}(); +exports.Annotation = Annotation; +exports.AnnotationBorderStyle = AnnotationBorderStyle; +exports.AnnotationFactory = AnnotationFactory; + +/***/ }), +/* 21 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var warn = sharedUtil.warn; +var baseTypes = [ + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'S', + 'B', + 'S', + 'WS', + 'B', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'B', + 'B', + 'B', + 'S', + 'WS', + 'ON', + 'ON', + 'ET', + 'ET', + 'ET', + 'ON', + 'ON', + 'ON', + 'ON', + 'ON', + 'ES', + 'CS', + 'ES', + 'CS', + 'CS', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'CS', + 'ON', + 'ON', + 'ON', + 'ON', + 'ON', + 'ON', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'ON', + 'ON', + 'ON', + 'ON', + 'ON', + 'ON', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'ON', + 'ON', + 'ON', + 'ON', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'B', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'BN', + 'CS', + 'ON', + 'ET', + 'ET', + 'ET', + 'ET', + 'ON', + 'ON', + 'ON', + 'ON', + 'L', + 'ON', + 'ON', + 'BN', + 'ON', + 'ON', + 'ET', + 'ET', + 'EN', + 'EN', + 'ON', + 'L', + 'ON', + 'ON', + 'ON', + 'EN', + 'L', + 'ON', + 'ON', + 'ON', + 'ON', + 'ON', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'ON', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'ON', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L', + 'L' +]; +var arabicTypes = [ + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'ON', + 'ON', + 'AL', + 'ET', + 'ET', + 'AL', + 'CS', + 'AL', + 'ON', + 'ON', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'AL', + 'AL', + '', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'AN', + 'ET', + 'AN', + 'AN', + 'AL', + 'AL', + 'AL', + 'NSM', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'AN', + 'ON', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'AL', + 'AL', + 'NSM', + 'NSM', + 'ON', + 'NSM', + 'NSM', + 'NSM', + 'NSM', + 'AL', + 'AL', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'EN', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL', + 'AL' +]; +function isOdd(i) { + return (i & 1) !== 0; +} +function isEven(i) { + return (i & 1) === 0; +} +function findUnequal(arr, start, value) { + for (var j = start, jj = arr.length; j < jj; ++j) { + if (arr[j] !== value) { + return j; + } + } + return j; +} +function setValues(arr, start, end, value) { + for (var j = start; j < end; ++j) { + arr[j] = value; + } +} +function reverseValues(arr, start, end) { + for (var i = start, j = end - 1; i < j; ++i, --j) { + var temp = arr[i]; + arr[i] = arr[j]; + arr[j] = temp; + } +} +function createBidiText(str, isLTR, vertical) { + return { + str: str, + dir: vertical ? 'ttb' : isLTR ? 'ltr' : 'rtl' + }; +} +var chars = []; +var types = []; +function bidi(str, startLevel, vertical) { + var isLTR = true; + var strLength = str.length; + if (strLength === 0 || vertical) { + return createBidiText(str, isLTR, vertical); + } + chars.length = strLength; + types.length = strLength; + var numBidi = 0; + var i, ii; + for (i = 0; i < strLength; ++i) { + chars[i] = str.charAt(i); + var charCode = str.charCodeAt(i); + var charType = 'L'; + if (charCode <= 0x00ff) { + charType = baseTypes[charCode]; + } else if (0x0590 <= charCode && charCode <= 0x05f4) { + charType = 'R'; + } else if (0x0600 <= charCode && charCode <= 0x06ff) { + charType = arabicTypes[charCode & 0xff]; + if (!charType) { + warn('Bidi: invalid Unicode character ' + charCode.toString(16)); + } + } else if (0x0700 <= charCode && charCode <= 0x08AC) { + charType = 'AL'; + } + if (charType === 'R' || charType === 'AL' || charType === 'AN') { + numBidi++; + } + types[i] = charType; + } + if (numBidi === 0) { + isLTR = true; + return createBidiText(str, isLTR); + } + if (startLevel === -1) { + if (numBidi / strLength < 0.3) { + isLTR = true; + startLevel = 0; + } else { + isLTR = false; + startLevel = 1; + } + } + var levels = []; + for (i = 0; i < strLength; ++i) { + levels[i] = startLevel; + } + var e = isOdd(startLevel) ? 'R' : 'L'; + var sor = e; + var eor = sor; + var lastType = sor; + for (i = 0; i < strLength; ++i) { + if (types[i] === 'NSM') { + types[i] = lastType; + } else { + lastType = types[i]; + } + } + lastType = sor; + var t; + for (i = 0; i < strLength; ++i) { + t = types[i]; + if (t === 'EN') { + types[i] = lastType === 'AL' ? 'AN' : 'EN'; + } else if (t === 'R' || t === 'L' || t === 'AL') { + lastType = t; + } + } + for (i = 0; i < strLength; ++i) { + t = types[i]; + if (t === 'AL') { + types[i] = 'R'; + } + } + for (i = 1; i < strLength - 1; ++i) { + if (types[i] === 'ES' && types[i - 1] === 'EN' && types[i + 1] === 'EN') { + types[i] = 'EN'; + } + if (types[i] === 'CS' && (types[i - 1] === 'EN' || types[i - 1] === 'AN') && types[i + 1] === types[i - 1]) { + types[i] = types[i - 1]; + } + } + for (i = 0; i < strLength; ++i) { + if (types[i] === 'EN') { + var j; + for (j = i - 1; j >= 0; --j) { + if (types[j] !== 'ET') { + break; + } + types[j] = 'EN'; + } + for (j = i + 1; j < strLength; ++j) { + if (types[j] !== 'ET') { + break; + } + types[j] = 'EN'; + } + } + } + for (i = 0; i < strLength; ++i) { + t = types[i]; + if (t === 'WS' || t === 'ES' || t === 'ET' || t === 'CS') { + types[i] = 'ON'; + } + } + lastType = sor; + for (i = 0; i < strLength; ++i) { + t = types[i]; + if (t === 'EN') { + types[i] = lastType === 'L' ? 'L' : 'EN'; + } else if (t === 'R' || t === 'L') { + lastType = t; + } + } + for (i = 0; i < strLength; ++i) { + if (types[i] === 'ON') { + var end = findUnequal(types, i + 1, 'ON'); + var before = sor; + if (i > 0) { + before = types[i - 1]; + } + var after = eor; + if (end + 1 < strLength) { + after = types[end + 1]; + } + if (before !== 'L') { + before = 'R'; + } + if (after !== 'L') { + after = 'R'; + } + if (before === after) { + setValues(types, i, end, before); + } + i = end - 1; + } + } + for (i = 0; i < strLength; ++i) { + if (types[i] === 'ON') { + types[i] = e; + } + } + for (i = 0; i < strLength; ++i) { + t = types[i]; + if (isEven(levels[i])) { + if (t === 'R') { + levels[i] += 1; + } else if (t === 'AN' || t === 'EN') { + levels[i] += 2; + } + } else { + if (t === 'L' || t === 'AN' || t === 'EN') { + levels[i] += 1; + } + } + } + var highestLevel = -1; + var lowestOddLevel = 99; + var level; + for (i = 0, ii = levels.length; i < ii; ++i) { + level = levels[i]; + if (highestLevel < level) { + highestLevel = level; + } + if (lowestOddLevel > level && isOdd(level)) { + lowestOddLevel = level; + } + } + for (level = highestLevel; level >= lowestOddLevel; --level) { + var start = -1; + for (i = 0, ii = levels.length; i < ii; ++i) { + if (levels[i] < level) { + if (start >= 0) { + reverseValues(chars, start, i); + start = -1; + } + } else if (start < 0) { + start = i; + } + } + if (start >= 0) { + reverseValues(chars, start, levels.length); + } + } + for (i = 0, ii = chars.length; i < ii; ++i) { + var ch = chars[i]; + if (ch === '<' || ch === '>') { + chars[i] = ''; + } + } + return createBidiText(chars.join(''), isLTR); +} +exports.bidi = bidi; + +/***/ }), +/* 22 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var ISOAdobeCharset = [ + '.notdef', + 'space', + 'exclam', + 'quotedbl', + 'numbersign', + 'dollar', + 'percent', + 'ampersand', + 'quoteright', + 'parenleft', + 'parenright', + 'asterisk', + 'plus', + 'comma', + 'hyphen', + 'period', + 'slash', + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'colon', + 'semicolon', + 'less', + 'equal', + 'greater', + 'question', + 'at', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + 'bracketleft', + 'backslash', + 'bracketright', + 'asciicircum', + 'underscore', + 'quoteleft', + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + 'braceleft', + 'bar', + 'braceright', + 'asciitilde', + 'exclamdown', + 'cent', + 'sterling', + 'fraction', + 'yen', + 'florin', + 'section', + 'currency', + 'quotesingle', + 'quotedblleft', + 'guillemotleft', + 'guilsinglleft', + 'guilsinglright', + 'fi', + 'fl', + 'endash', + 'dagger', + 'daggerdbl', + 'periodcentered', + 'paragraph', + 'bullet', + 'quotesinglbase', + 'quotedblbase', + 'quotedblright', + 'guillemotright', + 'ellipsis', + 'perthousand', + 'questiondown', + 'grave', + 'acute', + 'circumflex', + 'tilde', + 'macron', + 'breve', + 'dotaccent', + 'dieresis', + 'ring', + 'cedilla', + 'hungarumlaut', + 'ogonek', + 'caron', + 'emdash', + 'AE', + 'ordfeminine', + 'Lslash', + 'Oslash', + 'OE', + 'ordmasculine', + 'ae', + 'dotlessi', + 'lslash', + 'oslash', + 'oe', + 'germandbls', + 'onesuperior', + 'logicalnot', + 'mu', + 'trademark', + 'Eth', + 'onehalf', + 'plusminus', + 'Thorn', + 'onequarter', + 'divide', + 'brokenbar', + 'degree', + 'thorn', + 'threequarters', + 'twosuperior', + 'registered', + 'minus', + 'eth', + 'multiply', + 'threesuperior', + 'copyright', + 'Aacute', + 'Acircumflex', + 'Adieresis', + 'Agrave', + 'Aring', + 'Atilde', + 'Ccedilla', + 'Eacute', + 'Ecircumflex', + 'Edieresis', + 'Egrave', + 'Iacute', + 'Icircumflex', + 'Idieresis', + 'Igrave', + 'Ntilde', + 'Oacute', + 'Ocircumflex', + 'Odieresis', + 'Ograve', + 'Otilde', + 'Scaron', + 'Uacute', + 'Ucircumflex', + 'Udieresis', + 'Ugrave', + 'Yacute', + 'Ydieresis', + 'Zcaron', + 'aacute', + 'acircumflex', + 'adieresis', + 'agrave', + 'aring', + 'atilde', + 'ccedilla', + 'eacute', + 'ecircumflex', + 'edieresis', + 'egrave', + 'iacute', + 'icircumflex', + 'idieresis', + 'igrave', + 'ntilde', + 'oacute', + 'ocircumflex', + 'odieresis', + 'ograve', + 'otilde', + 'scaron', + 'uacute', + 'ucircumflex', + 'udieresis', + 'ugrave', + 'yacute', + 'ydieresis', + 'zcaron' +]; +var ExpertCharset = [ + '.notdef', + 'space', + 'exclamsmall', + 'Hungarumlautsmall', + 'dollaroldstyle', + 'dollarsuperior', + 'ampersandsmall', + 'Acutesmall', + 'parenleftsuperior', + 'parenrightsuperior', + 'twodotenleader', + 'onedotenleader', + 'comma', + 'hyphen', + 'period', + 'fraction', + 'zerooldstyle', + 'oneoldstyle', + 'twooldstyle', + 'threeoldstyle', + 'fouroldstyle', + 'fiveoldstyle', + 'sixoldstyle', + 'sevenoldstyle', + 'eightoldstyle', + 'nineoldstyle', + 'colon', + 'semicolon', + 'commasuperior', + 'threequartersemdash', + 'periodsuperior', + 'questionsmall', + 'asuperior', + 'bsuperior', + 'centsuperior', + 'dsuperior', + 'esuperior', + 'isuperior', + 'lsuperior', + 'msuperior', + 'nsuperior', + 'osuperior', + 'rsuperior', + 'ssuperior', + 'tsuperior', + 'ff', + 'fi', + 'fl', + 'ffi', + 'ffl', + 'parenleftinferior', + 'parenrightinferior', + 'Circumflexsmall', + 'hyphensuperior', + 'Gravesmall', + 'Asmall', + 'Bsmall', + 'Csmall', + 'Dsmall', + 'Esmall', + 'Fsmall', + 'Gsmall', + 'Hsmall', + 'Ismall', + 'Jsmall', + 'Ksmall', + 'Lsmall', + 'Msmall', + 'Nsmall', + 'Osmall', + 'Psmall', + 'Qsmall', + 'Rsmall', + 'Ssmall', + 'Tsmall', + 'Usmall', + 'Vsmall', + 'Wsmall', + 'Xsmall', + 'Ysmall', + 'Zsmall', + 'colonmonetary', + 'onefitted', + 'rupiah', + 'Tildesmall', + 'exclamdownsmall', + 'centoldstyle', + 'Lslashsmall', + 'Scaronsmall', + 'Zcaronsmall', + 'Dieresissmall', + 'Brevesmall', + 'Caronsmall', + 'Dotaccentsmall', + 'Macronsmall', + 'figuredash', + 'hypheninferior', + 'Ogoneksmall', + 'Ringsmall', + 'Cedillasmall', + 'onequarter', + 'onehalf', + 'threequarters', + 'questiondownsmall', + 'oneeighth', + 'threeeighths', + 'fiveeighths', + 'seveneighths', + 'onethird', + 'twothirds', + 'zerosuperior', + 'onesuperior', + 'twosuperior', + 'threesuperior', + 'foursuperior', + 'fivesuperior', + 'sixsuperior', + 'sevensuperior', + 'eightsuperior', + 'ninesuperior', + 'zeroinferior', + 'oneinferior', + 'twoinferior', + 'threeinferior', + 'fourinferior', + 'fiveinferior', + 'sixinferior', + 'seveninferior', + 'eightinferior', + 'nineinferior', + 'centinferior', + 'dollarinferior', + 'periodinferior', + 'commainferior', + 'Agravesmall', + 'Aacutesmall', + 'Acircumflexsmall', + 'Atildesmall', + 'Adieresissmall', + 'Aringsmall', + 'AEsmall', + 'Ccedillasmall', + 'Egravesmall', + 'Eacutesmall', + 'Ecircumflexsmall', + 'Edieresissmall', + 'Igravesmall', + 'Iacutesmall', + 'Icircumflexsmall', + 'Idieresissmall', + 'Ethsmall', + 'Ntildesmall', + 'Ogravesmall', + 'Oacutesmall', + 'Ocircumflexsmall', + 'Otildesmall', + 'Odieresissmall', + 'OEsmall', + 'Oslashsmall', + 'Ugravesmall', + 'Uacutesmall', + 'Ucircumflexsmall', + 'Udieresissmall', + 'Yacutesmall', + 'Thornsmall', + 'Ydieresissmall' +]; +var ExpertSubsetCharset = [ + '.notdef', + 'space', + 'dollaroldstyle', + 'dollarsuperior', + 'parenleftsuperior', + 'parenrightsuperior', + 'twodotenleader', + 'onedotenleader', + 'comma', + 'hyphen', + 'period', + 'fraction', + 'zerooldstyle', + 'oneoldstyle', + 'twooldstyle', + 'threeoldstyle', + 'fouroldstyle', + 'fiveoldstyle', + 'sixoldstyle', + 'sevenoldstyle', + 'eightoldstyle', + 'nineoldstyle', + 'colon', + 'semicolon', + 'commasuperior', + 'threequartersemdash', + 'periodsuperior', + 'asuperior', + 'bsuperior', + 'centsuperior', + 'dsuperior', + 'esuperior', + 'isuperior', + 'lsuperior', + 'msuperior', + 'nsuperior', + 'osuperior', + 'rsuperior', + 'ssuperior', + 'tsuperior', + 'ff', + 'fi', + 'fl', + 'ffi', + 'ffl', + 'parenleftinferior', + 'parenrightinferior', + 'hyphensuperior', + 'colonmonetary', + 'onefitted', + 'rupiah', + 'centoldstyle', + 'figuredash', + 'hypheninferior', + 'onequarter', + 'onehalf', + 'threequarters', + 'oneeighth', + 'threeeighths', + 'fiveeighths', + 'seveneighths', + 'onethird', + 'twothirds', + 'zerosuperior', + 'onesuperior', + 'twosuperior', + 'threesuperior', + 'foursuperior', + 'fivesuperior', + 'sixsuperior', + 'sevensuperior', + 'eightsuperior', + 'ninesuperior', + 'zeroinferior', + 'oneinferior', + 'twoinferior', + 'threeinferior', + 'fourinferior', + 'fiveinferior', + 'sixinferior', + 'seveninferior', + 'eightinferior', + 'nineinferior', + 'centinferior', + 'dollarinferior', + 'periodinferior', + 'commainferior' +]; +exports.ISOAdobeCharset = ISOAdobeCharset; +exports.ExpertCharset = ExpertCharset; +exports.ExpertSubsetCharset = ExpertSubsetCharset; + +/***/ }), +/* 23 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreStream = __w_pdfjs_require__(2); +var coreParser = __w_pdfjs_require__(5); +var Util = sharedUtil.Util; +var assert = sharedUtil.assert; +var warn = sharedUtil.warn; +var error = sharedUtil.error; +var isInt = sharedUtil.isInt; +var isString = sharedUtil.isString; +var MissingDataException = sharedUtil.MissingDataException; +var CMapCompressionType = sharedUtil.CMapCompressionType; +var isEOF = corePrimitives.isEOF; +var isName = corePrimitives.isName; +var isCmd = corePrimitives.isCmd; +var isStream = corePrimitives.isStream; +var Stream = coreStream.Stream; +var Lexer = coreParser.Lexer; +var BUILT_IN_CMAPS = [ + 'Adobe-GB1-UCS2', + 'Adobe-CNS1-UCS2', + 'Adobe-Japan1-UCS2', + 'Adobe-Korea1-UCS2', + '78-EUC-H', + '78-EUC-V', + '78-H', + '78-RKSJ-H', + '78-RKSJ-V', + '78-V', + '78ms-RKSJ-H', + '78ms-RKSJ-V', + '83pv-RKSJ-H', + '90ms-RKSJ-H', + '90ms-RKSJ-V', + '90msp-RKSJ-H', + '90msp-RKSJ-V', + '90pv-RKSJ-H', + '90pv-RKSJ-V', + 'Add-H', + 'Add-RKSJ-H', + 'Add-RKSJ-V', + 'Add-V', + 'Adobe-CNS1-0', + 'Adobe-CNS1-1', + 'Adobe-CNS1-2', + 'Adobe-CNS1-3', + 'Adobe-CNS1-4', + 'Adobe-CNS1-5', + 'Adobe-CNS1-6', + 'Adobe-GB1-0', + 'Adobe-GB1-1', + 'Adobe-GB1-2', + 'Adobe-GB1-3', + 'Adobe-GB1-4', + 'Adobe-GB1-5', + 'Adobe-Japan1-0', + 'Adobe-Japan1-1', + 'Adobe-Japan1-2', + 'Adobe-Japan1-3', + 'Adobe-Japan1-4', + 'Adobe-Japan1-5', + 'Adobe-Japan1-6', + 'Adobe-Korea1-0', + 'Adobe-Korea1-1', + 'Adobe-Korea1-2', + 'B5-H', + 'B5-V', + 'B5pc-H', + 'B5pc-V', + 'CNS-EUC-H', + 'CNS-EUC-V', + 'CNS1-H', + 'CNS1-V', + 'CNS2-H', + 'CNS2-V', + 'ETHK-B5-H', + 'ETHK-B5-V', + 'ETen-B5-H', + 'ETen-B5-V', + 'ETenms-B5-H', + 'ETenms-B5-V', + 'EUC-H', + 'EUC-V', + 'Ext-H', + 'Ext-RKSJ-H', + 'Ext-RKSJ-V', + 'Ext-V', + 'GB-EUC-H', + 'GB-EUC-V', + 'GB-H', + 'GB-V', + 'GBK-EUC-H', + 'GBK-EUC-V', + 'GBK2K-H', + 'GBK2K-V', + 'GBKp-EUC-H', + 'GBKp-EUC-V', + 'GBT-EUC-H', + 'GBT-EUC-V', + 'GBT-H', + 'GBT-V', + 'GBTpc-EUC-H', + 'GBTpc-EUC-V', + 'GBpc-EUC-H', + 'GBpc-EUC-V', + 'H', + 'HKdla-B5-H', + 'HKdla-B5-V', + 'HKdlb-B5-H', + 'HKdlb-B5-V', + 'HKgccs-B5-H', + 'HKgccs-B5-V', + 'HKm314-B5-H', + 'HKm314-B5-V', + 'HKm471-B5-H', + 'HKm471-B5-V', + 'HKscs-B5-H', + 'HKscs-B5-V', + 'Hankaku', + 'Hiragana', + 'KSC-EUC-H', + 'KSC-EUC-V', + 'KSC-H', + 'KSC-Johab-H', + 'KSC-Johab-V', + 'KSC-V', + 'KSCms-UHC-H', + 'KSCms-UHC-HW-H', + 'KSCms-UHC-HW-V', + 'KSCms-UHC-V', + 'KSCpc-EUC-H', + 'KSCpc-EUC-V', + 'Katakana', + 'NWP-H', + 'NWP-V', + 'RKSJ-H', + 'RKSJ-V', + 'Roman', + 'UniCNS-UCS2-H', + 'UniCNS-UCS2-V', + 'UniCNS-UTF16-H', + 'UniCNS-UTF16-V', + 'UniCNS-UTF32-H', + 'UniCNS-UTF32-V', + 'UniCNS-UTF8-H', + 'UniCNS-UTF8-V', + 'UniGB-UCS2-H', + 'UniGB-UCS2-V', + 'UniGB-UTF16-H', + 'UniGB-UTF16-V', + 'UniGB-UTF32-H', + 'UniGB-UTF32-V', + 'UniGB-UTF8-H', + 'UniGB-UTF8-V', + 'UniJIS-UCS2-H', + 'UniJIS-UCS2-HW-H', + 'UniJIS-UCS2-HW-V', + 'UniJIS-UCS2-V', + 'UniJIS-UTF16-H', + 'UniJIS-UTF16-V', + 'UniJIS-UTF32-H', + 'UniJIS-UTF32-V', + 'UniJIS-UTF8-H', + 'UniJIS-UTF8-V', + 'UniJIS2004-UTF16-H', + 'UniJIS2004-UTF16-V', + 'UniJIS2004-UTF32-H', + 'UniJIS2004-UTF32-V', + 'UniJIS2004-UTF8-H', + 'UniJIS2004-UTF8-V', + 'UniJISPro-UCS2-HW-V', + 'UniJISPro-UCS2-V', + 'UniJISPro-UTF8-V', + 'UniJISX0213-UTF32-H', + 'UniJISX0213-UTF32-V', + 'UniJISX02132004-UTF32-H', + 'UniJISX02132004-UTF32-V', + 'UniKS-UCS2-H', + 'UniKS-UCS2-V', + 'UniKS-UTF16-H', + 'UniKS-UTF16-V', + 'UniKS-UTF32-H', + 'UniKS-UTF32-V', + 'UniKS-UTF8-H', + 'UniKS-UTF8-V', + 'V', + 'WP-Symbol' +]; +var CMap = function CMapClosure() { + function CMap(builtInCMap) { + this.codespaceRanges = [ + [], + [], + [], + [] + ]; + this.numCodespaceRanges = 0; + this._map = []; + this.name = ''; + this.vertical = false; + this.useCMap = null; + this.builtInCMap = builtInCMap; + } + CMap.prototype = { + addCodespaceRange: function (n, low, high) { + this.codespaceRanges[n - 1].push(low, high); + this.numCodespaceRanges++; + }, + mapCidRange: function (low, high, dstLow) { + while (low <= high) { + this._map[low++] = dstLow++; + } + }, + mapBfRange: function (low, high, dstLow) { + var lastByte = dstLow.length - 1; + while (low <= high) { + this._map[low++] = dstLow; + dstLow = dstLow.substr(0, lastByte) + String.fromCharCode(dstLow.charCodeAt(lastByte) + 1); + } + }, + mapBfRangeToArray: function (low, high, array) { + var i = 0, ii = array.length; + while (low <= high && i < ii) { + this._map[low] = array[i++]; + ++low; + } + }, + mapOne: function (src, dst) { + this._map[src] = dst; + }, + lookup: function (code) { + return this._map[code]; + }, + contains: function (code) { + return this._map[code] !== undefined; + }, + forEach: function (callback) { + var map = this._map; + var length = map.length; + var i; + if (length <= 0x10000) { + for (i = 0; i < length; i++) { + if (map[i] !== undefined) { + callback(i, map[i]); + } + } + } else { + for (i in this._map) { + callback(i, map[i]); + } + } + }, + charCodeOf: function (value) { + return this._map.indexOf(value); + }, + getMap: function () { + return this._map; + }, + readCharCode: function (str, offset, out) { + var c = 0; + var codespaceRanges = this.codespaceRanges; + var codespaceRangesLen = this.codespaceRanges.length; + for (var n = 0; n < codespaceRangesLen; n++) { + c = (c << 8 | str.charCodeAt(offset + n)) >>> 0; + var codespaceRange = codespaceRanges[n]; + for (var k = 0, kk = codespaceRange.length; k < kk;) { + var low = codespaceRange[k++]; + var high = codespaceRange[k++]; + if (c >= low && c <= high) { + out.charcode = c; + out.length = n + 1; + return; + } + } + } + out.charcode = 0; + out.length = 1; + }, + get length() { + return this._map.length; + }, + get isIdentityCMap() { + if (!(this.name === 'Identity-H' || this.name === 'Identity-V')) { + return false; + } + if (this._map.length !== 0x10000) { + return false; + } + for (var i = 0; i < 0x10000; i++) { + if (this._map[i] !== i) { + return false; + } + } + return true; + } + }; + return CMap; +}(); +var IdentityCMap = function IdentityCMapClosure() { + function IdentityCMap(vertical, n) { + CMap.call(this); + this.vertical = vertical; + this.addCodespaceRange(n, 0, 0xffff); + } + Util.inherit(IdentityCMap, CMap, {}); + IdentityCMap.prototype = { + addCodespaceRange: CMap.prototype.addCodespaceRange, + mapCidRange: function (low, high, dstLow) { + error('should not call mapCidRange'); + }, + mapBfRange: function (low, high, dstLow) { + error('should not call mapBfRange'); + }, + mapBfRangeToArray: function (low, high, array) { + error('should not call mapBfRangeToArray'); + }, + mapOne: function (src, dst) { + error('should not call mapCidOne'); + }, + lookup: function (code) { + return isInt(code) && code <= 0xffff ? code : undefined; + }, + contains: function (code) { + return isInt(code) && code <= 0xffff; + }, + forEach: function (callback) { + for (var i = 0; i <= 0xffff; i++) { + callback(i, i); + } + }, + charCodeOf: function (value) { + return isInt(value) && value <= 0xffff ? value : -1; + }, + getMap: function () { + var map = new Array(0x10000); + for (var i = 0; i <= 0xffff; i++) { + map[i] = i; + } + return map; + }, + readCharCode: CMap.prototype.readCharCode, + get length() { + return 0x10000; + }, + get isIdentityCMap() { + error('should not access .isIdentityCMap'); + } + }; + return IdentityCMap; +}(); +var BinaryCMapReader = function BinaryCMapReaderClosure() { + function hexToInt(a, size) { + var n = 0; + for (var i = 0; i <= size; i++) { + n = n << 8 | a[i]; + } + return n >>> 0; + } + function hexToStr(a, size) { + if (size === 1) { + return String.fromCharCode(a[0], a[1]); + } + if (size === 3) { + return String.fromCharCode(a[0], a[1], a[2], a[3]); + } + return String.fromCharCode.apply(null, a.subarray(0, size + 1)); + } + function addHex(a, b, size) { + var c = 0; + for (var i = size; i >= 0; i--) { + c += a[i] + b[i]; + a[i] = c & 255; + c >>= 8; + } + } + function incHex(a, size) { + var c = 1; + for (var i = size; i >= 0 && c > 0; i--) { + c += a[i]; + a[i] = c & 255; + c >>= 8; + } + } + var MAX_NUM_SIZE = 16; + var MAX_ENCODED_NUM_SIZE = 19; + function BinaryCMapStream(data) { + this.buffer = data; + this.pos = 0; + this.end = data.length; + this.tmpBuf = new Uint8Array(MAX_ENCODED_NUM_SIZE); + } + BinaryCMapStream.prototype = { + readByte: function () { + if (this.pos >= this.end) { + return -1; + } + return this.buffer[this.pos++]; + }, + readNumber: function () { + var n = 0; + var last; + do { + var b = this.readByte(); + if (b < 0) { + error('unexpected EOF in bcmap'); + } + last = !(b & 0x80); + n = n << 7 | b & 0x7F; + } while (!last); + return n; + }, + readSigned: function () { + var n = this.readNumber(); + return n & 1 ? ~(n >>> 1) : n >>> 1; + }, + readHex: function (num, size) { + num.set(this.buffer.subarray(this.pos, this.pos + size + 1)); + this.pos += size + 1; + }, + readHexNumber: function (num, size) { + var last; + var stack = this.tmpBuf, sp = 0; + do { + var b = this.readByte(); + if (b < 0) { + error('unexpected EOF in bcmap'); + } + last = !(b & 0x80); + stack[sp++] = b & 0x7F; + } while (!last); + var i = size, buffer = 0, bufferSize = 0; + while (i >= 0) { + while (bufferSize < 8 && stack.length > 0) { + buffer = stack[--sp] << bufferSize | buffer; + bufferSize += 7; + } + num[i] = buffer & 255; + i--; + buffer >>= 8; + bufferSize -= 8; + } + }, + readHexSigned: function (num, size) { + this.readHexNumber(num, size); + var sign = num[size] & 1 ? 255 : 0; + var c = 0; + for (var i = 0; i <= size; i++) { + c = (c & 1) << 8 | num[i]; + num[i] = c >> 1 ^ sign; + } + }, + readString: function () { + var len = this.readNumber(); + var s = ''; + for (var i = 0; i < len; i++) { + s += String.fromCharCode(this.readNumber()); + } + return s; + } + }; + function processBinaryCMap(data, cMap, extend) { + return new Promise(function (resolve, reject) { + var stream = new BinaryCMapStream(data); + var header = stream.readByte(); + cMap.vertical = !!(header & 1); + var useCMap = null; + var start = new Uint8Array(MAX_NUM_SIZE); + var end = new Uint8Array(MAX_NUM_SIZE); + var char = new Uint8Array(MAX_NUM_SIZE); + var charCode = new Uint8Array(MAX_NUM_SIZE); + var tmp = new Uint8Array(MAX_NUM_SIZE); + var code; + var b; + while ((b = stream.readByte()) >= 0) { + var type = b >> 5; + if (type === 7) { + switch (b & 0x1F) { + case 0: + stream.readString(); + break; + case 1: + useCMap = stream.readString(); + break; + } + continue; + } + var sequence = !!(b & 0x10); + var dataSize = b & 15; + assert(dataSize + 1 <= MAX_NUM_SIZE); + var ucs2DataSize = 1; + var subitemsCount = stream.readNumber(); + var i; + switch (type) { + case 0: + stream.readHex(start, dataSize); + stream.readHexNumber(end, dataSize); + addHex(end, start, dataSize); + cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize)); + for (i = 1; i < subitemsCount; i++) { + incHex(end, dataSize); + stream.readHexNumber(start, dataSize); + addHex(start, end, dataSize); + stream.readHexNumber(end, dataSize); + addHex(end, start, dataSize); + cMap.addCodespaceRange(dataSize + 1, hexToInt(start, dataSize), hexToInt(end, dataSize)); + } + break; + case 1: + stream.readHex(start, dataSize); + stream.readHexNumber(end, dataSize); + addHex(end, start, dataSize); + code = stream.readNumber(); + for (i = 1; i < subitemsCount; i++) { + incHex(end, dataSize); + stream.readHexNumber(start, dataSize); + addHex(start, end, dataSize); + stream.readHexNumber(end, dataSize); + addHex(end, start, dataSize); + code = stream.readNumber(); + } + break; + case 2: + stream.readHex(char, dataSize); + code = stream.readNumber(); + cMap.mapOne(hexToInt(char, dataSize), code); + for (i = 1; i < subitemsCount; i++) { + incHex(char, dataSize); + if (!sequence) { + stream.readHexNumber(tmp, dataSize); + addHex(char, tmp, dataSize); + } + code = stream.readSigned() + (code + 1); + cMap.mapOne(hexToInt(char, dataSize), code); + } + break; + case 3: + stream.readHex(start, dataSize); + stream.readHexNumber(end, dataSize); + addHex(end, start, dataSize); + code = stream.readNumber(); + cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code); + for (i = 1; i < subitemsCount; i++) { + incHex(end, dataSize); + if (!sequence) { + stream.readHexNumber(start, dataSize); + addHex(start, end, dataSize); + } else { + start.set(end); + } + stream.readHexNumber(end, dataSize); + addHex(end, start, dataSize); + code = stream.readNumber(); + cMap.mapCidRange(hexToInt(start, dataSize), hexToInt(end, dataSize), code); + } + break; + case 4: + stream.readHex(char, ucs2DataSize); + stream.readHex(charCode, dataSize); + cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize)); + for (i = 1; i < subitemsCount; i++) { + incHex(char, ucs2DataSize); + if (!sequence) { + stream.readHexNumber(tmp, ucs2DataSize); + addHex(char, tmp, ucs2DataSize); + } + incHex(charCode, dataSize); + stream.readHexSigned(tmp, dataSize); + addHex(charCode, tmp, dataSize); + cMap.mapOne(hexToInt(char, ucs2DataSize), hexToStr(charCode, dataSize)); + } + break; + case 5: + stream.readHex(start, ucs2DataSize); + stream.readHexNumber(end, ucs2DataSize); + addHex(end, start, ucs2DataSize); + stream.readHex(charCode, dataSize); + cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize)); + for (i = 1; i < subitemsCount; i++) { + incHex(end, ucs2DataSize); + if (!sequence) { + stream.readHexNumber(start, ucs2DataSize); + addHex(start, end, ucs2DataSize); + } else { + start.set(end); + } + stream.readHexNumber(end, ucs2DataSize); + addHex(end, start, ucs2DataSize); + stream.readHex(charCode, dataSize); + cMap.mapBfRange(hexToInt(start, ucs2DataSize), hexToInt(end, ucs2DataSize), hexToStr(charCode, dataSize)); + } + break; + default: + reject(new Error('processBinaryCMap: Unknown type: ' + type)); + return; + } + } + if (useCMap) { + resolve(extend(useCMap)); + return; + } + resolve(cMap); + }); + } + function BinaryCMapReader() { + } + BinaryCMapReader.prototype = { process: processBinaryCMap }; + return BinaryCMapReader; +}(); +var CMapFactory = function CMapFactoryClosure() { + function strToInt(str) { + var a = 0; + for (var i = 0; i < str.length; i++) { + a = a << 8 | str.charCodeAt(i); + } + return a >>> 0; + } + function expectString(obj) { + if (!isString(obj)) { + error('Malformed CMap: expected string.'); + } + } + function expectInt(obj) { + if (!isInt(obj)) { + error('Malformed CMap: expected int.'); + } + } + function parseBfChar(cMap, lexer) { + while (true) { + var obj = lexer.getObj(); + if (isEOF(obj)) { + break; + } + if (isCmd(obj, 'endbfchar')) { + return; + } + expectString(obj); + var src = strToInt(obj); + obj = lexer.getObj(); + expectString(obj); + var dst = obj; + cMap.mapOne(src, dst); + } + } + function parseBfRange(cMap, lexer) { + while (true) { + var obj = lexer.getObj(); + if (isEOF(obj)) { + break; + } + if (isCmd(obj, 'endbfrange')) { + return; + } + expectString(obj); + var low = strToInt(obj); + obj = lexer.getObj(); + expectString(obj); + var high = strToInt(obj); + obj = lexer.getObj(); + if (isInt(obj) || isString(obj)) { + var dstLow = isInt(obj) ? String.fromCharCode(obj) : obj; + cMap.mapBfRange(low, high, dstLow); + } else if (isCmd(obj, '[')) { + obj = lexer.getObj(); + var array = []; + while (!isCmd(obj, ']') && !isEOF(obj)) { + array.push(obj); + obj = lexer.getObj(); + } + cMap.mapBfRangeToArray(low, high, array); + } else { + break; + } + } + error('Invalid bf range.'); + } + function parseCidChar(cMap, lexer) { + while (true) { + var obj = lexer.getObj(); + if (isEOF(obj)) { + break; + } + if (isCmd(obj, 'endcidchar')) { + return; + } + expectString(obj); + var src = strToInt(obj); + obj = lexer.getObj(); + expectInt(obj); + var dst = obj; + cMap.mapOne(src, dst); + } + } + function parseCidRange(cMap, lexer) { + while (true) { + var obj = lexer.getObj(); + if (isEOF(obj)) { + break; + } + if (isCmd(obj, 'endcidrange')) { + return; + } + expectString(obj); + var low = strToInt(obj); + obj = lexer.getObj(); + expectString(obj); + var high = strToInt(obj); + obj = lexer.getObj(); + expectInt(obj); + var dstLow = obj; + cMap.mapCidRange(low, high, dstLow); + } + } + function parseCodespaceRange(cMap, lexer) { + while (true) { + var obj = lexer.getObj(); + if (isEOF(obj)) { + break; + } + if (isCmd(obj, 'endcodespacerange')) { + return; + } + if (!isString(obj)) { + break; + } + var low = strToInt(obj); + obj = lexer.getObj(); + if (!isString(obj)) { + break; + } + var high = strToInt(obj); + cMap.addCodespaceRange(obj.length, low, high); + } + error('Invalid codespace range.'); + } + function parseWMode(cMap, lexer) { + var obj = lexer.getObj(); + if (isInt(obj)) { + cMap.vertical = !!obj; + } + } + function parseCMapName(cMap, lexer) { + var obj = lexer.getObj(); + if (isName(obj) && isString(obj.name)) { + cMap.name = obj.name; + } + } + function parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap) { + var previous; + var embededUseCMap; + objLoop: + while (true) { + try { + var obj = lexer.getObj(); + if (isEOF(obj)) { + break; + } else if (isName(obj)) { + if (obj.name === 'WMode') { + parseWMode(cMap, lexer); + } else if (obj.name === 'CMapName') { + parseCMapName(cMap, lexer); + } + previous = obj; + } else if (isCmd(obj)) { + switch (obj.cmd) { + case 'endcmap': + break objLoop; + case 'usecmap': + if (isName(previous)) { + embededUseCMap = previous.name; + } + break; + case 'begincodespacerange': + parseCodespaceRange(cMap, lexer); + break; + case 'beginbfchar': + parseBfChar(cMap, lexer); + break; + case 'begincidchar': + parseCidChar(cMap, lexer); + break; + case 'beginbfrange': + parseBfRange(cMap, lexer); + break; + case 'begincidrange': + parseCidRange(cMap, lexer); + break; + } + } + } catch (ex) { + if (ex instanceof MissingDataException) { + throw ex; + } + warn('Invalid cMap data: ' + ex); + continue; + } + } + if (!useCMap && embededUseCMap) { + useCMap = embededUseCMap; + } + if (useCMap) { + return extendCMap(cMap, fetchBuiltInCMap, useCMap); + } + return Promise.resolve(cMap); + } + function extendCMap(cMap, fetchBuiltInCMap, useCMap) { + return createBuiltInCMap(useCMap, fetchBuiltInCMap).then(function (newCMap) { + cMap.useCMap = newCMap; + if (cMap.numCodespaceRanges === 0) { + var useCodespaceRanges = cMap.useCMap.codespaceRanges; + for (var i = 0; i < useCodespaceRanges.length; i++) { + cMap.codespaceRanges[i] = useCodespaceRanges[i].slice(); + } + cMap.numCodespaceRanges = cMap.useCMap.numCodespaceRanges; + } + cMap.useCMap.forEach(function (key, value) { + if (!cMap.contains(key)) { + cMap.mapOne(key, cMap.useCMap.lookup(key)); + } + }); + return cMap; + }); + } + function createBuiltInCMap(name, fetchBuiltInCMap) { + if (name === 'Identity-H') { + return Promise.resolve(new IdentityCMap(false, 2)); + } else if (name === 'Identity-V') { + return Promise.resolve(new IdentityCMap(true, 2)); + } + if (BUILT_IN_CMAPS.indexOf(name) === -1) { + return Promise.reject(new Error('Unknown cMap name: ' + name)); + } + assert(fetchBuiltInCMap, 'Built-in CMap parameters are not provided.'); + return fetchBuiltInCMap(name).then(function (data) { + var cMapData = data.cMapData, compressionType = data.compressionType; + var cMap = new CMap(true); + if (compressionType === CMapCompressionType.BINARY) { + return new BinaryCMapReader().process(cMapData, cMap, function (useCMap) { + return extendCMap(cMap, fetchBuiltInCMap, useCMap); + }); + } + assert(compressionType === CMapCompressionType.NONE, 'TODO: Only BINARY/NONE CMap compression is currently supported.'); + var lexer = new Lexer(new Stream(cMapData)); + return parseCMap(cMap, lexer, fetchBuiltInCMap, null); + }); + } + return { + create: function (params) { + var encoding = params.encoding; + var fetchBuiltInCMap = params.fetchBuiltInCMap; + var useCMap = params.useCMap; + if (isName(encoding)) { + return createBuiltInCMap(encoding.name, fetchBuiltInCMap); + } else if (isStream(encoding)) { + var cMap = new CMap(); + var lexer = new Lexer(encoding); + return parseCMap(cMap, lexer, fetchBuiltInCMap, useCMap).then(function (parsedCMap) { + if (parsedCMap.isIdentityCMap) { + return createBuiltInCMap(parsedCMap.name, fetchBuiltInCMap); + } + return parsedCMap; + }); + } + return Promise.reject(new Error('Encoding required.')); + } + }; +}(); +exports.CMap = CMap; +exports.CMapFactory = CMapFactory; +exports.IdentityCMap = IdentityCMap; + +/***/ }), +/* 24 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreStream = __w_pdfjs_require__(2); +var coreObj = __w_pdfjs_require__(16); +var coreParser = __w_pdfjs_require__(5); +var coreCrypto = __w_pdfjs_require__(13); +var coreEvaluator = __w_pdfjs_require__(14); +var coreAnnotation = __w_pdfjs_require__(20); +var OPS = sharedUtil.OPS; +var MissingDataException = sharedUtil.MissingDataException; +var Util = sharedUtil.Util; +var assert = sharedUtil.assert; +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var isArrayBuffer = sharedUtil.isArrayBuffer; +var isNum = sharedUtil.isNum; +var isString = sharedUtil.isString; +var shadow = sharedUtil.shadow; +var stringToBytes = sharedUtil.stringToBytes; +var stringToPDFString = sharedUtil.stringToPDFString; +var warn = sharedUtil.warn; +var isSpace = sharedUtil.isSpace; +var Dict = corePrimitives.Dict; +var isDict = corePrimitives.isDict; +var isName = corePrimitives.isName; +var isStream = corePrimitives.isStream; +var NullStream = coreStream.NullStream; +var Stream = coreStream.Stream; +var StreamsSequenceStream = coreStream.StreamsSequenceStream; +var Catalog = coreObj.Catalog; +var ObjectLoader = coreObj.ObjectLoader; +var XRef = coreObj.XRef; +var Linearization = coreParser.Linearization; +var calculateMD5 = coreCrypto.calculateMD5; +var OperatorList = coreEvaluator.OperatorList; +var PartialEvaluator = coreEvaluator.PartialEvaluator; +var AnnotationFactory = coreAnnotation.AnnotationFactory; +var Page = function PageClosure() { + var DEFAULT_USER_UNIT = 1.0; + var LETTER_SIZE_MEDIABOX = [ + 0, + 0, + 612, + 792 + ]; + function isAnnotationRenderable(annotation, intent) { + return intent === 'display' && annotation.viewable || intent === 'print' && annotation.printable; + } + function Page(pdfManager, xref, pageIndex, pageDict, ref, fontCache, builtInCMapCache) { + this.pdfManager = pdfManager; + this.pageIndex = pageIndex; + this.pageDict = pageDict; + this.xref = xref; + this.ref = ref; + this.fontCache = fontCache; + this.builtInCMapCache = builtInCMapCache; + this.evaluatorOptions = pdfManager.evaluatorOptions; + this.resourcesPromise = null; + var uniquePrefix = 'p' + this.pageIndex + '_'; + var idCounters = { obj: 0 }; + this.idFactory = { + createObjId: function () { + return uniquePrefix + ++idCounters.obj; + } + }; + } + Page.prototype = { + getPageProp: function Page_getPageProp(key) { + return this.pageDict.get(key); + }, + getInheritedPageProp: function Page_getInheritedPageProp(key, getArray) { + var dict = this.pageDict, valueArray = null, loopCount = 0; + var MAX_LOOP_COUNT = 100; + getArray = getArray || false; + while (dict) { + var value = getArray ? dict.getArray(key) : dict.get(key); + if (value !== undefined) { + if (!valueArray) { + valueArray = []; + } + valueArray.push(value); + } + if (++loopCount > MAX_LOOP_COUNT) { + warn('getInheritedPageProp: maximum loop count exceeded for ' + key); + return valueArray ? valueArray[0] : undefined; + } + dict = dict.get('Parent'); + } + if (!valueArray) { + return undefined; + } + if (valueArray.length === 1 || !isDict(valueArray[0])) { + return valueArray[0]; + } + return Dict.merge(this.xref, valueArray); + }, + get content() { + return this.getPageProp('Contents'); + }, + get resources() { + return shadow(this, 'resources', this.getInheritedPageProp('Resources') || Dict.empty); + }, + get mediaBox() { + var mediaBox = this.getInheritedPageProp('MediaBox', true); + if (!isArray(mediaBox) || mediaBox.length !== 4) { + return shadow(this, 'mediaBox', LETTER_SIZE_MEDIABOX); + } + return shadow(this, 'mediaBox', mediaBox); + }, + get cropBox() { + var cropBox = this.getInheritedPageProp('CropBox', true); + if (!isArray(cropBox) || cropBox.length !== 4) { + return shadow(this, 'cropBox', this.mediaBox); + } + return shadow(this, 'cropBox', cropBox); + }, + get userUnit() { + var obj = this.getPageProp('UserUnit'); + if (!isNum(obj) || obj <= 0) { + obj = DEFAULT_USER_UNIT; + } + return shadow(this, 'userUnit', obj); + }, + get view() { + var mediaBox = this.mediaBox, cropBox = this.cropBox; + if (mediaBox === cropBox) { + return shadow(this, 'view', mediaBox); + } + var intersection = Util.intersect(cropBox, mediaBox); + return shadow(this, 'view', intersection || mediaBox); + }, + get rotate() { + var rotate = this.getInheritedPageProp('Rotate') || 0; + if (rotate % 90 !== 0) { + rotate = 0; + } else if (rotate >= 360) { + rotate = rotate % 360; + } else if (rotate < 0) { + rotate = (rotate % 360 + 360) % 360; + } + return shadow(this, 'rotate', rotate); + }, + getContentStream: function Page_getContentStream() { + var content = this.content; + var stream; + if (isArray(content)) { + var xref = this.xref; + var i, n = content.length; + var streams = []; + for (i = 0; i < n; ++i) { + streams.push(xref.fetchIfRef(content[i])); + } + stream = new StreamsSequenceStream(streams); + } else if (isStream(content)) { + stream = content; + } else { + stream = new NullStream(); + } + return stream; + }, + loadResources: function Page_loadResources(keys) { + if (!this.resourcesPromise) { + this.resourcesPromise = this.pdfManager.ensure(this, 'resources'); + } + return this.resourcesPromise.then(function resourceSuccess() { + var objectLoader = new ObjectLoader(this.resources.map, keys, this.xref); + return objectLoader.load(); + }.bind(this)); + }, + getOperatorList: function Page_getOperatorList(handler, task, intent, renderInteractiveForms) { + var self = this; + var pdfManager = this.pdfManager; + var contentStreamPromise = pdfManager.ensure(this, 'getContentStream', []); + var resourcesPromise = this.loadResources([ + 'ExtGState', + 'ColorSpace', + 'Pattern', + 'Shading', + 'XObject', + 'Font' + ]); + var partialEvaluator = new PartialEvaluator(pdfManager, this.xref, handler, this.pageIndex, this.idFactory, this.fontCache, this.builtInCMapCache, this.evaluatorOptions); + var dataPromises = Promise.all([ + contentStreamPromise, + resourcesPromise + ]); + var pageListPromise = dataPromises.then(function (data) { + var contentStream = data[0]; + var opList = new OperatorList(intent, handler, self.pageIndex); + handler.send('StartRenderPage', { + transparency: partialEvaluator.hasBlendModes(self.resources), + pageIndex: self.pageIndex, + intent: intent + }); + return partialEvaluator.getOperatorList(contentStream, task, self.resources, opList).then(function () { + return opList; + }); + }); + var annotationsPromise = pdfManager.ensure(this, 'annotations'); + return Promise.all([ + pageListPromise, + annotationsPromise + ]).then(function (datas) { + var pageOpList = datas[0]; + var annotations = datas[1]; + if (annotations.length === 0) { + pageOpList.flush(true); + return pageOpList; + } + var i, ii, opListPromises = []; + for (i = 0, ii = annotations.length; i < ii; i++) { + if (isAnnotationRenderable(annotations[i], intent)) { + opListPromises.push(annotations[i].getOperatorList(partialEvaluator, task, renderInteractiveForms)); + } + } + return Promise.all(opListPromises).then(function (opLists) { + pageOpList.addOp(OPS.beginAnnotations, []); + for (i = 0, ii = opLists.length; i < ii; i++) { + pageOpList.addOpList(opLists[i]); + } + pageOpList.addOp(OPS.endAnnotations, []); + pageOpList.flush(true); + return pageOpList; + }); + }); + }, + extractTextContent: function Page_extractTextContent(task, normalizeWhitespace, combineTextItems) { + var handler = { + on: function nullHandlerOn() { + }, + send: function nullHandlerSend() { + } + }; + var self = this; + var pdfManager = this.pdfManager; + var contentStreamPromise = pdfManager.ensure(this, 'getContentStream', []); + var resourcesPromise = this.loadResources([ + 'ExtGState', + 'XObject', + 'Font' + ]); + var dataPromises = Promise.all([ + contentStreamPromise, + resourcesPromise + ]); + return dataPromises.then(function (data) { + var contentStream = data[0]; + var partialEvaluator = new PartialEvaluator(pdfManager, self.xref, handler, self.pageIndex, self.idFactory, self.fontCache, self.builtInCMapCache, self.evaluatorOptions); + return partialEvaluator.getTextContent(contentStream, task, self.resources, null, normalizeWhitespace, combineTextItems); + }); + }, + getAnnotationsData: function Page_getAnnotationsData(intent) { + var annotations = this.annotations; + var annotationsData = []; + for (var i = 0, n = annotations.length; i < n; ++i) { + if (!intent || isAnnotationRenderable(annotations[i], intent)) { + annotationsData.push(annotations[i].data); + } + } + return annotationsData; + }, + get annotations() { + var annotations = []; + var annotationRefs = this.getInheritedPageProp('Annots') || []; + var annotationFactory = new AnnotationFactory(); + for (var i = 0, n = annotationRefs.length; i < n; ++i) { + var annotationRef = annotationRefs[i]; + var annotation = annotationFactory.create(this.xref, annotationRef, this.pdfManager, this.idFactory); + if (annotation) { + annotations.push(annotation); + } + } + return shadow(this, 'annotations', annotations); + } + }; + return Page; +}(); +var PDFDocument = function PDFDocumentClosure() { + var FINGERPRINT_FIRST_BYTES = 1024; + var EMPTY_FINGERPRINT = '\x00\x00\x00\x00\x00\x00\x00' + '\x00\x00\x00\x00\x00\x00\x00\x00\x00'; + function PDFDocument(pdfManager, arg) { + var stream; + if (isStream(arg)) { + stream = arg; + } else if (isArrayBuffer(arg)) { + stream = new Stream(arg); + } else { + error('PDFDocument: Unknown argument type'); + } + assert(stream.length > 0, 'stream must have data'); + this.pdfManager = pdfManager; + this.stream = stream; + this.xref = new XRef(stream, pdfManager); + } + function find(stream, needle, limit, backwards) { + var pos = stream.pos; + var end = stream.end; + var strBuf = []; + if (pos + limit > end) { + limit = end - pos; + } + for (var n = 0; n < limit; ++n) { + strBuf.push(String.fromCharCode(stream.getByte())); + } + var str = strBuf.join(''); + stream.pos = pos; + var index = backwards ? str.lastIndexOf(needle) : str.indexOf(needle); + if (index === -1) { + return false; + } + stream.pos += index; + return true; + } + var DocumentInfoValidators = { + get entries() { + return shadow(this, 'entries', { + Title: isString, + Author: isString, + Subject: isString, + Keywords: isString, + Creator: isString, + Producer: isString, + CreationDate: isString, + ModDate: isString, + Trapped: isName + }); + } + }; + PDFDocument.prototype = { + parse: function PDFDocument_parse(recoveryMode) { + this.setup(recoveryMode); + var version = this.catalog.catDict.get('Version'); + if (isName(version)) { + this.pdfFormatVersion = version.name; + } + try { + this.acroForm = this.catalog.catDict.get('AcroForm'); + if (this.acroForm) { + this.xfa = this.acroForm.get('XFA'); + var fields = this.acroForm.get('Fields'); + if ((!fields || !isArray(fields) || fields.length === 0) && !this.xfa) { + this.acroForm = null; + } + } + } catch (ex) { + info('Something wrong with AcroForm entry'); + this.acroForm = null; + } + }, + get linearization() { + var linearization = null; + if (this.stream.length) { + try { + linearization = Linearization.create(this.stream); + } catch (err) { + if (err instanceof MissingDataException) { + throw err; + } + info(err); + } + } + return shadow(this, 'linearization', linearization); + }, + get startXRef() { + var stream = this.stream; + var startXRef = 0; + var linearization = this.linearization; + if (linearization) { + stream.reset(); + if (find(stream, 'endobj', 1024)) { + startXRef = stream.pos + 6; + } + } else { + var step = 1024; + var found = false, pos = stream.end; + while (!found && pos > 0) { + pos -= step - 'startxref'.length; + if (pos < 0) { + pos = 0; + } + stream.pos = pos; + found = find(stream, 'startxref', step, true); + } + if (found) { + stream.skip(9); + var ch; + do { + ch = stream.getByte(); + } while (isSpace(ch)); + var str = ''; + while (ch >= 0x20 && ch <= 0x39) { + str += String.fromCharCode(ch); + ch = stream.getByte(); + } + startXRef = parseInt(str, 10); + if (isNaN(startXRef)) { + startXRef = 0; + } + } + } + return shadow(this, 'startXRef', startXRef); + }, + get mainXRefEntriesOffset() { + var mainXRefEntriesOffset = 0; + var linearization = this.linearization; + if (linearization) { + mainXRefEntriesOffset = linearization.mainXRefEntriesOffset; + } + return shadow(this, 'mainXRefEntriesOffset', mainXRefEntriesOffset); + }, + checkHeader: function PDFDocument_checkHeader() { + var stream = this.stream; + stream.reset(); + if (find(stream, '%PDF-', 1024)) { + stream.moveStart(); + var MAX_VERSION_LENGTH = 12; + var version = '', ch; + while ((ch = stream.getByte()) > 0x20) { + if (version.length >= MAX_VERSION_LENGTH) { + break; + } + version += String.fromCharCode(ch); + } + if (!this.pdfFormatVersion) { + this.pdfFormatVersion = version.substring(5); + } + return; + } + }, + parseStartXRef: function PDFDocument_parseStartXRef() { + var startXRef = this.startXRef; + this.xref.setStartXRef(startXRef); + }, + setup: function PDFDocument_setup(recoveryMode) { + this.xref.parse(recoveryMode); + var self = this; + var pageFactory = { + createPage: function (pageIndex, dict, ref, fontCache, builtInCMapCache) { + return new Page(self.pdfManager, self.xref, pageIndex, dict, ref, fontCache, builtInCMapCache); + } + }; + this.catalog = new Catalog(this.pdfManager, this.xref, pageFactory); + }, + get numPages() { + var linearization = this.linearization; + var num = linearization ? linearization.numPages : this.catalog.numPages; + return shadow(this, 'numPages', num); + }, + get documentInfo() { + var docInfo = { + PDFFormatVersion: this.pdfFormatVersion, + IsAcroFormPresent: !!this.acroForm, + IsXFAPresent: !!this.xfa + }; + var infoDict; + try { + infoDict = this.xref.trailer.get('Info'); + } catch (err) { + info('The document information dictionary is invalid.'); + } + if (infoDict) { + var validEntries = DocumentInfoValidators.entries; + for (var key in validEntries) { + if (infoDict.has(key)) { + var value = infoDict.get(key); + if (validEntries[key](value)) { + docInfo[key] = typeof value !== 'string' ? value : stringToPDFString(value); + } else { + info('Bad value in document info for "' + key + '"'); + } + } + } + } + return shadow(this, 'documentInfo', docInfo); + }, + get fingerprint() { + var xref = this.xref, hash, fileID = ''; + var idArray = xref.trailer.get('ID'); + if (idArray && isArray(idArray) && idArray[0] && isString(idArray[0]) && idArray[0] !== EMPTY_FINGERPRINT) { + hash = stringToBytes(idArray[0]); + } else { + if (this.stream.ensureRange) { + this.stream.ensureRange(0, Math.min(FINGERPRINT_FIRST_BYTES, this.stream.end)); + } + hash = calculateMD5(this.stream.bytes.subarray(0, FINGERPRINT_FIRST_BYTES), 0, FINGERPRINT_FIRST_BYTES); + } + for (var i = 0, n = hash.length; i < n; i++) { + var hex = hash[i].toString(16); + fileID += hex.length === 1 ? '0' + hex : hex; + } + return shadow(this, 'fingerprint', fileID); + }, + getPage: function PDFDocument_getPage(pageIndex) { + return this.catalog.getPage(pageIndex); + }, + cleanup: function PDFDocument_cleanup() { + return this.catalog.cleanup(); + } + }; + return PDFDocument; +}(); +exports.Page = Page; +exports.PDFDocument = PDFDocument; + +/***/ }), +/* 25 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var coreStream = __w_pdfjs_require__(2); +var coreGlyphList = __w_pdfjs_require__(7); +var coreEncodings = __w_pdfjs_require__(4); +var coreCFFParser = __w_pdfjs_require__(11); +var Util = sharedUtil.Util; +var bytesToString = sharedUtil.bytesToString; +var error = sharedUtil.error; +var Stream = coreStream.Stream; +var getGlyphsUnicode = coreGlyphList.getGlyphsUnicode; +var StandardEncoding = coreEncodings.StandardEncoding; +var CFFParser = coreCFFParser.CFFParser; +var FontRendererFactory = function FontRendererFactoryClosure() { + function getLong(data, offset) { + return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]; + } + function getUshort(data, offset) { + return data[offset] << 8 | data[offset + 1]; + } + function parseCmap(data, start, end) { + var offset = getUshort(data, start + 2) === 1 ? getLong(data, start + 8) : getLong(data, start + 16); + var format = getUshort(data, start + offset); + var ranges, p, i; + if (format === 4) { + getUshort(data, start + offset + 2); + var segCount = getUshort(data, start + offset + 6) >> 1; + p = start + offset + 14; + ranges = []; + for (i = 0; i < segCount; i++, p += 2) { + ranges[i] = { end: getUshort(data, p) }; + } + p += 2; + for (i = 0; i < segCount; i++, p += 2) { + ranges[i].start = getUshort(data, p); + } + for (i = 0; i < segCount; i++, p += 2) { + ranges[i].idDelta = getUshort(data, p); + } + for (i = 0; i < segCount; i++, p += 2) { + var idOffset = getUshort(data, p); + if (idOffset === 0) { + continue; + } + ranges[i].ids = []; + for (var j = 0, jj = ranges[i].end - ranges[i].start + 1; j < jj; j++) { + ranges[i].ids[j] = getUshort(data, p + idOffset); + idOffset += 2; + } + } + return ranges; + } else if (format === 12) { + getLong(data, start + offset + 4); + var groups = getLong(data, start + offset + 12); + p = start + offset + 16; + ranges = []; + for (i = 0; i < groups; i++) { + ranges.push({ + start: getLong(data, p), + end: getLong(data, p + 4), + idDelta: getLong(data, p + 8) - getLong(data, p) + }); + p += 12; + } + return ranges; + } + error('not supported cmap: ' + format); + } + function parseCff(data, start, end, seacAnalysisEnabled) { + var properties = {}; + var parser = new CFFParser(new Stream(data, start, end - start), properties, seacAnalysisEnabled); + var cff = parser.parse(); + return { + glyphs: cff.charStrings.objects, + subrs: cff.topDict.privateDict && cff.topDict.privateDict.subrsIndex && cff.topDict.privateDict.subrsIndex.objects, + gsubrs: cff.globalSubrIndex && cff.globalSubrIndex.objects + }; + } + function parseGlyfTable(glyf, loca, isGlyphLocationsLong) { + var itemSize, itemDecode; + if (isGlyphLocationsLong) { + itemSize = 4; + itemDecode = function fontItemDecodeLong(data, offset) { + return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]; + }; + } else { + itemSize = 2; + itemDecode = function fontItemDecode(data, offset) { + return data[offset] << 9 | data[offset + 1] << 1; + }; + } + var glyphs = []; + var startOffset = itemDecode(loca, 0); + for (var j = itemSize; j < loca.length; j += itemSize) { + var endOffset = itemDecode(loca, j); + glyphs.push(glyf.subarray(startOffset, endOffset)); + startOffset = endOffset; + } + return glyphs; + } + function lookupCmap(ranges, unicode) { + var code = unicode.charCodeAt(0), gid = 0; + var l = 0, r = ranges.length - 1; + while (l < r) { + var c = l + r + 1 >> 1; + if (code < ranges[c].start) { + r = c - 1; + } else { + l = c; + } + } + if (ranges[l].start <= code && code <= ranges[l].end) { + gid = ranges[l].idDelta + (ranges[l].ids ? ranges[l].ids[code - ranges[l].start] : code) & 0xFFFF; + } + return { + charCode: code, + glyphId: gid + }; + } + function compileGlyf(code, cmds, font) { + function moveTo(x, y) { + cmds.push({ + cmd: 'moveTo', + args: [ + x, + y + ] + }); + } + function lineTo(x, y) { + cmds.push({ + cmd: 'lineTo', + args: [ + x, + y + ] + }); + } + function quadraticCurveTo(xa, ya, x, y) { + cmds.push({ + cmd: 'quadraticCurveTo', + args: [ + xa, + ya, + x, + y + ] + }); + } + var i = 0; + var numberOfContours = (code[i] << 24 | code[i + 1] << 16) >> 16; + var flags; + var x = 0, y = 0; + i += 10; + if (numberOfContours < 0) { + do { + flags = code[i] << 8 | code[i + 1]; + var glyphIndex = code[i + 2] << 8 | code[i + 3]; + i += 4; + var arg1, arg2; + if (flags & 0x01) { + arg1 = (code[i] << 24 | code[i + 1] << 16) >> 16; + arg2 = (code[i + 2] << 24 | code[i + 3] << 16) >> 16; + i += 4; + } else { + arg1 = code[i++]; + arg2 = code[i++]; + } + if (flags & 0x02) { + x = arg1; + y = arg2; + } else { + x = 0; + y = 0; + } + var scaleX = 1, scaleY = 1, scale01 = 0, scale10 = 0; + if (flags & 0x08) { + scaleX = scaleY = (code[i] << 24 | code[i + 1] << 16) / 1073741824; + i += 2; + } else if (flags & 0x40) { + scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824; + scaleY = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824; + i += 4; + } else if (flags & 0x80) { + scaleX = (code[i] << 24 | code[i + 1] << 16) / 1073741824; + scale01 = (code[i + 2] << 24 | code[i + 3] << 16) / 1073741824; + scale10 = (code[i + 4] << 24 | code[i + 5] << 16) / 1073741824; + scaleY = (code[i + 6] << 24 | code[i + 7] << 16) / 1073741824; + i += 8; + } + var subglyph = font.glyphs[glyphIndex]; + if (subglyph) { + cmds.push({ cmd: 'save' }); + cmds.push({ + cmd: 'transform', + args: [ + scaleX, + scale01, + scale10, + scaleY, + x, + y + ] + }); + compileGlyf(subglyph, cmds, font); + cmds.push({ cmd: 'restore' }); + } + } while (flags & 0x20); + } else { + var endPtsOfContours = []; + var j, jj; + for (j = 0; j < numberOfContours; j++) { + endPtsOfContours.push(code[i] << 8 | code[i + 1]); + i += 2; + } + var instructionLength = code[i] << 8 | code[i + 1]; + i += 2 + instructionLength; + var numberOfPoints = endPtsOfContours[endPtsOfContours.length - 1] + 1; + var points = []; + while (points.length < numberOfPoints) { + flags = code[i++]; + var repeat = 1; + if (flags & 0x08) { + repeat += code[i++]; + } + while (repeat-- > 0) { + points.push({ flags: flags }); + } + } + for (j = 0; j < numberOfPoints; j++) { + switch (points[j].flags & 0x12) { + case 0x00: + x += (code[i] << 24 | code[i + 1] << 16) >> 16; + i += 2; + break; + case 0x02: + x -= code[i++]; + break; + case 0x12: + x += code[i++]; + break; + } + points[j].x = x; + } + for (j = 0; j < numberOfPoints; j++) { + switch (points[j].flags & 0x24) { + case 0x00: + y += (code[i] << 24 | code[i + 1] << 16) >> 16; + i += 2; + break; + case 0x04: + y -= code[i++]; + break; + case 0x24: + y += code[i++]; + break; + } + points[j].y = y; + } + var startPoint = 0; + for (i = 0; i < numberOfContours; i++) { + var endPoint = endPtsOfContours[i]; + var contour = points.slice(startPoint, endPoint + 1); + if (contour[0].flags & 1) { + contour.push(contour[0]); + } else if (contour[contour.length - 1].flags & 1) { + contour.unshift(contour[contour.length - 1]); + } else { + var p = { + flags: 1, + x: (contour[0].x + contour[contour.length - 1].x) / 2, + y: (contour[0].y + contour[contour.length - 1].y) / 2 + }; + contour.unshift(p); + contour.push(p); + } + moveTo(contour[0].x, contour[0].y); + for (j = 1, jj = contour.length; j < jj; j++) { + if (contour[j].flags & 1) { + lineTo(contour[j].x, contour[j].y); + } else if (contour[j + 1].flags & 1) { + quadraticCurveTo(contour[j].x, contour[j].y, contour[j + 1].x, contour[j + 1].y); + j++; + } else { + quadraticCurveTo(contour[j].x, contour[j].y, (contour[j].x + contour[j + 1].x) / 2, (contour[j].y + contour[j + 1].y) / 2); + } + } + startPoint = endPoint + 1; + } + } + } + function compileCharString(code, cmds, font) { + var stack = []; + var x = 0, y = 0; + var stems = 0; + function moveTo(x, y) { + cmds.push({ + cmd: 'moveTo', + args: [ + x, + y + ] + }); + } + function lineTo(x, y) { + cmds.push({ + cmd: 'lineTo', + args: [ + x, + y + ] + }); + } + function bezierCurveTo(x1, y1, x2, y2, x, y) { + cmds.push({ + cmd: 'bezierCurveTo', + args: [ + x1, + y1, + x2, + y2, + x, + y + ] + }); + } + function parse(code) { + var i = 0; + while (i < code.length) { + var stackClean = false; + var v = code[i++]; + var xa, xb, ya, yb, y1, y2, y3, n, subrCode; + switch (v) { + case 1: + stems += stack.length >> 1; + stackClean = true; + break; + case 3: + stems += stack.length >> 1; + stackClean = true; + break; + case 4: + y += stack.pop(); + moveTo(x, y); + stackClean = true; + break; + case 5: + while (stack.length > 0) { + x += stack.shift(); + y += stack.shift(); + lineTo(x, y); + } + break; + case 6: + while (stack.length > 0) { + x += stack.shift(); + lineTo(x, y); + if (stack.length === 0) { + break; + } + y += stack.shift(); + lineTo(x, y); + } + break; + case 7: + while (stack.length > 0) { + y += stack.shift(); + lineTo(x, y); + if (stack.length === 0) { + break; + } + x += stack.shift(); + lineTo(x, y); + } + break; + case 8: + while (stack.length > 0) { + xa = x + stack.shift(); + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + stack.shift(); + bezierCurveTo(xa, ya, xb, yb, x, y); + } + break; + case 10: + n = stack.pop() + font.subrsBias; + subrCode = font.subrs[n]; + if (subrCode) { + parse(subrCode); + } + break; + case 11: + return; + case 12: + v = code[i++]; + switch (v) { + case 34: + xa = x + stack.shift(); + xb = xa + stack.shift(); + y1 = y + stack.shift(); + x = xb + stack.shift(); + bezierCurveTo(xa, y, xb, y1, x, y1); + xa = x + stack.shift(); + xb = xa + stack.shift(); + x = xb + stack.shift(); + bezierCurveTo(xa, y1, xb, y, x, y); + break; + case 35: + xa = x + stack.shift(); + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + stack.shift(); + bezierCurveTo(xa, ya, xb, yb, x, y); + xa = x + stack.shift(); + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + stack.shift(); + bezierCurveTo(xa, ya, xb, yb, x, y); + stack.pop(); + break; + case 36: + xa = x + stack.shift(); + y1 = y + stack.shift(); + xb = xa + stack.shift(); + y2 = y1 + stack.shift(); + x = xb + stack.shift(); + bezierCurveTo(xa, y1, xb, y2, x, y2); + xa = x + stack.shift(); + xb = xa + stack.shift(); + y3 = y2 + stack.shift(); + x = xb + stack.shift(); + bezierCurveTo(xa, y2, xb, y3, x, y); + break; + case 37: + var x0 = x, y0 = y; + xa = x + stack.shift(); + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + stack.shift(); + bezierCurveTo(xa, ya, xb, yb, x, y); + xa = x + stack.shift(); + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb; + y = yb; + if (Math.abs(x - x0) > Math.abs(y - y0)) { + x += stack.shift(); + } else { + y += stack.shift(); + } + bezierCurveTo(xa, ya, xb, yb, x, y); + break; + default: + error('unknown operator: 12 ' + v); + } + break; + case 14: + if (stack.length >= 4) { + var achar = stack.pop(); + var bchar = stack.pop(); + y = stack.pop(); + x = stack.pop(); + cmds.push({ cmd: 'save' }); + cmds.push({ + cmd: 'translate', + args: [ + x, + y + ] + }); + var cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[StandardEncoding[achar]])); + compileCharString(font.glyphs[cmap.glyphId], cmds, font); + cmds.push({ cmd: 'restore' }); + cmap = lookupCmap(font.cmap, String.fromCharCode(font.glyphNameMap[StandardEncoding[bchar]])); + compileCharString(font.glyphs[cmap.glyphId], cmds, font); + } + return; + case 18: + stems += stack.length >> 1; + stackClean = true; + break; + case 19: + stems += stack.length >> 1; + i += stems + 7 >> 3; + stackClean = true; + break; + case 20: + stems += stack.length >> 1; + i += stems + 7 >> 3; + stackClean = true; + break; + case 21: + y += stack.pop(); + x += stack.pop(); + moveTo(x, y); + stackClean = true; + break; + case 22: + x += stack.pop(); + moveTo(x, y); + stackClean = true; + break; + case 23: + stems += stack.length >> 1; + stackClean = true; + break; + case 24: + while (stack.length > 2) { + xa = x + stack.shift(); + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + stack.shift(); + bezierCurveTo(xa, ya, xb, yb, x, y); + } + x += stack.shift(); + y += stack.shift(); + lineTo(x, y); + break; + case 25: + while (stack.length > 6) { + x += stack.shift(); + y += stack.shift(); + lineTo(x, y); + } + xa = x + stack.shift(); + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + stack.shift(); + bezierCurveTo(xa, ya, xb, yb, x, y); + break; + case 26: + if (stack.length % 2) { + x += stack.shift(); + } + while (stack.length > 0) { + xa = x; + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb; + y = yb + stack.shift(); + bezierCurveTo(xa, ya, xb, yb, x, y); + } + break; + case 27: + if (stack.length % 2) { + y += stack.shift(); + } + while (stack.length > 0) { + xa = x + stack.shift(); + ya = y; + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb; + bezierCurveTo(xa, ya, xb, yb, x, y); + } + break; + case 28: + stack.push((code[i] << 24 | code[i + 1] << 16) >> 16); + i += 2; + break; + case 29: + n = stack.pop() + font.gsubrsBias; + subrCode = font.gsubrs[n]; + if (subrCode) { + parse(subrCode); + } + break; + case 30: + while (stack.length > 0) { + xa = x; + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + (stack.length === 1 ? stack.shift() : 0); + bezierCurveTo(xa, ya, xb, yb, x, y); + if (stack.length === 0) { + break; + } + xa = x + stack.shift(); + ya = y; + xb = xa + stack.shift(); + yb = ya + stack.shift(); + y = yb + stack.shift(); + x = xb + (stack.length === 1 ? stack.shift() : 0); + bezierCurveTo(xa, ya, xb, yb, x, y); + } + break; + case 31: + while (stack.length > 0) { + xa = x + stack.shift(); + ya = y; + xb = xa + stack.shift(); + yb = ya + stack.shift(); + y = yb + stack.shift(); + x = xb + (stack.length === 1 ? stack.shift() : 0); + bezierCurveTo(xa, ya, xb, yb, x, y); + if (stack.length === 0) { + break; + } + xa = x; + ya = y + stack.shift(); + xb = xa + stack.shift(); + yb = ya + stack.shift(); + x = xb + stack.shift(); + y = yb + (stack.length === 1 ? stack.shift() : 0); + bezierCurveTo(xa, ya, xb, yb, x, y); + } + break; + default: + if (v < 32) { + error('unknown operator: ' + v); + } + if (v < 247) { + stack.push(v - 139); + } else if (v < 251) { + stack.push((v - 247) * 256 + code[i++] + 108); + } else if (v < 255) { + stack.push(-(v - 251) * 256 - code[i++] - 108); + } else { + stack.push((code[i] << 24 | code[i + 1] << 16 | code[i + 2] << 8 | code[i + 3]) / 65536); + i += 4; + } + break; + } + if (stackClean) { + stack.length = 0; + } + } + } + parse(code); + } + var noop = ''; + function CompiledFont(fontMatrix) { + this.compiledGlyphs = Object.create(null); + this.compiledCharCodeToGlyphId = Object.create(null); + this.fontMatrix = fontMatrix; + } + CompiledFont.prototype = { + getPathJs: function (unicode) { + var cmap = lookupCmap(this.cmap, unicode); + var fn = this.compiledGlyphs[cmap.glyphId]; + if (!fn) { + fn = this.compileGlyph(this.glyphs[cmap.glyphId]); + this.compiledGlyphs[cmap.glyphId] = fn; + } + if (this.compiledCharCodeToGlyphId[cmap.charCode] === undefined) { + this.compiledCharCodeToGlyphId[cmap.charCode] = cmap.glyphId; + } + return fn; + }, + compileGlyph: function (code) { + if (!code || code.length === 0 || code[0] === 14) { + return noop; + } + var cmds = []; + cmds.push({ cmd: 'save' }); + cmds.push({ + cmd: 'transform', + args: this.fontMatrix.slice() + }); + cmds.push({ + cmd: 'scale', + args: [ + 'size', + '-size' + ] + }); + this.compileGlyphImpl(code, cmds); + cmds.push({ cmd: 'restore' }); + return cmds; + }, + compileGlyphImpl: function () { + error('Children classes should implement this.'); + }, + hasBuiltPath: function (unicode) { + var cmap = lookupCmap(this.cmap, unicode); + return this.compiledGlyphs[cmap.glyphId] !== undefined && this.compiledCharCodeToGlyphId[cmap.charCode] !== undefined; + } + }; + function TrueTypeCompiled(glyphs, cmap, fontMatrix) { + fontMatrix = fontMatrix || [ + 0.000488, + 0, + 0, + 0.000488, + 0, + 0 + ]; + CompiledFont.call(this, fontMatrix); + this.glyphs = glyphs; + this.cmap = cmap; + } + Util.inherit(TrueTypeCompiled, CompiledFont, { + compileGlyphImpl: function (code, cmds) { + compileGlyf(code, cmds, this); + } + }); + function Type2Compiled(cffInfo, cmap, fontMatrix, glyphNameMap) { + fontMatrix = fontMatrix || [ + 0.001, + 0, + 0, + 0.001, + 0, + 0 + ]; + CompiledFont.call(this, fontMatrix); + this.glyphs = cffInfo.glyphs; + this.gsubrs = cffInfo.gsubrs || []; + this.subrs = cffInfo.subrs || []; + this.cmap = cmap; + this.glyphNameMap = glyphNameMap || getGlyphsUnicode(); + this.gsubrsBias = this.gsubrs.length < 1240 ? 107 : this.gsubrs.length < 33900 ? 1131 : 32768; + this.subrsBias = this.subrs.length < 1240 ? 107 : this.subrs.length < 33900 ? 1131 : 32768; + } + Util.inherit(Type2Compiled, CompiledFont, { + compileGlyphImpl: function (code, cmds) { + compileCharString(code, cmds, this); + } + }); + return { + create: function FontRendererFactory_create(font, seacAnalysisEnabled) { + var data = new Uint8Array(font.data); + var cmap, glyf, loca, cff, indexToLocFormat, unitsPerEm; + var numTables = getUshort(data, 4); + for (var i = 0, p = 12; i < numTables; i++, p += 16) { + var tag = bytesToString(data.subarray(p, p + 4)); + var offset = getLong(data, p + 8); + var length = getLong(data, p + 12); + switch (tag) { + case 'cmap': + cmap = parseCmap(data, offset, offset + length); + break; + case 'glyf': + glyf = data.subarray(offset, offset + length); + break; + case 'loca': + loca = data.subarray(offset, offset + length); + break; + case 'head': + unitsPerEm = getUshort(data, offset + 18); + indexToLocFormat = getUshort(data, offset + 50); + break; + case 'CFF ': + cff = parseCff(data, offset, offset + length, seacAnalysisEnabled); + break; + } + } + if (glyf) { + var fontMatrix = !unitsPerEm ? font.fontMatrix : [ + 1 / unitsPerEm, + 0, + 0, + 1 / unitsPerEm, + 0, + 0 + ]; + return new TrueTypeCompiled(parseGlyfTable(glyf, loca, indexToLocFormat), cmap, fontMatrix); + } + return new Type2Compiled(cff, cmap, font.fontMatrix, font.glyphNameMap); + } + }; +}(); +exports.FontRendererFactory = FontRendererFactory; + +/***/ }), +/* 26 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreStream = __w_pdfjs_require__(2); +var coreGlyphList = __w_pdfjs_require__(7); +var coreFontRenderer = __w_pdfjs_require__(25); +var coreEncodings = __w_pdfjs_require__(4); +var coreStandardFonts = __w_pdfjs_require__(17); +var coreUnicode = __w_pdfjs_require__(18); +var coreType1Parser = __w_pdfjs_require__(35); +var coreCFFParser = __w_pdfjs_require__(11); +var FONT_IDENTITY_MATRIX = sharedUtil.FONT_IDENTITY_MATRIX; +var FontType = sharedUtil.FontType; +var assert = sharedUtil.assert; +var bytesToString = sharedUtil.bytesToString; +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var isInt = sharedUtil.isInt; +var isNum = sharedUtil.isNum; +var readUint32 = sharedUtil.readUint32; +var shadow = sharedUtil.shadow; +var string32 = sharedUtil.string32; +var warn = sharedUtil.warn; +var MissingDataException = sharedUtil.MissingDataException; +var isSpace = sharedUtil.isSpace; +var Stream = coreStream.Stream; +var getGlyphsUnicode = coreGlyphList.getGlyphsUnicode; +var getDingbatsGlyphsUnicode = coreGlyphList.getDingbatsGlyphsUnicode; +var FontRendererFactory = coreFontRenderer.FontRendererFactory; +var StandardEncoding = coreEncodings.StandardEncoding; +var MacRomanEncoding = coreEncodings.MacRomanEncoding; +var SymbolSetEncoding = coreEncodings.SymbolSetEncoding; +var ZapfDingbatsEncoding = coreEncodings.ZapfDingbatsEncoding; +var getEncoding = coreEncodings.getEncoding; +var getStdFontMap = coreStandardFonts.getStdFontMap; +var getNonStdFontMap = coreStandardFonts.getNonStdFontMap; +var getGlyphMapForStandardFonts = coreStandardFonts.getGlyphMapForStandardFonts; +var getSupplementalGlyphMapForArialBlack = coreStandardFonts.getSupplementalGlyphMapForArialBlack; +var getUnicodeRangeFor = coreUnicode.getUnicodeRangeFor; +var mapSpecialUnicodeValues = coreUnicode.mapSpecialUnicodeValues; +var getUnicodeForGlyph = coreUnicode.getUnicodeForGlyph; +var Type1Parser = coreType1Parser.Type1Parser; +var CFFStandardStrings = coreCFFParser.CFFStandardStrings; +var CFFParser = coreCFFParser.CFFParser; +var CFFCompiler = coreCFFParser.CFFCompiler; +var CFF = coreCFFParser.CFF; +var CFFHeader = coreCFFParser.CFFHeader; +var CFFTopDict = coreCFFParser.CFFTopDict; +var CFFPrivateDict = coreCFFParser.CFFPrivateDict; +var CFFStrings = coreCFFParser.CFFStrings; +var CFFIndex = coreCFFParser.CFFIndex; +var CFFCharset = coreCFFParser.CFFCharset; +var PRIVATE_USE_OFFSET_START = 0xE000; +var PRIVATE_USE_OFFSET_END = 0xF8FF; +var SKIP_PRIVATE_USE_RANGE_F000_TO_F01F = false; +var PDF_GLYPH_SPACE_UNITS = 1000; +var SEAC_ANALYSIS_ENABLED = false; +var FontFlags = { + FixedPitch: 1, + Serif: 2, + Symbolic: 4, + Script: 8, + Nonsymbolic: 32, + Italic: 64, + AllCap: 65536, + SmallCap: 131072, + ForceBold: 262144 +}; +var MacStandardGlyphOrdering = [ + '.notdef', + '.null', + 'nonmarkingreturn', + 'space', + 'exclam', + 'quotedbl', + 'numbersign', + 'dollar', + 'percent', + 'ampersand', + 'quotesingle', + 'parenleft', + 'parenright', + 'asterisk', + 'plus', + 'comma', + 'hyphen', + 'period', + 'slash', + 'zero', + 'one', + 'two', + 'three', + 'four', + 'five', + 'six', + 'seven', + 'eight', + 'nine', + 'colon', + 'semicolon', + 'less', + 'equal', + 'greater', + 'question', + 'at', + 'A', + 'B', + 'C', + 'D', + 'E', + 'F', + 'G', + 'H', + 'I', + 'J', + 'K', + 'L', + 'M', + 'N', + 'O', + 'P', + 'Q', + 'R', + 'S', + 'T', + 'U', + 'V', + 'W', + 'X', + 'Y', + 'Z', + 'bracketleft', + 'backslash', + 'bracketright', + 'asciicircum', + 'underscore', + 'grave', + 'a', + 'b', + 'c', + 'd', + 'e', + 'f', + 'g', + 'h', + 'i', + 'j', + 'k', + 'l', + 'm', + 'n', + 'o', + 'p', + 'q', + 'r', + 's', + 't', + 'u', + 'v', + 'w', + 'x', + 'y', + 'z', + 'braceleft', + 'bar', + 'braceright', + 'asciitilde', + 'Adieresis', + 'Aring', + 'Ccedilla', + 'Eacute', + 'Ntilde', + 'Odieresis', + 'Udieresis', + 'aacute', + 'agrave', + 'acircumflex', + 'adieresis', + 'atilde', + 'aring', + 'ccedilla', + 'eacute', + 'egrave', + 'ecircumflex', + 'edieresis', + 'iacute', + 'igrave', + 'icircumflex', + 'idieresis', + 'ntilde', + 'oacute', + 'ograve', + 'ocircumflex', + 'odieresis', + 'otilde', + 'uacute', + 'ugrave', + 'ucircumflex', + 'udieresis', + 'dagger', + 'degree', + 'cent', + 'sterling', + 'section', + 'bullet', + 'paragraph', + 'germandbls', + 'registered', + 'copyright', + 'trademark', + 'acute', + 'dieresis', + 'notequal', + 'AE', + 'Oslash', + 'infinity', + 'plusminus', + 'lessequal', + 'greaterequal', + 'yen', + 'mu', + 'partialdiff', + 'summation', + 'product', + 'pi', + 'integral', + 'ordfeminine', + 'ordmasculine', + 'Omega', + 'ae', + 'oslash', + 'questiondown', + 'exclamdown', + 'logicalnot', + 'radical', + 'florin', + 'approxequal', + 'Delta', + 'guillemotleft', + 'guillemotright', + 'ellipsis', + 'nonbreakingspace', + 'Agrave', + 'Atilde', + 'Otilde', + 'OE', + 'oe', + 'endash', + 'emdash', + 'quotedblleft', + 'quotedblright', + 'quoteleft', + 'quoteright', + 'divide', + 'lozenge', + 'ydieresis', + 'Ydieresis', + 'fraction', + 'currency', + 'guilsinglleft', + 'guilsinglright', + 'fi', + 'fl', + 'daggerdbl', + 'periodcentered', + 'quotesinglbase', + 'quotedblbase', + 'perthousand', + 'Acircumflex', + 'Ecircumflex', + 'Aacute', + 'Edieresis', + 'Egrave', + 'Iacute', + 'Icircumflex', + 'Idieresis', + 'Igrave', + 'Oacute', + 'Ocircumflex', + 'apple', + 'Ograve', + 'Uacute', + 'Ucircumflex', + 'Ugrave', + 'dotlessi', + 'circumflex', + 'tilde', + 'macron', + 'breve', + 'dotaccent', + 'ring', + 'cedilla', + 'hungarumlaut', + 'ogonek', + 'caron', + 'Lslash', + 'lslash', + 'Scaron', + 'scaron', + 'Zcaron', + 'zcaron', + 'brokenbar', + 'Eth', + 'eth', + 'Yacute', + 'yacute', + 'Thorn', + 'thorn', + 'minus', + 'multiply', + 'onesuperior', + 'twosuperior', + 'threesuperior', + 'onehalf', + 'onequarter', + 'threequarters', + 'franc', + 'Gbreve', + 'gbreve', + 'Idotaccent', + 'Scedilla', + 'scedilla', + 'Cacute', + 'cacute', + 'Ccaron', + 'ccaron', + 'dcroat' +]; +function adjustWidths(properties) { + if (!properties.fontMatrix) { + return; + } + if (properties.fontMatrix[0] === FONT_IDENTITY_MATRIX[0]) { + return; + } + var scale = 0.001 / properties.fontMatrix[0]; + var glyphsWidths = properties.widths; + for (var glyph in glyphsWidths) { + glyphsWidths[glyph] *= scale; + } + properties.defaultWidth *= scale; +} +function adjustToUnicode(properties, builtInEncoding) { + if (properties.hasIncludedToUnicodeMap) { + return; + } + if (properties.hasEncoding) { + return; + } + if (builtInEncoding === properties.defaultEncoding) { + return; + } + if (properties.toUnicode instanceof IdentityToUnicodeMap) { + return; + } + var toUnicode = [], glyphsUnicodeMap = getGlyphsUnicode(); + for (var charCode in builtInEncoding) { + var glyphName = builtInEncoding[charCode]; + var unicode = getUnicodeForGlyph(glyphName, glyphsUnicodeMap); + if (unicode !== -1) { + toUnicode[charCode] = String.fromCharCode(unicode); + } + } + properties.toUnicode.amend(toUnicode); +} +function getFontType(type, subtype) { + switch (type) { + case 'Type1': + return subtype === 'Type1C' ? FontType.TYPE1C : FontType.TYPE1; + case 'CIDFontType0': + return subtype === 'CIDFontType0C' ? FontType.CIDFONTTYPE0C : FontType.CIDFONTTYPE0; + case 'OpenType': + return FontType.OPENTYPE; + case 'TrueType': + return FontType.TRUETYPE; + case 'CIDFontType2': + return FontType.CIDFONTTYPE2; + case 'MMType1': + return FontType.MMTYPE1; + case 'Type0': + return FontType.TYPE0; + default: + return FontType.UNKNOWN; + } +} +function recoverGlyphName(name, glyphsUnicodeMap) { + if (glyphsUnicodeMap[name] !== undefined) { + return name; + } + var unicode = getUnicodeForGlyph(name, glyphsUnicodeMap); + if (unicode !== -1) { + for (var key in glyphsUnicodeMap) { + if (glyphsUnicodeMap[key] === unicode) { + return key; + } + } + } + info('Unable to recover a standard glyph name for: ' + name); + return name; +} +var Glyph = function GlyphClosure() { + function Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) { + this.fontChar = fontChar; + this.unicode = unicode; + this.accent = accent; + this.width = width; + this.vmetric = vmetric; + this.operatorListId = operatorListId; + this.isSpace = isSpace; + this.isInFont = isInFont; + } + Glyph.prototype.matchesForCache = function (fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont) { + return this.fontChar === fontChar && this.unicode === unicode && this.accent === accent && this.width === width && this.vmetric === vmetric && this.operatorListId === operatorListId && this.isSpace === isSpace && this.isInFont === isInFont; + }; + return Glyph; +}(); +var ToUnicodeMap = function ToUnicodeMapClosure() { + function ToUnicodeMap(cmap) { + this._map = cmap; + } + ToUnicodeMap.prototype = { + get length() { + return this._map.length; + }, + forEach: function (callback) { + for (var charCode in this._map) { + callback(charCode, this._map[charCode].charCodeAt(0)); + } + }, + has: function (i) { + return this._map[i] !== undefined; + }, + get: function (i) { + return this._map[i]; + }, + charCodeOf: function (v) { + return this._map.indexOf(v); + }, + amend: function (map) { + for (var charCode in map) { + this._map[charCode] = map[charCode]; + } + } + }; + return ToUnicodeMap; +}(); +var IdentityToUnicodeMap = function IdentityToUnicodeMapClosure() { + function IdentityToUnicodeMap(firstChar, lastChar) { + this.firstChar = firstChar; + this.lastChar = lastChar; + } + IdentityToUnicodeMap.prototype = { + get length() { + return this.lastChar + 1 - this.firstChar; + }, + forEach: function (callback) { + for (var i = this.firstChar, ii = this.lastChar; i <= ii; i++) { + callback(i, i); + } + }, + has: function (i) { + return this.firstChar <= i && i <= this.lastChar; + }, + get: function (i) { + if (this.firstChar <= i && i <= this.lastChar) { + return String.fromCharCode(i); + } + return undefined; + }, + charCodeOf: function (v) { + return isInt(v) && v >= this.firstChar && v <= this.lastChar ? v : -1; + }, + amend: function (map) { + error('Should not call amend()'); + } + }; + return IdentityToUnicodeMap; +}(); +var OpenTypeFileBuilder = function OpenTypeFileBuilderClosure() { + function writeInt16(dest, offset, num) { + dest[offset] = num >> 8 & 0xFF; + dest[offset + 1] = num & 0xFF; + } + function writeInt32(dest, offset, num) { + dest[offset] = num >> 24 & 0xFF; + dest[offset + 1] = num >> 16 & 0xFF; + dest[offset + 2] = num >> 8 & 0xFF; + dest[offset + 3] = num & 0xFF; + } + function writeData(dest, offset, data) { + var i, ii; + if (data instanceof Uint8Array) { + dest.set(data, offset); + } else if (typeof data === 'string') { + for (i = 0, ii = data.length; i < ii; i++) { + dest[offset++] = data.charCodeAt(i) & 0xFF; + } + } else { + for (i = 0, ii = data.length; i < ii; i++) { + dest[offset++] = data[i] & 0xFF; + } + } + } + function OpenTypeFileBuilder(sfnt) { + this.sfnt = sfnt; + this.tables = Object.create(null); + } + OpenTypeFileBuilder.getSearchParams = function OpenTypeFileBuilder_getSearchParams(entriesCount, entrySize) { + var maxPower2 = 1, log2 = 0; + while ((maxPower2 ^ entriesCount) > maxPower2) { + maxPower2 <<= 1; + log2++; + } + var searchRange = maxPower2 * entrySize; + return { + range: searchRange, + entry: log2, + rangeShift: entrySize * entriesCount - searchRange + }; + }; + var OTF_HEADER_SIZE = 12; + var OTF_TABLE_ENTRY_SIZE = 16; + OpenTypeFileBuilder.prototype = { + toArray: function OpenTypeFileBuilder_toArray() { + var sfnt = this.sfnt; + var tables = this.tables; + var tablesNames = Object.keys(tables); + tablesNames.sort(); + var numTables = tablesNames.length; + var i, j, jj, table, tableName; + var offset = OTF_HEADER_SIZE + numTables * OTF_TABLE_ENTRY_SIZE; + var tableOffsets = [offset]; + for (i = 0; i < numTables; i++) { + table = tables[tablesNames[i]]; + var paddedLength = (table.length + 3 & ~3) >>> 0; + offset += paddedLength; + tableOffsets.push(offset); + } + var file = new Uint8Array(offset); + for (i = 0; i < numTables; i++) { + table = tables[tablesNames[i]]; + writeData(file, tableOffsets[i], table); + } + if (sfnt === 'true') { + sfnt = string32(0x00010000); + } + file[0] = sfnt.charCodeAt(0) & 0xFF; + file[1] = sfnt.charCodeAt(1) & 0xFF; + file[2] = sfnt.charCodeAt(2) & 0xFF; + file[3] = sfnt.charCodeAt(3) & 0xFF; + writeInt16(file, 4, numTables); + var searchParams = OpenTypeFileBuilder.getSearchParams(numTables, 16); + writeInt16(file, 6, searchParams.range); + writeInt16(file, 8, searchParams.entry); + writeInt16(file, 10, searchParams.rangeShift); + offset = OTF_HEADER_SIZE; + for (i = 0; i < numTables; i++) { + tableName = tablesNames[i]; + file[offset] = tableName.charCodeAt(0) & 0xFF; + file[offset + 1] = tableName.charCodeAt(1) & 0xFF; + file[offset + 2] = tableName.charCodeAt(2) & 0xFF; + file[offset + 3] = tableName.charCodeAt(3) & 0xFF; + var checksum = 0; + for (j = tableOffsets[i], jj = tableOffsets[i + 1]; j < jj; j += 4) { + var quad = readUint32(file, j); + checksum = checksum + quad >>> 0; + } + writeInt32(file, offset + 4, checksum); + writeInt32(file, offset + 8, tableOffsets[i]); + writeInt32(file, offset + 12, tables[tableName].length); + offset += OTF_TABLE_ENTRY_SIZE; + } + return file; + }, + addTable: function OpenTypeFileBuilder_addTable(tag, data) { + if (tag in this.tables) { + throw new Error('Table ' + tag + ' already exists'); + } + this.tables[tag] = data; + } + }; + return OpenTypeFileBuilder; +}(); +var ProblematicCharRanges = new Int32Array([ + 0x0000, + 0x0020, + 0x007F, + 0x00A1, + 0x00AD, + 0x00AE, + 0x0600, + 0x0780, + 0x08A0, + 0x10A0, + 0x1780, + 0x1800, + 0x1C00, + 0x1C50, + 0x2000, + 0x2010, + 0x2011, + 0x2012, + 0x2028, + 0x2030, + 0x205F, + 0x2070, + 0x25CC, + 0x25CD, + 0x3000, + 0x3001, + 0xAA60, + 0xAA80, + 0xFFF0, + 0x10000 +]); +var Font = function FontClosure() { + function Font(name, file, properties) { + var charCode, glyphName, unicode; + this.name = name; + this.loadedName = properties.loadedName; + this.isType3Font = properties.isType3Font; + this.sizes = []; + this.missingFile = false; + this.glyphCache = Object.create(null); + this.isSerifFont = !!(properties.flags & FontFlags.Serif); + this.isSymbolicFont = !!(properties.flags & FontFlags.Symbolic); + this.isMonospace = !!(properties.flags & FontFlags.FixedPitch); + var type = properties.type; + var subtype = properties.subtype; + this.type = type; + this.fallbackName = this.isMonospace ? 'monospace' : this.isSerifFont ? 'serif' : 'sans-serif'; + this.differences = properties.differences; + this.widths = properties.widths; + this.defaultWidth = properties.defaultWidth; + this.composite = properties.composite; + this.wideChars = properties.wideChars; + this.cMap = properties.cMap; + this.ascent = properties.ascent / PDF_GLYPH_SPACE_UNITS; + this.descent = properties.descent / PDF_GLYPH_SPACE_UNITS; + this.fontMatrix = properties.fontMatrix; + this.bbox = properties.bbox; + this.toUnicode = properties.toUnicode; + this.toFontChar = []; + if (properties.type === 'Type3') { + for (charCode = 0; charCode < 256; charCode++) { + this.toFontChar[charCode] = this.differences[charCode] || properties.defaultEncoding[charCode]; + } + this.fontType = FontType.TYPE3; + return; + } + this.cidEncoding = properties.cidEncoding; + this.vertical = properties.vertical; + if (this.vertical) { + this.vmetrics = properties.vmetrics; + this.defaultVMetrics = properties.defaultVMetrics; + } + var glyphsUnicodeMap; + if (!file || file.isEmpty) { + if (file) { + warn('Font file is empty in "' + name + '" (' + this.loadedName + ')'); + } + this.missingFile = true; + var fontName = name.replace(/[,_]/g, '-'); + var stdFontMap = getStdFontMap(), nonStdFontMap = getNonStdFontMap(); + var isStandardFont = !!stdFontMap[fontName] || !!(nonStdFontMap[fontName] && stdFontMap[nonStdFontMap[fontName]]); + fontName = stdFontMap[fontName] || nonStdFontMap[fontName] || fontName; + this.bold = fontName.search(/bold/gi) !== -1; + this.italic = fontName.search(/oblique/gi) !== -1 || fontName.search(/italic/gi) !== -1; + this.black = name.search(/Black/g) !== -1; + this.remeasure = Object.keys(this.widths).length > 0; + if (isStandardFont && type === 'CIDFontType2' && properties.cidEncoding.indexOf('Identity-') === 0) { + var GlyphMapForStandardFonts = getGlyphMapForStandardFonts(); + var map = []; + for (charCode in GlyphMapForStandardFonts) { + map[+charCode] = GlyphMapForStandardFonts[charCode]; + } + if (/Arial-?Black/i.test(name)) { + var SupplementalGlyphMapForArialBlack = getSupplementalGlyphMapForArialBlack(); + for (charCode in SupplementalGlyphMapForArialBlack) { + map[+charCode] = SupplementalGlyphMapForArialBlack[charCode]; + } + } + var isIdentityUnicode = this.toUnicode instanceof IdentityToUnicodeMap; + if (!isIdentityUnicode) { + this.toUnicode.forEach(function (charCode, unicodeCharCode) { + map[+charCode] = unicodeCharCode; + }); + } + this.toFontChar = map; + this.toUnicode = new ToUnicodeMap(map); + } else if (/Symbol/i.test(fontName)) { + this.toFontChar = buildToFontChar(SymbolSetEncoding, getGlyphsUnicode(), properties.differences); + } else if (/Dingbats/i.test(fontName)) { + if (/Wingdings/i.test(name)) { + warn('Non-embedded Wingdings font, falling back to ZapfDingbats.'); + } + this.toFontChar = buildToFontChar(ZapfDingbatsEncoding, getDingbatsGlyphsUnicode(), properties.differences); + } else if (isStandardFont) { + this.toFontChar = buildToFontChar(properties.defaultEncoding, getGlyphsUnicode(), properties.differences); + } else { + glyphsUnicodeMap = getGlyphsUnicode(); + this.toUnicode.forEach(function (charCode, unicodeCharCode) { + if (!this.composite) { + glyphName = properties.differences[charCode] || properties.defaultEncoding[charCode]; + unicode = getUnicodeForGlyph(glyphName, glyphsUnicodeMap); + if (unicode !== -1) { + unicodeCharCode = unicode; + } + } + this.toFontChar[charCode] = unicodeCharCode; + }.bind(this)); + } + this.loadedName = fontName.split('-')[0]; + this.loading = false; + this.fontType = getFontType(type, subtype); + return; + } + if (subtype === 'Type1C') { + if (type !== 'Type1' && type !== 'MMType1') { + if (isTrueTypeFile(file)) { + subtype = 'TrueType'; + } else { + type = 'Type1'; + } + } else if (isOpenTypeFile(file)) { + type = subtype = 'OpenType'; + } + } + if (subtype === 'CIDFontType0C' && type !== 'CIDFontType0') { + type = 'CIDFontType0'; + } + if (subtype === 'OpenType') { + type = 'OpenType'; + } + if (type === 'CIDFontType0') { + if (isType1File(file)) { + subtype = 'CIDFontType0'; + } else if (isOpenTypeFile(file)) { + type = subtype = 'OpenType'; + } else { + subtype = 'CIDFontType0C'; + } + } + var data; + switch (type) { + case 'MMType1': + info('MMType1 font (' + name + '), falling back to Type1.'); + case 'Type1': + case 'CIDFontType0': + this.mimetype = 'font/opentype'; + var cff = subtype === 'Type1C' || subtype === 'CIDFontType0C' ? new CFFFont(file, properties) : new Type1Font(name, file, properties); + adjustWidths(properties); + data = this.convert(name, cff, properties); + break; + case 'OpenType': + case 'TrueType': + case 'CIDFontType2': + this.mimetype = 'font/opentype'; + data = this.checkAndRepair(name, file, properties); + if (this.isOpenType) { + adjustWidths(properties); + type = 'OpenType'; + } + break; + default: + error('Font ' + type + ' is not supported'); + break; + } + this.data = data; + this.fontType = getFontType(type, subtype); + this.fontMatrix = properties.fontMatrix; + this.widths = properties.widths; + this.defaultWidth = properties.defaultWidth; + this.toUnicode = properties.toUnicode; + this.encoding = properties.baseEncoding; + this.seacMap = properties.seacMap; + this.loading = true; + } + Font.getFontID = function () { + var ID = 1; + return function Font_getFontID() { + return String(ID++); + }; + }(); + function int16(b0, b1) { + return (b0 << 8) + b1; + } + function signedInt16(b0, b1) { + var value = (b0 << 8) + b1; + return value & 1 << 15 ? value - 0x10000 : value; + } + function int32(b0, b1, b2, b3) { + return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3; + } + function string16(value) { + return String.fromCharCode(value >> 8 & 0xff, value & 0xff); + } + function safeString16(value) { + value = value > 0x7FFF ? 0x7FFF : value < -0x8000 ? -0x8000 : value; + return String.fromCharCode(value >> 8 & 0xff, value & 0xff); + } + function isTrueTypeFile(file) { + var header = file.peekBytes(4); + return readUint32(header, 0) === 0x00010000; + } + function isOpenTypeFile(file) { + var header = file.peekBytes(4); + return bytesToString(header) === 'OTTO'; + } + function isType1File(file) { + var header = file.peekBytes(2); + if (header[0] === 0x25 && header[1] === 0x21) { + return true; + } + if (header[0] === 0x80 && header[1] === 0x01) { + return true; + } + return false; + } + function buildToFontChar(encoding, glyphsUnicodeMap, differences) { + var toFontChar = [], unicode; + for (var i = 0, ii = encoding.length; i < ii; i++) { + unicode = getUnicodeForGlyph(encoding[i], glyphsUnicodeMap); + if (unicode !== -1) { + toFontChar[i] = unicode; + } + } + for (var charCode in differences) { + unicode = getUnicodeForGlyph(differences[charCode], glyphsUnicodeMap); + if (unicode !== -1) { + toFontChar[+charCode] = unicode; + } + } + return toFontChar; + } + function isProblematicUnicodeLocation(code) { + var i = 0, j = ProblematicCharRanges.length - 1; + while (i < j) { + var c = i + j + 1 >> 1; + if (code < ProblematicCharRanges[c]) { + j = c - 1; + } else { + i = c; + } + } + return !(i & 1); + } + function adjustMapping(charCodeToGlyphId, properties) { + var toUnicode = properties.toUnicode; + var isSymbolic = !!(properties.flags & FontFlags.Symbolic); + var isIdentityUnicode = properties.toUnicode instanceof IdentityToUnicodeMap; + var newMap = Object.create(null); + var toFontChar = []; + var usedFontCharCodes = []; + var nextAvailableFontCharCode = PRIVATE_USE_OFFSET_START; + for (var originalCharCode in charCodeToGlyphId) { + originalCharCode |= 0; + var glyphId = charCodeToGlyphId[originalCharCode]; + var fontCharCode = originalCharCode; + var hasUnicodeValue = false; + if (!isIdentityUnicode && toUnicode.has(originalCharCode)) { + hasUnicodeValue = true; + var unicode = toUnicode.get(fontCharCode); + if (unicode.length === 1) { + fontCharCode = unicode.charCodeAt(0); + } + } + if ((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) { + fontCharCode = 0xF020; + nextAvailableFontCharCode = fontCharCode + 1; + } + } while (usedFontCharCodes[fontCharCode] !== undefined && nextAvailableFontCharCode <= PRIVATE_USE_OFFSET_END); + } + newMap[fontCharCode] = glyphId; + toFontChar[originalCharCode] = fontCharCode; + usedFontCharCodes[fontCharCode] = true; + } + return { + toFontChar: toFontChar, + charCodeToGlyphId: newMap, + nextAvailableFontCharCode: nextAvailableFontCharCode + }; + } + function getRanges(glyphs, numGlyphs) { + var codes = []; + for (var charCode in glyphs) { + if (glyphs[charCode] >= numGlyphs) { + continue; + } + codes.push({ + fontCharCode: charCode | 0, + glyphId: glyphs[charCode] + }); + } + codes.sort(function fontGetRangesSort(a, b) { + return a.fontCharCode - b.fontCharCode; + }); + var ranges = []; + var length = codes.length; + for (var n = 0; n < length;) { + var start = codes[n].fontCharCode; + var codeIndices = [codes[n].glyphId]; + ++n; + var end = start; + while (n < length && end + 1 === codes[n].fontCharCode) { + codeIndices.push(codes[n].glyphId); + ++end; + ++n; + if (end === 0xFFFF) { + break; + } + } + ranges.push([ + start, + end, + codeIndices + ]); + } + return ranges; + } + function createCmapTable(glyphs, numGlyphs) { + var ranges = getRanges(glyphs, numGlyphs); + var numTables = ranges[ranges.length - 1][1] > 0xFFFF ? 2 : 1; + var cmap = '\x00\x00' + string16(numTables) + '\x00\x03' + '\x00\x01' + string32(4 + numTables * 8); + var i, ii, j, jj; + for (i = ranges.length - 1; i >= 0; --i) { + if (ranges[i][0] <= 0xFFFF) { + break; + } + } + var bmpLength = i + 1; + if (ranges[i][0] < 0xFFFF && ranges[i][1] === 0xFFFF) { + ranges[i][1] = 0xFFFE; + } + var trailingRangesCount = ranges[i][1] < 0xFFFF ? 1 : 0; + var segCount = bmpLength + trailingRangesCount; + var searchParams = OpenTypeFileBuilder.getSearchParams(segCount, 2); + var startCount = ''; + var endCount = ''; + var idDeltas = ''; + var idRangeOffsets = ''; + var glyphsIds = ''; + var bias = 0; + var range, start, end, codes; + for (i = 0, ii = bmpLength; i < ii; i++) { + range = ranges[i]; + start = range[0]; + end = range[1]; + startCount += string16(start); + endCount += string16(end); + codes = range[2]; + var contiguous = true; + for (j = 1, jj = codes.length; j < jj; ++j) { + if (codes[j] !== codes[j - 1] + 1) { + contiguous = false; + break; + } + } + if (!contiguous) { + var offset = (segCount - i) * 2 + bias * 2; + bias += end - start + 1; + idDeltas += string16(0); + idRangeOffsets += string16(offset); + for (j = 0, jj = codes.length; j < jj; ++j) { + glyphsIds += string16(codes[j]); + } + } else { + var startCode = codes[0]; + idDeltas += string16(startCode - start & 0xFFFF); + idRangeOffsets += string16(0); + } + } + if (trailingRangesCount > 0) { + endCount += '\xFF\xFF'; + startCount += '\xFF\xFF'; + idDeltas += '\x00\x01'; + idRangeOffsets += '\x00\x00'; + } + var format314 = '\x00\x00' + string16(2 * segCount) + string16(searchParams.range) + string16(searchParams.entry) + string16(searchParams.rangeShift) + endCount + '\x00\x00' + startCount + idDeltas + idRangeOffsets + glyphsIds; + var format31012 = ''; + var header31012 = ''; + if (numTables > 1) { + cmap += '\x00\x03' + '\x00\x0A' + string32(4 + numTables * 8 + 4 + format314.length); + format31012 = ''; + for (i = 0, ii = ranges.length; i < ii; i++) { + range = ranges[i]; + start = range[0]; + codes = range[2]; + var code = codes[0]; + for (j = 1, jj = codes.length; j < jj; ++j) { + if (codes[j] !== codes[j - 1] + 1) { + end = range[0] + j - 1; + format31012 += string32(start) + string32(end) + string32(code); + start = end + 1; + code = codes[j]; + } + } + format31012 += string32(start) + string32(range[1]) + string32(code); + } + header31012 = '\x00\x0C' + '\x00\x00' + string32(format31012.length + 16) + '\x00\x00\x00\x00' + string32(format31012.length / 12); + } + return cmap + '\x00\x04' + string16(format314.length + 4) + format314 + header31012 + format31012; + } + function validateOS2Table(os2) { + var stream = new Stream(os2.data); + var version = stream.getUint16(); + stream.getBytes(60); + var selection = stream.getUint16(); + if (version < 4 && selection & 0x0300) { + return false; + } + var firstChar = stream.getUint16(); + var lastChar = stream.getUint16(); + if (firstChar > lastChar) { + return false; + } + stream.getBytes(6); + var usWinAscent = stream.getUint16(); + if (usWinAscent === 0) { + return false; + } + os2.data[8] = os2.data[9] = 0; + return true; + } + function createOS2Table(properties, charstrings, override) { + override = override || { + unitsPerEm: 0, + yMax: 0, + yMin: 0, + ascent: 0, + descent: 0 + }; + var ulUnicodeRange1 = 0; + var ulUnicodeRange2 = 0; + var ulUnicodeRange3 = 0; + var ulUnicodeRange4 = 0; + var firstCharIndex = null; + var lastCharIndex = 0; + if (charstrings) { + for (var code in charstrings) { + code |= 0; + if (firstCharIndex > code || !firstCharIndex) { + firstCharIndex = code; + } + if (lastCharIndex < code) { + lastCharIndex = code; + } + var position = getUnicodeRangeFor(code); + if (position < 32) { + ulUnicodeRange1 |= 1 << position; + } else if (position < 64) { + ulUnicodeRange2 |= 1 << position - 32; + } else if (position < 96) { + ulUnicodeRange3 |= 1 << position - 64; + } else if (position < 123) { + ulUnicodeRange4 |= 1 << position - 96; + } else { + error('Unicode ranges Bits > 123 are reserved for internal usage'); + } + } + } else { + firstCharIndex = 0; + lastCharIndex = 255; + } + var bbox = properties.bbox || [ + 0, + 0, + 0, + 0 + ]; + var unitsPerEm = override.unitsPerEm || 1 / (properties.fontMatrix || FONT_IDENTITY_MATRIX)[0]; + var scale = properties.ascentScaled ? 1.0 : unitsPerEm / PDF_GLYPH_SPACE_UNITS; + var typoAscent = override.ascent || Math.round(scale * (properties.ascent || bbox[3])); + var typoDescent = override.descent || Math.round(scale * (properties.descent || bbox[1])); + if (typoDescent > 0 && properties.descent > 0 && bbox[1] < 0) { + typoDescent = -typoDescent; + } + var winAscent = override.yMax || typoAscent; + var winDescent = -override.yMin || -typoDescent; + return '\x00\x03' + '\x02\x24' + '\x01\xF4' + '\x00\x05' + '\x00\x00' + '\x02\x8A' + '\x02\xBB' + '\x00\x00' + '\x00\x8C' + '\x02\x8A' + '\x02\xBB' + '\x00\x00' + '\x01\xDF' + '\x00\x31' + '\x01\x02' + '\x00\x00' + '\x00\x00\x06' + String.fromCharCode(properties.fixedPitch ? 0x09 : 0x00) + '\x00\x00\x00\x00\x00\x00' + string32(ulUnicodeRange1) + string32(ulUnicodeRange2) + string32(ulUnicodeRange3) + string32(ulUnicodeRange4) + '\x2A\x32\x31\x2A' + string16(properties.italicAngle ? 1 : 0) + string16(firstCharIndex || properties.firstChar) + string16(lastCharIndex || properties.lastChar) + string16(typoAscent) + string16(typoDescent) + '\x00\x64' + string16(winAscent) + string16(winDescent) + '\x00\x00\x00\x00' + '\x00\x00\x00\x00' + string16(properties.xHeight) + string16(properties.capHeight) + string16(0) + string16(firstCharIndex || properties.firstChar) + '\x00\x03'; + } + function createPostTable(properties) { + var angle = Math.floor(properties.italicAngle * Math.pow(2, 16)); + return '\x00\x03\x00\x00' + string32(angle) + '\x00\x00' + '\x00\x00' + string32(properties.fixedPitch) + '\x00\x00\x00\x00' + '\x00\x00\x00\x00' + '\x00\x00\x00\x00' + '\x00\x00\x00\x00'; + } + function createNameTable(name, proto) { + if (!proto) { + proto = [ + [], + [] + ]; + } + var strings = [ + proto[0][0] || 'Original licence', + proto[0][1] || name, + proto[0][2] || 'Unknown', + proto[0][3] || 'uniqueID', + proto[0][4] || name, + proto[0][5] || 'Version 0.11', + proto[0][6] || '', + proto[0][7] || 'Unknown', + proto[0][8] || 'Unknown', + proto[0][9] || 'Unknown' + ]; + var stringsUnicode = []; + var i, ii, j, jj, str; + for (i = 0, ii = strings.length; i < ii; i++) { + str = proto[1][i] || strings[i]; + var strBufUnicode = []; + for (j = 0, jj = str.length; j < jj; j++) { + strBufUnicode.push(string16(str.charCodeAt(j))); + } + stringsUnicode.push(strBufUnicode.join('')); + } + var names = [ + strings, + stringsUnicode + ]; + var platforms = [ + '\x00\x01', + '\x00\x03' + ]; + var encodings = [ + '\x00\x00', + '\x00\x01' + ]; + var languages = [ + '\x00\x00', + '\x04\x09' + ]; + var namesRecordCount = strings.length * platforms.length; + var nameTable = '\x00\x00' + string16(namesRecordCount) + string16(namesRecordCount * 12 + 6); + var strOffset = 0; + for (i = 0, ii = platforms.length; i < ii; i++) { + var strs = names[i]; + for (j = 0, jj = strs.length; j < jj; j++) { + str = strs[j]; + var nameRecord = platforms[i] + encodings[i] + languages[i] + string16(j) + string16(str.length) + string16(strOffset); + nameTable += nameRecord; + strOffset += str.length; + } + } + nameTable += strings.join('') + stringsUnicode.join(''); + return nameTable; + } + Font.prototype = { + name: null, + font: null, + mimetype: null, + encoding: null, + get renderer() { + var renderer = FontRendererFactory.create(this, SEAC_ANALYSIS_ENABLED); + return shadow(this, 'renderer', renderer); + }, + exportData: function Font_exportData() { + var data = {}; + for (var i in this) { + if (this.hasOwnProperty(i)) { + data[i] = this[i]; + } + } + return data; + }, + checkAndRepair: function Font_checkAndRepair(name, font, properties) { + function readTableEntry(file) { + var tag = bytesToString(file.getBytes(4)); + var checksum = file.getInt32() >>> 0; + var offset = file.getInt32() >>> 0; + var length = file.getInt32() >>> 0; + var previousPosition = file.pos; + file.pos = file.start ? file.start : 0; + file.skip(offset); + var data = file.getBytes(length); + file.pos = previousPosition; + if (tag === 'head') { + data[8] = data[9] = data[10] = data[11] = 0; + data[17] |= 0x20; + } + return { + tag: tag, + checksum: checksum, + length: length, + offset: offset, + data: data + }; + } + function readOpenTypeHeader(ttf) { + return { + version: bytesToString(ttf.getBytes(4)), + numTables: ttf.getUint16(), + searchRange: ttf.getUint16(), + entrySelector: ttf.getUint16(), + rangeShift: ttf.getUint16() + }; + } + function readCmapTable(cmap, font, isSymbolicFont, hasEncoding) { + if (!cmap) { + warn('No cmap table available.'); + return { + platformId: -1, + encodingId: -1, + mappings: [], + hasShortCmap: false + }; + } + var segment; + var start = (font.start ? font.start : 0) + cmap.offset; + font.pos = start; + font.getUint16(); + var numTables = font.getUint16(); + var potentialTable; + var canBreak = false; + for (var i = 0; i < numTables; i++) { + var platformId = font.getUint16(); + var encodingId = font.getUint16(); + var offset = font.getInt32() >>> 0; + var useTable = false; + if (platformId === 0 && encodingId === 0) { + useTable = true; + } else if (platformId === 1 && encodingId === 0) { + useTable = true; + } else if (platformId === 3 && encodingId === 1 && (hasEncoding || !potentialTable)) { + useTable = true; + if (!isSymbolicFont) { + canBreak = true; + } + } else if (isSymbolicFont && platformId === 3 && encodingId === 0) { + useTable = true; + canBreak = true; + } + if (useTable) { + potentialTable = { + platformId: platformId, + encodingId: encodingId, + offset: offset + }; + } + if (canBreak) { + break; + } + } + if (potentialTable) { + font.pos = start + potentialTable.offset; + } + if (!potentialTable || font.peekByte() === -1) { + warn('Could not find a preferred cmap table.'); + return { + platformId: -1, + encodingId: -1, + mappings: [], + hasShortCmap: false + }; + } + var format = font.getUint16(); + font.getUint16(); + font.getUint16(); + var hasShortCmap = false; + var mappings = []; + var j, glyphId; + if (format === 0) { + for (j = 0; j < 256; j++) { + var index = font.getByte(); + if (!index) { + continue; + } + mappings.push({ + charCode: j, + glyphId: index + }); + } + hasShortCmap = true; + } else if (format === 4) { + var segCount = font.getUint16() >> 1; + font.getBytes(6); + var segIndex, segments = []; + for (segIndex = 0; segIndex < segCount; segIndex++) { + segments.push({ end: font.getUint16() }); + } + font.getUint16(); + for (segIndex = 0; segIndex < segCount; segIndex++) { + segments[segIndex].start = font.getUint16(); + } + for (segIndex = 0; segIndex < segCount; segIndex++) { + segments[segIndex].delta = font.getUint16(); + } + var offsetsCount = 0; + for (segIndex = 0; segIndex < segCount; segIndex++) { + segment = segments[segIndex]; + var rangeOffset = font.getUint16(); + if (!rangeOffset) { + segment.offsetIndex = -1; + continue; + } + var offsetIndex = (rangeOffset >> 1) - (segCount - segIndex); + segment.offsetIndex = offsetIndex; + offsetsCount = Math.max(offsetsCount, offsetIndex + segment.end - segment.start + 1); + } + var offsets = []; + for (j = 0; j < offsetsCount; j++) { + offsets.push(font.getUint16()); + } + for (segIndex = 0; segIndex < segCount; segIndex++) { + segment = segments[segIndex]; + start = segment.start; + var end = segment.end; + var delta = segment.delta; + offsetIndex = segment.offsetIndex; + for (j = start; j <= end; j++) { + if (j === 0xFFFF) { + continue; + } + glyphId = offsetIndex < 0 ? j : offsets[offsetIndex + j - start]; + glyphId = glyphId + delta & 0xFFFF; + if (glyphId === 0) { + continue; + } + mappings.push({ + charCode: j, + glyphId: glyphId + }); + } + } + } else if (format === 6) { + var firstCode = font.getUint16(); + var entryCount = font.getUint16(); + for (j = 0; j < entryCount; j++) { + glyphId = font.getUint16(); + var charCode = firstCode + j; + mappings.push({ + charCode: charCode, + glyphId: glyphId + }); + } + } else { + warn('cmap table has unsupported format: ' + format); + return { + platformId: -1, + encodingId: -1, + mappings: [], + hasShortCmap: false + }; + } + mappings.sort(function (a, b) { + return a.charCode - b.charCode; + }); + for (i = 1; i < mappings.length; i++) { + if (mappings[i - 1].charCode === mappings[i].charCode) { + mappings.splice(i, 1); + i--; + } + } + return { + platformId: potentialTable.platformId, + encodingId: potentialTable.encodingId, + mappings: mappings, + hasShortCmap: hasShortCmap + }; + } + function sanitizeMetrics(font, header, metrics, numGlyphs) { + if (!header) { + if (metrics) { + metrics.data = null; + } + return; + } + font.pos = (font.start ? font.start : 0) + header.offset; + font.pos += header.length - 2; + var numOfMetrics = font.getUint16(); + if (numOfMetrics > numGlyphs) { + info('The numOfMetrics (' + numOfMetrics + ') should not be ' + 'greater than the numGlyphs (' + numGlyphs + ')'); + numOfMetrics = numGlyphs; + header.data[34] = (numOfMetrics & 0xff00) >> 8; + header.data[35] = numOfMetrics & 0x00ff; + } + var numOfSidebearings = numGlyphs - numOfMetrics; + var numMissing = numOfSidebearings - (metrics.length - numOfMetrics * 4 >> 1); + if (numMissing > 0) { + var entries = new Uint8Array(metrics.length + numMissing * 2); + entries.set(metrics.data); + metrics.data = entries; + } + } + function sanitizeGlyph(source, sourceStart, sourceEnd, dest, destStart, hintsValid) { + if (sourceEnd - sourceStart <= 12) { + return 0; + } + var glyf = source.subarray(sourceStart, sourceEnd); + var contoursCount = glyf[0] << 8 | glyf[1]; + if (contoursCount & 0x8000) { + dest.set(glyf, destStart); + return glyf.length; + } + var i, j = 10, flagsCount = 0; + for (i = 0; i < contoursCount; i++) { + var endPoint = glyf[j] << 8 | glyf[j + 1]; + flagsCount = endPoint + 1; + j += 2; + } + var instructionsStart = j; + var instructionsLength = glyf[j] << 8 | glyf[j + 1]; + j += 2 + instructionsLength; + var instructionsEnd = j; + var coordinatesLength = 0; + for (i = 0; i < flagsCount; i++) { + var flag = glyf[j++]; + if (flag & 0xC0) { + glyf[j - 1] = flag & 0x3F; + } + var xyLength = (flag & 2 ? 1 : flag & 16 ? 0 : 2) + (flag & 4 ? 1 : flag & 32 ? 0 : 2); + coordinatesLength += xyLength; + if (flag & 8) { + var repeat = glyf[j++]; + i += repeat; + coordinatesLength += repeat * xyLength; + } + } + if (coordinatesLength === 0) { + return 0; + } + var glyphDataLength = j + coordinatesLength; + if (glyphDataLength > glyf.length) { + return 0; + } + if (!hintsValid && instructionsLength > 0) { + dest.set(glyf.subarray(0, instructionsStart), destStart); + dest.set([ + 0, + 0 + ], destStart + instructionsStart); + dest.set(glyf.subarray(instructionsEnd, glyphDataLength), destStart + instructionsStart + 2); + glyphDataLength -= instructionsLength; + if (glyf.length - glyphDataLength > 3) { + glyphDataLength = glyphDataLength + 3 & ~3; + } + return glyphDataLength; + } + if (glyf.length - glyphDataLength > 3) { + glyphDataLength = glyphDataLength + 3 & ~3; + dest.set(glyf.subarray(0, glyphDataLength), destStart); + return glyphDataLength; + } + dest.set(glyf, destStart); + return glyf.length; + } + function sanitizeHead(head, numGlyphs, locaLength) { + var data = head.data; + var version = int32(data[0], data[1], data[2], data[3]); + if (version >> 16 !== 1) { + info('Attempting to fix invalid version in head table: ' + version); + data[0] = 0; + data[1] = 1; + data[2] = 0; + data[3] = 0; + } + var indexToLocFormat = int16(data[50], data[51]); + if (indexToLocFormat < 0 || indexToLocFormat > 1) { + info('Attempting to fix invalid indexToLocFormat in head table: ' + indexToLocFormat); + var numGlyphsPlusOne = numGlyphs + 1; + if (locaLength === numGlyphsPlusOne << 1) { + data[50] = 0; + data[51] = 0; + } else if (locaLength === numGlyphsPlusOne << 2) { + data[50] = 0; + data[51] = 1; + } else { + warn('Could not fix indexToLocFormat: ' + indexToLocFormat); + } + } + } + function sanitizeGlyphLocations(loca, glyf, numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry) { + var itemSize, itemDecode, itemEncode; + if (isGlyphLocationsLong) { + itemSize = 4; + itemDecode = function fontItemDecodeLong(data, offset) { + return data[offset] << 24 | data[offset + 1] << 16 | data[offset + 2] << 8 | data[offset + 3]; + }; + itemEncode = function fontItemEncodeLong(data, offset, value) { + data[offset] = value >>> 24 & 0xFF; + data[offset + 1] = value >> 16 & 0xFF; + data[offset + 2] = value >> 8 & 0xFF; + data[offset + 3] = value & 0xFF; + }; + } else { + itemSize = 2; + itemDecode = function fontItemDecode(data, offset) { + return data[offset] << 9 | data[offset + 1] << 1; + }; + itemEncode = function fontItemEncode(data, offset, value) { + data[offset] = value >> 9 & 0xFF; + data[offset + 1] = value >> 1 & 0xFF; + }; + } + var locaData = loca.data; + var locaDataSize = itemSize * (1 + numGlyphs); + if (locaData.length !== locaDataSize) { + locaData = new Uint8Array(locaDataSize); + locaData.set(loca.data.subarray(0, locaDataSize)); + loca.data = locaData; + } + var oldGlyfData = glyf.data; + var oldGlyfDataLength = oldGlyfData.length; + var newGlyfData = new Uint8Array(oldGlyfDataLength); + var startOffset = itemDecode(locaData, 0); + var writeOffset = 0; + var missingGlyphData = Object.create(null); + itemEncode(locaData, 0, writeOffset); + var i, j; + for (i = 0, j = itemSize; i < numGlyphs; 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) { + missingGlyphData[i] = true; + } + var newLength = sanitizeGlyph(oldGlyfData, startOffset, endOffset, newGlyfData, writeOffset, hintsValid); + writeOffset += newLength; + itemEncode(locaData, j, writeOffset); + startOffset = endOffset; + } + if (writeOffset === 0) { + var simpleGlyph = new Uint8Array([ + 0, + 1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 49, + 0 + ]); + for (i = 0, j = itemSize; i < numGlyphs; i++, j += itemSize) { + itemEncode(locaData, j, simpleGlyph.length); + } + glyf.data = simpleGlyph; + return missingGlyphData; + } + if (dupFirstEntry) { + var firstEntryLength = itemDecode(locaData, itemSize); + if (newGlyfData.length > firstEntryLength + writeOffset) { + glyf.data = newGlyfData.subarray(0, firstEntryLength + writeOffset); + } else { + glyf.data = new Uint8Array(firstEntryLength + writeOffset); + glyf.data.set(newGlyfData.subarray(0, writeOffset)); + } + glyf.data.set(newGlyfData.subarray(0, firstEntryLength), writeOffset); + itemEncode(loca.data, locaData.length - itemSize, writeOffset + firstEntryLength); + } else { + glyf.data = newGlyfData.subarray(0, writeOffset); + } + return missingGlyphData; + } + function readPostScriptTable(post, properties, maxpNumGlyphs) { + var start = (font.start ? font.start : 0) + post.offset; + font.pos = start; + var length = post.length, end = start + length; + var version = font.getInt32(); + font.getBytes(28); + var glyphNames; + var valid = true; + var i; + switch (version) { + case 0x00010000: + glyphNames = MacStandardGlyphOrdering; + break; + case 0x00020000: + var numGlyphs = font.getUint16(); + if (numGlyphs !== maxpNumGlyphs) { + valid = false; + break; + } + var glyphNameIndexes = []; + for (i = 0; i < numGlyphs; ++i) { + var index = font.getUint16(); + if (index >= 32768) { + valid = false; + break; + } + glyphNameIndexes.push(index); + } + if (!valid) { + break; + } + var customNames = []; + var strBuf = []; + while (font.pos < end) { + var stringLength = font.getByte(); + strBuf.length = stringLength; + for (i = 0; i < stringLength; ++i) { + strBuf[i] = String.fromCharCode(font.getByte()); + } + customNames.push(strBuf.join('')); + } + glyphNames = []; + for (i = 0; i < numGlyphs; ++i) { + var j = glyphNameIndexes[i]; + if (j < 258) { + glyphNames.push(MacStandardGlyphOrdering[j]); + continue; + } + glyphNames.push(customNames[j - 258]); + } + break; + case 0x00030000: + break; + default: + warn('Unknown/unsupported post table version ' + version); + valid = false; + if (properties.defaultEncoding) { + glyphNames = properties.defaultEncoding; + } + break; + } + properties.glyphNames = glyphNames; + return valid; + } + function readNameTable(nameTable) { + var start = (font.start ? font.start : 0) + nameTable.offset; + font.pos = start; + var names = [ + [], + [] + ]; + var length = nameTable.length, end = start + length; + var format = font.getUint16(); + var FORMAT_0_HEADER_LENGTH = 6; + if (format !== 0 || length < FORMAT_0_HEADER_LENGTH) { + return names; + } + var numRecords = font.getUint16(); + var stringsStart = font.getUint16(); + var records = []; + var NAME_RECORD_LENGTH = 12; + var i, ii; + for (i = 0; i < numRecords && font.pos + NAME_RECORD_LENGTH <= end; i++) { + var r = { + platform: font.getUint16(), + encoding: font.getUint16(), + language: font.getUint16(), + name: font.getUint16(), + length: font.getUint16(), + offset: font.getUint16() + }; + if (r.platform === 1 && r.encoding === 0 && r.language === 0 || r.platform === 3 && r.encoding === 1 && r.language === 0x409) { + records.push(r); + } + } + for (i = 0, ii = records.length; i < ii; i++) { + var record = records[i]; + if (record.length <= 0) { + continue; + } + var pos = start + stringsStart + record.offset; + if (pos + record.length > end) { + continue; + } + font.pos = pos; + var nameIndex = record.name; + if (record.encoding) { + var str = ''; + for (var j = 0, jj = record.length; j < jj; j += 2) { + str += String.fromCharCode(font.getUint16()); + } + names[1][nameIndex] = str; + } else { + names[0][nameIndex] = bytesToString(font.getBytes(record.length)); + } + } + return names; + } + var TTOpsStackDeltas = [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -2, + -2, + -2, + -2, + 0, + 0, + -2, + -5, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + -1, + 0, + -1, + -1, + -1, + -1, + 1, + -1, + -999, + 0, + 1, + 0, + -1, + -2, + 0, + -1, + -2, + -1, + -1, + 0, + -1, + -1, + 0, + 0, + -999, + -999, + -1, + -1, + -1, + -1, + -2, + -999, + -2, + -2, + -999, + 0, + -2, + -2, + 0, + 0, + -2, + 0, + -2, + 0, + 0, + 0, + -2, + -1, + -1, + 1, + 1, + 0, + 0, + -1, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + -1, + 0, + -1, + -1, + 0, + -999, + -1, + -1, + -1, + -1, + -1, + -1, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + -2, + -999, + -999, + -999, + -999, + -999, + -1, + -1, + -2, + -2, + 0, + 0, + 0, + 0, + -1, + -1, + -999, + -2, + -2, + 0, + 0, + -1, + -2, + -2, + 0, + 0, + 0, + -1, + -1, + -1, + -2 + ]; + function sanitizeTTProgram(table, ttContext) { + var data = table.data; + var i = 0, j, n, b, funcId, pc, lastEndf = 0, lastDeff = 0; + var stack = []; + var callstack = []; + var functionsCalled = []; + var tooComplexToFollowFunctions = ttContext.tooComplexToFollowFunctions; + var inFDEF = false, ifLevel = 0, inELSE = 0; + for (var ii = data.length; i < ii;) { + var op = data[i++]; + if (op === 0x40) { + n = data[i++]; + if (inFDEF || inELSE) { + i += n; + } else { + for (j = 0; j < n; j++) { + stack.push(data[i++]); + } + } + } else if (op === 0x41) { + n = data[i++]; + if (inFDEF || inELSE) { + i += n * 2; + } else { + for (j = 0; j < n; j++) { + b = data[i++]; + stack.push(b << 8 | data[i++]); + } + } + } else if ((op & 0xF8) === 0xB0) { + n = op - 0xB0 + 1; + if (inFDEF || inELSE) { + i += n; + } else { + for (j = 0; j < n; j++) { + stack.push(data[i++]); + } + } + } else if ((op & 0xF8) === 0xB8) { + n = op - 0xB8 + 1; + if (inFDEF || inELSE) { + i += n * 2; + } else { + for (j = 0; j < n; j++) { + b = data[i++]; + stack.push(b << 8 | data[i++]); + } + } + } else if (op === 0x2B && !tooComplexToFollowFunctions) { + if (!inFDEF && !inELSE) { + funcId = stack[stack.length - 1]; + ttContext.functionsUsed[funcId] = true; + if (funcId in ttContext.functionsStackDeltas) { + stack.length += ttContext.functionsStackDeltas[funcId]; + } else if (funcId in ttContext.functionsDefined && functionsCalled.indexOf(funcId) < 0) { + callstack.push({ + data: data, + i: i, + stackTop: stack.length - 1 + }); + functionsCalled.push(funcId); + pc = ttContext.functionsDefined[funcId]; + if (!pc) { + warn('TT: CALL non-existent function'); + ttContext.hintsValid = false; + return; + } + data = pc.data; + i = pc.i; + } + } + } else if (op === 0x2C && !tooComplexToFollowFunctions) { + if (inFDEF || inELSE) { + warn('TT: nested FDEFs not allowed'); + tooComplexToFollowFunctions = true; + } + inFDEF = true; + lastDeff = i; + funcId = stack.pop(); + ttContext.functionsDefined[funcId] = { + data: data, + i: i + }; + } else if (op === 0x2D) { + if (inFDEF) { + inFDEF = false; + lastEndf = i; + } else { + pc = callstack.pop(); + if (!pc) { + warn('TT: ENDF bad stack'); + ttContext.hintsValid = false; + return; + } + funcId = functionsCalled.pop(); + data = pc.data; + i = pc.i; + ttContext.functionsStackDeltas[funcId] = stack.length - pc.stackTop; + } + } else if (op === 0x89) { + if (inFDEF || inELSE) { + warn('TT: nested IDEFs not allowed'); + tooComplexToFollowFunctions = true; + } + inFDEF = true; + lastDeff = i; + } else if (op === 0x58) { + ++ifLevel; + } else if (op === 0x1B) { + inELSE = ifLevel; + } else if (op === 0x59) { + if (inELSE === ifLevel) { + inELSE = 0; + } + --ifLevel; + } else if (op === 0x1C) { + if (!inFDEF && !inELSE) { + var offset = stack[stack.length - 1]; + if (offset > 0) { + i += offset - 1; + } + } + } + if (!inFDEF && !inELSE) { + var stackDelta = op <= 0x8E ? TTOpsStackDeltas[op] : op >= 0xC0 && op <= 0xDF ? -1 : op >= 0xE0 ? -2 : 0; + if (op >= 0x71 && op <= 0x75) { + n = stack.pop(); + if (!isNaN(n)) { + stackDelta = -n * 2; + } + } + while (stackDelta < 0 && stack.length > 0) { + stack.pop(); + stackDelta++; + } + while (stackDelta > 0) { + stack.push(NaN); + stackDelta--; + } + } + } + ttContext.tooComplexToFollowFunctions = tooComplexToFollowFunctions; + var content = [data]; + if (i > data.length) { + content.push(new Uint8Array(i - data.length)); + } + if (lastDeff > lastEndf) { + warn('TT: complementing a missing function tail'); + content.push(new Uint8Array([ + 0x22, + 0x2D + ])); + } + foldTTTable(table, content); + } + function checkInvalidFunctions(ttContext, maxFunctionDefs) { + if (ttContext.tooComplexToFollowFunctions) { + return; + } + if (ttContext.functionsDefined.length > maxFunctionDefs) { + warn('TT: more functions defined than expected'); + ttContext.hintsValid = false; + return; + } + for (var j = 0, jj = ttContext.functionsUsed.length; j < jj; j++) { + if (j > maxFunctionDefs) { + warn('TT: invalid function id: ' + j); + ttContext.hintsValid = false; + return; + } + if (ttContext.functionsUsed[j] && !ttContext.functionsDefined[j]) { + warn('TT: undefined function: ' + j); + ttContext.hintsValid = false; + return; + } + } + } + function foldTTTable(table, content) { + if (content.length > 1) { + var newLength = 0; + var j, jj; + for (j = 0, jj = content.length; j < jj; j++) { + newLength += content[j].length; + } + newLength = newLength + 3 & ~3; + var result = new Uint8Array(newLength); + var pos = 0; + for (j = 0, jj = content.length; j < jj; j++) { + result.set(content[j], pos); + pos += content[j].length; + } + table.data = result; + table.length = newLength; + } + } + function sanitizeTTPrograms(fpgm, prep, cvt, maxFunctionDefs) { + var ttContext = { + functionsDefined: [], + functionsUsed: [], + functionsStackDeltas: [], + tooComplexToFollowFunctions: false, + hintsValid: true + }; + if (fpgm) { + sanitizeTTProgram(fpgm, ttContext); + } + if (prep) { + sanitizeTTProgram(prep, ttContext); + } + if (fpgm) { + checkInvalidFunctions(ttContext, maxFunctionDefs); + } + if (cvt && cvt.length & 1) { + var cvtData = new Uint8Array(cvt.length + 1); + cvtData.set(cvt.data); + cvt.data = cvtData; + } + return ttContext.hintsValid; + } + font = new Stream(new Uint8Array(font.getBytes())); + var VALID_TABLES = [ + 'OS/2', + 'cmap', + 'head', + 'hhea', + 'hmtx', + 'maxp', + 'name', + 'post', + 'loca', + 'glyf', + 'fpgm', + 'prep', + 'cvt ', + 'CFF ' + ]; + var header = readOpenTypeHeader(font); + var numTables = header.numTables; + var cff, cffFile; + var tables = Object.create(null); + tables['OS/2'] = null; + tables['cmap'] = null; + tables['head'] = null; + tables['hhea'] = null; + tables['hmtx'] = null; + tables['maxp'] = null; + tables['name'] = null; + tables['post'] = null; + var table; + for (var i = 0; i < numTables; i++) { + table = readTableEntry(font); + if (VALID_TABLES.indexOf(table.tag) < 0) { + continue; + } + if (table.length === 0) { + continue; + } + tables[table.tag] = table; + } + var isTrueType = !tables['CFF ']; + if (!isTrueType) { + if (header.version === 'OTTO' && !properties.composite || !tables['head'] || !tables['hhea'] || !tables['maxp'] || !tables['post']) { + cffFile = new Stream(tables['CFF '].data); + cff = new CFFFont(cffFile, properties); + adjustWidths(properties); + return this.convert(name, cff, properties); + } + delete tables['glyf']; + delete tables['loca']; + delete tables['fpgm']; + delete tables['prep']; + delete tables['cvt ']; + this.isOpenType = true; + } else { + if (!tables['loca']) { + error('Required "loca" table is not found'); + } + if (!tables['glyf']) { + warn('Required "glyf" table is not found -- trying to recover.'); + tables['glyf'] = { + tag: 'glyf', + data: new Uint8Array(0) + }; + } + this.isOpenType = false; + } + if (!tables['maxp']) { + error('Required "maxp" table is not found'); + } + font.pos = (font.start || 0) + tables['maxp'].offset; + var version = font.getInt32(); + var numGlyphs = font.getUint16(); + var maxFunctionDefs = 0; + if (version >= 0x00010000 && tables['maxp'].length >= 22) { + font.pos += 8; + var maxZones = font.getUint16(); + if (maxZones > 2) { + tables['maxp'].data[14] = 0; + tables['maxp'].data[15] = 2; + } + font.pos += 4; + maxFunctionDefs = font.getUint16(); + } + var dupFirstEntry = false; + if (properties.type === 'CIDFontType2' && properties.toUnicode && properties.toUnicode.get(0) > '\u0000') { + dupFirstEntry = true; + numGlyphs++; + tables['maxp'].data[4] = numGlyphs >> 8; + tables['maxp'].data[5] = numGlyphs & 255; + } + var hintsValid = sanitizeTTPrograms(tables['fpgm'], tables['prep'], tables['cvt '], maxFunctionDefs); + if (!hintsValid) { + delete tables['fpgm']; + delete tables['prep']; + delete tables['cvt ']; + } + sanitizeMetrics(font, tables['hhea'], tables['hmtx'], numGlyphs); + if (!tables['head']) { + error('Required "head" table is not found'); + } + sanitizeHead(tables['head'], numGlyphs, isTrueType ? tables['loca'].length : 0); + var missingGlyphs = Object.create(null); + if (isTrueType) { + var isGlyphLocationsLong = int16(tables['head'].data[50], tables['head'].data[51]); + missingGlyphs = sanitizeGlyphLocations(tables['loca'], tables['glyf'], numGlyphs, isGlyphLocationsLong, hintsValid, dupFirstEntry); + } + if (!tables['hhea']) { + error('Required "hhea" table is not found'); + } + if (tables['hhea'].data[10] === 0 && tables['hhea'].data[11] === 0) { + tables['hhea'].data[10] = 0xFF; + tables['hhea'].data[11] = 0xFF; + } + var metricsOverride = { + unitsPerEm: int16(tables['head'].data[18], tables['head'].data[19]), + yMax: int16(tables['head'].data[42], tables['head'].data[43]), + yMin: signedInt16(tables['head'].data[38], tables['head'].data[39]), + ascent: int16(tables['hhea'].data[4], tables['hhea'].data[5]), + descent: signedInt16(tables['hhea'].data[6], tables['hhea'].data[7]) + }; + this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm; + this.descent = metricsOverride.descent / metricsOverride.unitsPerEm; + if (tables['post']) { + var valid = readPostScriptTable(tables['post'], properties, numGlyphs); + if (!valid) { + tables['post'] = null; + } + } + 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 && isNum(widths[widthCode])) { + return true; + } + return false; + } + if (properties.composite) { + var cidToGidMap = properties.cidToGidMap || []; + var isCidToGidMapEmpty = cidToGidMap.length === 0; + properties.cMap.forEach(function (charCode, cid) { + assert(cid <= 0xffff, 'Max size of CID is 65,535'); + var glyphId = -1; + if (isCidToGidMapEmpty) { + glyphId = cid; + } else if (cidToGidMap[cid] !== undefined) { + glyphId = cidToGidMap[cid]; + } + if (glyphId >= 0 && glyphId < numGlyphs && hasGlyph(glyphId, charCode, cid)) { + charCodeToGlyphId[charCode] = glyphId; + } + }); + if (dupFirstEntry && (isCidToGidMapEmpty || !charCodeToGlyphId[0])) { + charCodeToGlyphId[0] = numGlyphs - 1; + } + } else { + var cmapTable = readCmapTable(tables['cmap'], font, this.isSymbolicFont, properties.hasEncoding); + var cmapPlatformId = cmapTable.platformId; + var cmapEncodingId = cmapTable.encodingId; + var cmapMappings = cmapTable.mappings; + var cmapMappingsLength = cmapMappings.length; + if (properties.hasEncoding && (cmapPlatformId === 3 && cmapEncodingId === 1 || cmapPlatformId === 1 && cmapEncodingId === 0) || cmapPlatformId === -1 && cmapEncodingId === -1 && !!getEncoding(properties.baseEncodingName)) { + var baseEncoding = []; + if (properties.baseEncodingName === 'MacRomanEncoding' || properties.baseEncodingName === 'WinAnsiEncoding') { + baseEncoding = getEncoding(properties.baseEncodingName); + } + var glyphsUnicodeMap = getGlyphsUnicode(); + for (charCode = 0; charCode < 256; charCode++) { + var glyphName, standardGlyphName; + if (this.differences && charCode in this.differences) { + glyphName = this.differences[charCode]; + } else if (charCode in baseEncoding && baseEncoding[charCode] !== '') { + glyphName = baseEncoding[charCode]; + } else { + glyphName = StandardEncoding[charCode]; + } + if (!glyphName) { + continue; + } + standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap); + var unicodeOrCharCode, isUnicode = false; + if (cmapPlatformId === 3 && cmapEncodingId === 1) { + unicodeOrCharCode = glyphsUnicodeMap[standardGlyphName]; + isUnicode = true; + } else if (cmapPlatformId === 1 && cmapEncodingId === 0) { + unicodeOrCharCode = MacRomanEncoding.indexOf(standardGlyphName); + } + var found = false; + for (i = 0; i < cmapMappingsLength; ++i) { + if (cmapMappings[i].charCode !== unicodeOrCharCode) { + continue; + } + var code = isUnicode ? charCode : unicodeOrCharCode; + if (hasGlyph(cmapMappings[i].glyphId, code, -1)) { + charCodeToGlyphId[charCode] = cmapMappings[i].glyphId; + found = true; + break; + } + } + if (!found && properties.glyphNames) { + var glyphId = properties.glyphNames.indexOf(glyphName); + if (glyphId === -1 && standardGlyphName !== glyphName) { + glyphId = properties.glyphNames.indexOf(standardGlyphName); + } + if (glyphId > 0 && hasGlyph(glyphId, -1, -1)) { + charCodeToGlyphId[charCode] = glyphId; + found = true; + } + } + if (!found) { + charCodeToGlyphId[charCode] = 0; + } + } + } else if (cmapPlatformId === 0 && cmapEncodingId === 0) { + for (i = 0; i < cmapMappingsLength; ++i) { + charCodeToGlyphId[cmapMappings[i].charCode] = cmapMappings[i].glyphId; + } + } else { + for (i = 0; i < cmapMappingsLength; ++i) { + charCode = cmapMappings[i].charCode & 0xFF; + charCodeToGlyphId[charCode] = cmapMappings[i].glyphId; + } + } + } + if (charCodeToGlyphId.length === 0) { + charCodeToGlyphId[0] = 0; + } + var newMapping = adjustMapping(charCodeToGlyphId, properties); + this.toFontChar = newMapping.toFontChar; + tables['cmap'] = { + tag: 'cmap', + data: createCmapTable(newMapping.charCodeToGlyphId, numGlyphs) + }; + if (!tables['OS/2'] || !validateOS2Table(tables['OS/2'])) { + tables['OS/2'] = { + tag: 'OS/2', + data: createOS2Table(properties, newMapping.charCodeToGlyphId, metricsOverride) + }; + } + if (!tables['post']) { + tables['post'] = { + tag: 'post', + data: createPostTable(properties) + }; + } + if (!isTrueType) { + try { + cffFile = new Stream(tables['CFF '].data); + var parser = new CFFParser(cffFile, properties, SEAC_ANALYSIS_ENABLED); + cff = parser.parse(); + var compiler = new CFFCompiler(cff); + tables['CFF '].data = compiler.compile(); + } catch (e) { + warn('Failed to compile font ' + properties.loadedName); + } + } + if (!tables['name']) { + tables['name'] = { + tag: 'name', + data: createNameTable(this.name) + }; + } else { + var namePrototype = readNameTable(tables['name']); + tables['name'].data = createNameTable(name, namePrototype); + } + var builder = new OpenTypeFileBuilder(header.version); + for (var tableTag in tables) { + builder.addTable(tableTag, tables[tableTag].data); + } + return builder.toArray(); + }, + convert: function Font_convert(fontName, font, properties) { + properties.fixedPitch = false; + if (properties.builtInEncoding) { + adjustToUnicode(properties, properties.builtInEncoding); + } + var mapping = font.getGlyphMapping(properties); + var newMapping = adjustMapping(mapping, properties); + this.toFontChar = newMapping.toFontChar; + var numGlyphs = font.numGlyphs; + function getCharCodes(charCodeToGlyphId, glyphId) { + var charCodes = null; + for (var charCode in charCodeToGlyphId) { + if (glyphId === charCodeToGlyphId[charCode]) { + if (!charCodes) { + charCodes = []; + } + charCodes.push(charCode | 0); + } + } + return charCodes; + } + function createCharCode(charCodeToGlyphId, glyphId) { + for (var charCode in charCodeToGlyphId) { + if (glyphId === charCodeToGlyphId[charCode]) { + return charCode | 0; + } + } + newMapping.charCodeToGlyphId[newMapping.nextAvailableFontCharCode] = glyphId; + return newMapping.nextAvailableFontCharCode++; + } + var seacs = font.seacs; + if (SEAC_ANALYSIS_ENABLED && seacs && seacs.length) { + var matrix = properties.fontMatrix || FONT_IDENTITY_MATRIX; + var charset = font.getCharset(); + var seacMap = Object.create(null); + for (var glyphId in seacs) { + glyphId |= 0; + var seac = seacs[glyphId]; + var baseGlyphName = StandardEncoding[seac[2]]; + var accentGlyphName = StandardEncoding[seac[3]]; + var baseGlyphId = charset.indexOf(baseGlyphName); + var accentGlyphId = charset.indexOf(accentGlyphName); + if (baseGlyphId < 0 || accentGlyphId < 0) { + continue; + } + var accentOffset = { + x: seac[0] * matrix[0] + seac[1] * matrix[2] + matrix[4], + y: seac[0] * matrix[1] + seac[1] * matrix[3] + matrix[5] + }; + var charCodes = getCharCodes(mapping, glyphId); + if (!charCodes) { + continue; + } + for (var i = 0, ii = charCodes.length; i < ii; i++) { + var charCode = charCodes[i]; + var charCodeToGlyphId = newMapping.charCodeToGlyphId; + var baseFontCharCode = createCharCode(charCodeToGlyphId, baseGlyphId); + var accentFontCharCode = createCharCode(charCodeToGlyphId, accentGlyphId); + seacMap[charCode] = { + baseFontCharCode: baseFontCharCode, + accentFontCharCode: accentFontCharCode, + accentOffset: accentOffset + }; + } + } + properties.seacMap = seacMap; + } + var unitsPerEm = 1 / (properties.fontMatrix || FONT_IDENTITY_MATRIX)[0]; + var builder = new OpenTypeFileBuilder('\x4F\x54\x54\x4F'); + builder.addTable('CFF ', font.data); + builder.addTable('OS/2', createOS2Table(properties, newMapping.charCodeToGlyphId)); + builder.addTable('cmap', createCmapTable(newMapping.charCodeToGlyphId, numGlyphs)); + builder.addTable('head', '\x00\x01\x00\x00' + '\x00\x00\x10\x00' + '\x00\x00\x00\x00' + '\x5F\x0F\x3C\xF5' + '\x00\x00' + safeString16(unitsPerEm) + '\x00\x00\x00\x00\x9e\x0b\x7e\x27' + '\x00\x00\x00\x00\x9e\x0b\x7e\x27' + '\x00\x00' + safeString16(properties.descent) + '\x0F\xFF' + safeString16(properties.ascent) + string16(properties.italicAngle ? 2 : 0) + '\x00\x11' + '\x00\x00' + '\x00\x00' + '\x00\x00'); + builder.addTable('hhea', '\x00\x01\x00\x00' + safeString16(properties.ascent) + safeString16(properties.descent) + '\x00\x00' + '\xFF\xFF' + '\x00\x00' + '\x00\x00' + '\x00\x00' + safeString16(properties.capHeight) + safeString16(Math.tan(properties.italicAngle) * properties.xHeight) + '\x00\x00' + '\x00\x00' + '\x00\x00' + '\x00\x00' + '\x00\x00' + '\x00\x00' + string16(numGlyphs)); + builder.addTable('hmtx', function fontFieldsHmtx() { + var charstrings = font.charstrings; + var cffWidths = font.cff ? font.cff.widths : null; + var hmtx = '\x00\x00\x00\x00'; + for (var i = 1, ii = numGlyphs; i < ii; i++) { + var width = 0; + if (charstrings) { + var charstring = charstrings[i - 1]; + width = 'width' in charstring ? charstring.width : 0; + } else if (cffWidths) { + width = Math.ceil(cffWidths[i] || 0); + } + hmtx += string16(width) + string16(0); + } + return hmtx; + }()); + builder.addTable('maxp', '\x00\x00\x50\x00' + string16(numGlyphs)); + builder.addTable('name', createNameTable(fontName)); + builder.addTable('post', createPostTable(properties)); + return builder.toArray(); + }, + get spaceWidth() { + if ('_shadowWidth' in this) { + return this._shadowWidth; + } + var possibleSpaceReplacements = [ + 'space', + 'minus', + 'one', + 'i', + 'I' + ]; + var width; + for (var i = 0, ii = possibleSpaceReplacements.length; i < ii; i++) { + var glyphName = possibleSpaceReplacements[i]; + if (glyphName in this.widths) { + width = this.widths[glyphName]; + break; + } + var glyphsUnicodeMap = getGlyphsUnicode(); + var glyphUnicode = glyphsUnicodeMap[glyphName]; + var charcode = 0; + if (this.composite) { + if (this.cMap.contains(glyphUnicode)) { + charcode = this.cMap.lookup(glyphUnicode); + } + } + if (!charcode && this.toUnicode) { + charcode = this.toUnicode.charCodeOf(glyphUnicode); + } + if (charcode <= 0) { + charcode = glyphUnicode; + } + width = this.widths[charcode]; + if (width) { + break; + } + } + width = width || this.defaultWidth; + this._shadowWidth = width; + return width; + }, + charToGlyph: function Font_charToGlyph(charcode, isSpace) { + var fontCharCode, width, operatorListId; + var widthCode = charcode; + if (this.cMap && this.cMap.contains(charcode)) { + widthCode = this.cMap.lookup(charcode); + } + width = this.widths[widthCode]; + width = isNum(width) ? width : this.defaultWidth; + var vmetric = this.vmetrics && this.vmetrics[widthCode]; + var unicode = this.toUnicode.get(charcode) || charcode; + if (typeof unicode === 'number') { + unicode = String.fromCharCode(unicode); + } + var isInFont = charcode in this.toFontChar; + fontCharCode = this.toFontChar[charcode] || charcode; + if (this.missingFile) { + fontCharCode = mapSpecialUnicodeValues(fontCharCode); + } + if (this.isType3Font) { + operatorListId = fontCharCode; + } + var accent = null; + if (this.seacMap && this.seacMap[charcode]) { + isInFont = true; + var seac = this.seacMap[charcode]; + fontCharCode = seac.baseFontCharCode; + accent = { + fontChar: String.fromCharCode(seac.accentFontCharCode), + offset: seac.accentOffset + }; + } + var fontChar = String.fromCharCode(fontCharCode); + var glyph = this.glyphCache[charcode]; + if (!glyph || !glyph.matchesForCache(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont)) { + glyph = new Glyph(fontChar, unicode, accent, width, vmetric, operatorListId, isSpace, isInFont); + this.glyphCache[charcode] = glyph; + } + return glyph; + }, + charsToGlyphs: function Font_charsToGlyphs(chars) { + var charsCache = this.charsCache; + var glyphs, glyph, charcode; + if (charsCache) { + glyphs = charsCache[chars]; + if (glyphs) { + return glyphs; + } + } + if (!charsCache) { + charsCache = this.charsCache = Object.create(null); + } + glyphs = []; + var charsCacheKey = chars; + var i = 0, ii; + if (this.cMap) { + var c = Object.create(null); + while (i < chars.length) { + this.cMap.readCharCode(chars, i, c); + charcode = c.charcode; + var length = c.length; + i += length; + var isSpace = length === 1 && chars.charCodeAt(i - 1) === 0x20; + glyph = this.charToGlyph(charcode, isSpace); + glyphs.push(glyph); + } + } else { + for (i = 0, ii = chars.length; i < ii; ++i) { + charcode = chars.charCodeAt(i); + glyph = this.charToGlyph(charcode, charcode === 0x20); + glyphs.push(glyph); + } + } + return charsCache[charsCacheKey] = glyphs; + } + }; + return Font; +}(); +var ErrorFont = function ErrorFontClosure() { + function ErrorFont(error) { + this.error = error; + this.loadedName = 'g_font_error'; + this.loading = false; + } + ErrorFont.prototype = { + charsToGlyphs: function ErrorFont_charsToGlyphs() { + return []; + }, + exportData: function ErrorFont_exportData() { + return { error: this.error }; + } + }; + return ErrorFont; +}(); +function type1FontGlyphMapping(properties, builtInEncoding, glyphNames) { + var charCodeToGlyphId = Object.create(null); + var glyphId, charCode, baseEncoding; + var isSymbolicFont = !!(properties.flags & FontFlags.Symbolic); + if (properties.baseEncodingName) { + baseEncoding = getEncoding(properties.baseEncodingName); + for (charCode = 0; charCode < baseEncoding.length; charCode++) { + glyphId = glyphNames.indexOf(baseEncoding[charCode]); + if (glyphId >= 0) { + charCodeToGlyphId[charCode] = glyphId; + } else { + charCodeToGlyphId[charCode] = 0; + } + } + } else if (isSymbolicFont) { + for (charCode in builtInEncoding) { + charCodeToGlyphId[charCode] = builtInEncoding[charCode]; + } + } else { + baseEncoding = StandardEncoding; + for (charCode = 0; charCode < baseEncoding.length; charCode++) { + glyphId = glyphNames.indexOf(baseEncoding[charCode]); + if (glyphId >= 0) { + charCodeToGlyphId[charCode] = glyphId; + } else { + charCodeToGlyphId[charCode] = 0; + } + } + } + var differences = properties.differences, glyphsUnicodeMap; + if (differences) { + for (charCode in differences) { + var glyphName = differences[charCode]; + glyphId = glyphNames.indexOf(glyphName); + if (glyphId === -1) { + if (!glyphsUnicodeMap) { + glyphsUnicodeMap = getGlyphsUnicode(); + } + var standardGlyphName = recoverGlyphName(glyphName, glyphsUnicodeMap); + if (standardGlyphName !== glyphName) { + glyphId = glyphNames.indexOf(standardGlyphName); + } + } + if (glyphId >= 0) { + charCodeToGlyphId[charCode] = glyphId; + } else { + charCodeToGlyphId[charCode] = 0; + } + } + } + return charCodeToGlyphId; +} +var Type1Font = function Type1FontClosure() { + function findBlock(streamBytes, signature, startIndex) { + var streamBytesLength = streamBytes.length; + var signatureLength = signature.length; + var scanLength = streamBytesLength - signatureLength; + var i = startIndex, j, found = false; + while (i < scanLength) { + j = 0; + while (j < signatureLength && streamBytes[i + j] === signature[j]) { + j++; + } + if (j >= signatureLength) { + i += j; + while (i < streamBytesLength && isSpace(streamBytes[i])) { + i++; + } + found = true; + break; + } + i++; + } + return { + found: found, + length: i + }; + } + function getHeaderBlock(stream, suggestedLength) { + var EEXEC_SIGNATURE = [ + 0x65, + 0x65, + 0x78, + 0x65, + 0x63 + ]; + var streamStartPos = stream.pos; + var headerBytes, headerBytesLength, block; + try { + headerBytes = stream.getBytes(suggestedLength); + headerBytesLength = headerBytes.length; + } catch (ex) { + if (ex instanceof MissingDataException) { + throw ex; + } + } + if (headerBytesLength === suggestedLength) { + block = findBlock(headerBytes, EEXEC_SIGNATURE, suggestedLength - 2 * EEXEC_SIGNATURE.length); + if (block.found && block.length === suggestedLength) { + return { + stream: new Stream(headerBytes), + length: suggestedLength + }; + } + } + warn('Invalid "Length1" property in Type1 font -- trying to recover.'); + stream.pos = streamStartPos; + var SCAN_BLOCK_LENGTH = 2048; + var actualLength; + while (true) { + var scanBytes = stream.peekBytes(SCAN_BLOCK_LENGTH); + block = findBlock(scanBytes, EEXEC_SIGNATURE, 0); + if (block.length === 0) { + break; + } + stream.pos += block.length; + if (block.found) { + actualLength = stream.pos - streamStartPos; + break; + } + } + stream.pos = streamStartPos; + if (actualLength) { + return { + stream: new Stream(stream.getBytes(actualLength)), + length: actualLength + }; + } + warn('Unable to recover "Length1" property in Type1 font -- using as is.'); + return { + stream: new Stream(stream.getBytes(suggestedLength)), + length: suggestedLength + }; + } + function getEexecBlock(stream, suggestedLength) { + var eexecBytes = stream.getBytes(); + return { + stream: new Stream(eexecBytes), + length: eexecBytes.length + }; + } + function Type1Font(name, file, properties) { + var PFB_HEADER_SIZE = 6; + var headerBlockLength = properties.length1; + var eexecBlockLength = properties.length2; + var pfbHeader = file.peekBytes(PFB_HEADER_SIZE); + var pfbHeaderPresent = pfbHeader[0] === 0x80 && pfbHeader[1] === 0x01; + if (pfbHeaderPresent) { + file.skip(PFB_HEADER_SIZE); + headerBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2]; + } + var headerBlock = getHeaderBlock(file, headerBlockLength); + headerBlockLength = headerBlock.length; + var headerBlockParser = new Type1Parser(headerBlock.stream, false, SEAC_ANALYSIS_ENABLED); + headerBlockParser.extractFontHeader(properties); + if (pfbHeaderPresent) { + pfbHeader = file.getBytes(PFB_HEADER_SIZE); + eexecBlockLength = pfbHeader[5] << 24 | pfbHeader[4] << 16 | pfbHeader[3] << 8 | pfbHeader[2]; + } + var eexecBlock = getEexecBlock(file, eexecBlockLength); + eexecBlockLength = eexecBlock.length; + var eexecBlockParser = new Type1Parser(eexecBlock.stream, true, SEAC_ANALYSIS_ENABLED); + var data = eexecBlockParser.extractFontProgram(); + for (var info in data.properties) { + properties[info] = data.properties[info]; + } + var charstrings = data.charstrings; + var type2Charstrings = this.getType2Charstrings(charstrings); + var subrs = this.getType2Subrs(data.subrs); + this.charstrings = charstrings; + this.data = this.wrap(name, type2Charstrings, this.charstrings, subrs, properties); + this.seacs = this.getSeacs(data.charstrings); + } + Type1Font.prototype = { + get numGlyphs() { + return this.charstrings.length + 1; + }, + getCharset: function Type1Font_getCharset() { + var charset = ['.notdef']; + var charstrings = this.charstrings; + for (var glyphId = 0; glyphId < charstrings.length; glyphId++) { + charset.push(charstrings[glyphId].glyphName); + } + return charset; + }, + getGlyphMapping: function Type1Font_getGlyphMapping(properties) { + var charstrings = this.charstrings; + var glyphNames = ['.notdef'], glyphId; + for (glyphId = 0; glyphId < charstrings.length; glyphId++) { + glyphNames.push(charstrings[glyphId].glyphName); + } + var encoding = properties.builtInEncoding; + if (encoding) { + var builtInEncoding = Object.create(null); + for (var charCode in encoding) { + glyphId = glyphNames.indexOf(encoding[charCode]); + if (glyphId >= 0) { + builtInEncoding[charCode] = glyphId; + } + } + } + return type1FontGlyphMapping(properties, builtInEncoding, glyphNames); + }, + getSeacs: function Type1Font_getSeacs(charstrings) { + var i, ii; + var seacMap = []; + for (i = 0, ii = charstrings.length; i < ii; i++) { + var charstring = charstrings[i]; + if (charstring.seac) { + seacMap[i + 1] = charstring.seac; + } + } + return seacMap; + }, + getType2Charstrings: function Type1Font_getType2Charstrings(type1Charstrings) { + var type2Charstrings = []; + for (var i = 0, ii = type1Charstrings.length; i < ii; i++) { + type2Charstrings.push(type1Charstrings[i].charstring); + } + return type2Charstrings; + }, + getType2Subrs: function Type1Font_getType2Subrs(type1Subrs) { + var bias = 0; + var count = type1Subrs.length; + if (count < 1133) { + bias = 107; + } else if (count < 33769) { + bias = 1131; + } else { + bias = 32768; + } + var type2Subrs = []; + var i; + for (i = 0; i < bias; i++) { + type2Subrs.push([0x0B]); + } + for (i = 0; i < count; i++) { + type2Subrs.push(type1Subrs[i]); + } + return type2Subrs; + }, + wrap: function Type1Font_wrap(name, glyphs, charstrings, subrs, properties) { + var cff = new CFF(); + cff.header = new CFFHeader(1, 0, 4, 4); + cff.names = [name]; + var topDict = new CFFTopDict(); + topDict.setByName('version', 391); + topDict.setByName('Notice', 392); + topDict.setByName('FullName', 393); + topDict.setByName('FamilyName', 394); + topDict.setByName('Weight', 395); + topDict.setByName('Encoding', null); + topDict.setByName('FontMatrix', properties.fontMatrix); + topDict.setByName('FontBBox', properties.bbox); + topDict.setByName('charset', null); + topDict.setByName('CharStrings', null); + topDict.setByName('Private', null); + cff.topDict = topDict; + var strings = new CFFStrings(); + strings.add('Version 0.11'); + strings.add('See original notice'); + strings.add(name); + strings.add(name); + strings.add('Medium'); + cff.strings = strings; + cff.globalSubrIndex = new CFFIndex(); + var count = glyphs.length; + var charsetArray = [0]; + var i, ii; + for (i = 0; i < count; i++) { + var index = CFFStandardStrings.indexOf(charstrings[i].glyphName); + if (index === -1) { + index = 0; + } + charsetArray.push(index >> 8 & 0xff, index & 0xff); + } + cff.charset = new CFFCharset(false, 0, [], charsetArray); + var charStringsIndex = new CFFIndex(); + charStringsIndex.add([ + 0x8B, + 0x0E + ]); + for (i = 0; i < count; i++) { + var glyph = glyphs[i]; + if (glyph.length === 0) { + charStringsIndex.add([ + 0x8B, + 0x0E + ]); + continue; + } + charStringsIndex.add(glyph); + } + cff.charStrings = charStringsIndex; + var privateDict = new CFFPrivateDict(); + privateDict.setByName('Subrs', null); + var fields = [ + 'BlueValues', + 'OtherBlues', + 'FamilyBlues', + 'FamilyOtherBlues', + 'StemSnapH', + 'StemSnapV', + 'BlueShift', + 'BlueFuzz', + 'BlueScale', + 'LanguageGroup', + 'ExpansionFactor', + 'ForceBold', + 'StdHW', + 'StdVW' + ]; + for (i = 0, ii = fields.length; i < ii; i++) { + var field = fields[i]; + if (!(field in properties.privateData)) { + continue; + } + var value = properties.privateData[field]; + if (isArray(value)) { + for (var j = value.length - 1; j > 0; j--) { + value[j] -= value[j - 1]; + } + } + privateDict.setByName(field, value); + } + cff.topDict.privateDict = privateDict; + var subrIndex = new CFFIndex(); + for (i = 0, ii = subrs.length; i < ii; i++) { + subrIndex.add(subrs[i]); + } + privateDict.subrsIndex = subrIndex; + var compiler = new CFFCompiler(cff); + return compiler.compile(); + } + }; + return Type1Font; +}(); +var CFFFont = function CFFFontClosure() { + function CFFFont(file, properties) { + this.properties = properties; + var parser = new CFFParser(file, properties, SEAC_ANALYSIS_ENABLED); + this.cff = parser.parse(); + var compiler = new CFFCompiler(this.cff); + this.seacs = this.cff.seacs; + try { + this.data = compiler.compile(); + } catch (e) { + warn('Failed to compile font ' + properties.loadedName); + this.data = file; + } + } + CFFFont.prototype = { + get numGlyphs() { + return this.cff.charStrings.count; + }, + getCharset: function CFFFont_getCharset() { + return this.cff.charset.charset; + }, + getGlyphMapping: function CFFFont_getGlyphMapping() { + var cff = this.cff; + var properties = this.properties; + var charsets = cff.charset.charset; + var charCodeToGlyphId; + var glyphId; + if (properties.composite) { + charCodeToGlyphId = Object.create(null); + if (cff.isCIDFont) { + for (glyphId = 0; glyphId < charsets.length; glyphId++) { + var cid = charsets[glyphId]; + var charCode = properties.cMap.charCodeOf(cid); + charCodeToGlyphId[charCode] = glyphId; + } + } else { + for (glyphId = 0; glyphId < cff.charStrings.count; glyphId++) { + charCodeToGlyphId[glyphId] = glyphId; + } + } + return charCodeToGlyphId; + } + var encoding = cff.encoding ? cff.encoding.encoding : null; + charCodeToGlyphId = type1FontGlyphMapping(properties, encoding, charsets); + return charCodeToGlyphId; + } + }; + return CFFFont; +}(); +(function checkSeacSupport() { + if (typeof navigator !== 'undefined' && /Windows/.test(navigator.userAgent)) { + SEAC_ANALYSIS_ENABLED = true; + } +}()); +(function checkChromeWindows() { + if (typeof navigator !== 'undefined' && /Windows.*Chrome/.test(navigator.userAgent)) { + SKIP_PRIVATE_USE_RANGE_F000_TO_F01F = true; + } +}()); +exports.SEAC_ANALYSIS_ENABLED = SEAC_ANALYSIS_ENABLED; +exports.PRIVATE_USE_OFFSET_START = PRIVATE_USE_OFFSET_START; +exports.PRIVATE_USE_OFFSET_END = PRIVATE_USE_OFFSET_END; +exports.ErrorFont = ErrorFont; +exports.Font = Font; +exports.FontFlags = FontFlags; +exports.IdentityToUnicodeMap = IdentityToUnicodeMap; +exports.ProblematicCharRanges = ProblematicCharRanges; +exports.ToUnicodeMap = ToUnicodeMap; +exports.getFontType = getFontType; + +/***/ }), +/* 27 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreColorSpace = __w_pdfjs_require__(3); +var coreStream = __w_pdfjs_require__(2); +var coreJpx = __w_pdfjs_require__(15); +var ImageKind = sharedUtil.ImageKind; +var assert = sharedUtil.assert; +var error = sharedUtil.error; +var info = sharedUtil.info; +var isArray = sharedUtil.isArray; +var warn = sharedUtil.warn; +var Name = corePrimitives.Name; +var isStream = corePrimitives.isStream; +var ColorSpace = coreColorSpace.ColorSpace; +var DecodeStream = coreStream.DecodeStream; +var JpegStream = coreStream.JpegStream; +var JpxImage = coreJpx.JpxImage; +var PDFImage = function PDFImageClosure() { + function handleImageData(image, nativeDecoder) { + if (nativeDecoder && nativeDecoder.canDecode(image)) { + return nativeDecoder.decode(image); + } + return Promise.resolve(image); + } + function decodeAndClamp(value, addend, coefficient, max) { + value = addend + value * coefficient; + return value < 0 ? 0 : value > max ? max : value; + } + function resizeImageMask(src, bpc, w1, h1, w2, h2) { + var length = w2 * h2; + var dest = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length); + var xRatio = w1 / w2; + var yRatio = h1 / h2; + var i, j, py, newIndex = 0, oldIndex; + var xScaled = new Uint16Array(w2); + var w1Scanline = w1; + for (i = 0; i < w2; i++) { + xScaled[i] = Math.floor(i * xRatio); + } + for (i = 0; i < h2; i++) { + py = Math.floor(i * yRatio) * w1Scanline; + for (j = 0; j < w2; j++) { + oldIndex = py + xScaled[j]; + dest[newIndex++] = src[oldIndex]; + } + } + return dest; + } + function PDFImage(xref, res, image, inline, smask, mask, isMask) { + this.image = image; + var dict = image.dict; + if (dict.has('Filter')) { + var filter = dict.get('Filter').name; + if (filter === 'JPXDecode') { + var jpxImage = new JpxImage(); + jpxImage.parseImageProperties(image.stream); + image.stream.reset(); + image.bitsPerComponent = jpxImage.bitsPerComponent; + image.numComps = jpxImage.componentsCount; + } else if (filter === 'JBIG2Decode') { + image.bitsPerComponent = 1; + image.numComps = 1; + } + } + this.width = dict.get('Width', 'W'); + this.height = dict.get('Height', 'H'); + if (this.width < 1 || this.height < 1) { + error('Invalid image width: ' + this.width + ' or height: ' + this.height); + } + this.interpolate = dict.get('Interpolate', 'I') || false; + this.imageMask = dict.get('ImageMask', 'IM') || false; + this.matte = dict.get('Matte') || false; + var bitsPerComponent = image.bitsPerComponent; + if (!bitsPerComponent) { + bitsPerComponent = dict.get('BitsPerComponent', 'BPC'); + if (!bitsPerComponent) { + if (this.imageMask) { + bitsPerComponent = 1; + } else { + error('Bits per component missing in image: ' + this.imageMask); + } + } + } + this.bpc = bitsPerComponent; + if (!this.imageMask) { + var colorSpace = dict.get('ColorSpace', 'CS'); + if (!colorSpace) { + info('JPX images (which do not require color spaces)'); + switch (image.numComps) { + case 1: + colorSpace = Name.get('DeviceGray'); + break; + case 3: + colorSpace = Name.get('DeviceRGB'); + break; + case 4: + colorSpace = Name.get('DeviceCMYK'); + break; + default: + error('JPX images with ' + this.numComps + ' color components not supported.'); + } + } + this.colorSpace = ColorSpace.parse(colorSpace, xref, res); + this.numComps = this.colorSpace.numComps; + } + this.decode = dict.getArray('Decode', 'D'); + this.needsDecode = false; + if (this.decode && (this.colorSpace && !this.colorSpace.isDefaultDecode(this.decode) || isMask && !ColorSpace.isDefaultDecode(this.decode, 1))) { + this.needsDecode = true; + var max = (1 << bitsPerComponent) - 1; + this.decodeCoefficients = []; + this.decodeAddends = []; + for (var i = 0, j = 0; i < this.decode.length; i += 2, ++j) { + var dmin = this.decode[i]; + var dmax = this.decode[i + 1]; + this.decodeCoefficients[j] = dmax - dmin; + this.decodeAddends[j] = max * dmin; + } + } + if (smask) { + this.smask = new PDFImage(xref, res, smask, false); + } else if (mask) { + if (isStream(mask)) { + var maskDict = mask.dict, imageMask = maskDict.get('ImageMask', 'IM'); + if (!imageMask) { + warn('Ignoring /Mask in image without /ImageMask.'); + } else { + this.mask = new PDFImage(xref, res, mask, false, null, null, true); + } + } else { + this.mask = mask; + } + } + } + PDFImage.buildImage = function PDFImage_buildImage(handler, xref, res, image, inline, nativeDecoder) { + var imagePromise = handleImageData(image, nativeDecoder); + var smaskPromise; + var maskPromise; + var smask = image.dict.get('SMask'); + var mask = image.dict.get('Mask'); + if (smask) { + smaskPromise = handleImageData(smask, nativeDecoder); + maskPromise = Promise.resolve(null); + } else { + smaskPromise = Promise.resolve(null); + if (mask) { + if (isStream(mask)) { + maskPromise = handleImageData(mask, nativeDecoder); + } else if (isArray(mask)) { + maskPromise = Promise.resolve(mask); + } else { + warn('Unsupported mask format.'); + maskPromise = Promise.resolve(null); + } + } else { + maskPromise = Promise.resolve(null); + } + } + return Promise.all([ + imagePromise, + smaskPromise, + maskPromise + ]).then(function (results) { + var imageData = results[0]; + var smaskData = results[1]; + var maskData = results[2]; + return new PDFImage(xref, res, imageData, inline, smaskData, maskData); + }); + }; + PDFImage.createMask = function PDFImage_createMask(imgArray, width, height, imageIsFromDecodeStream, inverseDecode) { + var computedLength = (width + 7 >> 3) * height; + var actualLength = imgArray.byteLength; + var haveFullData = computedLength === actualLength; + var data, i; + if (imageIsFromDecodeStream && (!inverseDecode || haveFullData)) { + data = imgArray; + } else if (!inverseDecode) { + data = new Uint8Array(actualLength); + data.set(imgArray); + } else { + data = new Uint8Array(computedLength); + data.set(imgArray); + for (i = actualLength; i < computedLength; i++) { + data[i] = 0xff; + } + } + if (inverseDecode) { + for (i = 0; i < actualLength; i++) { + data[i] = ~data[i]; + } + } + return { + data: data, + width: width, + height: height + }; + }; + PDFImage.prototype = { + get drawWidth() { + return Math.max(this.width, this.smask && this.smask.width || 0, this.mask && this.mask.width || 0); + }, + get drawHeight() { + return Math.max(this.height, this.smask && this.smask.height || 0, this.mask && this.mask.height || 0); + }, + decodeBuffer: function PDFImage_decodeBuffer(buffer) { + var bpc = this.bpc; + var numComps = this.numComps; + var decodeAddends = this.decodeAddends; + var decodeCoefficients = this.decodeCoefficients; + var max = (1 << bpc) - 1; + var i, ii; + if (bpc === 1) { + for (i = 0, ii = buffer.length; i < ii; i++) { + buffer[i] = +!buffer[i]; + } + return; + } + var index = 0; + for (i = 0, ii = this.width * this.height; i < ii; i++) { + for (var j = 0; j < numComps; j++) { + buffer[index] = decodeAndClamp(buffer[index], decodeAddends[j], decodeCoefficients[j], max); + index++; + } + } + }, + getComponents: function PDFImage_getComponents(buffer) { + var bpc = this.bpc; + if (bpc === 8) { + return buffer; + } + var width = this.width; + var height = this.height; + var numComps = this.numComps; + var length = width * height * numComps; + var bufferPos = 0; + var output = bpc <= 8 ? new Uint8Array(length) : bpc <= 16 ? new Uint16Array(length) : new Uint32Array(length); + var rowComps = width * numComps; + var max = (1 << bpc) - 1; + var i = 0, ii, buf; + if (bpc === 1) { + var mask, loop1End, loop2End; + for (var j = 0; j < height; j++) { + loop1End = i + (rowComps & ~7); + loop2End = i + rowComps; + while (i < loop1End) { + buf = buffer[bufferPos++]; + output[i] = buf >> 7 & 1; + output[i + 1] = buf >> 6 & 1; + output[i + 2] = buf >> 5 & 1; + output[i + 3] = buf >> 4 & 1; + output[i + 4] = buf >> 3 & 1; + output[i + 5] = buf >> 2 & 1; + output[i + 6] = buf >> 1 & 1; + output[i + 7] = buf & 1; + i += 8; + } + if (i < loop2End) { + buf = buffer[bufferPos++]; + mask = 128; + while (i < loop2End) { + output[i++] = +!!(buf & mask); + mask >>= 1; + } + } + } + } else { + var bits = 0; + buf = 0; + for (i = 0, ii = length; i < ii; ++i) { + if (i % rowComps === 0) { + buf = 0; + bits = 0; + } + while (bits < bpc) { + buf = buf << 8 | buffer[bufferPos++]; + bits += 8; + } + var remainingBits = bits - bpc; + var value = buf >> remainingBits; + output[i] = value < 0 ? 0 : value > max ? max : value; + buf = buf & (1 << remainingBits) - 1; + bits = remainingBits; + } + } + return output; + }, + fillOpacity: function PDFImage_fillOpacity(rgbaBuf, width, height, actualHeight, image) { + var smask = this.smask; + var mask = this.mask; + var alphaBuf, sw, sh, i, ii, j; + if (smask) { + sw = smask.width; + sh = smask.height; + alphaBuf = new Uint8Array(sw * sh); + smask.fillGrayBuffer(alphaBuf); + if (sw !== width || sh !== height) { + alphaBuf = resizeImageMask(alphaBuf, smask.bpc, sw, sh, width, height); + } + } else if (mask) { + if (mask instanceof PDFImage) { + sw = mask.width; + sh = mask.height; + alphaBuf = new Uint8Array(sw * sh); + mask.numComps = 1; + mask.fillGrayBuffer(alphaBuf); + for (i = 0, ii = sw * sh; i < ii; ++i) { + alphaBuf[i] = 255 - alphaBuf[i]; + } + if (sw !== width || sh !== height) { + alphaBuf = resizeImageMask(alphaBuf, mask.bpc, sw, sh, width, height); + } + } else if (isArray(mask)) { + alphaBuf = new Uint8Array(width * height); + var numComps = this.numComps; + for (i = 0, ii = width * height; i < ii; ++i) { + var opacity = 0; + var imageOffset = i * numComps; + for (j = 0; j < numComps; ++j) { + var color = image[imageOffset + j]; + var maskOffset = j * 2; + if (color < mask[maskOffset] || color > mask[maskOffset + 1]) { + opacity = 255; + break; + } + } + alphaBuf[i] = opacity; + } + } else { + error('Unknown mask format.'); + } + } + if (alphaBuf) { + for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) { + rgbaBuf[j] = alphaBuf[i]; + } + } else { + for (i = 0, j = 3, ii = width * actualHeight; i < ii; ++i, j += 4) { + rgbaBuf[j] = 255; + } + } + }, + undoPreblend: function PDFImage_undoPreblend(buffer, width, height) { + var matte = this.smask && this.smask.matte; + if (!matte) { + return; + } + var matteRgb = this.colorSpace.getRgb(matte, 0); + var matteR = matteRgb[0]; + var matteG = matteRgb[1]; + var matteB = matteRgb[2]; + var length = width * height * 4; + var r, g, b; + for (var i = 0; i < length; i += 4) { + var alpha = buffer[i + 3]; + if (alpha === 0) { + buffer[i] = 255; + buffer[i + 1] = 255; + buffer[i + 2] = 255; + continue; + } + var k = 255 / alpha; + r = (buffer[i] - matteR) * k + matteR; + g = (buffer[i + 1] - matteG) * k + matteG; + b = (buffer[i + 2] - matteB) * k + matteB; + buffer[i] = r <= 0 ? 0 : r >= 255 ? 255 : r | 0; + buffer[i + 1] = g <= 0 ? 0 : g >= 255 ? 255 : g | 0; + buffer[i + 2] = b <= 0 ? 0 : b >= 255 ? 255 : b | 0; + } + }, + createImageData: function PDFImage_createImageData(forceRGBA) { + var drawWidth = this.drawWidth; + var drawHeight = this.drawHeight; + var imgData = { + width: drawWidth, + height: drawHeight + }; + var numComps = this.numComps; + var originalWidth = this.width; + var originalHeight = this.height; + var bpc = this.bpc; + var rowBytes = originalWidth * numComps * bpc + 7 >> 3; + var imgArray; + if (!forceRGBA) { + var kind; + if (this.colorSpace.name === 'DeviceGray' && bpc === 1) { + kind = ImageKind.GRAYSCALE_1BPP; + } else if (this.colorSpace.name === 'DeviceRGB' && bpc === 8 && !this.needsDecode) { + kind = ImageKind.RGB_24BPP; + } + if (kind && !this.smask && !this.mask && drawWidth === originalWidth && drawHeight === originalHeight) { + imgData.kind = kind; + imgArray = this.getImageBytes(originalHeight * rowBytes); + if (this.image instanceof DecodeStream) { + imgData.data = imgArray; + } else { + var newArray = new Uint8Array(imgArray.length); + newArray.set(imgArray); + imgData.data = newArray; + } + if (this.needsDecode) { + assert(kind === ImageKind.GRAYSCALE_1BPP); + var buffer = imgData.data; + for (var i = 0, ii = buffer.length; i < ii; i++) { + buffer[i] ^= 0xff; + } + } + return imgData; + } + if (this.image instanceof JpegStream && !this.smask && !this.mask && (this.colorSpace.name === 'DeviceGray' || this.colorSpace.name === 'DeviceRGB' || this.colorSpace.name === 'DeviceCMYK')) { + imgData.kind = ImageKind.RGB_24BPP; + imgData.data = this.getImageBytes(originalHeight * rowBytes, drawWidth, drawHeight, true); + return imgData; + } + } + imgArray = this.getImageBytes(originalHeight * rowBytes); + var actualHeight = 0 | imgArray.length / rowBytes * drawHeight / originalHeight; + var comps = this.getComponents(imgArray); + var alpha01, maybeUndoPreblend; + if (!forceRGBA && !this.smask && !this.mask) { + imgData.kind = ImageKind.RGB_24BPP; + imgData.data = new Uint8Array(drawWidth * drawHeight * 3); + alpha01 = 0; + maybeUndoPreblend = false; + } else { + imgData.kind = ImageKind.RGBA_32BPP; + imgData.data = new Uint8Array(drawWidth * drawHeight * 4); + alpha01 = 1; + maybeUndoPreblend = true; + this.fillOpacity(imgData.data, drawWidth, drawHeight, actualHeight, comps); + } + if (this.needsDecode) { + this.decodeBuffer(comps); + } + this.colorSpace.fillRgb(imgData.data, originalWidth, originalHeight, drawWidth, drawHeight, actualHeight, bpc, comps, alpha01); + if (maybeUndoPreblend) { + this.undoPreblend(imgData.data, drawWidth, actualHeight); + } + return imgData; + }, + fillGrayBuffer: function PDFImage_fillGrayBuffer(buffer) { + var numComps = this.numComps; + if (numComps !== 1) { + error('Reading gray scale from a color image: ' + numComps); + } + var width = this.width; + var height = this.height; + var bpc = this.bpc; + var rowBytes = width * numComps * bpc + 7 >> 3; + var imgArray = this.getImageBytes(height * rowBytes); + var comps = this.getComponents(imgArray); + var i, length; + if (bpc === 1) { + length = width * height; + if (this.needsDecode) { + for (i = 0; i < length; ++i) { + buffer[i] = comps[i] - 1 & 255; + } + } else { + for (i = 0; i < length; ++i) { + buffer[i] = -comps[i] & 255; + } + } + return; + } + if (this.needsDecode) { + this.decodeBuffer(comps); + } + length = width * height; + var scale = 255 / ((1 << bpc) - 1); + for (i = 0; i < length; ++i) { + buffer[i] = scale * comps[i] | 0; + } + }, + getImageBytes: function PDFImage_getImageBytes(length, drawWidth, drawHeight, forceRGB) { + this.image.reset(); + this.image.drawWidth = drawWidth || this.width; + this.image.drawHeight = drawHeight || this.height; + this.image.forceRGB = !!forceRGB; + return this.image.getBytes(length); + } + }; + return PDFImage; +}(); +exports.PDFImage = PDFImage; + +/***/ }), +/* 28 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var coreArithmeticDecoder = __w_pdfjs_require__(10); +var error = sharedUtil.error; +var log2 = sharedUtil.log2; +var readInt8 = sharedUtil.readInt8; +var readUint16 = sharedUtil.readUint16; +var readUint32 = sharedUtil.readUint32; +var shadow = sharedUtil.shadow; +var ArithmeticDecoder = coreArithmeticDecoder.ArithmeticDecoder; +var Jbig2Image = function Jbig2ImageClosure() { + function ContextCache() { + } + ContextCache.prototype = { + getContexts: function (id) { + if (id in this) { + return this[id]; + } + return this[id] = new Int8Array(1 << 16); + } + }; + function DecodingContext(data, start, end) { + this.data = data; + this.start = start; + this.end = end; + } + DecodingContext.prototype = { + get decoder() { + var decoder = new ArithmeticDecoder(this.data, this.start, this.end); + return shadow(this, 'decoder', decoder); + }, + get contextCache() { + var cache = new ContextCache(); + return shadow(this, 'contextCache', cache); + } + }; + function decodeInteger(contextCache, procedure, decoder) { + var contexts = contextCache.getContexts(procedure); + var prev = 1; + function readBits(length) { + var v = 0; + for (var i = 0; i < length; i++) { + var bit = decoder.readBit(contexts, prev); + prev = prev < 256 ? prev << 1 | bit : (prev << 1 | bit) & 511 | 256; + v = v << 1 | bit; + } + return v >>> 0; + } + var sign = readBits(1); + 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); + return sign === 0 ? value : value > 0 ? -value : null; + } + function decodeIAID(contextCache, decoder, codeLength) { + var contexts = contextCache.getContexts('IAID'); + var prev = 1; + for (var i = 0; i < codeLength; i++) { + var bit = decoder.readBit(contexts, prev); + prev = prev << 1 | bit; + } + if (codeLength < 31) { + return prev & (1 << codeLength) - 1; + } + return prev & 0x7FFFFFFF; + } + 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' + ]; + var CodingTemplates = [ + [ + { + x: -1, + y: -2 + }, + { + x: 0, + y: -2 + }, + { + x: 1, + y: -2 + }, + { + x: -2, + y: -1 + }, + { + x: -1, + y: -1 + }, + { + x: 0, + y: -1 + }, + { + x: 1, + y: -1 + }, + { + x: 2, + y: -1 + }, + { + x: -4, + y: 0 + }, + { + x: -3, + y: 0 + }, + { + x: -2, + y: 0 + }, + { + x: -1, + y: 0 + } + ], + [ + { + x: -1, + y: -2 + }, + { + x: 0, + y: -2 + }, + { + x: 1, + y: -2 + }, + { + x: 2, + y: -2 + }, + { + x: -2, + y: -1 + }, + { + x: -1, + y: -1 + }, + { + x: 0, + y: -1 + }, + { + x: 1, + y: -1 + }, + { + x: 2, + y: -1 + }, + { + x: -3, + y: 0 + }, + { + x: -2, + y: 0 + }, + { + x: -1, + y: 0 + } + ], + [ + { + x: -1, + y: -2 + }, + { + x: 0, + y: -2 + }, + { + x: 1, + y: -2 + }, + { + x: -2, + y: -1 + }, + { + x: -1, + y: -1 + }, + { + x: 0, + y: -1 + }, + { + x: 1, + y: -1 + }, + { + x: -2, + y: 0 + }, + { + x: -1, + y: 0 + } + ], + [ + { + x: -3, + y: -1 + }, + { + x: -2, + y: -1 + }, + { + x: -1, + y: -1 + }, + { + x: 0, + y: -1 + }, + { + x: 1, + y: -1 + }, + { + x: -4, + y: 0 + }, + { + x: -3, + y: 0 + }, + { + x: -2, + y: 0 + }, + { + x: -1, + y: 0 + } + ] + ]; + var RefinementTemplates = [ + { + coding: [ + { + x: 0, + y: -1 + }, + { + x: 1, + y: -1 + }, + { + x: -1, + y: 0 + } + ], + reference: [ + { + x: 0, + y: -1 + }, + { + x: 1, + y: -1 + }, + { + x: -1, + y: 0 + }, + { + x: 0, + y: 0 + }, + { + x: 1, + y: 0 + }, + { + x: -1, + y: 1 + }, + { + x: 0, + y: 1 + }, + { + x: 1, + y: 1 + } + ] + }, + { + coding: [ + { + x: -1, + y: -1 + }, + { + x: 0, + y: -1 + }, + { + x: 1, + y: -1 + }, + { + x: -1, + y: 0 + } + ], + reference: [ + { + x: 0, + y: -1 + }, + { + x: -1, + y: 0 + }, + { + x: 0, + y: 0 + }, + { + x: 1, + y: 0 + }, + { + x: 0, + y: 1 + }, + { + x: 1, + y: 1 + } + ] + } + ]; + var ReusedContexts = [ + 0x9B25, + 0x0795, + 0x00E5, + 0x0195 + ]; + var RefinementReusedContexts = [ + 0x0020, + 0x0008 + ]; + function decodeBitmapTemplate0(width, height, decodingContext) { + var decoder = decodingContext.decoder; + var contexts = decodingContext.contextCache.getContexts('GB'); + var contextLabel, i, j, pixel, row, row1, row2, bitmap = []; + var OLD_PIXEL_MASK = 0x7BF7; + for (i = 0; i < height; i++) { + row = bitmap[i] = new Uint8Array(width); + row1 = i < 1 ? row : bitmap[i - 1]; + row2 = i < 2 ? row : bitmap[i - 2]; + contextLabel = row2[0] << 13 | row2[1] << 12 | row2[2] << 11 | row1[0] << 7 | row1[1] << 6 | row1[2] << 5 | row1[3] << 4; + for (j = 0; j < width; j++) { + row[j] = pixel = decoder.readBit(contexts, contextLabel); + contextLabel = (contextLabel & OLD_PIXEL_MASK) << 1 | (j + 3 < width ? row2[j + 3] << 11 : 0) | (j + 4 < width ? row1[j + 4] << 4 : 0) | pixel; + } + } + return bitmap; + } + function decodeBitmap(mmr, width, height, templateIndex, prediction, skip, at, decodingContext) { + if (mmr) { + error('JBIG2 error: MMR encoding is not supported'); + } + if (templateIndex === 0 && !skip && !prediction && at.length === 4 && at[0].x === 3 && at[0].y === -1 && at[1].x === -3 && at[1].y === -1 && at[2].x === 2 && at[2].y === -2 && at[3].x === -2 && at[3].y === -2) { + return decodeBitmapTemplate0(width, height, decodingContext); + } + var useskip = !!skip; + var template = CodingTemplates[templateIndex].concat(at); + template.sort(function (a, b) { + return a.y - b.y || a.x - b.x; + }); + var templateLength = template.length; + var templateX = new Int8Array(templateLength); + var templateY = new Int8Array(templateLength); + var changingTemplateEntries = []; + var reuseMask = 0, minX = 0, maxX = 0, minY = 0; + var c, k; + for (k = 0; k < templateLength; k++) { + templateX[k] = template[k].x; + templateY[k] = template[k].y; + minX = Math.min(minX, template[k].x); + maxX = Math.max(maxX, template[k].x); + minY = Math.min(minY, template[k].y); + if (k < templateLength - 1 && template[k].y === template[k + 1].y && template[k].x === template[k + 1].x - 1) { + reuseMask |= 1 << templateLength - 1 - k; + } else { + changingTemplateEntries.push(k); + } + } + var changingEntriesLength = changingTemplateEntries.length; + var changingTemplateX = new Int8Array(changingEntriesLength); + var changingTemplateY = new Int8Array(changingEntriesLength); + var changingTemplateBit = new Uint16Array(changingEntriesLength); + for (c = 0; c < changingEntriesLength; c++) { + k = changingTemplateEntries[c]; + changingTemplateX[c] = template[k].x; + changingTemplateY[c] = template[k].y; + changingTemplateBit[c] = 1 << templateLength - 1 - k; + } + var sbb_left = -minX; + var sbb_top = -minY; + var sbb_right = width - maxX; + var pseudoPixelContext = ReusedContexts[templateIndex]; + var row = new Uint8Array(width); + var bitmap = []; + var decoder = decodingContext.decoder; + var contexts = decodingContext.contextCache.getContexts('GB'); + var ltp = 0, j, i0, j0, contextLabel = 0, bit, shift; + for (var i = 0; i < height; i++) { + if (prediction) { + var sltp = decoder.readBit(contexts, pseudoPixelContext); + ltp ^= sltp; + if (ltp) { + bitmap.push(row); + continue; + } + } + row = new Uint8Array(row); + bitmap.push(row); + for (j = 0; j < width; j++) { + if (useskip && skip[i][j]) { + row[j] = 0; + continue; + } + if (j >= sbb_left && j < sbb_right && i >= sbb_top) { + contextLabel = contextLabel << 1 & reuseMask; + for (k = 0; k < changingEntriesLength; k++) { + i0 = i + changingTemplateY[k]; + j0 = j + changingTemplateX[k]; + bit = bitmap[i0][j0]; + if (bit) { + bit = changingTemplateBit[k]; + contextLabel |= bit; + } + } + } else { + contextLabel = 0; + shift = templateLength - 1; + for (k = 0; k < templateLength; k++, shift--) { + j0 = j + templateX[k]; + if (j0 >= 0 && j0 < width) { + i0 = i + templateY[k]; + if (i0 >= 0) { + bit = bitmap[i0][j0]; + if (bit) { + contextLabel |= bit << shift; + } + } + } + } + } + var pixel = decoder.readBit(contexts, contextLabel); + row[j] = pixel; + } + } + return bitmap; + } + function decodeRefinement(width, height, templateIndex, referenceBitmap, offsetX, offsetY, prediction, at, decodingContext) { + var codingTemplate = RefinementTemplates[templateIndex].coding; + if (templateIndex === 0) { + codingTemplate = codingTemplate.concat([at[0]]); + } + var codingTemplateLength = codingTemplate.length; + var codingTemplateX = new Int32Array(codingTemplateLength); + var codingTemplateY = new Int32Array(codingTemplateLength); + var k; + for (k = 0; k < codingTemplateLength; k++) { + codingTemplateX[k] = codingTemplate[k].x; + codingTemplateY[k] = codingTemplate[k].y; + } + var referenceTemplate = RefinementTemplates[templateIndex].reference; + if (templateIndex === 0) { + referenceTemplate = referenceTemplate.concat([at[1]]); + } + var referenceTemplateLength = referenceTemplate.length; + var referenceTemplateX = new Int32Array(referenceTemplateLength); + var referenceTemplateY = new Int32Array(referenceTemplateLength); + for (k = 0; k < referenceTemplateLength; k++) { + referenceTemplateX[k] = referenceTemplate[k].x; + referenceTemplateY[k] = referenceTemplate[k].y; + } + var referenceWidth = referenceBitmap[0].length; + var referenceHeight = referenceBitmap.length; + var pseudoPixelContext = RefinementReusedContexts[templateIndex]; + var bitmap = []; + var decoder = decodingContext.decoder; + var contexts = decodingContext.contextCache.getContexts('GR'); + var ltp = 0; + for (var i = 0; i < height; i++) { + if (prediction) { + var sltp = decoder.readBit(contexts, pseudoPixelContext); + ltp ^= sltp; + if (ltp) { + error('JBIG2 error: prediction is not supported'); + } + } + var row = new Uint8Array(width); + bitmap.push(row); + for (var j = 0; j < width; j++) { + var i0, j0; + var contextLabel = 0; + for (k = 0; k < codingTemplateLength; k++) { + i0 = i + codingTemplateY[k]; + j0 = j + codingTemplateX[k]; + if (i0 < 0 || j0 < 0 || j0 >= width) { + contextLabel <<= 1; + } else { + contextLabel = contextLabel << 1 | bitmap[i0][j0]; + } + } + for (k = 0; k < referenceTemplateLength; k++) { + i0 = i + referenceTemplateY[k] + offsetY; + j0 = j + referenceTemplateX[k] + offsetX; + if (i0 < 0 || i0 >= referenceHeight || j0 < 0 || j0 >= referenceWidth) { + contextLabel <<= 1; + } else { + contextLabel = contextLabel << 1 | referenceBitmap[i0][j0]; + } + } + var pixel = decoder.readBit(contexts, contextLabel); + row[j] = pixel; + } + } + return bitmap; + } + function decodeSymbolDictionary(huffman, refinement, symbols, numberOfNewSymbols, numberOfExportedSymbols, huffmanTables, templateIndex, at, refinementTemplateIndex, refinementAt, decodingContext) { + if (huffman) { + error('JBIG2 error: huffman is not supported'); + } + var newSymbols = []; + var currentHeight = 0; + var symbolCodeLength = log2(symbols.length + numberOfNewSymbols); + var decoder = decodingContext.decoder; + var contextCache = decodingContext.contextCache; + while (newSymbols.length < numberOfNewSymbols) { + var deltaHeight = decodeInteger(contextCache, 'IADH', decoder); + currentHeight += deltaHeight; + var currentWidth = 0; + while (true) { + var deltaWidth = decodeInteger(contextCache, 'IADW', decoder); + if (deltaWidth === null) { + break; + } + currentWidth += deltaWidth; + var bitmap; + if (refinement) { + var numberOfInstances = decodeInteger(contextCache, 'IAAI', decoder); + if (numberOfInstances > 1) { + bitmap = decodeTextRegion(huffman, refinement, currentWidth, currentHeight, 0, numberOfInstances, 1, symbols.concat(newSymbols), symbolCodeLength, 0, 0, 1, 0, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext); + } else { + var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength); + var rdx = decodeInteger(contextCache, 'IARDX', decoder); + var rdy = decodeInteger(contextCache, 'IARDY', decoder); + var symbol = symbolId < symbols.length ? symbols[symbolId] : newSymbols[symbolId - symbols.length]; + bitmap = decodeRefinement(currentWidth, currentHeight, refinementTemplateIndex, symbol, rdx, rdy, false, refinementAt, decodingContext); + } + } else { + bitmap = decodeBitmap(false, currentWidth, currentHeight, templateIndex, false, null, at, decodingContext); + } + newSymbols.push(bitmap); + } + } + var exportedSymbols = []; + var flags = [], currentFlag = false; + var totalSymbolsLength = symbols.length + numberOfNewSymbols; + while (flags.length < totalSymbolsLength) { + var runLength = decodeInteger(contextCache, 'IAEX', decoder); + while (runLength--) { + flags.push(currentFlag); + } + currentFlag = !currentFlag; + } + for (var i = 0, ii = symbols.length; i < ii; i++) { + if (flags[i]) { + exportedSymbols.push(symbols[i]); + } + } + for (var j = 0; j < numberOfNewSymbols; i++, j++) { + if (flags[i]) { + exportedSymbols.push(newSymbols[j]); + } + } + return exportedSymbols; + } + function decodeTextRegion(huffman, refinement, width, height, defaultPixelValue, numberOfSymbolInstances, stripSize, inputSymbols, symbolCodeLength, transposed, dsOffset, referenceCorner, combinationOperator, huffmanTables, refinementTemplateIndex, refinementAt, decodingContext) { + if (huffman) { + error('JBIG2 error: huffman is not supported'); + } + var bitmap = []; + var i, row; + for (i = 0; i < height; i++) { + row = new Uint8Array(width); + if (defaultPixelValue) { + for (var j = 0; j < width; j++) { + row[j] = defaultPixelValue; + } + } + bitmap.push(row); + } + var decoder = decodingContext.decoder; + var contextCache = decodingContext.contextCache; + var stripT = -decodeInteger(contextCache, 'IADT', decoder); + var firstS = 0; + i = 0; + while (i < numberOfSymbolInstances) { + var deltaT = decodeInteger(contextCache, 'IADT', decoder); + stripT += deltaT; + var deltaFirstS = decodeInteger(contextCache, 'IAFS', decoder); + firstS += deltaFirstS; + var currentS = firstS; + do { + var currentT = stripSize === 1 ? 0 : decodeInteger(contextCache, 'IAIT', decoder); + var t = stripSize * stripT + currentT; + var symbolId = decodeIAID(contextCache, decoder, symbolCodeLength); + var applyRefinement = refinement && decodeInteger(contextCache, 'IARI', decoder); + var symbolBitmap = inputSymbols[symbolId]; + var symbolWidth = symbolBitmap[0].length; + var symbolHeight = symbolBitmap.length; + if (applyRefinement) { + var rdw = decodeInteger(contextCache, 'IARDW', decoder); + var rdh = decodeInteger(contextCache, 'IARDH', decoder); + var rdx = decodeInteger(contextCache, 'IARDX', decoder); + var rdy = decodeInteger(contextCache, 'IARDY', decoder); + symbolWidth += rdw; + symbolHeight += rdh; + symbolBitmap = decodeRefinement(symbolWidth, symbolHeight, refinementTemplateIndex, symbolBitmap, (rdw >> 1) + rdx, (rdh >> 1) + rdy, false, refinementAt, decodingContext); + } + var offsetT = t - (referenceCorner & 1 ? 0 : symbolHeight); + var offsetS = currentS - (referenceCorner & 2 ? symbolWidth : 0); + var s2, t2, symbolRow; + if (transposed) { + for (s2 = 0; s2 < symbolHeight; s2++) { + row = bitmap[offsetS + s2]; + if (!row) { + continue; + } + symbolRow = symbolBitmap[s2]; + var maxWidth = Math.min(width - offsetT, symbolWidth); + switch (combinationOperator) { + case 0: + for (t2 = 0; t2 < maxWidth; t2++) { + row[offsetT + t2] |= symbolRow[t2]; + } + break; + case 2: + for (t2 = 0; t2 < maxWidth; t2++) { + row[offsetT + t2] ^= symbolRow[t2]; + } + break; + default: + error('JBIG2 error: operator ' + combinationOperator + ' is not supported'); + } + } + currentS += symbolHeight - 1; + } else { + for (t2 = 0; t2 < symbolHeight; t2++) { + row = bitmap[offsetT + t2]; + if (!row) { + continue; + } + symbolRow = symbolBitmap[t2]; + switch (combinationOperator) { + case 0: + for (s2 = 0; s2 < symbolWidth; s2++) { + row[offsetS + s2] |= symbolRow[s2]; + } + break; + case 2: + for (s2 = 0; s2 < symbolWidth; s2++) { + row[offsetS + s2] ^= symbolRow[s2]; + } + break; + default: + error('JBIG2 error: operator ' + combinationOperator + ' is not supported'); + } + } + currentS += symbolWidth - 1; + } + i++; + var deltaS = decodeInteger(contextCache, 'IADS', decoder); + if (deltaS === null) { + break; + } + currentS += deltaS + dsOffset; + } while (true); + } + return bitmap; + } + function readSegmentHeader(data, start) { + var segmentHeader = {}; + segmentHeader.number = readUint32(data, start); + var flags = data[start + 4]; + var segmentType = flags & 0x3F; + if (!SegmentTypes[segmentType]) { + error('JBIG2 error: invalid segment type: ' + segmentType); + } + segmentHeader.type = segmentType; + segmentHeader.typeName = SegmentTypes[segmentType]; + segmentHeader.deferredNonRetain = !!(flags & 0x80); + var pageAssociationFieldSize = !!(flags & 0x40); + var referredFlags = data[start + 5]; + var referredToCount = referredFlags >> 5 & 7; + var retainBits = [referredFlags & 31]; + var position = start + 6; + if (referredFlags === 7) { + referredToCount = readUint32(data, position - 1) & 0x1FFFFFFF; + position += 3; + var bytes = referredToCount + 7 >> 3; + retainBits[0] = data[position++]; + while (--bytes > 0) { + retainBits.push(data[position++]); + } + } else if (referredFlags === 5 || referredFlags === 6) { + error('JBIG2 error: invalid referred-to flags'); + } + segmentHeader.retainBits = retainBits; + var referredToSegmentNumberSize = segmentHeader.number <= 256 ? 1 : segmentHeader.number <= 65536 ? 2 : 4; + var referredTo = []; + var i, ii; + for (i = 0; i < referredToCount; i++) { + var number = referredToSegmentNumberSize === 1 ? data[position] : referredToSegmentNumberSize === 2 ? readUint16(data, position) : readUint32(data, position); + referredTo.push(number); + position += referredToSegmentNumberSize; + } + segmentHeader.referredTo = referredTo; + if (!pageAssociationFieldSize) { + segmentHeader.pageAssociation = data[position++]; + } else { + segmentHeader.pageAssociation = readUint32(data, position); + position += 4; + } + segmentHeader.length = readUint32(data, position); + position += 4; + if (segmentHeader.length === 0xFFFFFFFF) { + if (segmentType === 38) { + var genericRegionInfo = readRegionSegmentInformation(data, position); + var genericRegionSegmentFlags = data[position + RegionSegmentInformationFieldLength]; + var genericRegionMmr = !!(genericRegionSegmentFlags & 1); + var searchPatternLength = 6; + var searchPattern = new Uint8Array(searchPatternLength); + if (!genericRegionMmr) { + searchPattern[0] = 0xFF; + searchPattern[1] = 0xAC; + } + searchPattern[2] = genericRegionInfo.height >>> 24 & 0xFF; + searchPattern[3] = genericRegionInfo.height >> 16 & 0xFF; + searchPattern[4] = genericRegionInfo.height >> 8 & 0xFF; + searchPattern[5] = genericRegionInfo.height & 0xFF; + for (i = position, ii = data.length; i < ii; i++) { + var j = 0; + while (j < searchPatternLength && searchPattern[j] === data[i + j]) { + j++; + } + if (j === searchPatternLength) { + segmentHeader.length = i + searchPatternLength; + break; + } + } + if (segmentHeader.length === 0xFFFFFFFF) { + error('JBIG2 error: segment end was not found'); + } + } else { + error('JBIG2 error: invalid unknown segment length'); + } + } + segmentHeader.headerEnd = position; + return segmentHeader; + } + function readSegments(header, data, start, end) { + var segments = []; + var position = start; + while (position < end) { + var segmentHeader = readSegmentHeader(data, position); + position = segmentHeader.headerEnd; + var segment = { + header: segmentHeader, + data: data + }; + if (!header.randomAccess) { + segment.start = position; + position += segmentHeader.length; + segment.end = position; + } + segments.push(segment); + if (segmentHeader.type === 51) { + break; + } + } + if (header.randomAccess) { + for (var i = 0, ii = segments.length; i < ii; i++) { + segments[i].start = position; + position += segments[i].header.length; + segments[i].end = position; + } + } + return segments; + } + function readRegionSegmentInformation(data, start) { + return { + width: readUint32(data, start), + height: readUint32(data, start + 4), + x: readUint32(data, start + 8), + y: readUint32(data, start + 12), + combinationOperator: data[start + 16] & 7 + }; + } + var RegionSegmentInformationFieldLength = 17; + function processSegment(segment, visitor) { + var header = segment.header; + var data = segment.data, position = segment.start, end = segment.end; + var args, at, i, atLength; + switch (header.type) { + case 0: + var dictionary = {}; + var dictionaryFlags = readUint16(data, position); + dictionary.huffman = !!(dictionaryFlags & 1); + dictionary.refinement = !!(dictionaryFlags & 2); + dictionary.huffmanDHSelector = dictionaryFlags >> 2 & 3; + dictionary.huffmanDWSelector = dictionaryFlags >> 4 & 3; + dictionary.bitmapSizeSelector = dictionaryFlags >> 6 & 1; + dictionary.aggregationInstancesSelector = dictionaryFlags >> 7 & 1; + dictionary.bitmapCodingContextUsed = !!(dictionaryFlags & 256); + dictionary.bitmapCodingContextRetained = !!(dictionaryFlags & 512); + dictionary.template = dictionaryFlags >> 10 & 3; + dictionary.refinementTemplate = dictionaryFlags >> 12 & 1; + position += 2; + if (!dictionary.huffman) { + atLength = dictionary.template === 0 ? 4 : 1; + at = []; + for (i = 0; i < atLength; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + dictionary.at = at; + } + if (dictionary.refinement && !dictionary.refinementTemplate) { + at = []; + for (i = 0; i < 2; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + dictionary.refinementAt = at; + } + dictionary.numberOfExportedSymbols = readUint32(data, position); + position += 4; + dictionary.numberOfNewSymbols = readUint32(data, position); + position += 4; + args = [ + dictionary, + header.number, + header.referredTo, + data, + position, + end + ]; + break; + case 6: + case 7: + var textRegion = {}; + textRegion.info = readRegionSegmentInformation(data, position); + position += RegionSegmentInformationFieldLength; + var textRegionSegmentFlags = readUint16(data, position); + position += 2; + textRegion.huffman = !!(textRegionSegmentFlags & 1); + textRegion.refinement = !!(textRegionSegmentFlags & 2); + textRegion.stripSize = 1 << (textRegionSegmentFlags >> 2 & 3); + textRegion.referenceCorner = textRegionSegmentFlags >> 4 & 3; + textRegion.transposed = !!(textRegionSegmentFlags & 64); + textRegion.combinationOperator = textRegionSegmentFlags >> 7 & 3; + textRegion.defaultPixelValue = textRegionSegmentFlags >> 9 & 1; + textRegion.dsOffset = textRegionSegmentFlags << 17 >> 27; + textRegion.refinementTemplate = textRegionSegmentFlags >> 15 & 1; + if (textRegion.huffman) { + var textRegionHuffmanFlags = readUint16(data, position); + position += 2; + textRegion.huffmanFS = textRegionHuffmanFlags & 3; + textRegion.huffmanDS = textRegionHuffmanFlags >> 2 & 3; + textRegion.huffmanDT = textRegionHuffmanFlags >> 4 & 3; + textRegion.huffmanRefinementDW = textRegionHuffmanFlags >> 6 & 3; + textRegion.huffmanRefinementDH = textRegionHuffmanFlags >> 8 & 3; + textRegion.huffmanRefinementDX = textRegionHuffmanFlags >> 10 & 3; + textRegion.huffmanRefinementDY = textRegionHuffmanFlags >> 12 & 3; + textRegion.huffmanRefinementSizeSelector = !!(textRegionHuffmanFlags & 14); + } + if (textRegion.refinement && !textRegion.refinementTemplate) { + at = []; + for (i = 0; i < 2; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + textRegion.refinementAt = at; + } + textRegion.numberOfSymbolInstances = readUint32(data, position); + position += 4; + if (textRegion.huffman) { + error('JBIG2 error: huffman is not supported'); + } + args = [ + textRegion, + header.referredTo, + data, + position, + end + ]; + break; + case 38: + case 39: + var genericRegion = {}; + genericRegion.info = readRegionSegmentInformation(data, position); + position += RegionSegmentInformationFieldLength; + var genericRegionSegmentFlags = data[position++]; + genericRegion.mmr = !!(genericRegionSegmentFlags & 1); + genericRegion.template = genericRegionSegmentFlags >> 1 & 3; + genericRegion.prediction = !!(genericRegionSegmentFlags & 8); + if (!genericRegion.mmr) { + atLength = genericRegion.template === 0 ? 4 : 1; + at = []; + for (i = 0; i < atLength; i++) { + at.push({ + x: readInt8(data, position), + y: readInt8(data, position + 1) + }); + position += 2; + } + genericRegion.at = at; + } + args = [ + genericRegion, + data, + position, + end + ]; + break; + case 48: + var pageInfo = { + width: readUint32(data, position), + height: readUint32(data, position + 4), + resolutionX: readUint32(data, position + 8), + resolutionY: readUint32(data, position + 12) + }; + if (pageInfo.height === 0xFFFFFFFF) { + delete pageInfo.height; + } + var pageSegmentFlags = data[position + 16]; + readUint16(data, position + 17); + pageInfo.lossless = !!(pageSegmentFlags & 1); + pageInfo.refinement = !!(pageSegmentFlags & 2); + pageInfo.defaultPixelValue = pageSegmentFlags >> 2 & 1; + pageInfo.combinationOperator = pageSegmentFlags >> 3 & 3; + pageInfo.requiresBuffer = !!(pageSegmentFlags & 32); + pageInfo.combinationOperatorOverride = !!(pageSegmentFlags & 64); + args = [pageInfo]; + break; + case 49: + break; + case 50: + break; + case 51: + break; + case 62: + break; + default: + error('JBIG2 error: segment type ' + header.typeName + '(' + header.type + ') is not implemented'); + } + var callbackName = 'on' + header.typeName; + if (callbackName in visitor) { + visitor[callbackName].apply(visitor, args); + } + } + function processSegments(segments, visitor) { + for (var i = 0, ii = segments.length; i < ii; i++) { + processSegment(segments[i], visitor); + } + } + function parseJbig2(data, start, end) { + var position = start; + 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) { + error('JBIG2 error: invalid header'); + } + var header = {}; + position += 8; + var flags = data[position++]; + header.randomAccess = !(flags & 1); + if (!(flags & 2)) { + header.numberOfPages = readUint32(data, position); + position += 4; + } + readSegments(header, data, position, end); + error('Not implemented'); + } + function parseJbig2Chunks(chunks) { + var visitor = new SimpleSegmentVisitor(); + for (var i = 0, ii = chunks.length; i < ii; i++) { + var chunk = chunks[i]; + var segments = readSegments({}, chunk.data, chunk.start, chunk.end); + processSegments(segments, visitor); + } + return visitor.buffer; + } + function SimpleSegmentVisitor() { + } + SimpleSegmentVisitor.prototype = { + onPageInformation: function SimpleSegmentVisitor_onPageInformation(info) { + this.currentPageInfo = info; + var rowSize = info.width + 7 >> 3; + var buffer = new Uint8Array(rowSize * info.height); + if (info.defaultPixelValue) { + for (var i = 0, ii = buffer.length; i < ii; i++) { + buffer[i] = 0xFF; + } + } + this.buffer = buffer; + }, + drawBitmap: function SimpleSegmentVisitor_drawBitmap(regionInfo, bitmap) { + var pageInfo = this.currentPageInfo; + var width = regionInfo.width, height = regionInfo.height; + var rowSize = pageInfo.width + 7 >> 3; + var combinationOperator = pageInfo.combinationOperatorOverride ? regionInfo.combinationOperator : pageInfo.combinationOperator; + var buffer = this.buffer; + var mask0 = 128 >> (regionInfo.x & 7); + var offset0 = regionInfo.y * rowSize + (regionInfo.x >> 3); + var i, j, mask, offset; + switch (combinationOperator) { + case 0: + for (i = 0; i < height; i++) { + mask = mask0; + offset = offset0; + for (j = 0; j < width; j++) { + if (bitmap[i][j]) { + buffer[offset] |= mask; + } + mask >>= 1; + if (!mask) { + mask = 128; + offset++; + } + } + offset0 += rowSize; + } + break; + case 2: + for (i = 0; i < height; i++) { + mask = mask0; + offset = offset0; + for (j = 0; j < width; j++) { + if (bitmap[i][j]) { + buffer[offset] ^= mask; + } + mask >>= 1; + if (!mask) { + mask = 128; + offset++; + } + } + offset0 += rowSize; + } + break; + default: + error('JBIG2 error: operator ' + combinationOperator + ' is not supported'); + } + }, + onImmediateGenericRegion: function SimpleSegmentVisitor_onImmediateGenericRegion(region, data, start, end) { + var regionInfo = region.info; + var decodingContext = new DecodingContext(data, start, end); + var bitmap = decodeBitmap(region.mmr, regionInfo.width, regionInfo.height, region.template, region.prediction, null, region.at, decodingContext); + this.drawBitmap(regionInfo, bitmap); + }, + onImmediateLosslessGenericRegion: function SimpleSegmentVisitor_onImmediateLosslessGenericRegion() { + this.onImmediateGenericRegion.apply(this, arguments); + }, + onSymbolDictionary: function SimpleSegmentVisitor_onSymbolDictionary(dictionary, currentSegment, referredSegments, data, start, end) { + var huffmanTables; + if (dictionary.huffman) { + error('JBIG2 error: huffman is not supported'); + } + var symbols = this.symbols; + if (!symbols) { + this.symbols = symbols = {}; + } + var inputSymbols = []; + for (var i = 0, ii = referredSegments.length; i < ii; i++) { + inputSymbols = inputSymbols.concat(symbols[referredSegments[i]]); + } + var decodingContext = new DecodingContext(data, start, end); + symbols[currentSegment] = decodeSymbolDictionary(dictionary.huffman, dictionary.refinement, inputSymbols, dictionary.numberOfNewSymbols, dictionary.numberOfExportedSymbols, huffmanTables, dictionary.template, dictionary.at, dictionary.refinementTemplate, dictionary.refinementAt, decodingContext); + }, + onImmediateTextRegion: function SimpleSegmentVisitor_onImmediateTextRegion(region, referredSegments, data, start, end) { + var regionInfo = region.info; + var huffmanTables; + var symbols = this.symbols; + var inputSymbols = []; + for (var i = 0, ii = referredSegments.length; i < ii; i++) { + inputSymbols = inputSymbols.concat(symbols[referredSegments[i]]); + } + var symbolCodeLength = log2(inputSymbols.length); + var decodingContext = new DecodingContext(data, start, end); + var bitmap = decodeTextRegion(region.huffman, region.refinement, regionInfo.width, regionInfo.height, region.defaultPixelValue, region.numberOfSymbolInstances, region.stripSize, inputSymbols, symbolCodeLength, region.transposed, region.dsOffset, region.referenceCorner, region.combinationOperator, huffmanTables, region.refinementTemplate, region.refinementAt, decodingContext); + this.drawBitmap(regionInfo, bitmap); + }, + onImmediateLosslessTextRegion: function SimpleSegmentVisitor_onImmediateLosslessTextRegion() { + this.onImmediateTextRegion.apply(this, arguments); + } + }; + function Jbig2Image() { + } + Jbig2Image.prototype = { + parseChunks: function Jbig2Image_parseChunks(chunks) { + return parseJbig2Chunks(chunks); + } + }; + return Jbig2Image; +}(); +exports.Jbig2Image = Jbig2Image; + +/***/ }), +/* 29 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var error = sharedUtil.error; +var JpegImage = function JpegImageClosure() { + var dctZigZag = new Uint8Array([ + 0, + 1, + 8, + 16, + 9, + 2, + 3, + 10, + 17, + 24, + 32, + 25, + 18, + 11, + 4, + 5, + 12, + 19, + 26, + 33, + 40, + 48, + 41, + 34, + 27, + 20, + 13, + 6, + 7, + 14, + 21, + 28, + 35, + 42, + 49, + 56, + 57, + 50, + 43, + 36, + 29, + 22, + 15, + 23, + 30, + 37, + 44, + 51, + 58, + 59, + 52, + 45, + 38, + 31, + 39, + 46, + 53, + 60, + 61, + 54, + 47, + 55, + 62, + 63 + ]); + var dctCos1 = 4017; + var dctSin1 = 799; + var dctCos3 = 3406; + var dctSin3 = 2276; + var dctCos6 = 1567; + var dctSin6 = 3784; + var dctSqrt2 = 5793; + var dctSqrt1d2 = 2896; + function JpegImage() { + this.decodeTransform = null; + this.colorTransform = -1; + } + function buildHuffmanTable(codeLengths, values) { + var k = 0, code = [], i, j, length = 16; + while (length > 0 && !codeLengths[length - 1]) { + length--; + } + code.push({ + children: [], + index: 0 + }); + var p = code[0], q; + for (i = 0; i < length; i++) { + for (j = 0; j < codeLengths[i]; j++) { + p = code.pop(); + p.children[p.index] = values[k]; + while (p.index > 0) { + p = code.pop(); + } + p.index++; + code.push(p); + while (code.length <= i) { + code.push(q = { + children: [], + index: 0 + }); + p.children[p.index] = q.children; + p = q; + } + k++; + } + if (i + 1 < length) { + code.push(q = { + children: [], + index: 0 + }); + p.children[p.index] = q.children; + p = q; + } + } + return code[0].children; + } + function getBlockBufferOffset(component, row, col) { + return 64 * ((component.blocksPerLine + 1) * row + col); + } + function decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successivePrev, successive) { + var mcusPerLine = frame.mcusPerLine; + var progressive = frame.progressive; + var startOffset = offset, bitsData = 0, bitsCount = 0; + function readBit() { + if (bitsCount > 0) { + bitsCount--; + return bitsData >> bitsCount & 1; + } + bitsData = data[offset++]; + if (bitsData === 0xFF) { + var nextByte = data[offset++]; + if (nextByte) { + error('JPEG error: unexpected marker ' + (bitsData << 8 | nextByte).toString(16)); + } + } + bitsCount = 7; + return bitsData >>> 7; + } + function decodeHuffman(tree) { + var node = tree; + while (true) { + node = node[readBit()]; + if (typeof node === 'number') { + return node; + } + if (typeof node !== 'object') { + error('JPEG error: invalid huffman sequence'); + } + } + } + function receive(length) { + var n = 0; + while (length > 0) { + n = n << 1 | readBit(); + length--; + } + return n; + } + function receiveAndExtend(length) { + if (length === 1) { + return readBit() === 1 ? 1 : -1; + } + var n = receive(length); + if (n >= 1 << length - 1) { + return n; + } + return n + (-1 << length) + 1; + } + function decodeBaseline(component, offset) { + var t = decodeHuffman(component.huffmanTableDC); + var diff = t === 0 ? 0 : receiveAndExtend(t); + component.blockData[offset] = component.pred += diff; + var k = 1; + while (k < 64) { + var rs = decodeHuffman(component.huffmanTableAC); + var s = rs & 15, r = rs >> 4; + if (s === 0) { + if (r < 15) { + break; + } + k += 16; + continue; + } + k += r; + var z = dctZigZag[k]; + component.blockData[offset + z] = receiveAndExtend(s); + k++; + } + } + function decodeDCFirst(component, offset) { + var t = decodeHuffman(component.huffmanTableDC); + var diff = t === 0 ? 0 : receiveAndExtend(t) << successive; + component.blockData[offset] = component.pred += diff; + } + function decodeDCSuccessive(component, offset) { + component.blockData[offset] |= readBit() << successive; + } + var eobrun = 0; + function decodeACFirst(component, offset) { + if (eobrun > 0) { + eobrun--; + return; + } + var k = spectralStart, e = spectralEnd; + while (k <= e) { + var rs = decodeHuffman(component.huffmanTableAC); + var s = rs & 15, r = rs >> 4; + if (s === 0) { + if (r < 15) { + eobrun = receive(r) + (1 << r) - 1; + break; + } + k += 16; + continue; + } + k += r; + var z = dctZigZag[k]; + component.blockData[offset + z] = receiveAndExtend(s) * (1 << successive); + k++; + } + } + var successiveACState = 0, successiveACNextValue; + function decodeACSuccessive(component, offset) { + var k = spectralStart; + var e = spectralEnd; + var r = 0; + var s; + var rs; + while (k <= e) { + var z = dctZigZag[k]; + switch (successiveACState) { + case 0: + rs = decodeHuffman(component.huffmanTableAC); + s = rs & 15; + r = rs >> 4; + if (s === 0) { + if (r < 15) { + eobrun = receive(r) + (1 << r); + successiveACState = 4; + } else { + r = 16; + successiveACState = 1; + } + } else { + if (s !== 1) { + error('JPEG error: invalid ACn encoding'); + } + successiveACNextValue = receiveAndExtend(s); + successiveACState = r ? 2 : 3; + } + continue; + case 1: + case 2: + if (component.blockData[offset + z]) { + component.blockData[offset + z] += readBit() << successive; + } else { + r--; + if (r === 0) { + successiveACState = successiveACState === 2 ? 3 : 0; + } + } + break; + case 3: + if (component.blockData[offset + z]) { + component.blockData[offset + z] += readBit() << successive; + } else { + component.blockData[offset + z] = successiveACNextValue << successive; + successiveACState = 0; + } + break; + case 4: + if (component.blockData[offset + z]) { + component.blockData[offset + z] += readBit() << successive; + } + break; + } + k++; + } + if (successiveACState === 4) { + eobrun--; + if (eobrun === 0) { + successiveACState = 0; + } + } + } + function decodeMcu(component, decode, mcu, row, col) { + var mcuRow = mcu / mcusPerLine | 0; + var mcuCol = mcu % mcusPerLine; + var blockRow = mcuRow * component.v + row; + var blockCol = mcuCol * component.h + col; + var offset = getBlockBufferOffset(component, blockRow, blockCol); + decode(component, offset); + } + function decodeBlock(component, decode, mcu) { + var blockRow = mcu / component.blocksPerLine | 0; + var blockCol = mcu % component.blocksPerLine; + var offset = getBlockBufferOffset(component, blockRow, blockCol); + decode(component, offset); + } + var componentsLength = components.length; + var component, i, j, k, n; + var decodeFn; + if (progressive) { + if (spectralStart === 0) { + decodeFn = successivePrev === 0 ? decodeDCFirst : decodeDCSuccessive; + } else { + decodeFn = successivePrev === 0 ? decodeACFirst : decodeACSuccessive; + } + } else { + decodeFn = decodeBaseline; + } + var mcu = 0, marker; + var mcuExpected; + if (componentsLength === 1) { + mcuExpected = components[0].blocksPerLine * components[0].blocksPerColumn; + } else { + mcuExpected = mcusPerLine * frame.mcusPerColumn; + } + if (!resetInterval) { + resetInterval = mcuExpected; + } + var h, v; + while (mcu < mcuExpected) { + for (i = 0; i < componentsLength; i++) { + components[i].pred = 0; + } + eobrun = 0; + if (componentsLength === 1) { + component = components[0]; + for (n = 0; n < resetInterval; n++) { + decodeBlock(component, decodeFn, mcu); + mcu++; + } + } else { + for (n = 0; n < resetInterval; n++) { + for (i = 0; i < componentsLength; i++) { + component = components[i]; + h = component.h; + v = component.v; + for (j = 0; j < v; j++) { + for (k = 0; k < h; k++) { + decodeMcu(component, decodeFn, mcu, j, k); + } + } + } + mcu++; + } + } + bitsCount = 0; + marker = data[offset] << 8 | data[offset + 1]; + while (data[offset] === 0x00 && offset < data.length - 1) { + offset++; + marker = data[offset] << 8 | data[offset + 1]; + } + if (marker <= 0xFF00) { + error('JPEG error: marker was not found'); + } + if (marker >= 0xFFD0 && marker <= 0xFFD7) { + offset += 2; + } else { + break; + } + } + return offset - startOffset; + } + function quantizeAndInverse(component, blockBufferOffset, p) { + var qt = component.quantizationTable, blockData = component.blockData; + var v0, v1, v2, v3, v4, v5, v6, v7; + var p0, p1, p2, p3, p4, p5, p6, p7; + var t; + if (!qt) { + error('JPEG error: missing required Quantization Table.'); + } + for (var row = 0; row < 64; row += 8) { + p0 = blockData[blockBufferOffset + row]; + p1 = blockData[blockBufferOffset + row + 1]; + p2 = blockData[blockBufferOffset + row + 2]; + p3 = blockData[blockBufferOffset + row + 3]; + p4 = blockData[blockBufferOffset + row + 4]; + p5 = blockData[blockBufferOffset + row + 5]; + p6 = blockData[blockBufferOffset + row + 6]; + p7 = blockData[blockBufferOffset + row + 7]; + p0 *= qt[row]; + if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) { + t = dctSqrt2 * p0 + 512 >> 10; + p[row] = t; + p[row + 1] = t; + p[row + 2] = t; + p[row + 3] = t; + p[row + 4] = t; + p[row + 5] = t; + p[row + 6] = t; + p[row + 7] = t; + continue; + } + p1 *= qt[row + 1]; + p2 *= qt[row + 2]; + p3 *= qt[row + 3]; + p4 *= qt[row + 4]; + p5 *= qt[row + 5]; + p6 *= qt[row + 6]; + p7 *= qt[row + 7]; + v0 = dctSqrt2 * p0 + 128 >> 8; + v1 = dctSqrt2 * p4 + 128 >> 8; + v2 = p2; + v3 = p6; + v4 = dctSqrt1d2 * (p1 - p7) + 128 >> 8; + v7 = dctSqrt1d2 * (p1 + p7) + 128 >> 8; + v5 = p3 << 4; + v6 = p5 << 4; + v0 = v0 + v1 + 1 >> 1; + v1 = v0 - v1; + t = v2 * dctSin6 + v3 * dctCos6 + 128 >> 8; + v2 = v2 * dctCos6 - v3 * dctSin6 + 128 >> 8; + v3 = t; + v4 = v4 + v6 + 1 >> 1; + v6 = v4 - v6; + v7 = v7 + v5 + 1 >> 1; + v5 = v7 - v5; + v0 = v0 + v3 + 1 >> 1; + v3 = v0 - v3; + v1 = v1 + v2 + 1 >> 1; + v2 = v1 - v2; + t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12; + v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12; + v7 = t; + t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12; + v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12; + v6 = t; + p[row] = v0 + v7; + p[row + 7] = v0 - v7; + p[row + 1] = v1 + v6; + p[row + 6] = v1 - v6; + p[row + 2] = v2 + v5; + p[row + 5] = v2 - v5; + p[row + 3] = v3 + v4; + p[row + 4] = v3 - v4; + } + for (var col = 0; col < 8; ++col) { + p0 = p[col]; + p1 = p[col + 8]; + p2 = p[col + 16]; + p3 = p[col + 24]; + p4 = p[col + 32]; + p5 = p[col + 40]; + p6 = p[col + 48]; + p7 = p[col + 56]; + if ((p1 | p2 | p3 | p4 | p5 | p6 | p7) === 0) { + t = dctSqrt2 * p0 + 8192 >> 14; + t = t < -2040 ? 0 : t >= 2024 ? 255 : t + 2056 >> 4; + blockData[blockBufferOffset + col] = t; + blockData[blockBufferOffset + col + 8] = t; + blockData[blockBufferOffset + col + 16] = t; + blockData[blockBufferOffset + col + 24] = t; + blockData[blockBufferOffset + col + 32] = t; + blockData[blockBufferOffset + col + 40] = t; + blockData[blockBufferOffset + col + 48] = t; + blockData[blockBufferOffset + col + 56] = t; + continue; + } + v0 = dctSqrt2 * p0 + 2048 >> 12; + v1 = dctSqrt2 * p4 + 2048 >> 12; + v2 = p2; + v3 = p6; + v4 = dctSqrt1d2 * (p1 - p7) + 2048 >> 12; + v7 = dctSqrt1d2 * (p1 + p7) + 2048 >> 12; + v5 = p3; + v6 = p5; + v0 = (v0 + v1 + 1 >> 1) + 4112; + v1 = v0 - v1; + t = v2 * dctSin6 + v3 * dctCos6 + 2048 >> 12; + v2 = v2 * dctCos6 - v3 * dctSin6 + 2048 >> 12; + v3 = t; + v4 = v4 + v6 + 1 >> 1; + v6 = v4 - v6; + v7 = v7 + v5 + 1 >> 1; + v5 = v7 - v5; + v0 = v0 + v3 + 1 >> 1; + v3 = v0 - v3; + v1 = v1 + v2 + 1 >> 1; + v2 = v1 - v2; + t = v4 * dctSin3 + v7 * dctCos3 + 2048 >> 12; + v4 = v4 * dctCos3 - v7 * dctSin3 + 2048 >> 12; + v7 = t; + t = v5 * dctSin1 + v6 * dctCos1 + 2048 >> 12; + v5 = v5 * dctCos1 - v6 * dctSin1 + 2048 >> 12; + v6 = t; + p0 = v0 + v7; + p7 = v0 - v7; + p1 = v1 + v6; + p6 = v1 - v6; + p2 = v2 + v5; + p5 = v2 - v5; + p3 = v3 + v4; + p4 = v3 - v4; + p0 = p0 < 16 ? 0 : p0 >= 4080 ? 255 : p0 >> 4; + p1 = p1 < 16 ? 0 : p1 >= 4080 ? 255 : p1 >> 4; + p2 = p2 < 16 ? 0 : p2 >= 4080 ? 255 : p2 >> 4; + p3 = p3 < 16 ? 0 : p3 >= 4080 ? 255 : p3 >> 4; + p4 = p4 < 16 ? 0 : p4 >= 4080 ? 255 : p4 >> 4; + p5 = p5 < 16 ? 0 : p5 >= 4080 ? 255 : p5 >> 4; + p6 = p6 < 16 ? 0 : p6 >= 4080 ? 255 : p6 >> 4; + p7 = p7 < 16 ? 0 : p7 >= 4080 ? 255 : p7 >> 4; + blockData[blockBufferOffset + col] = p0; + blockData[blockBufferOffset + col + 8] = p1; + blockData[blockBufferOffset + col + 16] = p2; + blockData[blockBufferOffset + col + 24] = p3; + blockData[blockBufferOffset + col + 32] = p4; + blockData[blockBufferOffset + col + 40] = p5; + blockData[blockBufferOffset + col + 48] = p6; + blockData[blockBufferOffset + col + 56] = p7; + } + } + function buildComponentData(frame, component) { + var blocksPerLine = component.blocksPerLine; + var blocksPerColumn = component.blocksPerColumn; + var computationBuffer = new Int16Array(64); + for (var blockRow = 0; blockRow < blocksPerColumn; blockRow++) { + for (var blockCol = 0; blockCol < blocksPerLine; blockCol++) { + var offset = getBlockBufferOffset(component, blockRow, blockCol); + quantizeAndInverse(component, offset, computationBuffer); + } + } + return component.blockData; + } + function clamp0to255(a) { + return a <= 0 ? 0 : a >= 255 ? 255 : a; + } + JpegImage.prototype = { + parse: function parse(data) { + function readUint16() { + var value = data[offset] << 8 | data[offset + 1]; + offset += 2; + return value; + } + function readDataBlock() { + var length = readUint16(); + var array = data.subarray(offset, offset + length - 2); + offset += array.length; + return array; + } + function prepareComponents(frame) { + var mcusPerLine = Math.ceil(frame.samplesPerLine / 8 / frame.maxH); + var mcusPerColumn = Math.ceil(frame.scanLines / 8 / frame.maxV); + for (var i = 0; i < frame.components.length; i++) { + component = frame.components[i]; + var blocksPerLine = Math.ceil(Math.ceil(frame.samplesPerLine / 8) * component.h / frame.maxH); + var blocksPerColumn = Math.ceil(Math.ceil(frame.scanLines / 8) * component.v / frame.maxV); + var blocksPerLineForMcu = mcusPerLine * component.h; + var blocksPerColumnForMcu = mcusPerColumn * component.v; + var blocksBufferSize = 64 * blocksPerColumnForMcu * (blocksPerLineForMcu + 1); + component.blockData = new Int16Array(blocksBufferSize); + component.blocksPerLine = blocksPerLine; + component.blocksPerColumn = blocksPerColumn; + } + frame.mcusPerLine = mcusPerLine; + frame.mcusPerColumn = mcusPerColumn; + } + var offset = 0; + var jfif = null; + var adobe = null; + var frame, resetInterval; + var quantizationTables = []; + var huffmanTablesAC = [], huffmanTablesDC = []; + var fileMarker = readUint16(); + if (fileMarker !== 0xFFD8) { + error('JPEG error: SOI not found'); + } + fileMarker = readUint16(); + while (fileMarker !== 0xFFD9) { + var i, j, l; + switch (fileMarker) { + case 0xFFE0: + case 0xFFE1: + case 0xFFE2: + case 0xFFE3: + case 0xFFE4: + case 0xFFE5: + case 0xFFE6: + case 0xFFE7: + case 0xFFE8: + case 0xFFE9: + case 0xFFEA: + case 0xFFEB: + case 0xFFEC: + case 0xFFED: + case 0xFFEE: + case 0xFFEF: + case 0xFFFE: + var appData = readDataBlock(); + if (fileMarker === 0xFFE0) { + if (appData[0] === 0x4A && appData[1] === 0x46 && appData[2] === 0x49 && appData[3] === 0x46 && appData[4] === 0) { + jfif = { + version: { + major: appData[5], + minor: appData[6] + }, + densityUnits: appData[7], + xDensity: appData[8] << 8 | appData[9], + yDensity: appData[10] << 8 | appData[11], + thumbWidth: appData[12], + thumbHeight: appData[13], + thumbData: appData.subarray(14, 14 + 3 * appData[12] * appData[13]) + }; + } + } + if (fileMarker === 0xFFEE) { + if (appData[0] === 0x41 && appData[1] === 0x64 && appData[2] === 0x6F && appData[3] === 0x62 && appData[4] === 0x65) { + adobe = { + version: appData[5] << 8 | appData[6], + flags0: appData[7] << 8 | appData[8], + flags1: appData[9] << 8 | appData[10], + transformCode: appData[11] + }; + } + } + break; + case 0xFFDB: + var quantizationTablesLength = readUint16(); + var quantizationTablesEnd = quantizationTablesLength + offset - 2; + var z; + while (offset < quantizationTablesEnd) { + var quantizationTableSpec = data[offset++]; + var tableData = new Uint16Array(64); + if (quantizationTableSpec >> 4 === 0) { + for (j = 0; j < 64; j++) { + z = dctZigZag[j]; + tableData[z] = data[offset++]; + } + } else if (quantizationTableSpec >> 4 === 1) { + for (j = 0; j < 64; j++) { + z = dctZigZag[j]; + tableData[z] = readUint16(); + } + } else { + error('JPEG error: DQT - invalid table spec'); + } + quantizationTables[quantizationTableSpec & 15] = tableData; + } + break; + case 0xFFC0: + case 0xFFC1: + case 0xFFC2: + if (frame) { + error('JPEG error: Only single frame JPEGs supported'); + } + readUint16(); + frame = {}; + frame.extended = fileMarker === 0xFFC1; + frame.progressive = fileMarker === 0xFFC2; + frame.precision = data[offset++]; + frame.scanLines = readUint16(); + frame.samplesPerLine = readUint16(); + frame.components = []; + frame.componentIds = {}; + var componentsCount = data[offset++], componentId; + var maxH = 0, maxV = 0; + for (i = 0; i < componentsCount; i++) { + componentId = data[offset]; + var h = data[offset + 1] >> 4; + var v = data[offset + 1] & 15; + if (maxH < h) { + maxH = h; + } + if (maxV < v) { + maxV = v; + } + var qId = data[offset + 2]; + l = frame.components.push({ + h: h, + v: v, + quantizationId: qId, + quantizationTable: null + }); + frame.componentIds[componentId] = l - 1; + offset += 3; + } + frame.maxH = maxH; + frame.maxV = maxV; + prepareComponents(frame); + break; + case 0xFFC4: + var huffmanLength = readUint16(); + for (i = 2; i < huffmanLength;) { + var huffmanTableSpec = data[offset++]; + var codeLengths = new Uint8Array(16); + var codeLengthSum = 0; + for (j = 0; j < 16; j++, offset++) { + codeLengthSum += codeLengths[j] = data[offset]; + } + var huffmanValues = new Uint8Array(codeLengthSum); + for (j = 0; j < codeLengthSum; j++, offset++) { + huffmanValues[j] = data[offset]; + } + i += 17 + codeLengthSum; + (huffmanTableSpec >> 4 === 0 ? huffmanTablesDC : huffmanTablesAC)[huffmanTableSpec & 15] = buildHuffmanTable(codeLengths, huffmanValues); + } + break; + case 0xFFDD: + readUint16(); + resetInterval = readUint16(); + break; + case 0xFFDA: + readUint16(); + var selectorsCount = data[offset++]; + var components = [], component; + for (i = 0; i < selectorsCount; i++) { + var componentIndex = frame.componentIds[data[offset++]]; + component = frame.components[componentIndex]; + var tableSpec = data[offset++]; + component.huffmanTableDC = huffmanTablesDC[tableSpec >> 4]; + component.huffmanTableAC = huffmanTablesAC[tableSpec & 15]; + components.push(component); + } + var spectralStart = data[offset++]; + var spectralEnd = data[offset++]; + var successiveApproximation = data[offset++]; + var processed = decodeScan(data, offset, frame, components, resetInterval, spectralStart, spectralEnd, successiveApproximation >> 4, successiveApproximation & 15); + offset += processed; + break; + case 0xFFFF: + if (data[offset] !== 0xFF) { + offset--; + } + break; + default: + if (data[offset - 3] === 0xFF && data[offset - 2] >= 0xC0 && data[offset - 2] <= 0xFE) { + offset -= 3; + break; + } + error('JPEG error: unknown marker ' + fileMarker.toString(16)); + } + fileMarker = readUint16(); + } + this.width = frame.samplesPerLine; + this.height = frame.scanLines; + this.jfif = jfif; + this.adobe = adobe; + this.components = []; + for (i = 0; i < frame.components.length; i++) { + component = frame.components[i]; + var quantizationTable = quantizationTables[component.quantizationId]; + if (quantizationTable) { + component.quantizationTable = quantizationTable; + } + this.components.push({ + output: buildComponentData(frame, component), + scaleX: component.h / frame.maxH, + scaleY: component.v / frame.maxV, + blocksPerLine: component.blocksPerLine, + blocksPerColumn: component.blocksPerColumn + }); + } + this.numComponents = this.components.length; + }, + _getLinearizedBlockData: function getLinearizedBlockData(width, height) { + var scaleX = this.width / width, scaleY = this.height / height; + var component, componentScaleX, componentScaleY, blocksPerScanline; + var x, y, i, j, k; + var index; + var offset = 0; + var output; + var numComponents = this.components.length; + var dataLength = width * height * numComponents; + var data = new Uint8Array(dataLength); + var xScaleBlockOffset = new Uint32Array(width); + var mask3LSB = 0xfffffff8; + for (i = 0; i < numComponents; i++) { + component = this.components[i]; + componentScaleX = component.scaleX * scaleX; + componentScaleY = component.scaleY * scaleY; + offset = i; + output = component.output; + blocksPerScanline = component.blocksPerLine + 1 << 3; + for (x = 0; x < width; x++) { + j = 0 | x * componentScaleX; + xScaleBlockOffset[x] = (j & mask3LSB) << 3 | j & 7; + } + for (y = 0; y < height; y++) { + j = 0 | y * componentScaleY; + index = blocksPerScanline * (j & mask3LSB) | (j & 7) << 3; + for (x = 0; x < width; x++) { + data[offset] = output[index + xScaleBlockOffset[x]]; + offset += numComponents; + } + } + } + var transform = this.decodeTransform; + if (transform) { + for (i = 0; i < dataLength;) { + for (j = 0, k = 0; j < numComponents; j++, i++, k += 2) { + data[i] = (data[i] * transform[k] >> 8) + transform[k + 1]; + } + } + } + return data; + }, + _isColorConversionNeeded: function isColorConversionNeeded() { + if (this.adobe && this.adobe.transformCode) { + return true; + } else if (this.numComponents === 3) { + if (!this.adobe && this.colorTransform === 0) { + return false; + } + return true; + } + if (!this.adobe && this.colorTransform === 1) { + return true; + } + return false; + }, + _convertYccToRgb: function convertYccToRgb(data) { + var Y, Cb, Cr; + for (var i = 0, length = data.length; i < length; i += 3) { + Y = data[i]; + Cb = data[i + 1]; + Cr = data[i + 2]; + data[i] = clamp0to255(Y - 179.456 + 1.402 * Cr); + data[i + 1] = clamp0to255(Y + 135.459 - 0.344 * Cb - 0.714 * Cr); + data[i + 2] = clamp0to255(Y - 226.816 + 1.772 * Cb); + } + return data; + }, + _convertYcckToRgb: function convertYcckToRgb(data) { + var Y, Cb, Cr, k; + var offset = 0; + for (var i = 0, length = data.length; i < length; i += 4) { + Y = data[i]; + Cb = data[i + 1]; + Cr = data[i + 2]; + k = data[i + 3]; + var r = -122.67195406894 + Cb * (-6.60635669420364e-5 * Cb + 0.000437130475926232 * Cr - 5.4080610064599e-5 * Y + 0.00048449797120281 * k - 0.154362151871126) + Cr * (-0.000957964378445773 * Cr + 0.000817076911346625 * Y - 0.00477271405408747 * k + 1.53380253221734) + Y * (0.000961250184130688 * Y - 0.00266257332283933 * k + 0.48357088451265) + k * (-0.000336197177618394 * k + 0.484791561490776); + var g = 107.268039397724 + Cb * (2.19927104525741e-5 * Cb - 0.000640992018297945 * Cr + 0.000659397001245577 * Y + 0.000426105652938837 * k - 0.176491792462875) + Cr * (-0.000778269941513683 * Cr + 0.00130872261408275 * Y + 0.000770482631801132 * k - 0.151051492775562) + Y * (0.00126935368114843 * Y - 0.00265090189010898 * k + 0.25802910206845) + k * (-0.000318913117588328 * k - 0.213742400323665); + var b = -20.810012546947 + Cb * (-0.000570115196973677 * Cb - 2.63409051004589e-5 * Cr + 0.0020741088115012 * Y - 0.00288260236853442 * k + 0.814272968359295) + Cr * (-1.53496057440975e-5 * Cr - 0.000132689043961446 * Y + 0.000560833691242812 * k - 0.195152027534049) + Y * (0.00174418132927582 * Y - 0.00255243321439347 * k + 0.116935020465145) + k * (-0.000343531996510555 * k + 0.24165260232407); + data[offset++] = clamp0to255(r); + data[offset++] = clamp0to255(g); + data[offset++] = clamp0to255(b); + } + return data; + }, + _convertYcckToCmyk: function convertYcckToCmyk(data) { + var Y, Cb, Cr; + for (var i = 0, length = data.length; i < length; i += 4) { + Y = data[i]; + Cb = data[i + 1]; + Cr = data[i + 2]; + data[i] = clamp0to255(434.456 - Y - 1.402 * Cr); + data[i + 1] = clamp0to255(119.541 - Y + 0.344 * Cb + 0.714 * Cr); + data[i + 2] = clamp0to255(481.816 - Y - 1.772 * Cb); + } + return data; + }, + _convertCmykToRgb: function convertCmykToRgb(data) { + var c, m, y, k; + var offset = 0; + var min = -255 * 255 * 255; + var scale = 1 / 255 / 255; + for (var i = 0, length = data.length; i < length; i += 4) { + c = data[i]; + m = data[i + 1]; + y = data[i + 2]; + k = data[i + 3]; + var r = c * (-4.387332384609988 * c + 54.48615194189176 * m + 18.82290502165302 * y + 212.25662451639585 * k - 72734.4411664936) + m * (1.7149763477362134 * m - 5.6096736904047315 * y - 17.873870861415444 * k - 1401.7366389350734) + y * (-2.5217340131683033 * y - 21.248923337353073 * k + 4465.541406466231) - k * (21.86122147463605 * k + 48317.86113160301); + var g = c * (8.841041422036149 * c + 60.118027045597366 * m + 6.871425592049007 * y + 31.159100130055922 * k - 20220.756542821975) + m * (-15.310361306967817 * m + 17.575251261109482 * y + 131.35250912493976 * k - 48691.05921601825) + y * (4.444339102852739 * y + 9.8632861493405 * k - 6341.191035517494) - k * (20.737325471181034 * k + 47890.15695978492); + var b = c * (0.8842522430003296 * c + 8.078677503112928 * m + 30.89978309703729 * y - 0.23883238689178934 * k - 3616.812083916688) + m * (10.49593273432072 * m + 63.02378494754052 * y + 50.606957656360734 * k - 28620.90484698408) + y * (0.03296041114873217 * y + 115.60384449646641 * k - 49363.43385999684) - k * (22.33816807309886 * k + 45932.16563550634); + data[offset++] = r >= 0 ? 255 : r <= min ? 0 : 255 + r * scale | 0; + data[offset++] = g >= 0 ? 255 : g <= min ? 0 : 255 + g * scale | 0; + data[offset++] = b >= 0 ? 255 : b <= min ? 0 : 255 + b * scale | 0; + } + return data; + }, + getData: function getData(width, height, forceRGBoutput) { + if (this.numComponents > 4) { + error('JPEG error: Unsupported color mode'); + } + var data = this._getLinearizedBlockData(width, height); + if (this.numComponents === 1 && forceRGBoutput) { + var dataLength = data.length; + var rgbData = new Uint8Array(dataLength * 3); + var offset = 0; + for (var i = 0; i < dataLength; i++) { + var grayColor = data[i]; + rgbData[offset++] = grayColor; + rgbData[offset++] = grayColor; + rgbData[offset++] = grayColor; + } + return rgbData; + } else if (this.numComponents === 3 && this._isColorConversionNeeded()) { + return this._convertYccToRgb(data); + } else if (this.numComponents === 4) { + if (this._isColorConversionNeeded()) { + if (forceRGBoutput) { + return this._convertYcckToRgb(data); + } + return this._convertYcckToCmyk(data); + } else if (forceRGBoutput) { + return this._convertCmykToRgb(data); + } + } + return data; + } + }; + return JpegImage; +}(); +exports.JpegImage = JpegImage; + +/***/ }), +/* 30 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var getLookupTableFactory = sharedUtil.getLookupTableFactory; +var getMetrics = getLookupTableFactory(function (t) { + t['Courier'] = 600; + t['Courier-Bold'] = 600; + t['Courier-BoldOblique'] = 600; + t['Courier-Oblique'] = 600; + t['Helvetica'] = getLookupTableFactory(function (t) { + t['space'] = 278; + t['exclam'] = 278; + t['quotedbl'] = 355; + t['numbersign'] = 556; + t['dollar'] = 556; + t['percent'] = 889; + t['ampersand'] = 667; + t['quoteright'] = 222; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 389; + t['plus'] = 584; + t['comma'] = 278; + t['hyphen'] = 333; + t['period'] = 278; + t['slash'] = 278; + t['zero'] = 556; + t['one'] = 556; + t['two'] = 556; + t['three'] = 556; + t['four'] = 556; + t['five'] = 556; + t['six'] = 556; + t['seven'] = 556; + t['eight'] = 556; + t['nine'] = 556; + t['colon'] = 278; + t['semicolon'] = 278; + t['less'] = 584; + t['equal'] = 584; + t['greater'] = 584; + t['question'] = 556; + t['at'] = 1015; + t['A'] = 667; + t['B'] = 667; + t['C'] = 722; + t['D'] = 722; + t['E'] = 667; + t['F'] = 611; + t['G'] = 778; + t['H'] = 722; + t['I'] = 278; + t['J'] = 500; + t['K'] = 667; + t['L'] = 556; + t['M'] = 833; + t['N'] = 722; + t['O'] = 778; + t['P'] = 667; + t['Q'] = 778; + t['R'] = 722; + t['S'] = 667; + t['T'] = 611; + t['U'] = 722; + t['V'] = 667; + t['W'] = 944; + t['X'] = 667; + t['Y'] = 667; + t['Z'] = 611; + t['bracketleft'] = 278; + t['backslash'] = 278; + t['bracketright'] = 278; + t['asciicircum'] = 469; + t['underscore'] = 556; + t['quoteleft'] = 222; + t['a'] = 556; + t['b'] = 556; + t['c'] = 500; + t['d'] = 556; + t['e'] = 556; + t['f'] = 278; + t['g'] = 556; + t['h'] = 556; + t['i'] = 222; + t['j'] = 222; + t['k'] = 500; + t['l'] = 222; + t['m'] = 833; + t['n'] = 556; + t['o'] = 556; + t['p'] = 556; + t['q'] = 556; + t['r'] = 333; + t['s'] = 500; + t['t'] = 278; + t['u'] = 556; + t['v'] = 500; + t['w'] = 722; + t['x'] = 500; + t['y'] = 500; + t['z'] = 500; + t['braceleft'] = 334; + t['bar'] = 260; + t['braceright'] = 334; + t['asciitilde'] = 584; + t['exclamdown'] = 333; + t['cent'] = 556; + t['sterling'] = 556; + t['fraction'] = 167; + t['yen'] = 556; + t['florin'] = 556; + t['section'] = 556; + t['currency'] = 556; + t['quotesingle'] = 191; + t['quotedblleft'] = 333; + t['guillemotleft'] = 556; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 500; + t['fl'] = 500; + t['endash'] = 556; + t['dagger'] = 556; + t['daggerdbl'] = 556; + t['periodcentered'] = 278; + t['paragraph'] = 537; + t['bullet'] = 350; + t['quotesinglbase'] = 222; + t['quotedblbase'] = 333; + t['quotedblright'] = 333; + t['guillemotright'] = 556; + t['ellipsis'] = 1000; + t['perthousand'] = 1000; + t['questiondown'] = 611; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 1000; + t['AE'] = 1000; + t['ordfeminine'] = 370; + t['Lslash'] = 556; + t['Oslash'] = 778; + t['OE'] = 1000; + t['ordmasculine'] = 365; + t['ae'] = 889; + t['dotlessi'] = 278; + t['lslash'] = 222; + t['oslash'] = 611; + t['oe'] = 944; + t['germandbls'] = 611; + t['Idieresis'] = 278; + t['eacute'] = 556; + t['abreve'] = 556; + t['uhungarumlaut'] = 556; + t['ecaron'] = 556; + t['Ydieresis'] = 667; + t['divide'] = 584; + t['Yacute'] = 667; + t['Acircumflex'] = 667; + t['aacute'] = 556; + t['Ucircumflex'] = 722; + t['yacute'] = 500; + t['scommaaccent'] = 500; + t['ecircumflex'] = 556; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 556; + t['Uacute'] = 722; + t['uogonek'] = 556; + t['Edieresis'] = 667; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 737; + t['Emacron'] = 667; + t['ccaron'] = 500; + t['aring'] = 556; + t['Ncommaaccent'] = 722; + t['lacute'] = 222; + t['agrave'] = 556; + t['Tcommaaccent'] = 611; + t['Cacute'] = 722; + t['atilde'] = 556; + t['Edotaccent'] = 667; + t['scaron'] = 500; + t['scedilla'] = 500; + t['iacute'] = 278; + t['lozenge'] = 471; + t['Rcaron'] = 722; + t['Gcommaaccent'] = 778; + t['ucircumflex'] = 556; + t['acircumflex'] = 556; + t['Amacron'] = 667; + t['rcaron'] = 333; + t['ccedilla'] = 500; + t['Zdotaccent'] = 611; + t['Thorn'] = 667; + t['Omacron'] = 778; + t['Racute'] = 722; + t['Sacute'] = 667; + t['dcaron'] = 643; + t['Umacron'] = 722; + t['uring'] = 556; + t['threesuperior'] = 333; + t['Ograve'] = 778; + t['Agrave'] = 667; + t['Abreve'] = 667; + t['multiply'] = 584; + t['uacute'] = 556; + t['Tcaron'] = 611; + t['partialdiff'] = 476; + t['ydieresis'] = 500; + t['Nacute'] = 722; + t['icircumflex'] = 278; + t['Ecircumflex'] = 667; + t['adieresis'] = 556; + t['edieresis'] = 556; + t['cacute'] = 500; + t['nacute'] = 556; + t['umacron'] = 556; + t['Ncaron'] = 722; + t['Iacute'] = 278; + t['plusminus'] = 584; + t['brokenbar'] = 260; + t['registered'] = 737; + t['Gbreve'] = 778; + t['Idotaccent'] = 278; + t['summation'] = 600; + t['Egrave'] = 667; + t['racute'] = 333; + t['omacron'] = 556; + t['Zacute'] = 611; + t['Zcaron'] = 611; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 722; + t['lcommaaccent'] = 222; + t['tcaron'] = 317; + t['eogonek'] = 556; + t['Uogonek'] = 722; + t['Aacute'] = 667; + t['Adieresis'] = 667; + t['egrave'] = 556; + t['zacute'] = 500; + t['iogonek'] = 222; + t['Oacute'] = 778; + t['oacute'] = 556; + t['amacron'] = 556; + t['sacute'] = 500; + t['idieresis'] = 278; + t['Ocircumflex'] = 778; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 556; + t['twosuperior'] = 333; + t['Odieresis'] = 778; + t['mu'] = 556; + t['igrave'] = 278; + t['ohungarumlaut'] = 556; + t['Eogonek'] = 667; + t['dcroat'] = 556; + t['threequarters'] = 834; + t['Scedilla'] = 667; + t['lcaron'] = 299; + t['Kcommaaccent'] = 667; + t['Lacute'] = 556; + t['trademark'] = 1000; + t['edotaccent'] = 556; + t['Igrave'] = 278; + t['Imacron'] = 278; + t['Lcaron'] = 556; + t['onehalf'] = 834; + t['lessequal'] = 549; + t['ocircumflex'] = 556; + t['ntilde'] = 556; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 667; + t['emacron'] = 556; + t['gbreve'] = 556; + t['onequarter'] = 834; + t['Scaron'] = 667; + t['Scommaaccent'] = 667; + t['Ohungarumlaut'] = 778; + t['degree'] = 400; + t['ograve'] = 556; + t['Ccaron'] = 722; + t['ugrave'] = 556; + t['radical'] = 453; + t['Dcaron'] = 722; + t['rcommaaccent'] = 333; + t['Ntilde'] = 722; + t['otilde'] = 556; + t['Rcommaaccent'] = 722; + t['Lcommaaccent'] = 556; + t['Atilde'] = 667; + t['Aogonek'] = 667; + t['Aring'] = 667; + t['Otilde'] = 778; + t['zdotaccent'] = 500; + t['Ecaron'] = 667; + t['Iogonek'] = 278; + t['kcommaaccent'] = 500; + t['minus'] = 584; + t['Icircumflex'] = 278; + t['ncaron'] = 556; + t['tcommaaccent'] = 278; + t['logicalnot'] = 584; + t['odieresis'] = 556; + t['udieresis'] = 556; + t['notequal'] = 549; + t['gcommaaccent'] = 556; + t['eth'] = 556; + t['zcaron'] = 500; + t['ncommaaccent'] = 556; + t['onesuperior'] = 333; + t['imacron'] = 278; + t['Euro'] = 556; + }); + t['Helvetica-Bold'] = getLookupTableFactory(function (t) { + t['space'] = 278; + t['exclam'] = 333; + t['quotedbl'] = 474; + t['numbersign'] = 556; + t['dollar'] = 556; + t['percent'] = 889; + t['ampersand'] = 722; + t['quoteright'] = 278; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 389; + t['plus'] = 584; + t['comma'] = 278; + t['hyphen'] = 333; + t['period'] = 278; + t['slash'] = 278; + t['zero'] = 556; + t['one'] = 556; + t['two'] = 556; + t['three'] = 556; + t['four'] = 556; + t['five'] = 556; + t['six'] = 556; + t['seven'] = 556; + t['eight'] = 556; + t['nine'] = 556; + t['colon'] = 333; + t['semicolon'] = 333; + t['less'] = 584; + t['equal'] = 584; + t['greater'] = 584; + t['question'] = 611; + t['at'] = 975; + t['A'] = 722; + t['B'] = 722; + t['C'] = 722; + t['D'] = 722; + t['E'] = 667; + t['F'] = 611; + t['G'] = 778; + t['H'] = 722; + t['I'] = 278; + t['J'] = 556; + t['K'] = 722; + t['L'] = 611; + t['M'] = 833; + t['N'] = 722; + t['O'] = 778; + t['P'] = 667; + t['Q'] = 778; + t['R'] = 722; + t['S'] = 667; + t['T'] = 611; + t['U'] = 722; + t['V'] = 667; + t['W'] = 944; + t['X'] = 667; + t['Y'] = 667; + t['Z'] = 611; + t['bracketleft'] = 333; + t['backslash'] = 278; + t['bracketright'] = 333; + t['asciicircum'] = 584; + t['underscore'] = 556; + t['quoteleft'] = 278; + t['a'] = 556; + t['b'] = 611; + t['c'] = 556; + t['d'] = 611; + t['e'] = 556; + t['f'] = 333; + t['g'] = 611; + t['h'] = 611; + t['i'] = 278; + t['j'] = 278; + t['k'] = 556; + t['l'] = 278; + t['m'] = 889; + t['n'] = 611; + t['o'] = 611; + t['p'] = 611; + t['q'] = 611; + t['r'] = 389; + t['s'] = 556; + t['t'] = 333; + t['u'] = 611; + t['v'] = 556; + t['w'] = 778; + t['x'] = 556; + t['y'] = 556; + t['z'] = 500; + t['braceleft'] = 389; + t['bar'] = 280; + t['braceright'] = 389; + t['asciitilde'] = 584; + t['exclamdown'] = 333; + t['cent'] = 556; + t['sterling'] = 556; + t['fraction'] = 167; + t['yen'] = 556; + t['florin'] = 556; + t['section'] = 556; + t['currency'] = 556; + t['quotesingle'] = 238; + t['quotedblleft'] = 500; + t['guillemotleft'] = 556; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 611; + t['fl'] = 611; + t['endash'] = 556; + t['dagger'] = 556; + t['daggerdbl'] = 556; + t['periodcentered'] = 278; + t['paragraph'] = 556; + t['bullet'] = 350; + t['quotesinglbase'] = 278; + t['quotedblbase'] = 500; + t['quotedblright'] = 500; + t['guillemotright'] = 556; + t['ellipsis'] = 1000; + t['perthousand'] = 1000; + t['questiondown'] = 611; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 1000; + t['AE'] = 1000; + t['ordfeminine'] = 370; + t['Lslash'] = 611; + t['Oslash'] = 778; + t['OE'] = 1000; + t['ordmasculine'] = 365; + t['ae'] = 889; + t['dotlessi'] = 278; + t['lslash'] = 278; + t['oslash'] = 611; + t['oe'] = 944; + t['germandbls'] = 611; + t['Idieresis'] = 278; + t['eacute'] = 556; + t['abreve'] = 556; + t['uhungarumlaut'] = 611; + t['ecaron'] = 556; + t['Ydieresis'] = 667; + t['divide'] = 584; + t['Yacute'] = 667; + t['Acircumflex'] = 722; + t['aacute'] = 556; + t['Ucircumflex'] = 722; + t['yacute'] = 556; + t['scommaaccent'] = 556; + t['ecircumflex'] = 556; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 556; + t['Uacute'] = 722; + t['uogonek'] = 611; + t['Edieresis'] = 667; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 737; + t['Emacron'] = 667; + t['ccaron'] = 556; + t['aring'] = 556; + t['Ncommaaccent'] = 722; + t['lacute'] = 278; + t['agrave'] = 556; + t['Tcommaaccent'] = 611; + t['Cacute'] = 722; + t['atilde'] = 556; + t['Edotaccent'] = 667; + t['scaron'] = 556; + t['scedilla'] = 556; + t['iacute'] = 278; + t['lozenge'] = 494; + t['Rcaron'] = 722; + t['Gcommaaccent'] = 778; + t['ucircumflex'] = 611; + t['acircumflex'] = 556; + t['Amacron'] = 722; + t['rcaron'] = 389; + t['ccedilla'] = 556; + t['Zdotaccent'] = 611; + t['Thorn'] = 667; + t['Omacron'] = 778; + t['Racute'] = 722; + t['Sacute'] = 667; + t['dcaron'] = 743; + t['Umacron'] = 722; + t['uring'] = 611; + t['threesuperior'] = 333; + t['Ograve'] = 778; + t['Agrave'] = 722; + t['Abreve'] = 722; + t['multiply'] = 584; + t['uacute'] = 611; + t['Tcaron'] = 611; + t['partialdiff'] = 494; + t['ydieresis'] = 556; + t['Nacute'] = 722; + t['icircumflex'] = 278; + t['Ecircumflex'] = 667; + t['adieresis'] = 556; + t['edieresis'] = 556; + t['cacute'] = 556; + t['nacute'] = 611; + t['umacron'] = 611; + t['Ncaron'] = 722; + t['Iacute'] = 278; + t['plusminus'] = 584; + t['brokenbar'] = 280; + t['registered'] = 737; + t['Gbreve'] = 778; + t['Idotaccent'] = 278; + t['summation'] = 600; + t['Egrave'] = 667; + t['racute'] = 389; + t['omacron'] = 611; + t['Zacute'] = 611; + t['Zcaron'] = 611; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 722; + t['lcommaaccent'] = 278; + t['tcaron'] = 389; + t['eogonek'] = 556; + t['Uogonek'] = 722; + t['Aacute'] = 722; + t['Adieresis'] = 722; + t['egrave'] = 556; + t['zacute'] = 500; + t['iogonek'] = 278; + t['Oacute'] = 778; + t['oacute'] = 611; + t['amacron'] = 556; + t['sacute'] = 556; + t['idieresis'] = 278; + t['Ocircumflex'] = 778; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 611; + t['twosuperior'] = 333; + t['Odieresis'] = 778; + t['mu'] = 611; + t['igrave'] = 278; + t['ohungarumlaut'] = 611; + t['Eogonek'] = 667; + t['dcroat'] = 611; + t['threequarters'] = 834; + t['Scedilla'] = 667; + t['lcaron'] = 400; + t['Kcommaaccent'] = 722; + t['Lacute'] = 611; + t['trademark'] = 1000; + t['edotaccent'] = 556; + t['Igrave'] = 278; + t['Imacron'] = 278; + t['Lcaron'] = 611; + t['onehalf'] = 834; + t['lessequal'] = 549; + t['ocircumflex'] = 611; + t['ntilde'] = 611; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 667; + t['emacron'] = 556; + t['gbreve'] = 611; + t['onequarter'] = 834; + t['Scaron'] = 667; + t['Scommaaccent'] = 667; + t['Ohungarumlaut'] = 778; + t['degree'] = 400; + t['ograve'] = 611; + t['Ccaron'] = 722; + t['ugrave'] = 611; + t['radical'] = 549; + t['Dcaron'] = 722; + t['rcommaaccent'] = 389; + t['Ntilde'] = 722; + t['otilde'] = 611; + t['Rcommaaccent'] = 722; + t['Lcommaaccent'] = 611; + t['Atilde'] = 722; + t['Aogonek'] = 722; + t['Aring'] = 722; + t['Otilde'] = 778; + t['zdotaccent'] = 500; + t['Ecaron'] = 667; + t['Iogonek'] = 278; + t['kcommaaccent'] = 556; + t['minus'] = 584; + t['Icircumflex'] = 278; + t['ncaron'] = 611; + t['tcommaaccent'] = 333; + t['logicalnot'] = 584; + t['odieresis'] = 611; + t['udieresis'] = 611; + t['notequal'] = 549; + t['gcommaaccent'] = 611; + t['eth'] = 611; + t['zcaron'] = 500; + t['ncommaaccent'] = 611; + t['onesuperior'] = 333; + t['imacron'] = 278; + t['Euro'] = 556; + }); + t['Helvetica-BoldOblique'] = getLookupTableFactory(function (t) { + t['space'] = 278; + t['exclam'] = 333; + t['quotedbl'] = 474; + t['numbersign'] = 556; + t['dollar'] = 556; + t['percent'] = 889; + t['ampersand'] = 722; + t['quoteright'] = 278; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 389; + t['plus'] = 584; + t['comma'] = 278; + t['hyphen'] = 333; + t['period'] = 278; + t['slash'] = 278; + t['zero'] = 556; + t['one'] = 556; + t['two'] = 556; + t['three'] = 556; + t['four'] = 556; + t['five'] = 556; + t['six'] = 556; + t['seven'] = 556; + t['eight'] = 556; + t['nine'] = 556; + t['colon'] = 333; + t['semicolon'] = 333; + t['less'] = 584; + t['equal'] = 584; + t['greater'] = 584; + t['question'] = 611; + t['at'] = 975; + t['A'] = 722; + t['B'] = 722; + t['C'] = 722; + t['D'] = 722; + t['E'] = 667; + t['F'] = 611; + t['G'] = 778; + t['H'] = 722; + t['I'] = 278; + t['J'] = 556; + t['K'] = 722; + t['L'] = 611; + t['M'] = 833; + t['N'] = 722; + t['O'] = 778; + t['P'] = 667; + t['Q'] = 778; + t['R'] = 722; + t['S'] = 667; + t['T'] = 611; + t['U'] = 722; + t['V'] = 667; + t['W'] = 944; + t['X'] = 667; + t['Y'] = 667; + t['Z'] = 611; + t['bracketleft'] = 333; + t['backslash'] = 278; + t['bracketright'] = 333; + t['asciicircum'] = 584; + t['underscore'] = 556; + t['quoteleft'] = 278; + t['a'] = 556; + t['b'] = 611; + t['c'] = 556; + t['d'] = 611; + t['e'] = 556; + t['f'] = 333; + t['g'] = 611; + t['h'] = 611; + t['i'] = 278; + t['j'] = 278; + t['k'] = 556; + t['l'] = 278; + t['m'] = 889; + t['n'] = 611; + t['o'] = 611; + t['p'] = 611; + t['q'] = 611; + t['r'] = 389; + t['s'] = 556; + t['t'] = 333; + t['u'] = 611; + t['v'] = 556; + t['w'] = 778; + t['x'] = 556; + t['y'] = 556; + t['z'] = 500; + t['braceleft'] = 389; + t['bar'] = 280; + t['braceright'] = 389; + t['asciitilde'] = 584; + t['exclamdown'] = 333; + t['cent'] = 556; + t['sterling'] = 556; + t['fraction'] = 167; + t['yen'] = 556; + t['florin'] = 556; + t['section'] = 556; + t['currency'] = 556; + t['quotesingle'] = 238; + t['quotedblleft'] = 500; + t['guillemotleft'] = 556; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 611; + t['fl'] = 611; + t['endash'] = 556; + t['dagger'] = 556; + t['daggerdbl'] = 556; + t['periodcentered'] = 278; + t['paragraph'] = 556; + t['bullet'] = 350; + t['quotesinglbase'] = 278; + t['quotedblbase'] = 500; + t['quotedblright'] = 500; + t['guillemotright'] = 556; + t['ellipsis'] = 1000; + t['perthousand'] = 1000; + t['questiondown'] = 611; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 1000; + t['AE'] = 1000; + t['ordfeminine'] = 370; + t['Lslash'] = 611; + t['Oslash'] = 778; + t['OE'] = 1000; + t['ordmasculine'] = 365; + t['ae'] = 889; + t['dotlessi'] = 278; + t['lslash'] = 278; + t['oslash'] = 611; + t['oe'] = 944; + t['germandbls'] = 611; + t['Idieresis'] = 278; + t['eacute'] = 556; + t['abreve'] = 556; + t['uhungarumlaut'] = 611; + t['ecaron'] = 556; + t['Ydieresis'] = 667; + t['divide'] = 584; + t['Yacute'] = 667; + t['Acircumflex'] = 722; + t['aacute'] = 556; + t['Ucircumflex'] = 722; + t['yacute'] = 556; + t['scommaaccent'] = 556; + t['ecircumflex'] = 556; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 556; + t['Uacute'] = 722; + t['uogonek'] = 611; + t['Edieresis'] = 667; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 737; + t['Emacron'] = 667; + t['ccaron'] = 556; + t['aring'] = 556; + t['Ncommaaccent'] = 722; + t['lacute'] = 278; + t['agrave'] = 556; + t['Tcommaaccent'] = 611; + t['Cacute'] = 722; + t['atilde'] = 556; + t['Edotaccent'] = 667; + t['scaron'] = 556; + t['scedilla'] = 556; + t['iacute'] = 278; + t['lozenge'] = 494; + t['Rcaron'] = 722; + t['Gcommaaccent'] = 778; + t['ucircumflex'] = 611; + t['acircumflex'] = 556; + t['Amacron'] = 722; + t['rcaron'] = 389; + t['ccedilla'] = 556; + t['Zdotaccent'] = 611; + t['Thorn'] = 667; + t['Omacron'] = 778; + t['Racute'] = 722; + t['Sacute'] = 667; + t['dcaron'] = 743; + t['Umacron'] = 722; + t['uring'] = 611; + t['threesuperior'] = 333; + t['Ograve'] = 778; + t['Agrave'] = 722; + t['Abreve'] = 722; + t['multiply'] = 584; + t['uacute'] = 611; + t['Tcaron'] = 611; + t['partialdiff'] = 494; + t['ydieresis'] = 556; + t['Nacute'] = 722; + t['icircumflex'] = 278; + t['Ecircumflex'] = 667; + t['adieresis'] = 556; + t['edieresis'] = 556; + t['cacute'] = 556; + t['nacute'] = 611; + t['umacron'] = 611; + t['Ncaron'] = 722; + t['Iacute'] = 278; + t['plusminus'] = 584; + t['brokenbar'] = 280; + t['registered'] = 737; + t['Gbreve'] = 778; + t['Idotaccent'] = 278; + t['summation'] = 600; + t['Egrave'] = 667; + t['racute'] = 389; + t['omacron'] = 611; + t['Zacute'] = 611; + t['Zcaron'] = 611; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 722; + t['lcommaaccent'] = 278; + t['tcaron'] = 389; + t['eogonek'] = 556; + t['Uogonek'] = 722; + t['Aacute'] = 722; + t['Adieresis'] = 722; + t['egrave'] = 556; + t['zacute'] = 500; + t['iogonek'] = 278; + t['Oacute'] = 778; + t['oacute'] = 611; + t['amacron'] = 556; + t['sacute'] = 556; + t['idieresis'] = 278; + t['Ocircumflex'] = 778; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 611; + t['twosuperior'] = 333; + t['Odieresis'] = 778; + t['mu'] = 611; + t['igrave'] = 278; + t['ohungarumlaut'] = 611; + t['Eogonek'] = 667; + t['dcroat'] = 611; + t['threequarters'] = 834; + t['Scedilla'] = 667; + t['lcaron'] = 400; + t['Kcommaaccent'] = 722; + t['Lacute'] = 611; + t['trademark'] = 1000; + t['edotaccent'] = 556; + t['Igrave'] = 278; + t['Imacron'] = 278; + t['Lcaron'] = 611; + t['onehalf'] = 834; + t['lessequal'] = 549; + t['ocircumflex'] = 611; + t['ntilde'] = 611; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 667; + t['emacron'] = 556; + t['gbreve'] = 611; + t['onequarter'] = 834; + t['Scaron'] = 667; + t['Scommaaccent'] = 667; + t['Ohungarumlaut'] = 778; + t['degree'] = 400; + t['ograve'] = 611; + t['Ccaron'] = 722; + t['ugrave'] = 611; + t['radical'] = 549; + t['Dcaron'] = 722; + t['rcommaaccent'] = 389; + t['Ntilde'] = 722; + t['otilde'] = 611; + t['Rcommaaccent'] = 722; + t['Lcommaaccent'] = 611; + t['Atilde'] = 722; + t['Aogonek'] = 722; + t['Aring'] = 722; + t['Otilde'] = 778; + t['zdotaccent'] = 500; + t['Ecaron'] = 667; + t['Iogonek'] = 278; + t['kcommaaccent'] = 556; + t['minus'] = 584; + t['Icircumflex'] = 278; + t['ncaron'] = 611; + t['tcommaaccent'] = 333; + t['logicalnot'] = 584; + t['odieresis'] = 611; + t['udieresis'] = 611; + t['notequal'] = 549; + t['gcommaaccent'] = 611; + t['eth'] = 611; + t['zcaron'] = 500; + t['ncommaaccent'] = 611; + t['onesuperior'] = 333; + t['imacron'] = 278; + t['Euro'] = 556; + }); + t['Helvetica-Oblique'] = getLookupTableFactory(function (t) { + t['space'] = 278; + t['exclam'] = 278; + t['quotedbl'] = 355; + t['numbersign'] = 556; + t['dollar'] = 556; + t['percent'] = 889; + t['ampersand'] = 667; + t['quoteright'] = 222; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 389; + t['plus'] = 584; + t['comma'] = 278; + t['hyphen'] = 333; + t['period'] = 278; + t['slash'] = 278; + t['zero'] = 556; + t['one'] = 556; + t['two'] = 556; + t['three'] = 556; + t['four'] = 556; + t['five'] = 556; + t['six'] = 556; + t['seven'] = 556; + t['eight'] = 556; + t['nine'] = 556; + t['colon'] = 278; + t['semicolon'] = 278; + t['less'] = 584; + t['equal'] = 584; + t['greater'] = 584; + t['question'] = 556; + t['at'] = 1015; + t['A'] = 667; + t['B'] = 667; + t['C'] = 722; + t['D'] = 722; + t['E'] = 667; + t['F'] = 611; + t['G'] = 778; + t['H'] = 722; + t['I'] = 278; + t['J'] = 500; + t['K'] = 667; + t['L'] = 556; + t['M'] = 833; + t['N'] = 722; + t['O'] = 778; + t['P'] = 667; + t['Q'] = 778; + t['R'] = 722; + t['S'] = 667; + t['T'] = 611; + t['U'] = 722; + t['V'] = 667; + t['W'] = 944; + t['X'] = 667; + t['Y'] = 667; + t['Z'] = 611; + t['bracketleft'] = 278; + t['backslash'] = 278; + t['bracketright'] = 278; + t['asciicircum'] = 469; + t['underscore'] = 556; + t['quoteleft'] = 222; + t['a'] = 556; + t['b'] = 556; + t['c'] = 500; + t['d'] = 556; + t['e'] = 556; + t['f'] = 278; + t['g'] = 556; + t['h'] = 556; + t['i'] = 222; + t['j'] = 222; + t['k'] = 500; + t['l'] = 222; + t['m'] = 833; + t['n'] = 556; + t['o'] = 556; + t['p'] = 556; + t['q'] = 556; + t['r'] = 333; + t['s'] = 500; + t['t'] = 278; + t['u'] = 556; + t['v'] = 500; + t['w'] = 722; + t['x'] = 500; + t['y'] = 500; + t['z'] = 500; + t['braceleft'] = 334; + t['bar'] = 260; + t['braceright'] = 334; + t['asciitilde'] = 584; + t['exclamdown'] = 333; + t['cent'] = 556; + t['sterling'] = 556; + t['fraction'] = 167; + t['yen'] = 556; + t['florin'] = 556; + t['section'] = 556; + t['currency'] = 556; + t['quotesingle'] = 191; + t['quotedblleft'] = 333; + t['guillemotleft'] = 556; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 500; + t['fl'] = 500; + t['endash'] = 556; + t['dagger'] = 556; + t['daggerdbl'] = 556; + t['periodcentered'] = 278; + t['paragraph'] = 537; + t['bullet'] = 350; + t['quotesinglbase'] = 222; + t['quotedblbase'] = 333; + t['quotedblright'] = 333; + t['guillemotright'] = 556; + t['ellipsis'] = 1000; + t['perthousand'] = 1000; + t['questiondown'] = 611; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 1000; + t['AE'] = 1000; + t['ordfeminine'] = 370; + t['Lslash'] = 556; + t['Oslash'] = 778; + t['OE'] = 1000; + t['ordmasculine'] = 365; + t['ae'] = 889; + t['dotlessi'] = 278; + t['lslash'] = 222; + t['oslash'] = 611; + t['oe'] = 944; + t['germandbls'] = 611; + t['Idieresis'] = 278; + t['eacute'] = 556; + t['abreve'] = 556; + t['uhungarumlaut'] = 556; + t['ecaron'] = 556; + t['Ydieresis'] = 667; + t['divide'] = 584; + t['Yacute'] = 667; + t['Acircumflex'] = 667; + t['aacute'] = 556; + t['Ucircumflex'] = 722; + t['yacute'] = 500; + t['scommaaccent'] = 500; + t['ecircumflex'] = 556; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 556; + t['Uacute'] = 722; + t['uogonek'] = 556; + t['Edieresis'] = 667; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 737; + t['Emacron'] = 667; + t['ccaron'] = 500; + t['aring'] = 556; + t['Ncommaaccent'] = 722; + t['lacute'] = 222; + t['agrave'] = 556; + t['Tcommaaccent'] = 611; + t['Cacute'] = 722; + t['atilde'] = 556; + t['Edotaccent'] = 667; + t['scaron'] = 500; + t['scedilla'] = 500; + t['iacute'] = 278; + t['lozenge'] = 471; + t['Rcaron'] = 722; + t['Gcommaaccent'] = 778; + t['ucircumflex'] = 556; + t['acircumflex'] = 556; + t['Amacron'] = 667; + t['rcaron'] = 333; + t['ccedilla'] = 500; + t['Zdotaccent'] = 611; + t['Thorn'] = 667; + t['Omacron'] = 778; + t['Racute'] = 722; + t['Sacute'] = 667; + t['dcaron'] = 643; + t['Umacron'] = 722; + t['uring'] = 556; + t['threesuperior'] = 333; + t['Ograve'] = 778; + t['Agrave'] = 667; + t['Abreve'] = 667; + t['multiply'] = 584; + t['uacute'] = 556; + t['Tcaron'] = 611; + t['partialdiff'] = 476; + t['ydieresis'] = 500; + t['Nacute'] = 722; + t['icircumflex'] = 278; + t['Ecircumflex'] = 667; + t['adieresis'] = 556; + t['edieresis'] = 556; + t['cacute'] = 500; + t['nacute'] = 556; + t['umacron'] = 556; + t['Ncaron'] = 722; + t['Iacute'] = 278; + t['plusminus'] = 584; + t['brokenbar'] = 260; + t['registered'] = 737; + t['Gbreve'] = 778; + t['Idotaccent'] = 278; + t['summation'] = 600; + t['Egrave'] = 667; + t['racute'] = 333; + t['omacron'] = 556; + t['Zacute'] = 611; + t['Zcaron'] = 611; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 722; + t['lcommaaccent'] = 222; + t['tcaron'] = 317; + t['eogonek'] = 556; + t['Uogonek'] = 722; + t['Aacute'] = 667; + t['Adieresis'] = 667; + t['egrave'] = 556; + t['zacute'] = 500; + t['iogonek'] = 222; + t['Oacute'] = 778; + t['oacute'] = 556; + t['amacron'] = 556; + t['sacute'] = 500; + t['idieresis'] = 278; + t['Ocircumflex'] = 778; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 556; + t['twosuperior'] = 333; + t['Odieresis'] = 778; + t['mu'] = 556; + t['igrave'] = 278; + t['ohungarumlaut'] = 556; + t['Eogonek'] = 667; + t['dcroat'] = 556; + t['threequarters'] = 834; + t['Scedilla'] = 667; + t['lcaron'] = 299; + t['Kcommaaccent'] = 667; + t['Lacute'] = 556; + t['trademark'] = 1000; + t['edotaccent'] = 556; + t['Igrave'] = 278; + t['Imacron'] = 278; + t['Lcaron'] = 556; + t['onehalf'] = 834; + t['lessequal'] = 549; + t['ocircumflex'] = 556; + t['ntilde'] = 556; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 667; + t['emacron'] = 556; + t['gbreve'] = 556; + t['onequarter'] = 834; + t['Scaron'] = 667; + t['Scommaaccent'] = 667; + t['Ohungarumlaut'] = 778; + t['degree'] = 400; + t['ograve'] = 556; + t['Ccaron'] = 722; + t['ugrave'] = 556; + t['radical'] = 453; + t['Dcaron'] = 722; + t['rcommaaccent'] = 333; + t['Ntilde'] = 722; + t['otilde'] = 556; + t['Rcommaaccent'] = 722; + t['Lcommaaccent'] = 556; + t['Atilde'] = 667; + t['Aogonek'] = 667; + t['Aring'] = 667; + t['Otilde'] = 778; + t['zdotaccent'] = 500; + t['Ecaron'] = 667; + t['Iogonek'] = 278; + t['kcommaaccent'] = 500; + t['minus'] = 584; + t['Icircumflex'] = 278; + t['ncaron'] = 556; + t['tcommaaccent'] = 278; + t['logicalnot'] = 584; + t['odieresis'] = 556; + t['udieresis'] = 556; + t['notequal'] = 549; + t['gcommaaccent'] = 556; + t['eth'] = 556; + t['zcaron'] = 500; + t['ncommaaccent'] = 556; + t['onesuperior'] = 333; + t['imacron'] = 278; + t['Euro'] = 556; + }); + t['Symbol'] = getLookupTableFactory(function (t) { + t['space'] = 250; + t['exclam'] = 333; + t['universal'] = 713; + t['numbersign'] = 500; + t['existential'] = 549; + t['percent'] = 833; + t['ampersand'] = 778; + t['suchthat'] = 439; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asteriskmath'] = 500; + t['plus'] = 549; + t['comma'] = 250; + t['minus'] = 549; + t['period'] = 250; + t['slash'] = 278; + t['zero'] = 500; + t['one'] = 500; + t['two'] = 500; + t['three'] = 500; + t['four'] = 500; + t['five'] = 500; + t['six'] = 500; + t['seven'] = 500; + t['eight'] = 500; + t['nine'] = 500; + t['colon'] = 278; + t['semicolon'] = 278; + t['less'] = 549; + t['equal'] = 549; + t['greater'] = 549; + t['question'] = 444; + t['congruent'] = 549; + t['Alpha'] = 722; + t['Beta'] = 667; + t['Chi'] = 722; + t['Delta'] = 612; + t['Epsilon'] = 611; + t['Phi'] = 763; + t['Gamma'] = 603; + t['Eta'] = 722; + t['Iota'] = 333; + t['theta1'] = 631; + t['Kappa'] = 722; + t['Lambda'] = 686; + t['Mu'] = 889; + t['Nu'] = 722; + t['Omicron'] = 722; + t['Pi'] = 768; + t['Theta'] = 741; + t['Rho'] = 556; + t['Sigma'] = 592; + t['Tau'] = 611; + t['Upsilon'] = 690; + t['sigma1'] = 439; + t['Omega'] = 768; + t['Xi'] = 645; + t['Psi'] = 795; + t['Zeta'] = 611; + t['bracketleft'] = 333; + t['therefore'] = 863; + t['bracketright'] = 333; + t['perpendicular'] = 658; + t['underscore'] = 500; + t['radicalex'] = 500; + t['alpha'] = 631; + t['beta'] = 549; + t['chi'] = 549; + t['delta'] = 494; + t['epsilon'] = 439; + t['phi'] = 521; + t['gamma'] = 411; + t['eta'] = 603; + t['iota'] = 329; + t['phi1'] = 603; + t['kappa'] = 549; + t['lambda'] = 549; + t['mu'] = 576; + t['nu'] = 521; + t['omicron'] = 549; + t['pi'] = 549; + t['theta'] = 521; + t['rho'] = 549; + t['sigma'] = 603; + t['tau'] = 439; + t['upsilon'] = 576; + t['omega1'] = 713; + t['omega'] = 686; + t['xi'] = 493; + t['psi'] = 686; + t['zeta'] = 494; + t['braceleft'] = 480; + t['bar'] = 200; + t['braceright'] = 480; + t['similar'] = 549; + t['Euro'] = 750; + t['Upsilon1'] = 620; + t['minute'] = 247; + t['lessequal'] = 549; + t['fraction'] = 167; + t['infinity'] = 713; + t['florin'] = 500; + t['club'] = 753; + t['diamond'] = 753; + t['heart'] = 753; + t['spade'] = 753; + t['arrowboth'] = 1042; + t['arrowleft'] = 987; + t['arrowup'] = 603; + t['arrowright'] = 987; + t['arrowdown'] = 603; + t['degree'] = 400; + t['plusminus'] = 549; + t['second'] = 411; + t['greaterequal'] = 549; + t['multiply'] = 549; + t['proportional'] = 713; + t['partialdiff'] = 494; + t['bullet'] = 460; + t['divide'] = 549; + t['notequal'] = 549; + t['equivalence'] = 549; + t['approxequal'] = 549; + t['ellipsis'] = 1000; + t['arrowvertex'] = 603; + t['arrowhorizex'] = 1000; + t['carriagereturn'] = 658; + t['aleph'] = 823; + t['Ifraktur'] = 686; + t['Rfraktur'] = 795; + t['weierstrass'] = 987; + t['circlemultiply'] = 768; + t['circleplus'] = 768; + t['emptyset'] = 823; + t['intersection'] = 768; + t['union'] = 768; + t['propersuperset'] = 713; + t['reflexsuperset'] = 713; + t['notsubset'] = 713; + t['propersubset'] = 713; + t['reflexsubset'] = 713; + t['element'] = 713; + t['notelement'] = 713; + t['angle'] = 768; + t['gradient'] = 713; + t['registerserif'] = 790; + t['copyrightserif'] = 790; + t['trademarkserif'] = 890; + t['product'] = 823; + t['radical'] = 549; + t['dotmath'] = 250; + t['logicalnot'] = 713; + t['logicaland'] = 603; + t['logicalor'] = 603; + t['arrowdblboth'] = 1042; + t['arrowdblleft'] = 987; + t['arrowdblup'] = 603; + t['arrowdblright'] = 987; + t['arrowdbldown'] = 603; + t['lozenge'] = 494; + t['angleleft'] = 329; + t['registersans'] = 790; + t['copyrightsans'] = 790; + t['trademarksans'] = 786; + t['summation'] = 713; + t['parenlefttp'] = 384; + t['parenleftex'] = 384; + t['parenleftbt'] = 384; + t['bracketlefttp'] = 384; + t['bracketleftex'] = 384; + t['bracketleftbt'] = 384; + t['bracelefttp'] = 494; + t['braceleftmid'] = 494; + t['braceleftbt'] = 494; + t['braceex'] = 494; + t['angleright'] = 329; + t['integral'] = 274; + t['integraltp'] = 686; + t['integralex'] = 686; + t['integralbt'] = 686; + t['parenrighttp'] = 384; + t['parenrightex'] = 384; + t['parenrightbt'] = 384; + t['bracketrighttp'] = 384; + t['bracketrightex'] = 384; + t['bracketrightbt'] = 384; + t['bracerighttp'] = 494; + t['bracerightmid'] = 494; + t['bracerightbt'] = 494; + t['apple'] = 790; + }); + t['Times-Roman'] = getLookupTableFactory(function (t) { + t['space'] = 250; + t['exclam'] = 333; + t['quotedbl'] = 408; + t['numbersign'] = 500; + t['dollar'] = 500; + t['percent'] = 833; + t['ampersand'] = 778; + t['quoteright'] = 333; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 500; + t['plus'] = 564; + t['comma'] = 250; + t['hyphen'] = 333; + t['period'] = 250; + t['slash'] = 278; + t['zero'] = 500; + t['one'] = 500; + t['two'] = 500; + t['three'] = 500; + t['four'] = 500; + t['five'] = 500; + t['six'] = 500; + t['seven'] = 500; + t['eight'] = 500; + t['nine'] = 500; + t['colon'] = 278; + t['semicolon'] = 278; + t['less'] = 564; + t['equal'] = 564; + t['greater'] = 564; + t['question'] = 444; + t['at'] = 921; + t['A'] = 722; + t['B'] = 667; + t['C'] = 667; + t['D'] = 722; + t['E'] = 611; + t['F'] = 556; + t['G'] = 722; + t['H'] = 722; + t['I'] = 333; + t['J'] = 389; + t['K'] = 722; + t['L'] = 611; + t['M'] = 889; + t['N'] = 722; + t['O'] = 722; + t['P'] = 556; + t['Q'] = 722; + t['R'] = 667; + t['S'] = 556; + t['T'] = 611; + t['U'] = 722; + t['V'] = 722; + t['W'] = 944; + t['X'] = 722; + t['Y'] = 722; + t['Z'] = 611; + t['bracketleft'] = 333; + t['backslash'] = 278; + t['bracketright'] = 333; + t['asciicircum'] = 469; + t['underscore'] = 500; + t['quoteleft'] = 333; + t['a'] = 444; + t['b'] = 500; + t['c'] = 444; + t['d'] = 500; + t['e'] = 444; + t['f'] = 333; + t['g'] = 500; + t['h'] = 500; + t['i'] = 278; + t['j'] = 278; + t['k'] = 500; + t['l'] = 278; + t['m'] = 778; + t['n'] = 500; + t['o'] = 500; + t['p'] = 500; + t['q'] = 500; + t['r'] = 333; + t['s'] = 389; + t['t'] = 278; + t['u'] = 500; + t['v'] = 500; + t['w'] = 722; + t['x'] = 500; + t['y'] = 500; + t['z'] = 444; + t['braceleft'] = 480; + t['bar'] = 200; + t['braceright'] = 480; + t['asciitilde'] = 541; + t['exclamdown'] = 333; + t['cent'] = 500; + t['sterling'] = 500; + t['fraction'] = 167; + t['yen'] = 500; + t['florin'] = 500; + t['section'] = 500; + t['currency'] = 500; + t['quotesingle'] = 180; + t['quotedblleft'] = 444; + t['guillemotleft'] = 500; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 556; + t['fl'] = 556; + t['endash'] = 500; + t['dagger'] = 500; + t['daggerdbl'] = 500; + t['periodcentered'] = 250; + t['paragraph'] = 453; + t['bullet'] = 350; + t['quotesinglbase'] = 333; + t['quotedblbase'] = 444; + t['quotedblright'] = 444; + t['guillemotright'] = 500; + t['ellipsis'] = 1000; + t['perthousand'] = 1000; + t['questiondown'] = 444; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 1000; + t['AE'] = 889; + t['ordfeminine'] = 276; + t['Lslash'] = 611; + t['Oslash'] = 722; + t['OE'] = 889; + t['ordmasculine'] = 310; + t['ae'] = 667; + t['dotlessi'] = 278; + t['lslash'] = 278; + t['oslash'] = 500; + t['oe'] = 722; + t['germandbls'] = 500; + t['Idieresis'] = 333; + t['eacute'] = 444; + t['abreve'] = 444; + t['uhungarumlaut'] = 500; + t['ecaron'] = 444; + t['Ydieresis'] = 722; + t['divide'] = 564; + t['Yacute'] = 722; + t['Acircumflex'] = 722; + t['aacute'] = 444; + t['Ucircumflex'] = 722; + t['yacute'] = 500; + t['scommaaccent'] = 389; + t['ecircumflex'] = 444; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 444; + t['Uacute'] = 722; + t['uogonek'] = 500; + t['Edieresis'] = 611; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 760; + t['Emacron'] = 611; + t['ccaron'] = 444; + t['aring'] = 444; + t['Ncommaaccent'] = 722; + t['lacute'] = 278; + t['agrave'] = 444; + t['Tcommaaccent'] = 611; + t['Cacute'] = 667; + t['atilde'] = 444; + t['Edotaccent'] = 611; + t['scaron'] = 389; + t['scedilla'] = 389; + t['iacute'] = 278; + t['lozenge'] = 471; + t['Rcaron'] = 667; + t['Gcommaaccent'] = 722; + t['ucircumflex'] = 500; + t['acircumflex'] = 444; + t['Amacron'] = 722; + t['rcaron'] = 333; + t['ccedilla'] = 444; + t['Zdotaccent'] = 611; + t['Thorn'] = 556; + t['Omacron'] = 722; + t['Racute'] = 667; + t['Sacute'] = 556; + t['dcaron'] = 588; + t['Umacron'] = 722; + t['uring'] = 500; + t['threesuperior'] = 300; + t['Ograve'] = 722; + t['Agrave'] = 722; + t['Abreve'] = 722; + t['multiply'] = 564; + t['uacute'] = 500; + t['Tcaron'] = 611; + t['partialdiff'] = 476; + t['ydieresis'] = 500; + t['Nacute'] = 722; + t['icircumflex'] = 278; + t['Ecircumflex'] = 611; + t['adieresis'] = 444; + t['edieresis'] = 444; + t['cacute'] = 444; + t['nacute'] = 500; + t['umacron'] = 500; + t['Ncaron'] = 722; + t['Iacute'] = 333; + t['plusminus'] = 564; + t['brokenbar'] = 200; + t['registered'] = 760; + t['Gbreve'] = 722; + t['Idotaccent'] = 333; + t['summation'] = 600; + t['Egrave'] = 611; + t['racute'] = 333; + t['omacron'] = 500; + t['Zacute'] = 611; + t['Zcaron'] = 611; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 667; + t['lcommaaccent'] = 278; + t['tcaron'] = 326; + t['eogonek'] = 444; + t['Uogonek'] = 722; + t['Aacute'] = 722; + t['Adieresis'] = 722; + t['egrave'] = 444; + t['zacute'] = 444; + t['iogonek'] = 278; + t['Oacute'] = 722; + t['oacute'] = 500; + t['amacron'] = 444; + t['sacute'] = 389; + t['idieresis'] = 278; + t['Ocircumflex'] = 722; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 500; + t['twosuperior'] = 300; + t['Odieresis'] = 722; + t['mu'] = 500; + t['igrave'] = 278; + t['ohungarumlaut'] = 500; + t['Eogonek'] = 611; + t['dcroat'] = 500; + t['threequarters'] = 750; + t['Scedilla'] = 556; + t['lcaron'] = 344; + t['Kcommaaccent'] = 722; + t['Lacute'] = 611; + t['trademark'] = 980; + t['edotaccent'] = 444; + t['Igrave'] = 333; + t['Imacron'] = 333; + t['Lcaron'] = 611; + t['onehalf'] = 750; + t['lessequal'] = 549; + t['ocircumflex'] = 500; + t['ntilde'] = 500; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 611; + t['emacron'] = 444; + t['gbreve'] = 500; + t['onequarter'] = 750; + t['Scaron'] = 556; + t['Scommaaccent'] = 556; + t['Ohungarumlaut'] = 722; + t['degree'] = 400; + t['ograve'] = 500; + t['Ccaron'] = 667; + t['ugrave'] = 500; + t['radical'] = 453; + t['Dcaron'] = 722; + t['rcommaaccent'] = 333; + t['Ntilde'] = 722; + t['otilde'] = 500; + t['Rcommaaccent'] = 667; + t['Lcommaaccent'] = 611; + t['Atilde'] = 722; + t['Aogonek'] = 722; + t['Aring'] = 722; + t['Otilde'] = 722; + t['zdotaccent'] = 444; + t['Ecaron'] = 611; + t['Iogonek'] = 333; + t['kcommaaccent'] = 500; + t['minus'] = 564; + t['Icircumflex'] = 333; + t['ncaron'] = 500; + t['tcommaaccent'] = 278; + t['logicalnot'] = 564; + t['odieresis'] = 500; + t['udieresis'] = 500; + t['notequal'] = 549; + t['gcommaaccent'] = 500; + t['eth'] = 500; + t['zcaron'] = 444; + t['ncommaaccent'] = 500; + t['onesuperior'] = 300; + t['imacron'] = 278; + t['Euro'] = 500; + }); + t['Times-Bold'] = getLookupTableFactory(function (t) { + t['space'] = 250; + t['exclam'] = 333; + t['quotedbl'] = 555; + t['numbersign'] = 500; + t['dollar'] = 500; + t['percent'] = 1000; + t['ampersand'] = 833; + t['quoteright'] = 333; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 500; + t['plus'] = 570; + t['comma'] = 250; + t['hyphen'] = 333; + t['period'] = 250; + t['slash'] = 278; + t['zero'] = 500; + t['one'] = 500; + t['two'] = 500; + t['three'] = 500; + t['four'] = 500; + t['five'] = 500; + t['six'] = 500; + t['seven'] = 500; + t['eight'] = 500; + t['nine'] = 500; + t['colon'] = 333; + t['semicolon'] = 333; + t['less'] = 570; + t['equal'] = 570; + t['greater'] = 570; + t['question'] = 500; + t['at'] = 930; + t['A'] = 722; + t['B'] = 667; + t['C'] = 722; + t['D'] = 722; + t['E'] = 667; + t['F'] = 611; + t['G'] = 778; + t['H'] = 778; + t['I'] = 389; + t['J'] = 500; + t['K'] = 778; + t['L'] = 667; + t['M'] = 944; + t['N'] = 722; + t['O'] = 778; + t['P'] = 611; + t['Q'] = 778; + t['R'] = 722; + t['S'] = 556; + t['T'] = 667; + t['U'] = 722; + t['V'] = 722; + t['W'] = 1000; + t['X'] = 722; + t['Y'] = 722; + t['Z'] = 667; + t['bracketleft'] = 333; + t['backslash'] = 278; + t['bracketright'] = 333; + t['asciicircum'] = 581; + t['underscore'] = 500; + t['quoteleft'] = 333; + t['a'] = 500; + t['b'] = 556; + t['c'] = 444; + t['d'] = 556; + t['e'] = 444; + t['f'] = 333; + t['g'] = 500; + t['h'] = 556; + t['i'] = 278; + t['j'] = 333; + t['k'] = 556; + t['l'] = 278; + t['m'] = 833; + t['n'] = 556; + t['o'] = 500; + t['p'] = 556; + t['q'] = 556; + t['r'] = 444; + t['s'] = 389; + t['t'] = 333; + t['u'] = 556; + t['v'] = 500; + t['w'] = 722; + t['x'] = 500; + t['y'] = 500; + t['z'] = 444; + t['braceleft'] = 394; + t['bar'] = 220; + t['braceright'] = 394; + t['asciitilde'] = 520; + t['exclamdown'] = 333; + t['cent'] = 500; + t['sterling'] = 500; + t['fraction'] = 167; + t['yen'] = 500; + t['florin'] = 500; + t['section'] = 500; + t['currency'] = 500; + t['quotesingle'] = 278; + t['quotedblleft'] = 500; + t['guillemotleft'] = 500; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 556; + t['fl'] = 556; + t['endash'] = 500; + t['dagger'] = 500; + t['daggerdbl'] = 500; + t['periodcentered'] = 250; + t['paragraph'] = 540; + t['bullet'] = 350; + t['quotesinglbase'] = 333; + t['quotedblbase'] = 500; + t['quotedblright'] = 500; + t['guillemotright'] = 500; + t['ellipsis'] = 1000; + t['perthousand'] = 1000; + t['questiondown'] = 500; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 1000; + t['AE'] = 1000; + t['ordfeminine'] = 300; + t['Lslash'] = 667; + t['Oslash'] = 778; + t['OE'] = 1000; + t['ordmasculine'] = 330; + t['ae'] = 722; + t['dotlessi'] = 278; + t['lslash'] = 278; + t['oslash'] = 500; + t['oe'] = 722; + t['germandbls'] = 556; + t['Idieresis'] = 389; + t['eacute'] = 444; + t['abreve'] = 500; + t['uhungarumlaut'] = 556; + t['ecaron'] = 444; + t['Ydieresis'] = 722; + t['divide'] = 570; + t['Yacute'] = 722; + t['Acircumflex'] = 722; + t['aacute'] = 500; + t['Ucircumflex'] = 722; + t['yacute'] = 500; + t['scommaaccent'] = 389; + t['ecircumflex'] = 444; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 500; + t['Uacute'] = 722; + t['uogonek'] = 556; + t['Edieresis'] = 667; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 747; + t['Emacron'] = 667; + t['ccaron'] = 444; + t['aring'] = 500; + t['Ncommaaccent'] = 722; + t['lacute'] = 278; + t['agrave'] = 500; + t['Tcommaaccent'] = 667; + t['Cacute'] = 722; + t['atilde'] = 500; + t['Edotaccent'] = 667; + t['scaron'] = 389; + t['scedilla'] = 389; + t['iacute'] = 278; + t['lozenge'] = 494; + t['Rcaron'] = 722; + t['Gcommaaccent'] = 778; + t['ucircumflex'] = 556; + t['acircumflex'] = 500; + t['Amacron'] = 722; + t['rcaron'] = 444; + t['ccedilla'] = 444; + t['Zdotaccent'] = 667; + t['Thorn'] = 611; + t['Omacron'] = 778; + t['Racute'] = 722; + t['Sacute'] = 556; + t['dcaron'] = 672; + t['Umacron'] = 722; + t['uring'] = 556; + t['threesuperior'] = 300; + t['Ograve'] = 778; + t['Agrave'] = 722; + t['Abreve'] = 722; + t['multiply'] = 570; + t['uacute'] = 556; + t['Tcaron'] = 667; + t['partialdiff'] = 494; + t['ydieresis'] = 500; + t['Nacute'] = 722; + t['icircumflex'] = 278; + t['Ecircumflex'] = 667; + t['adieresis'] = 500; + t['edieresis'] = 444; + t['cacute'] = 444; + t['nacute'] = 556; + t['umacron'] = 556; + t['Ncaron'] = 722; + t['Iacute'] = 389; + t['plusminus'] = 570; + t['brokenbar'] = 220; + t['registered'] = 747; + t['Gbreve'] = 778; + t['Idotaccent'] = 389; + t['summation'] = 600; + t['Egrave'] = 667; + t['racute'] = 444; + t['omacron'] = 500; + t['Zacute'] = 667; + t['Zcaron'] = 667; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 722; + t['lcommaaccent'] = 278; + t['tcaron'] = 416; + t['eogonek'] = 444; + t['Uogonek'] = 722; + t['Aacute'] = 722; + t['Adieresis'] = 722; + t['egrave'] = 444; + t['zacute'] = 444; + t['iogonek'] = 278; + t['Oacute'] = 778; + t['oacute'] = 500; + t['amacron'] = 500; + t['sacute'] = 389; + t['idieresis'] = 278; + t['Ocircumflex'] = 778; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 556; + t['twosuperior'] = 300; + t['Odieresis'] = 778; + t['mu'] = 556; + t['igrave'] = 278; + t['ohungarumlaut'] = 500; + t['Eogonek'] = 667; + t['dcroat'] = 556; + t['threequarters'] = 750; + t['Scedilla'] = 556; + t['lcaron'] = 394; + t['Kcommaaccent'] = 778; + t['Lacute'] = 667; + t['trademark'] = 1000; + t['edotaccent'] = 444; + t['Igrave'] = 389; + t['Imacron'] = 389; + t['Lcaron'] = 667; + t['onehalf'] = 750; + t['lessequal'] = 549; + t['ocircumflex'] = 500; + t['ntilde'] = 556; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 667; + t['emacron'] = 444; + t['gbreve'] = 500; + t['onequarter'] = 750; + t['Scaron'] = 556; + t['Scommaaccent'] = 556; + t['Ohungarumlaut'] = 778; + t['degree'] = 400; + t['ograve'] = 500; + t['Ccaron'] = 722; + t['ugrave'] = 556; + t['radical'] = 549; + t['Dcaron'] = 722; + t['rcommaaccent'] = 444; + t['Ntilde'] = 722; + t['otilde'] = 500; + t['Rcommaaccent'] = 722; + t['Lcommaaccent'] = 667; + t['Atilde'] = 722; + t['Aogonek'] = 722; + t['Aring'] = 722; + t['Otilde'] = 778; + t['zdotaccent'] = 444; + t['Ecaron'] = 667; + t['Iogonek'] = 389; + t['kcommaaccent'] = 556; + t['minus'] = 570; + t['Icircumflex'] = 389; + t['ncaron'] = 556; + t['tcommaaccent'] = 333; + t['logicalnot'] = 570; + t['odieresis'] = 500; + t['udieresis'] = 556; + t['notequal'] = 549; + t['gcommaaccent'] = 500; + t['eth'] = 500; + t['zcaron'] = 444; + t['ncommaaccent'] = 556; + t['onesuperior'] = 300; + t['imacron'] = 278; + t['Euro'] = 500; + }); + t['Times-BoldItalic'] = getLookupTableFactory(function (t) { + t['space'] = 250; + t['exclam'] = 389; + t['quotedbl'] = 555; + t['numbersign'] = 500; + t['dollar'] = 500; + t['percent'] = 833; + t['ampersand'] = 778; + t['quoteright'] = 333; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 500; + t['plus'] = 570; + t['comma'] = 250; + t['hyphen'] = 333; + t['period'] = 250; + t['slash'] = 278; + t['zero'] = 500; + t['one'] = 500; + t['two'] = 500; + t['three'] = 500; + t['four'] = 500; + t['five'] = 500; + t['six'] = 500; + t['seven'] = 500; + t['eight'] = 500; + t['nine'] = 500; + t['colon'] = 333; + t['semicolon'] = 333; + t['less'] = 570; + t['equal'] = 570; + t['greater'] = 570; + t['question'] = 500; + t['at'] = 832; + t['A'] = 667; + t['B'] = 667; + t['C'] = 667; + t['D'] = 722; + t['E'] = 667; + t['F'] = 667; + t['G'] = 722; + t['H'] = 778; + t['I'] = 389; + t['J'] = 500; + t['K'] = 667; + t['L'] = 611; + t['M'] = 889; + t['N'] = 722; + t['O'] = 722; + t['P'] = 611; + t['Q'] = 722; + t['R'] = 667; + t['S'] = 556; + t['T'] = 611; + t['U'] = 722; + t['V'] = 667; + t['W'] = 889; + t['X'] = 667; + t['Y'] = 611; + t['Z'] = 611; + t['bracketleft'] = 333; + t['backslash'] = 278; + t['bracketright'] = 333; + t['asciicircum'] = 570; + t['underscore'] = 500; + t['quoteleft'] = 333; + t['a'] = 500; + t['b'] = 500; + t['c'] = 444; + t['d'] = 500; + t['e'] = 444; + t['f'] = 333; + t['g'] = 500; + t['h'] = 556; + t['i'] = 278; + t['j'] = 278; + t['k'] = 500; + t['l'] = 278; + t['m'] = 778; + t['n'] = 556; + t['o'] = 500; + t['p'] = 500; + t['q'] = 500; + t['r'] = 389; + t['s'] = 389; + t['t'] = 278; + t['u'] = 556; + t['v'] = 444; + t['w'] = 667; + t['x'] = 500; + t['y'] = 444; + t['z'] = 389; + t['braceleft'] = 348; + t['bar'] = 220; + t['braceright'] = 348; + t['asciitilde'] = 570; + t['exclamdown'] = 389; + t['cent'] = 500; + t['sterling'] = 500; + t['fraction'] = 167; + t['yen'] = 500; + t['florin'] = 500; + t['section'] = 500; + t['currency'] = 500; + t['quotesingle'] = 278; + t['quotedblleft'] = 500; + t['guillemotleft'] = 500; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 556; + t['fl'] = 556; + t['endash'] = 500; + t['dagger'] = 500; + t['daggerdbl'] = 500; + t['periodcentered'] = 250; + t['paragraph'] = 500; + t['bullet'] = 350; + t['quotesinglbase'] = 333; + t['quotedblbase'] = 500; + t['quotedblright'] = 500; + t['guillemotright'] = 500; + t['ellipsis'] = 1000; + t['perthousand'] = 1000; + t['questiondown'] = 500; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 1000; + t['AE'] = 944; + t['ordfeminine'] = 266; + t['Lslash'] = 611; + t['Oslash'] = 722; + t['OE'] = 944; + t['ordmasculine'] = 300; + t['ae'] = 722; + t['dotlessi'] = 278; + t['lslash'] = 278; + t['oslash'] = 500; + t['oe'] = 722; + t['germandbls'] = 500; + t['Idieresis'] = 389; + t['eacute'] = 444; + t['abreve'] = 500; + t['uhungarumlaut'] = 556; + t['ecaron'] = 444; + t['Ydieresis'] = 611; + t['divide'] = 570; + t['Yacute'] = 611; + t['Acircumflex'] = 667; + t['aacute'] = 500; + t['Ucircumflex'] = 722; + t['yacute'] = 444; + t['scommaaccent'] = 389; + t['ecircumflex'] = 444; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 500; + t['Uacute'] = 722; + t['uogonek'] = 556; + t['Edieresis'] = 667; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 747; + t['Emacron'] = 667; + t['ccaron'] = 444; + t['aring'] = 500; + t['Ncommaaccent'] = 722; + t['lacute'] = 278; + t['agrave'] = 500; + t['Tcommaaccent'] = 611; + t['Cacute'] = 667; + t['atilde'] = 500; + t['Edotaccent'] = 667; + t['scaron'] = 389; + t['scedilla'] = 389; + t['iacute'] = 278; + t['lozenge'] = 494; + t['Rcaron'] = 667; + t['Gcommaaccent'] = 722; + t['ucircumflex'] = 556; + t['acircumflex'] = 500; + t['Amacron'] = 667; + t['rcaron'] = 389; + t['ccedilla'] = 444; + t['Zdotaccent'] = 611; + t['Thorn'] = 611; + t['Omacron'] = 722; + t['Racute'] = 667; + t['Sacute'] = 556; + t['dcaron'] = 608; + t['Umacron'] = 722; + t['uring'] = 556; + t['threesuperior'] = 300; + t['Ograve'] = 722; + t['Agrave'] = 667; + t['Abreve'] = 667; + t['multiply'] = 570; + t['uacute'] = 556; + t['Tcaron'] = 611; + t['partialdiff'] = 494; + t['ydieresis'] = 444; + t['Nacute'] = 722; + t['icircumflex'] = 278; + t['Ecircumflex'] = 667; + t['adieresis'] = 500; + t['edieresis'] = 444; + t['cacute'] = 444; + t['nacute'] = 556; + t['umacron'] = 556; + t['Ncaron'] = 722; + t['Iacute'] = 389; + t['plusminus'] = 570; + t['brokenbar'] = 220; + t['registered'] = 747; + t['Gbreve'] = 722; + t['Idotaccent'] = 389; + t['summation'] = 600; + t['Egrave'] = 667; + t['racute'] = 389; + t['omacron'] = 500; + t['Zacute'] = 611; + t['Zcaron'] = 611; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 667; + t['lcommaaccent'] = 278; + t['tcaron'] = 366; + t['eogonek'] = 444; + t['Uogonek'] = 722; + t['Aacute'] = 667; + t['Adieresis'] = 667; + t['egrave'] = 444; + t['zacute'] = 389; + t['iogonek'] = 278; + t['Oacute'] = 722; + t['oacute'] = 500; + t['amacron'] = 500; + t['sacute'] = 389; + t['idieresis'] = 278; + t['Ocircumflex'] = 722; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 500; + t['twosuperior'] = 300; + t['Odieresis'] = 722; + t['mu'] = 576; + t['igrave'] = 278; + t['ohungarumlaut'] = 500; + t['Eogonek'] = 667; + t['dcroat'] = 500; + t['threequarters'] = 750; + t['Scedilla'] = 556; + t['lcaron'] = 382; + t['Kcommaaccent'] = 667; + t['Lacute'] = 611; + t['trademark'] = 1000; + t['edotaccent'] = 444; + t['Igrave'] = 389; + t['Imacron'] = 389; + t['Lcaron'] = 611; + t['onehalf'] = 750; + t['lessequal'] = 549; + t['ocircumflex'] = 500; + t['ntilde'] = 556; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 667; + t['emacron'] = 444; + t['gbreve'] = 500; + t['onequarter'] = 750; + t['Scaron'] = 556; + t['Scommaaccent'] = 556; + t['Ohungarumlaut'] = 722; + t['degree'] = 400; + t['ograve'] = 500; + t['Ccaron'] = 667; + t['ugrave'] = 556; + t['radical'] = 549; + t['Dcaron'] = 722; + t['rcommaaccent'] = 389; + t['Ntilde'] = 722; + t['otilde'] = 500; + t['Rcommaaccent'] = 667; + t['Lcommaaccent'] = 611; + t['Atilde'] = 667; + t['Aogonek'] = 667; + t['Aring'] = 667; + t['Otilde'] = 722; + t['zdotaccent'] = 389; + t['Ecaron'] = 667; + t['Iogonek'] = 389; + t['kcommaaccent'] = 500; + t['minus'] = 606; + t['Icircumflex'] = 389; + t['ncaron'] = 556; + t['tcommaaccent'] = 278; + t['logicalnot'] = 606; + t['odieresis'] = 500; + t['udieresis'] = 556; + t['notequal'] = 549; + t['gcommaaccent'] = 500; + t['eth'] = 500; + t['zcaron'] = 389; + t['ncommaaccent'] = 556; + t['onesuperior'] = 300; + t['imacron'] = 278; + t['Euro'] = 500; + }); + t['Times-Italic'] = getLookupTableFactory(function (t) { + t['space'] = 250; + t['exclam'] = 333; + t['quotedbl'] = 420; + t['numbersign'] = 500; + t['dollar'] = 500; + t['percent'] = 833; + t['ampersand'] = 778; + t['quoteright'] = 333; + t['parenleft'] = 333; + t['parenright'] = 333; + t['asterisk'] = 500; + t['plus'] = 675; + t['comma'] = 250; + t['hyphen'] = 333; + t['period'] = 250; + t['slash'] = 278; + t['zero'] = 500; + t['one'] = 500; + t['two'] = 500; + t['three'] = 500; + t['four'] = 500; + t['five'] = 500; + t['six'] = 500; + t['seven'] = 500; + t['eight'] = 500; + t['nine'] = 500; + t['colon'] = 333; + t['semicolon'] = 333; + t['less'] = 675; + t['equal'] = 675; + t['greater'] = 675; + t['question'] = 500; + t['at'] = 920; + t['A'] = 611; + t['B'] = 611; + t['C'] = 667; + t['D'] = 722; + t['E'] = 611; + t['F'] = 611; + t['G'] = 722; + t['H'] = 722; + t['I'] = 333; + t['J'] = 444; + t['K'] = 667; + t['L'] = 556; + t['M'] = 833; + t['N'] = 667; + t['O'] = 722; + t['P'] = 611; + t['Q'] = 722; + t['R'] = 611; + t['S'] = 500; + t['T'] = 556; + t['U'] = 722; + t['V'] = 611; + t['W'] = 833; + t['X'] = 611; + t['Y'] = 556; + t['Z'] = 556; + t['bracketleft'] = 389; + t['backslash'] = 278; + t['bracketright'] = 389; + t['asciicircum'] = 422; + t['underscore'] = 500; + t['quoteleft'] = 333; + t['a'] = 500; + t['b'] = 500; + t['c'] = 444; + t['d'] = 500; + t['e'] = 444; + t['f'] = 278; + t['g'] = 500; + t['h'] = 500; + t['i'] = 278; + t['j'] = 278; + t['k'] = 444; + t['l'] = 278; + t['m'] = 722; + t['n'] = 500; + t['o'] = 500; + t['p'] = 500; + t['q'] = 500; + t['r'] = 389; + t['s'] = 389; + t['t'] = 278; + t['u'] = 500; + t['v'] = 444; + t['w'] = 667; + t['x'] = 444; + t['y'] = 444; + t['z'] = 389; + t['braceleft'] = 400; + t['bar'] = 275; + t['braceright'] = 400; + t['asciitilde'] = 541; + t['exclamdown'] = 389; + t['cent'] = 500; + t['sterling'] = 500; + t['fraction'] = 167; + t['yen'] = 500; + t['florin'] = 500; + t['section'] = 500; + t['currency'] = 500; + t['quotesingle'] = 214; + t['quotedblleft'] = 556; + t['guillemotleft'] = 500; + t['guilsinglleft'] = 333; + t['guilsinglright'] = 333; + t['fi'] = 500; + t['fl'] = 500; + t['endash'] = 500; + t['dagger'] = 500; + t['daggerdbl'] = 500; + t['periodcentered'] = 250; + t['paragraph'] = 523; + t['bullet'] = 350; + t['quotesinglbase'] = 333; + t['quotedblbase'] = 556; + t['quotedblright'] = 556; + t['guillemotright'] = 500; + t['ellipsis'] = 889; + t['perthousand'] = 1000; + t['questiondown'] = 500; + t['grave'] = 333; + t['acute'] = 333; + t['circumflex'] = 333; + t['tilde'] = 333; + t['macron'] = 333; + t['breve'] = 333; + t['dotaccent'] = 333; + t['dieresis'] = 333; + t['ring'] = 333; + t['cedilla'] = 333; + t['hungarumlaut'] = 333; + t['ogonek'] = 333; + t['caron'] = 333; + t['emdash'] = 889; + t['AE'] = 889; + t['ordfeminine'] = 276; + t['Lslash'] = 556; + t['Oslash'] = 722; + t['OE'] = 944; + t['ordmasculine'] = 310; + t['ae'] = 667; + t['dotlessi'] = 278; + t['lslash'] = 278; + t['oslash'] = 500; + t['oe'] = 667; + t['germandbls'] = 500; + t['Idieresis'] = 333; + t['eacute'] = 444; + t['abreve'] = 500; + t['uhungarumlaut'] = 500; + t['ecaron'] = 444; + t['Ydieresis'] = 556; + t['divide'] = 675; + t['Yacute'] = 556; + t['Acircumflex'] = 611; + t['aacute'] = 500; + t['Ucircumflex'] = 722; + t['yacute'] = 444; + t['scommaaccent'] = 389; + t['ecircumflex'] = 444; + t['Uring'] = 722; + t['Udieresis'] = 722; + t['aogonek'] = 500; + t['Uacute'] = 722; + t['uogonek'] = 500; + t['Edieresis'] = 611; + t['Dcroat'] = 722; + t['commaaccent'] = 250; + t['copyright'] = 760; + t['Emacron'] = 611; + t['ccaron'] = 444; + t['aring'] = 500; + t['Ncommaaccent'] = 667; + t['lacute'] = 278; + t['agrave'] = 500; + t['Tcommaaccent'] = 556; + t['Cacute'] = 667; + t['atilde'] = 500; + t['Edotaccent'] = 611; + t['scaron'] = 389; + t['scedilla'] = 389; + t['iacute'] = 278; + t['lozenge'] = 471; + t['Rcaron'] = 611; + t['Gcommaaccent'] = 722; + t['ucircumflex'] = 500; + t['acircumflex'] = 500; + t['Amacron'] = 611; + t['rcaron'] = 389; + t['ccedilla'] = 444; + t['Zdotaccent'] = 556; + t['Thorn'] = 611; + t['Omacron'] = 722; + t['Racute'] = 611; + t['Sacute'] = 500; + t['dcaron'] = 544; + t['Umacron'] = 722; + t['uring'] = 500; + t['threesuperior'] = 300; + t['Ograve'] = 722; + t['Agrave'] = 611; + t['Abreve'] = 611; + t['multiply'] = 675; + t['uacute'] = 500; + t['Tcaron'] = 556; + t['partialdiff'] = 476; + t['ydieresis'] = 444; + t['Nacute'] = 667; + t['icircumflex'] = 278; + t['Ecircumflex'] = 611; + t['adieresis'] = 500; + t['edieresis'] = 444; + t['cacute'] = 444; + t['nacute'] = 500; + t['umacron'] = 500; + t['Ncaron'] = 667; + t['Iacute'] = 333; + t['plusminus'] = 675; + t['brokenbar'] = 275; + t['registered'] = 760; + t['Gbreve'] = 722; + t['Idotaccent'] = 333; + t['summation'] = 600; + t['Egrave'] = 611; + t['racute'] = 389; + t['omacron'] = 500; + t['Zacute'] = 556; + t['Zcaron'] = 556; + t['greaterequal'] = 549; + t['Eth'] = 722; + t['Ccedilla'] = 667; + t['lcommaaccent'] = 278; + t['tcaron'] = 300; + t['eogonek'] = 444; + t['Uogonek'] = 722; + t['Aacute'] = 611; + t['Adieresis'] = 611; + t['egrave'] = 444; + t['zacute'] = 389; + t['iogonek'] = 278; + t['Oacute'] = 722; + t['oacute'] = 500; + t['amacron'] = 500; + t['sacute'] = 389; + t['idieresis'] = 278; + t['Ocircumflex'] = 722; + t['Ugrave'] = 722; + t['Delta'] = 612; + t['thorn'] = 500; + t['twosuperior'] = 300; + t['Odieresis'] = 722; + t['mu'] = 500; + t['igrave'] = 278; + t['ohungarumlaut'] = 500; + t['Eogonek'] = 611; + t['dcroat'] = 500; + t['threequarters'] = 750; + t['Scedilla'] = 500; + t['lcaron'] = 300; + t['Kcommaaccent'] = 667; + t['Lacute'] = 556; + t['trademark'] = 980; + t['edotaccent'] = 444; + t['Igrave'] = 333; + t['Imacron'] = 333; + t['Lcaron'] = 611; + t['onehalf'] = 750; + t['lessequal'] = 549; + t['ocircumflex'] = 500; + t['ntilde'] = 500; + t['Uhungarumlaut'] = 722; + t['Eacute'] = 611; + t['emacron'] = 444; + t['gbreve'] = 500; + t['onequarter'] = 750; + t['Scaron'] = 500; + t['Scommaaccent'] = 500; + t['Ohungarumlaut'] = 722; + t['degree'] = 400; + t['ograve'] = 500; + t['Ccaron'] = 667; + t['ugrave'] = 500; + t['radical'] = 453; + t['Dcaron'] = 722; + t['rcommaaccent'] = 389; + t['Ntilde'] = 667; + t['otilde'] = 500; + t['Rcommaaccent'] = 611; + t['Lcommaaccent'] = 556; + t['Atilde'] = 611; + t['Aogonek'] = 611; + t['Aring'] = 611; + t['Otilde'] = 722; + t['zdotaccent'] = 389; + t['Ecaron'] = 611; + t['Iogonek'] = 333; + t['kcommaaccent'] = 444; + t['minus'] = 675; + t['Icircumflex'] = 333; + t['ncaron'] = 500; + t['tcommaaccent'] = 278; + t['logicalnot'] = 675; + t['odieresis'] = 500; + t['udieresis'] = 500; + t['notequal'] = 549; + t['gcommaaccent'] = 500; + t['eth'] = 500; + t['zcaron'] = 389; + t['ncommaaccent'] = 500; + t['onesuperior'] = 300; + t['imacron'] = 278; + t['Euro'] = 500; + }); + t['ZapfDingbats'] = getLookupTableFactory(function (t) { + t['space'] = 278; + t['a1'] = 974; + t['a2'] = 961; + t['a202'] = 974; + t['a3'] = 980; + t['a4'] = 719; + t['a5'] = 789; + t['a119'] = 790; + t['a118'] = 791; + t['a117'] = 690; + t['a11'] = 960; + t['a12'] = 939; + t['a13'] = 549; + t['a14'] = 855; + t['a15'] = 911; + t['a16'] = 933; + t['a105'] = 911; + t['a17'] = 945; + t['a18'] = 974; + t['a19'] = 755; + t['a20'] = 846; + t['a21'] = 762; + t['a22'] = 761; + t['a23'] = 571; + t['a24'] = 677; + t['a25'] = 763; + t['a26'] = 760; + t['a27'] = 759; + t['a28'] = 754; + t['a6'] = 494; + t['a7'] = 552; + t['a8'] = 537; + t['a9'] = 577; + t['a10'] = 692; + t['a29'] = 786; + t['a30'] = 788; + t['a31'] = 788; + t['a32'] = 790; + t['a33'] = 793; + t['a34'] = 794; + t['a35'] = 816; + t['a36'] = 823; + t['a37'] = 789; + t['a38'] = 841; + t['a39'] = 823; + t['a40'] = 833; + t['a41'] = 816; + t['a42'] = 831; + t['a43'] = 923; + t['a44'] = 744; + t['a45'] = 723; + t['a46'] = 749; + t['a47'] = 790; + t['a48'] = 792; + t['a49'] = 695; + t['a50'] = 776; + t['a51'] = 768; + t['a52'] = 792; + t['a53'] = 759; + t['a54'] = 707; + t['a55'] = 708; + t['a56'] = 682; + t['a57'] = 701; + t['a58'] = 826; + t['a59'] = 815; + t['a60'] = 789; + t['a61'] = 789; + t['a62'] = 707; + t['a63'] = 687; + t['a64'] = 696; + t['a65'] = 689; + t['a66'] = 786; + t['a67'] = 787; + t['a68'] = 713; + t['a69'] = 791; + t['a70'] = 785; + t['a71'] = 791; + t['a72'] = 873; + t['a73'] = 761; + t['a74'] = 762; + t['a203'] = 762; + t['a75'] = 759; + t['a204'] = 759; + t['a76'] = 892; + t['a77'] = 892; + t['a78'] = 788; + t['a79'] = 784; + t['a81'] = 438; + t['a82'] = 138; + t['a83'] = 277; + t['a84'] = 415; + t['a97'] = 392; + t['a98'] = 392; + t['a99'] = 668; + t['a100'] = 668; + t['a89'] = 390; + t['a90'] = 390; + t['a93'] = 317; + t['a94'] = 317; + t['a91'] = 276; + t['a92'] = 276; + t['a205'] = 509; + t['a85'] = 509; + t['a206'] = 410; + t['a86'] = 410; + t['a87'] = 234; + t['a88'] = 234; + t['a95'] = 334; + t['a96'] = 334; + t['a101'] = 732; + t['a102'] = 544; + t['a103'] = 544; + t['a104'] = 910; + t['a106'] = 667; + t['a107'] = 760; + t['a108'] = 760; + t['a112'] = 776; + t['a111'] = 595; + t['a110'] = 694; + t['a109'] = 626; + t['a120'] = 788; + t['a121'] = 788; + t['a122'] = 788; + t['a123'] = 788; + t['a124'] = 788; + t['a125'] = 788; + t['a126'] = 788; + t['a127'] = 788; + t['a128'] = 788; + t['a129'] = 788; + t['a130'] = 788; + t['a131'] = 788; + t['a132'] = 788; + t['a133'] = 788; + t['a134'] = 788; + t['a135'] = 788; + t['a136'] = 788; + t['a137'] = 788; + t['a138'] = 788; + t['a139'] = 788; + t['a140'] = 788; + t['a141'] = 788; + t['a142'] = 788; + t['a143'] = 788; + t['a144'] = 788; + t['a145'] = 788; + t['a146'] = 788; + t['a147'] = 788; + t['a148'] = 788; + t['a149'] = 788; + t['a150'] = 788; + t['a151'] = 788; + t['a152'] = 788; + t['a153'] = 788; + t['a154'] = 788; + t['a155'] = 788; + t['a156'] = 788; + t['a157'] = 788; + t['a158'] = 788; + t['a159'] = 788; + t['a160'] = 894; + t['a161'] = 838; + t['a163'] = 1016; + t['a164'] = 458; + t['a196'] = 748; + t['a165'] = 924; + t['a192'] = 748; + t['a166'] = 918; + t['a167'] = 927; + t['a168'] = 928; + t['a169'] = 928; + t['a170'] = 834; + t['a171'] = 873; + t['a172'] = 828; + t['a173'] = 924; + t['a162'] = 924; + t['a174'] = 917; + t['a175'] = 930; + t['a176'] = 931; + t['a177'] = 463; + t['a178'] = 883; + t['a179'] = 836; + t['a193'] = 836; + t['a180'] = 867; + t['a199'] = 867; + t['a181'] = 696; + t['a200'] = 696; + t['a182'] = 874; + t['a201'] = 874; + t['a183'] = 760; + t['a184'] = 946; + t['a197'] = 771; + t['a185'] = 865; + t['a194'] = 771; + t['a198'] = 888; + t['a186'] = 967; + t['a195'] = 888; + t['a187'] = 831; + t['a188'] = 873; + t['a189'] = 927; + t['a190'] = 970; + t['a191'] = 918; + }); +}); +exports.getMetrics = getMetrics; + +/***/ }), +/* 31 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var Uint32ArrayView = sharedUtil.Uint32ArrayView; +var MurmurHash3_64 = function MurmurHash3_64Closure(seed) { + var MASK_HIGH = 0xffff0000; + var MASK_LOW = 0xffff; + function MurmurHash3_64(seed) { + var SEED = 0xc3d2e1f0; + this.h1 = seed ? seed & 0xffffffff : SEED; + this.h2 = seed ? seed & 0xffffffff : SEED; + } + var alwaysUseUint32ArrayView = false; + try { + new Uint32Array(new Uint8Array(5).buffer, 0, 1); + } catch (e) { + alwaysUseUint32ArrayView = true; + } + MurmurHash3_64.prototype = { + update: function MurmurHash3_64_update(input) { + var useUint32ArrayView = alwaysUseUint32ArrayView; + var i; + if (typeof input === 'string') { + var data = new Uint8Array(input.length * 2); + var length = 0; + for (i = 0; i < input.length; i++) { + var code = input.charCodeAt(i); + if (code <= 0xff) { + data[length++] = code; + } else { + data[length++] = code >>> 8; + data[length++] = code & 0xff; + } + } + } else if (input instanceof Uint8Array) { + data = input; + length = data.length; + } else if (typeof input === 'object' && 'length' in input) { + data = input; + length = data.length; + useUint32ArrayView = true; + } else { + throw new Error('Wrong data format in MurmurHash3_64_update. ' + 'Input must be a string or array.'); + } + var blockCounts = length >> 2; + var tailLength = length - blockCounts * 4; + var dataUint32 = useUint32ArrayView ? new Uint32ArrayView(data, blockCounts) : new Uint32Array(data.buffer, 0, blockCounts); + var k1 = 0; + var k2 = 0; + var h1 = this.h1; + var h2 = this.h2; + var C1 = 0xcc9e2d51; + var C2 = 0x1b873593; + var C1_LOW = C1 & MASK_LOW; + var C2_LOW = C2 & MASK_LOW; + for (i = 0; i < blockCounts; i++) { + if (i & 1) { + k1 = dataUint32[i]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + h1 ^= k1; + h1 = h1 << 13 | h1 >>> 19; + h1 = h1 * 5 + 0xe6546b64; + } else { + k2 = dataUint32[i]; + k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW; + k2 = k2 << 15 | k2 >>> 17; + k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW; + h2 ^= k2; + h2 = h2 << 13 | h2 >>> 19; + h2 = h2 * 5 + 0xe6546b64; + } + } + k1 = 0; + switch (tailLength) { + case 3: + k1 ^= data[blockCounts * 4 + 2] << 16; + case 2: + k1 ^= data[blockCounts * 4 + 1] << 8; + case 1: + k1 ^= data[blockCounts * 4]; + k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW; + k1 = k1 << 15 | k1 >>> 17; + k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW; + if (blockCounts & 1) { + h1 ^= k1; + } else { + h2 ^= k1; + } + } + this.h1 = h1; + this.h2 = h2; + return this; + }, + hexdigest: function MurmurHash3_64_hexdigest() { + var h1 = this.h1; + var h2 = this.h2; + h1 ^= h2 >>> 1; + h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW; + h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW; + h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16; + h1 ^= h2 >>> 1; + for (var i = 0, arr = [ + h1, + h2 + ], str = ''; i < arr.length; i++) { + var hex = (arr[i] >>> 0).toString(16); + while (hex.length < 8) { + hex = '0' + hex; + } + str += hex; + } + return str; + } + }; + return MurmurHash3_64; +}(); +exports.MurmurHash3_64 = MurmurHash3_64; + +/***/ }), +/* 32 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var coreFunction = __w_pdfjs_require__(6); +var coreColorSpace = __w_pdfjs_require__(3); +var UNSUPPORTED_FEATURES = sharedUtil.UNSUPPORTED_FEATURES; +var MissingDataException = sharedUtil.MissingDataException; +var Util = sharedUtil.Util; +var assert = sharedUtil.assert; +var error = sharedUtil.error; +var info = sharedUtil.info; +var warn = sharedUtil.warn; +var isStream = corePrimitives.isStream; +var PDFFunction = coreFunction.PDFFunction; +var ColorSpace = coreColorSpace.ColorSpace; +var ShadingType = { + FUNCTION_BASED: 1, + AXIAL: 2, + RADIAL: 3, + FREE_FORM_MESH: 4, + LATTICE_FORM_MESH: 5, + COONS_PATCH_MESH: 6, + TENSOR_PATCH_MESH: 7 +}; +var Pattern = function PatternClosure() { + function Pattern() { + error('should not call Pattern constructor'); + } + Pattern.prototype = { + getPattern: function Pattern_getPattern(ctx) { + error('Should not call Pattern.getStyle: ' + ctx); + } + }; + Pattern.parseShading = function Pattern_parseShading(shading, matrix, xref, res, handler) { + var dict = isStream(shading) ? shading.dict : shading; + var type = dict.get('ShadingType'); + try { + switch (type) { + case ShadingType.AXIAL: + case ShadingType.RADIAL: + return new Shadings.RadialAxial(dict, matrix, xref, res); + case ShadingType.FREE_FORM_MESH: + case ShadingType.LATTICE_FORM_MESH: + case ShadingType.COONS_PATCH_MESH: + case ShadingType.TENSOR_PATCH_MESH: + return new Shadings.Mesh(shading, matrix, xref, res); + default: + throw new Error('Unsupported ShadingType: ' + type); + } + } catch (ex) { + if (ex instanceof MissingDataException) { + throw ex; + } + handler.send('UnsupportedFeature', { featureId: UNSUPPORTED_FEATURES.shadingPattern }); + warn(ex); + return new Shadings.Dummy(); + } + }; + return Pattern; +}(); +var Shadings = {}; +Shadings.SMALL_NUMBER = 1e-6; +Shadings.RadialAxial = function RadialAxialClosure() { + function RadialAxial(dict, matrix, xref, res) { + this.matrix = matrix; + this.coordsArr = dict.getArray('Coords'); + this.shadingType = dict.get('ShadingType'); + this.type = 'Pattern'; + var cs = dict.get('ColorSpace', 'CS'); + cs = ColorSpace.parse(cs, xref, res); + this.cs = cs; + var t0 = 0.0, t1 = 1.0; + if (dict.has('Domain')) { + var domainArr = dict.getArray('Domain'); + t0 = domainArr[0]; + t1 = domainArr[1]; + } + var extendStart = false, extendEnd = false; + if (dict.has('Extend')) { + var extendArr = dict.getArray('Extend'); + extendStart = extendArr[0]; + extendEnd = extendArr[1]; + } + if (this.shadingType === ShadingType.RADIAL && (!extendStart || !extendEnd)) { + var x1 = this.coordsArr[0]; + var y1 = this.coordsArr[1]; + var r1 = this.coordsArr[2]; + var x2 = this.coordsArr[3]; + var y2 = this.coordsArr[4]; + var r2 = this.coordsArr[5]; + var distance = Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); + if (r1 <= r2 + distance && r2 <= r1 + distance) { + warn('Unsupported radial gradient.'); + } + } + this.extendStart = extendStart; + this.extendEnd = extendEnd; + var fnObj = dict.get('Function'); + var fn = PDFFunction.parseArray(xref, fnObj); + var diff = t1 - t0; + var step = diff / 10; + var colorStops = this.colorStops = []; + if (t0 >= t1 || step <= 0) { + info('Bad shading domain.'); + return; + } + var color = new Float32Array(cs.numComps), ratio = new Float32Array(1); + var rgbColor; + for (var i = t0; i <= t1; i += step) { + ratio[0] = i; + fn(ratio, 0, color, 0); + rgbColor = cs.getRgb(color, 0); + var cssColor = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]); + colorStops.push([ + (i - t0) / diff, + cssColor + ]); + } + var background = 'transparent'; + if (dict.has('Background')) { + rgbColor = cs.getRgb(dict.get('Background'), 0); + background = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]); + } + if (!extendStart) { + colorStops.unshift([ + 0, + background + ]); + colorStops[1][0] += Shadings.SMALL_NUMBER; + } + if (!extendEnd) { + colorStops[colorStops.length - 1][0] -= Shadings.SMALL_NUMBER; + colorStops.push([ + 1, + background + ]); + } + this.colorStops = colorStops; + } + RadialAxial.prototype = { + getIR: function RadialAxial_getIR() { + var coordsArr = this.coordsArr; + var shadingType = this.shadingType; + var type, p0, p1, r0, r1; + if (shadingType === ShadingType.AXIAL) { + p0 = [ + coordsArr[0], + coordsArr[1] + ]; + p1 = [ + coordsArr[2], + coordsArr[3] + ]; + r0 = null; + r1 = null; + type = 'axial'; + } else if (shadingType === ShadingType.RADIAL) { + p0 = [ + coordsArr[0], + coordsArr[1] + ]; + p1 = [ + coordsArr[3], + coordsArr[4] + ]; + r0 = coordsArr[2]; + r1 = coordsArr[5]; + type = 'radial'; + } else { + error('getPattern type unknown: ' + shadingType); + } + var matrix = this.matrix; + if (matrix) { + p0 = Util.applyTransform(p0, matrix); + p1 = Util.applyTransform(p1, matrix); + if (shadingType === ShadingType.RADIAL) { + var scale = Util.singularValueDecompose2dScale(matrix); + r0 *= scale[0]; + r1 *= scale[1]; + } + } + return [ + 'RadialAxial', + type, + this.colorStops, + p0, + p1, + r0, + r1 + ]; + } + }; + return RadialAxial; +}(); +Shadings.Mesh = function MeshClosure() { + function MeshStreamReader(stream, context) { + this.stream = stream; + this.context = context; + this.buffer = 0; + this.bufferLength = 0; + var numComps = context.numComps; + this.tmpCompsBuf = new Float32Array(numComps); + var csNumComps = context.colorSpace.numComps; + this.tmpCsCompsBuf = context.colorFn ? new Float32Array(csNumComps) : this.tmpCompsBuf; + } + MeshStreamReader.prototype = { + get hasData() { + if (this.stream.end) { + return this.stream.pos < this.stream.end; + } + if (this.bufferLength > 0) { + return true; + } + var nextByte = this.stream.getByte(); + if (nextByte < 0) { + return false; + } + this.buffer = nextByte; + this.bufferLength = 8; + return true; + }, + readBits: function MeshStreamReader_readBits(n) { + var buffer = this.buffer; + var bufferLength = this.bufferLength; + if (n === 32) { + if (bufferLength === 0) { + return (this.stream.getByte() << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte()) >>> 0; + } + buffer = buffer << 24 | this.stream.getByte() << 16 | this.stream.getByte() << 8 | this.stream.getByte(); + var nextByte = this.stream.getByte(); + this.buffer = nextByte & (1 << bufferLength) - 1; + return (buffer << 8 - bufferLength | (nextByte & 0xFF) >> bufferLength) >>> 0; + } + if (n === 8 && bufferLength === 0) { + return this.stream.getByte(); + } + while (bufferLength < n) { + buffer = buffer << 8 | this.stream.getByte(); + bufferLength += 8; + } + bufferLength -= n; + this.bufferLength = bufferLength; + this.buffer = buffer & (1 << bufferLength) - 1; + return buffer >> bufferLength; + }, + align: function MeshStreamReader_align() { + this.buffer = 0; + this.bufferLength = 0; + }, + readFlag: function MeshStreamReader_readFlag() { + return this.readBits(this.context.bitsPerFlag); + }, + readCoordinate: function MeshStreamReader_readCoordinate() { + var bitsPerCoordinate = this.context.bitsPerCoordinate; + var xi = this.readBits(bitsPerCoordinate); + var yi = this.readBits(bitsPerCoordinate); + var decode = this.context.decode; + var scale = bitsPerCoordinate < 32 ? 1 / ((1 << bitsPerCoordinate) - 1) : 2.3283064365386963e-10; + return [ + xi * scale * (decode[1] - decode[0]) + decode[0], + yi * scale * (decode[3] - decode[2]) + decode[2] + ]; + }, + readComponents: function MeshStreamReader_readComponents() { + var numComps = this.context.numComps; + var bitsPerComponent = this.context.bitsPerComponent; + var scale = bitsPerComponent < 32 ? 1 / ((1 << bitsPerComponent) - 1) : 2.3283064365386963e-10; + var decode = this.context.decode; + var components = this.tmpCompsBuf; + for (var i = 0, j = 4; i < numComps; i++, j += 2) { + var ci = this.readBits(bitsPerComponent); + components[i] = ci * scale * (decode[j + 1] - decode[j]) + decode[j]; + } + var color = this.tmpCsCompsBuf; + if (this.context.colorFn) { + this.context.colorFn(components, 0, color, 0); + } + return this.context.colorSpace.getRgb(color, 0); + } + }; + function decodeType4Shading(mesh, reader) { + var coords = mesh.coords; + var colors = mesh.colors; + var operators = []; + var ps = []; + var verticesLeft = 0; + while (reader.hasData) { + var f = reader.readFlag(); + var coord = reader.readCoordinate(); + var color = reader.readComponents(); + if (verticesLeft === 0) { + assert(0 <= f && f <= 2, 'Unknown type4 flag'); + switch (f) { + case 0: + verticesLeft = 3; + break; + case 1: + ps.push(ps[ps.length - 2], ps[ps.length - 1]); + verticesLeft = 1; + break; + case 2: + ps.push(ps[ps.length - 3], ps[ps.length - 1]); + verticesLeft = 1; + break; + } + operators.push(f); + } + ps.push(coords.length); + coords.push(coord); + colors.push(color); + verticesLeft--; + reader.align(); + } + mesh.figures.push({ + type: 'triangles', + coords: new Int32Array(ps), + colors: new Int32Array(ps) + }); + } + function decodeType5Shading(mesh, reader, verticesPerRow) { + var coords = mesh.coords; + var colors = mesh.colors; + var ps = []; + while (reader.hasData) { + var coord = reader.readCoordinate(); + var color = reader.readComponents(); + ps.push(coords.length); + coords.push(coord); + colors.push(color); + } + mesh.figures.push({ + type: 'lattice', + coords: new Int32Array(ps), + colors: new Int32Array(ps), + verticesPerRow: verticesPerRow + }); + } + var MIN_SPLIT_PATCH_CHUNKS_AMOUNT = 3; + var MAX_SPLIT_PATCH_CHUNKS_AMOUNT = 20; + var TRIANGLE_DENSITY = 20; + var getB = function getBClosure() { + function buildB(count) { + var lut = []; + for (var i = 0; i <= count; i++) { + var t = i / count, t_ = 1 - t; + lut.push(new Float32Array([ + t_ * t_ * t_, + 3 * t * t_ * t_, + 3 * t * t * t_, + t * t * t + ])); + } + return lut; + } + var cache = []; + return function getB(count) { + if (!cache[count]) { + cache[count] = buildB(count); + } + return cache[count]; + }; + }(); + function buildFigureFromPatch(mesh, index) { + var figure = mesh.figures[index]; + assert(figure.type === 'patch', 'Unexpected patch mesh figure'); + var coords = mesh.coords, colors = mesh.colors; + var pi = figure.coords; + var ci = figure.colors; + var figureMinX = Math.min(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]); + var figureMinY = Math.min(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]); + var figureMaxX = Math.max(coords[pi[0]][0], coords[pi[3]][0], coords[pi[12]][0], coords[pi[15]][0]); + var figureMaxY = Math.max(coords[pi[0]][1], coords[pi[3]][1], coords[pi[12]][1], coords[pi[15]][1]); + var splitXBy = Math.ceil((figureMaxX - figureMinX) * TRIANGLE_DENSITY / (mesh.bounds[2] - mesh.bounds[0])); + splitXBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitXBy)); + var splitYBy = Math.ceil((figureMaxY - figureMinY) * TRIANGLE_DENSITY / (mesh.bounds[3] - mesh.bounds[1])); + splitYBy = Math.max(MIN_SPLIT_PATCH_CHUNKS_AMOUNT, Math.min(MAX_SPLIT_PATCH_CHUNKS_AMOUNT, splitYBy)); + var verticesPerRow = splitXBy + 1; + var figureCoords = new Int32Array((splitYBy + 1) * verticesPerRow); + var figureColors = new Int32Array((splitYBy + 1) * verticesPerRow); + var k = 0; + var cl = new Uint8Array(3), cr = new Uint8Array(3); + var c0 = colors[ci[0]], c1 = colors[ci[1]], c2 = colors[ci[2]], c3 = colors[ci[3]]; + var bRow = getB(splitYBy), bCol = getB(splitXBy); + for (var row = 0; row <= splitYBy; row++) { + cl[0] = (c0[0] * (splitYBy - row) + c2[0] * row) / splitYBy | 0; + cl[1] = (c0[1] * (splitYBy - row) + c2[1] * row) / splitYBy | 0; + cl[2] = (c0[2] * (splitYBy - row) + c2[2] * row) / splitYBy | 0; + cr[0] = (c1[0] * (splitYBy - row) + c3[0] * row) / splitYBy | 0; + cr[1] = (c1[1] * (splitYBy - row) + c3[1] * row) / splitYBy | 0; + cr[2] = (c1[2] * (splitYBy - row) + c3[2] * row) / splitYBy | 0; + for (var col = 0; col <= splitXBy; col++, k++) { + if ((row === 0 || row === splitYBy) && (col === 0 || col === splitXBy)) { + continue; + } + var x = 0, y = 0; + var q = 0; + for (var i = 0; i <= 3; i++) { + for (var j = 0; j <= 3; j++, q++) { + var m = bRow[row][i] * bCol[col][j]; + x += coords[pi[q]][0] * m; + y += coords[pi[q]][1] * m; + } + } + figureCoords[k] = coords.length; + coords.push([ + x, + y + ]); + figureColors[k] = colors.length; + var newColor = new Uint8Array(3); + newColor[0] = (cl[0] * (splitXBy - col) + cr[0] * col) / splitXBy | 0; + newColor[1] = (cl[1] * (splitXBy - col) + cr[1] * col) / splitXBy | 0; + newColor[2] = (cl[2] * (splitXBy - col) + cr[2] * col) / splitXBy | 0; + colors.push(newColor); + } + } + figureCoords[0] = pi[0]; + figureColors[0] = ci[0]; + figureCoords[splitXBy] = pi[3]; + figureColors[splitXBy] = ci[1]; + figureCoords[verticesPerRow * splitYBy] = pi[12]; + figureColors[verticesPerRow * splitYBy] = ci[2]; + figureCoords[verticesPerRow * splitYBy + splitXBy] = pi[15]; + figureColors[verticesPerRow * splitYBy + splitXBy] = ci[3]; + mesh.figures[index] = { + type: 'lattice', + coords: figureCoords, + colors: figureColors, + verticesPerRow: verticesPerRow + }; + } + function decodeType6Shading(mesh, reader) { + var coords = mesh.coords; + var colors = mesh.colors; + var ps = new Int32Array(16); + var cs = new Int32Array(4); + while (reader.hasData) { + var f = reader.readFlag(); + assert(0 <= f && f <= 3, 'Unknown type6 flag'); + var i, ii; + var pi = coords.length; + for (i = 0, ii = f !== 0 ? 8 : 12; i < ii; i++) { + coords.push(reader.readCoordinate()); + } + var ci = colors.length; + for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) { + colors.push(reader.readComponents()); + } + var tmp1, tmp2, tmp3, tmp4; + switch (f) { + case 0: + ps[12] = pi + 3; + ps[13] = pi + 4; + ps[14] = pi + 5; + ps[15] = pi + 6; + ps[8] = pi + 2; + ps[11] = pi + 7; + ps[4] = pi + 1; + ps[7] = pi + 8; + ps[0] = pi; + ps[1] = pi + 11; + ps[2] = pi + 10; + ps[3] = pi + 9; + cs[2] = ci + 1; + cs[3] = ci + 2; + cs[0] = ci; + cs[1] = ci + 3; + break; + case 1: + tmp1 = ps[12]; + tmp2 = ps[13]; + tmp3 = ps[14]; + tmp4 = ps[15]; + ps[12] = tmp4; + ps[13] = pi + 0; + ps[14] = pi + 1; + ps[15] = pi + 2; + ps[8] = tmp3; + ps[11] = pi + 3; + ps[4] = tmp2; + ps[7] = pi + 4; + ps[0] = tmp1; + ps[1] = pi + 7; + ps[2] = pi + 6; + ps[3] = pi + 5; + tmp1 = cs[2]; + tmp2 = cs[3]; + cs[2] = tmp2; + cs[3] = ci; + cs[0] = tmp1; + cs[1] = ci + 1; + break; + case 2: + tmp1 = ps[15]; + tmp2 = ps[11]; + ps[12] = ps[3]; + ps[13] = pi + 0; + ps[14] = pi + 1; + ps[15] = pi + 2; + ps[8] = ps[7]; + ps[11] = pi + 3; + ps[4] = tmp2; + ps[7] = pi + 4; + ps[0] = tmp1; + ps[1] = pi + 7; + ps[2] = pi + 6; + ps[3] = pi + 5; + tmp1 = cs[3]; + cs[2] = cs[1]; + cs[3] = ci; + cs[0] = tmp1; + cs[1] = ci + 1; + break; + case 3: + ps[12] = ps[0]; + ps[13] = pi + 0; + ps[14] = pi + 1; + ps[15] = pi + 2; + ps[8] = ps[1]; + ps[11] = pi + 3; + ps[4] = ps[2]; + ps[7] = pi + 4; + ps[0] = ps[3]; + ps[1] = pi + 7; + ps[2] = pi + 6; + ps[3] = pi + 5; + cs[2] = cs[0]; + cs[3] = ci; + cs[0] = cs[1]; + cs[1] = ci + 1; + break; + } + ps[5] = coords.length; + coords.push([ + (-4 * coords[ps[0]][0] - coords[ps[15]][0] + 6 * (coords[ps[4]][0] + coords[ps[1]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[13]][0] + coords[ps[7]][0])) / 9, + (-4 * coords[ps[0]][1] - coords[ps[15]][1] + 6 * (coords[ps[4]][1] + coords[ps[1]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[13]][1] + coords[ps[7]][1])) / 9 + ]); + ps[6] = coords.length; + coords.push([ + (-4 * coords[ps[3]][0] - coords[ps[12]][0] + 6 * (coords[ps[2]][0] + coords[ps[7]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[4]][0] + coords[ps[14]][0])) / 9, + (-4 * coords[ps[3]][1] - coords[ps[12]][1] + 6 * (coords[ps[2]][1] + coords[ps[7]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[4]][1] + coords[ps[14]][1])) / 9 + ]); + ps[9] = coords.length; + coords.push([ + (-4 * coords[ps[12]][0] - coords[ps[3]][0] + 6 * (coords[ps[8]][0] + coords[ps[13]][0]) - 2 * (coords[ps[0]][0] + coords[ps[15]][0]) + 3 * (coords[ps[11]][0] + coords[ps[1]][0])) / 9, + (-4 * coords[ps[12]][1] - coords[ps[3]][1] + 6 * (coords[ps[8]][1] + coords[ps[13]][1]) - 2 * (coords[ps[0]][1] + coords[ps[15]][1]) + 3 * (coords[ps[11]][1] + coords[ps[1]][1])) / 9 + ]); + ps[10] = coords.length; + coords.push([ + (-4 * coords[ps[15]][0] - coords[ps[0]][0] + 6 * (coords[ps[11]][0] + coords[ps[14]][0]) - 2 * (coords[ps[12]][0] + coords[ps[3]][0]) + 3 * (coords[ps[2]][0] + coords[ps[8]][0])) / 9, + (-4 * coords[ps[15]][1] - coords[ps[0]][1] + 6 * (coords[ps[11]][1] + coords[ps[14]][1]) - 2 * (coords[ps[12]][1] + coords[ps[3]][1]) + 3 * (coords[ps[2]][1] + coords[ps[8]][1])) / 9 + ]); + mesh.figures.push({ + type: 'patch', + coords: new Int32Array(ps), + colors: new Int32Array(cs) + }); + } + } + function decodeType7Shading(mesh, reader) { + var coords = mesh.coords; + var colors = mesh.colors; + var ps = new Int32Array(16); + var cs = new Int32Array(4); + while (reader.hasData) { + var f = reader.readFlag(); + assert(0 <= f && f <= 3, 'Unknown type7 flag'); + var i, ii; + var pi = coords.length; + for (i = 0, ii = f !== 0 ? 12 : 16; i < ii; i++) { + coords.push(reader.readCoordinate()); + } + var ci = colors.length; + for (i = 0, ii = f !== 0 ? 2 : 4; i < ii; i++) { + colors.push(reader.readComponents()); + } + var tmp1, tmp2, tmp3, tmp4; + switch (f) { + case 0: + ps[12] = pi + 3; + ps[13] = pi + 4; + ps[14] = pi + 5; + ps[15] = pi + 6; + ps[8] = pi + 2; + ps[9] = pi + 13; + ps[10] = pi + 14; + ps[11] = pi + 7; + ps[4] = pi + 1; + ps[5] = pi + 12; + ps[6] = pi + 15; + ps[7] = pi + 8; + ps[0] = pi; + ps[1] = pi + 11; + ps[2] = pi + 10; + ps[3] = pi + 9; + cs[2] = ci + 1; + cs[3] = ci + 2; + cs[0] = ci; + cs[1] = ci + 3; + break; + case 1: + tmp1 = ps[12]; + tmp2 = ps[13]; + tmp3 = ps[14]; + tmp4 = ps[15]; + ps[12] = tmp4; + ps[13] = pi + 0; + ps[14] = pi + 1; + ps[15] = pi + 2; + ps[8] = tmp3; + ps[9] = pi + 9; + ps[10] = pi + 10; + ps[11] = pi + 3; + ps[4] = tmp2; + ps[5] = pi + 8; + ps[6] = pi + 11; + ps[7] = pi + 4; + ps[0] = tmp1; + ps[1] = pi + 7; + ps[2] = pi + 6; + ps[3] = pi + 5; + tmp1 = cs[2]; + tmp2 = cs[3]; + cs[2] = tmp2; + cs[3] = ci; + cs[0] = tmp1; + cs[1] = ci + 1; + break; + case 2: + tmp1 = ps[15]; + tmp2 = ps[11]; + ps[12] = ps[3]; + ps[13] = pi + 0; + ps[14] = pi + 1; + ps[15] = pi + 2; + ps[8] = ps[7]; + ps[9] = pi + 9; + ps[10] = pi + 10; + ps[11] = pi + 3; + ps[4] = tmp2; + ps[5] = pi + 8; + ps[6] = pi + 11; + ps[7] = pi + 4; + ps[0] = tmp1; + ps[1] = pi + 7; + ps[2] = pi + 6; + ps[3] = pi + 5; + tmp1 = cs[3]; + cs[2] = cs[1]; + cs[3] = ci; + cs[0] = tmp1; + cs[1] = ci + 1; + break; + case 3: + ps[12] = ps[0]; + ps[13] = pi + 0; + ps[14] = pi + 1; + ps[15] = pi + 2; + ps[8] = ps[1]; + ps[9] = pi + 9; + ps[10] = pi + 10; + ps[11] = pi + 3; + ps[4] = ps[2]; + ps[5] = pi + 8; + ps[6] = pi + 11; + ps[7] = pi + 4; + ps[0] = ps[3]; + ps[1] = pi + 7; + ps[2] = pi + 6; + ps[3] = pi + 5; + cs[2] = cs[0]; + cs[3] = ci; + cs[0] = cs[1]; + cs[1] = ci + 1; + break; + } + mesh.figures.push({ + type: 'patch', + coords: new Int32Array(ps), + colors: new Int32Array(cs) + }); + } + } + function updateBounds(mesh) { + var minX = mesh.coords[0][0], minY = mesh.coords[0][1], maxX = minX, maxY = minY; + for (var i = 1, ii = mesh.coords.length; i < ii; i++) { + var x = mesh.coords[i][0], y = mesh.coords[i][1]; + minX = minX > x ? x : minX; + minY = minY > y ? y : minY; + maxX = maxX < x ? x : maxX; + maxY = maxY < y ? y : maxY; + } + mesh.bounds = [ + minX, + minY, + maxX, + maxY + ]; + } + function packData(mesh) { + var i, ii, j, jj; + var coords = mesh.coords; + var coordsPacked = new Float32Array(coords.length * 2); + for (i = 0, j = 0, ii = coords.length; i < ii; i++) { + var xy = coords[i]; + coordsPacked[j++] = xy[0]; + coordsPacked[j++] = xy[1]; + } + mesh.coords = coordsPacked; + var colors = mesh.colors; + var colorsPacked = new Uint8Array(colors.length * 3); + for (i = 0, j = 0, ii = colors.length; i < ii; i++) { + var c = colors[i]; + colorsPacked[j++] = c[0]; + colorsPacked[j++] = c[1]; + colorsPacked[j++] = c[2]; + } + mesh.colors = colorsPacked; + var figures = mesh.figures; + for (i = 0, ii = figures.length; i < ii; i++) { + var figure = figures[i], ps = figure.coords, cs = figure.colors; + for (j = 0, jj = ps.length; j < jj; j++) { + ps[j] *= 2; + cs[j] *= 3; + } + } + } + function Mesh(stream, matrix, xref, res) { + assert(isStream(stream), 'Mesh data is not a stream'); + var dict = stream.dict; + this.matrix = matrix; + this.shadingType = dict.get('ShadingType'); + this.type = 'Pattern'; + this.bbox = dict.getArray('BBox'); + var cs = dict.get('ColorSpace', 'CS'); + cs = ColorSpace.parse(cs, xref, res); + this.cs = cs; + this.background = dict.has('Background') ? cs.getRgb(dict.get('Background'), 0) : null; + var fnObj = dict.get('Function'); + var fn = fnObj ? PDFFunction.parseArray(xref, fnObj) : null; + this.coords = []; + this.colors = []; + this.figures = []; + var decodeContext = { + bitsPerCoordinate: dict.get('BitsPerCoordinate'), + bitsPerComponent: dict.get('BitsPerComponent'), + bitsPerFlag: dict.get('BitsPerFlag'), + decode: dict.getArray('Decode'), + colorFn: fn, + colorSpace: cs, + numComps: fn ? 1 : cs.numComps + }; + var reader = new MeshStreamReader(stream, decodeContext); + var patchMesh = false; + switch (this.shadingType) { + case ShadingType.FREE_FORM_MESH: + decodeType4Shading(this, reader); + break; + case ShadingType.LATTICE_FORM_MESH: + var verticesPerRow = dict.get('VerticesPerRow') | 0; + assert(verticesPerRow >= 2, 'Invalid VerticesPerRow'); + decodeType5Shading(this, reader, verticesPerRow); + break; + case ShadingType.COONS_PATCH_MESH: + decodeType6Shading(this, reader); + patchMesh = true; + break; + case ShadingType.TENSOR_PATCH_MESH: + decodeType7Shading(this, reader); + patchMesh = true; + break; + default: + error('Unsupported mesh type.'); + break; + } + if (patchMesh) { + updateBounds(this); + for (var i = 0, ii = this.figures.length; i < ii; i++) { + buildFigureFromPatch(this, i); + } + } + updateBounds(this); + packData(this); + } + Mesh.prototype = { + getIR: function Mesh_getIR() { + return [ + 'Mesh', + this.shadingType, + this.coords, + this.colors, + this.figures, + this.bounds, + this.matrix, + this.bbox, + this.background + ]; + } + }; + return Mesh; +}(); +Shadings.Dummy = function DummyClosure() { + function Dummy() { + this.type = 'Pattern'; + } + Dummy.prototype = { + getIR: function Dummy_getIR() { + return ['Dummy']; + } + }; + return Dummy; +}(); +function getTilingPatternIR(operatorList, dict, args) { + var matrix = dict.getArray('Matrix'); + var bbox = dict.getArray('BBox'); + var xstep = dict.get('XStep'); + var ystep = dict.get('YStep'); + var paintType = dict.get('PaintType'); + var tilingType = dict.get('TilingType'); + return [ + 'TilingPattern', + args, + operatorList, + matrix, + bbox, + xstep, + ystep, + paintType, + tilingType + ]; +} +exports.Pattern = Pattern; +exports.getTilingPatternIR = getTilingPatternIR; + +/***/ }), +/* 33 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var coreStream = __w_pdfjs_require__(2); +var coreChunkedStream = __w_pdfjs_require__(12); +var coreDocument = __w_pdfjs_require__(24); +var warn = sharedUtil.warn; +var createValidAbsoluteUrl = sharedUtil.createValidAbsoluteUrl; +var shadow = sharedUtil.shadow; +var NotImplementedException = sharedUtil.NotImplementedException; +var MissingDataException = sharedUtil.MissingDataException; +var createPromiseCapability = sharedUtil.createPromiseCapability; +var Util = sharedUtil.Util; +var Stream = coreStream.Stream; +var ChunkedStreamManager = coreChunkedStream.ChunkedStreamManager; +var PDFDocument = coreDocument.PDFDocument; +var BasePdfManager = function BasePdfManagerClosure() { + function BasePdfManager() { + throw new Error('Cannot initialize BaseManagerManager'); + } + BasePdfManager.prototype = { + get docId() { + return this._docId; + }, + get password() { + return this._password; + }, + get docBaseUrl() { + var docBaseUrl = null; + if (this._docBaseUrl) { + var absoluteUrl = createValidAbsoluteUrl(this._docBaseUrl); + if (absoluteUrl) { + docBaseUrl = absoluteUrl.href; + } else { + warn('Invalid absolute docBaseUrl: "' + this._docBaseUrl + '".'); + } + } + return shadow(this, 'docBaseUrl', docBaseUrl); + }, + onLoadedStream: function BasePdfManager_onLoadedStream() { + throw new NotImplementedException(); + }, + ensureDoc: function BasePdfManager_ensureDoc(prop, args) { + return this.ensure(this.pdfDocument, prop, args); + }, + ensureXRef: function BasePdfManager_ensureXRef(prop, args) { + return this.ensure(this.pdfDocument.xref, prop, args); + }, + ensureCatalog: function BasePdfManager_ensureCatalog(prop, args) { + return this.ensure(this.pdfDocument.catalog, prop, args); + }, + getPage: function BasePdfManager_getPage(pageIndex) { + return this.pdfDocument.getPage(pageIndex); + }, + cleanup: function BasePdfManager_cleanup() { + return this.pdfDocument.cleanup(); + }, + ensure: function BasePdfManager_ensure(obj, prop, args) { + return new NotImplementedException(); + }, + requestRange: function BasePdfManager_requestRange(begin, end) { + return new NotImplementedException(); + }, + requestLoadedStream: function BasePdfManager_requestLoadedStream() { + return new NotImplementedException(); + }, + sendProgressiveData: function BasePdfManager_sendProgressiveData(chunk) { + return new NotImplementedException(); + }, + updatePassword: function BasePdfManager_updatePassword(password) { + this._password = password; + }, + terminate: function BasePdfManager_terminate() { + return new NotImplementedException(); + } + }; + return BasePdfManager; +}(); +var LocalPdfManager = function LocalPdfManagerClosure() { + function LocalPdfManager(docId, data, password, evaluatorOptions, docBaseUrl) { + this._docId = docId; + this._password = password; + this._docBaseUrl = docBaseUrl; + this.evaluatorOptions = evaluatorOptions; + var stream = new Stream(data); + this.pdfDocument = new PDFDocument(this, stream); + this._loadedStreamCapability = createPromiseCapability(); + this._loadedStreamCapability.resolve(stream); + } + Util.inherit(LocalPdfManager, BasePdfManager, { + ensure: function LocalPdfManager_ensure(obj, prop, args) { + return new Promise(function (resolve, reject) { + try { + var value = obj[prop]; + var result; + if (typeof value === 'function') { + result = value.apply(obj, args); + } else { + result = value; + } + resolve(result); + } catch (e) { + reject(e); + } + }); + }, + requestRange: function LocalPdfManager_requestRange(begin, end) { + return Promise.resolve(); + }, + requestLoadedStream: function LocalPdfManager_requestLoadedStream() { + }, + onLoadedStream: function LocalPdfManager_onLoadedStream() { + return this._loadedStreamCapability.promise; + }, + terminate: function LocalPdfManager_terminate() { + } + }); + return LocalPdfManager; +}(); +var NetworkPdfManager = function NetworkPdfManagerClosure() { + function NetworkPdfManager(docId, pdfNetworkStream, args, evaluatorOptions, docBaseUrl) { + this._docId = docId; + this._password = args.password; + this._docBaseUrl = docBaseUrl; + this.msgHandler = args.msgHandler; + this.evaluatorOptions = evaluatorOptions; + var params = { + msgHandler: args.msgHandler, + url: args.url, + length: args.length, + disableAutoFetch: args.disableAutoFetch, + rangeChunkSize: args.rangeChunkSize + }; + this.streamManager = new ChunkedStreamManager(pdfNetworkStream, params); + this.pdfDocument = new PDFDocument(this, this.streamManager.getStream()); + } + Util.inherit(NetworkPdfManager, BasePdfManager, { + ensure: function NetworkPdfManager_ensure(obj, prop, args) { + var pdfManager = this; + return new Promise(function (resolve, reject) { + function ensureHelper() { + try { + var result; + var value = obj[prop]; + if (typeof value === 'function') { + result = value.apply(obj, args); + } else { + result = value; + } + resolve(result); + } catch (e) { + if (!(e instanceof MissingDataException)) { + reject(e); + return; + } + pdfManager.streamManager.requestRange(e.begin, e.end).then(ensureHelper, reject); + } + } + ensureHelper(); + }); + }, + requestRange: function NetworkPdfManager_requestRange(begin, end) { + return this.streamManager.requestRange(begin, end); + }, + requestLoadedStream: function NetworkPdfManager_requestLoadedStream() { + this.streamManager.requestAllChunks(); + }, + sendProgressiveData: function NetworkPdfManager_sendProgressiveData(chunk) { + this.streamManager.onReceiveData({ chunk: chunk }); + }, + onLoadedStream: function NetworkPdfManager_onLoadedStream() { + return this.streamManager.onLoadedStream(); + }, + terminate: function NetworkPdfManager_terminate() { + this.streamManager.abort(); + } + }); + return NetworkPdfManager; +}(); +exports.LocalPdfManager = LocalPdfManager; +exports.NetworkPdfManager = NetworkPdfManager; + +/***/ }), +/* 34 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var corePrimitives = __w_pdfjs_require__(1); +var error = sharedUtil.error; +var isSpace = sharedUtil.isSpace; +var EOF = corePrimitives.EOF; +var PostScriptParser = function PostScriptParserClosure() { + function PostScriptParser(lexer) { + this.lexer = lexer; + this.operators = []; + this.token = null; + this.prev = null; + } + PostScriptParser.prototype = { + nextToken: function PostScriptParser_nextToken() { + this.prev = this.token; + this.token = this.lexer.getToken(); + }, + accept: function PostScriptParser_accept(type) { + if (this.token.type === type) { + this.nextToken(); + return true; + } + return false; + }, + expect: function PostScriptParser_expect(type) { + if (this.accept(type)) { + return true; + } + error('Unexpected symbol: found ' + this.token.type + ' expected ' + type + '.'); + }, + parse: function PostScriptParser_parse() { + this.nextToken(); + this.expect(PostScriptTokenTypes.LBRACE); + this.parseBlock(); + this.expect(PostScriptTokenTypes.RBRACE); + return this.operators; + }, + parseBlock: function PostScriptParser_parseBlock() { + while (true) { + if (this.accept(PostScriptTokenTypes.NUMBER)) { + this.operators.push(this.prev.value); + } else if (this.accept(PostScriptTokenTypes.OPERATOR)) { + this.operators.push(this.prev.value); + } else if (this.accept(PostScriptTokenTypes.LBRACE)) { + this.parseCondition(); + } else { + return; + } + } + }, + parseCondition: function PostScriptParser_parseCondition() { + var conditionLocation = this.operators.length; + this.operators.push(null, null); + this.parseBlock(); + this.expect(PostScriptTokenTypes.RBRACE); + if (this.accept(PostScriptTokenTypes.IF)) { + this.operators[conditionLocation] = this.operators.length; + this.operators[conditionLocation + 1] = 'jz'; + } else if (this.accept(PostScriptTokenTypes.LBRACE)) { + var jumpLocation = this.operators.length; + this.operators.push(null, null); + var endOfTrue = this.operators.length; + this.parseBlock(); + this.expect(PostScriptTokenTypes.RBRACE); + this.expect(PostScriptTokenTypes.IFELSE); + this.operators[jumpLocation] = this.operators.length; + this.operators[jumpLocation + 1] = 'j'; + this.operators[conditionLocation] = endOfTrue; + this.operators[conditionLocation + 1] = 'jz'; + } else { + error('PS Function: error parsing conditional.'); + } + } + }; + return PostScriptParser; +}(); +var PostScriptTokenTypes = { + LBRACE: 0, + RBRACE: 1, + NUMBER: 2, + OPERATOR: 3, + IF: 4, + IFELSE: 5 +}; +var PostScriptToken = function PostScriptTokenClosure() { + function PostScriptToken(type, value) { + this.type = type; + this.value = value; + } + var opCache = Object.create(null); + PostScriptToken.getOperator = function PostScriptToken_getOperator(op) { + var opValue = opCache[op]; + if (opValue) { + return opValue; + } + return opCache[op] = new PostScriptToken(PostScriptTokenTypes.OPERATOR, op); + }; + PostScriptToken.LBRACE = new PostScriptToken(PostScriptTokenTypes.LBRACE, '{'); + PostScriptToken.RBRACE = new PostScriptToken(PostScriptTokenTypes.RBRACE, '}'); + PostScriptToken.IF = new PostScriptToken(PostScriptTokenTypes.IF, 'IF'); + PostScriptToken.IFELSE = new PostScriptToken(PostScriptTokenTypes.IFELSE, 'IFELSE'); + return PostScriptToken; +}(); +var PostScriptLexer = function PostScriptLexerClosure() { + function PostScriptLexer(stream) { + this.stream = stream; + this.nextChar(); + this.strBuf = []; + } + PostScriptLexer.prototype = { + nextChar: function PostScriptLexer_nextChar() { + return this.currentChar = this.stream.getByte(); + }, + getToken: function PostScriptLexer_getToken() { + var comment = false; + var ch = this.currentChar; + while (true) { + if (ch < 0) { + return EOF; + } + if (comment) { + if (ch === 0x0A || ch === 0x0D) { + comment = false; + } + } else if (ch === 0x25) { + comment = true; + } else if (!isSpace(ch)) { + break; + } + ch = this.nextChar(); + } + switch (ch | 0) { + case 0x30: + case 0x31: + case 0x32: + case 0x33: + case 0x34: + case 0x35: + case 0x36: + case 0x37: + case 0x38: + case 0x39: + case 0x2B: + case 0x2D: + case 0x2E: + return new PostScriptToken(PostScriptTokenTypes.NUMBER, this.getNumber()); + case 0x7B: + this.nextChar(); + return PostScriptToken.LBRACE; + case 0x7D: + this.nextChar(); + return PostScriptToken.RBRACE; + } + var strBuf = this.strBuf; + strBuf.length = 0; + strBuf[0] = String.fromCharCode(ch); + while ((ch = this.nextChar()) >= 0 && (ch >= 0x41 && ch <= 0x5A || ch >= 0x61 && ch <= 0x7A)) { + strBuf.push(String.fromCharCode(ch)); + } + var str = strBuf.join(''); + switch (str.toLowerCase()) { + case 'if': + return PostScriptToken.IF; + case 'ifelse': + return PostScriptToken.IFELSE; + default: + return PostScriptToken.getOperator(str); + } + }, + getNumber: function PostScriptLexer_getNumber() { + var ch = this.currentChar; + var strBuf = this.strBuf; + strBuf.length = 0; + strBuf[0] = String.fromCharCode(ch); + while ((ch = this.nextChar()) >= 0) { + if (ch >= 0x30 && ch <= 0x39 || ch === 0x2D || ch === 0x2E) { + strBuf.push(String.fromCharCode(ch)); + } else { + break; + } + } + var value = parseFloat(strBuf.join('')); + if (isNaN(value)) { + error('Invalid floating point number: ' + value); + } + return value; + } + }; + return PostScriptLexer; +}(); +exports.PostScriptLexer = PostScriptLexer; +exports.PostScriptParser = PostScriptParser; + +/***/ }), +/* 35 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var sharedUtil = __w_pdfjs_require__(0); +var coreStream = __w_pdfjs_require__(2); +var coreEncodings = __w_pdfjs_require__(4); +var warn = sharedUtil.warn; +var isSpace = sharedUtil.isSpace; +var Stream = coreStream.Stream; +var getEncoding = coreEncodings.getEncoding; +var HINTING_ENABLED = false; +var Type1CharString = function Type1CharStringClosure() { + var COMMAND_MAP = { + 'hstem': [1], + 'vstem': [3], + 'vmoveto': [4], + 'rlineto': [5], + 'hlineto': [6], + 'vlineto': [7], + 'rrcurveto': [8], + 'callsubr': [10], + 'flex': [ + 12, + 35 + ], + 'drop': [ + 12, + 18 + ], + 'endchar': [14], + 'rmoveto': [21], + 'hmoveto': [22], + 'vhcurveto': [30], + 'hvcurveto': [31] + }; + function Type1CharString() { + this.width = 0; + this.lsb = 0; + this.flexing = false; + this.output = []; + this.stack = []; + } + Type1CharString.prototype = { + convert: function Type1CharString_convert(encoded, subrs, seacAnalysisEnabled) { + var count = encoded.length; + var error = false; + var wx, sbx, subrNumber; + for (var i = 0; i < count; i++) { + var value = encoded[i]; + if (value < 32) { + if (value === 12) { + value = (value << 8) + encoded[++i]; + } + switch (value) { + case 1: + if (!HINTING_ENABLED) { + this.stack = []; + break; + } + error = this.executeCommand(2, COMMAND_MAP.hstem); + break; + case 3: + if (!HINTING_ENABLED) { + this.stack = []; + break; + } + error = this.executeCommand(2, COMMAND_MAP.vstem); + break; + case 4: + if (this.flexing) { + if (this.stack.length < 1) { + error = true; + break; + } + var dy = this.stack.pop(); + this.stack.push(0, dy); + break; + } + error = this.executeCommand(1, COMMAND_MAP.vmoveto); + break; + case 5: + error = this.executeCommand(2, COMMAND_MAP.rlineto); + break; + case 6: + error = this.executeCommand(1, COMMAND_MAP.hlineto); + break; + case 7: + error = this.executeCommand(1, COMMAND_MAP.vlineto); + break; + case 8: + error = this.executeCommand(6, COMMAND_MAP.rrcurveto); + break; + case 9: + this.stack = []; + break; + case 10: + if (this.stack.length < 1) { + error = true; + break; + } + subrNumber = this.stack.pop(); + error = this.convert(subrs[subrNumber], subrs, seacAnalysisEnabled); + break; + case 11: + return error; + case 13: + if (this.stack.length < 2) { + error = true; + break; + } + wx = this.stack.pop(); + sbx = this.stack.pop(); + this.lsb = sbx; + this.width = wx; + this.stack.push(wx, sbx); + error = this.executeCommand(2, COMMAND_MAP.hmoveto); + break; + case 14: + this.output.push(COMMAND_MAP.endchar[0]); + break; + case 21: + if (this.flexing) { + break; + } + error = this.executeCommand(2, COMMAND_MAP.rmoveto); + break; + case 22: + if (this.flexing) { + this.stack.push(0); + break; + } + error = this.executeCommand(1, COMMAND_MAP.hmoveto); + break; + case 30: + error = this.executeCommand(4, COMMAND_MAP.vhcurveto); + break; + case 31: + error = this.executeCommand(4, COMMAND_MAP.hvcurveto); + break; + case (12 << 8) + 0: + this.stack = []; + break; + case (12 << 8) + 1: + if (!HINTING_ENABLED) { + this.stack = []; + break; + } + error = this.executeCommand(2, COMMAND_MAP.vstem); + break; + case (12 << 8) + 2: + if (!HINTING_ENABLED) { + this.stack = []; + break; + } + error = this.executeCommand(2, COMMAND_MAP.hstem); + break; + case (12 << 8) + 6: + if (seacAnalysisEnabled) { + this.seac = this.stack.splice(-4, 4); + error = this.executeCommand(0, COMMAND_MAP.endchar); + } else { + error = this.executeCommand(4, COMMAND_MAP.endchar); + } + break; + case (12 << 8) + 7: + if (this.stack.length < 4) { + error = true; + break; + } + this.stack.pop(); + wx = this.stack.pop(); + var sby = this.stack.pop(); + sbx = this.stack.pop(); + this.lsb = sbx; + this.width = wx; + this.stack.push(wx, sbx, sby); + error = this.executeCommand(3, COMMAND_MAP.rmoveto); + break; + case (12 << 8) + 12: + if (this.stack.length < 2) { + error = true; + break; + } + var num2 = this.stack.pop(); + var num1 = this.stack.pop(); + this.stack.push(num1 / num2); + break; + case (12 << 8) + 16: + if (this.stack.length < 2) { + error = true; + break; + } + subrNumber = this.stack.pop(); + var numArgs = this.stack.pop(); + if (subrNumber === 0 && numArgs === 3) { + var flexArgs = this.stack.splice(this.stack.length - 17, 17); + this.stack.push(flexArgs[2] + flexArgs[0], flexArgs[3] + flexArgs[1], flexArgs[4], flexArgs[5], flexArgs[6], flexArgs[7], flexArgs[8], flexArgs[9], flexArgs[10], flexArgs[11], flexArgs[12], flexArgs[13], flexArgs[14]); + error = this.executeCommand(13, COMMAND_MAP.flex, true); + this.flexing = false; + this.stack.push(flexArgs[15], flexArgs[16]); + } else if (subrNumber === 1 && numArgs === 0) { + this.flexing = true; + } + break; + case (12 << 8) + 17: + break; + case (12 << 8) + 33: + this.stack = []; + break; + default: + warn('Unknown type 1 charstring command of "' + value + '"'); + break; + } + if (error) { + break; + } + continue; + } else if (value <= 246) { + value = value - 139; + } else if (value <= 250) { + value = (value - 247) * 256 + encoded[++i] + 108; + } else if (value <= 254) { + value = -((value - 251) * 256) - encoded[++i] - 108; + } else { + value = (encoded[++i] & 0xff) << 24 | (encoded[++i] & 0xff) << 16 | (encoded[++i] & 0xff) << 8 | (encoded[++i] & 0xff) << 0; + } + this.stack.push(value); + } + return error; + }, + executeCommand: function (howManyArgs, command, keepStack) { + var stackLength = this.stack.length; + if (howManyArgs > stackLength) { + return true; + } + var start = stackLength - howManyArgs; + for (var i = start; i < stackLength; i++) { + var value = this.stack[i]; + if (value === (value | 0)) { + this.output.push(28, value >> 8 & 0xff, value & 0xff); + } else { + value = 65536 * value | 0; + this.output.push(255, value >> 24 & 0xFF, value >> 16 & 0xFF, value >> 8 & 0xFF, value & 0xFF); + } + } + this.output.push.apply(this.output, command); + if (keepStack) { + this.stack.splice(start, howManyArgs); + } else { + this.stack.length = 0; + } + return false; + } + }; + return Type1CharString; +}(); +var Type1Parser = function Type1ParserClosure() { + var EEXEC_ENCRYPT_KEY = 55665; + var CHAR_STRS_ENCRYPT_KEY = 4330; + function isHexDigit(code) { + return code >= 48 && code <= 57 || code >= 65 && code <= 70 || code >= 97 && code <= 102; + } + function decrypt(data, key, discardNumber) { + if (discardNumber >= data.length) { + return new Uint8Array(0); + } + var r = key | 0, c1 = 52845, c2 = 22719, i, j; + for (i = 0; i < discardNumber; i++) { + r = (data[i] + r) * c1 + c2 & (1 << 16) - 1; + } + var count = data.length - discardNumber; + var decrypted = new Uint8Array(count); + for (i = discardNumber, j = 0; j < count; i++, j++) { + var value = data[i]; + decrypted[j] = value ^ r >> 8; + r = (value + r) * c1 + c2 & (1 << 16) - 1; + } + return decrypted; + } + function decryptAscii(data, key, discardNumber) { + var r = key | 0, c1 = 52845, c2 = 22719; + var count = data.length, maybeLength = count >>> 1; + var decrypted = new Uint8Array(maybeLength); + var i, j; + for (i = 0, j = 0; i < count; i++) { + var digit1 = data[i]; + if (!isHexDigit(digit1)) { + continue; + } + i++; + var digit2; + while (i < count && !isHexDigit(digit2 = data[i])) { + i++; + } + if (i < count) { + var value = parseInt(String.fromCharCode(digit1, digit2), 16); + decrypted[j++] = value ^ r >> 8; + r = (value + r) * c1 + c2 & (1 << 16) - 1; + } + } + return Array.prototype.slice.call(decrypted, discardNumber, j); + } + function isSpecial(c) { + return c === 0x2F || c === 0x5B || c === 0x5D || c === 0x7B || c === 0x7D || c === 0x28 || c === 0x29; + } + function Type1Parser(stream, encrypted, seacAnalysisEnabled) { + if (encrypted) { + var data = stream.getBytes(); + var isBinary = !(isHexDigit(data[0]) && isHexDigit(data[1]) && isHexDigit(data[2]) && isHexDigit(data[3])); + stream = new Stream(isBinary ? decrypt(data, EEXEC_ENCRYPT_KEY, 4) : decryptAscii(data, EEXEC_ENCRYPT_KEY, 4)); + } + this.seacAnalysisEnabled = !!seacAnalysisEnabled; + this.stream = stream; + this.nextChar(); + } + Type1Parser.prototype = { + readNumberArray: function Type1Parser_readNumberArray() { + this.getToken(); + var array = []; + while (true) { + var token = this.getToken(); + if (token === null || token === ']' || token === '}') { + break; + } + array.push(parseFloat(token || 0)); + } + return array; + }, + readNumber: function Type1Parser_readNumber() { + var token = this.getToken(); + return parseFloat(token || 0); + }, + readInt: function Type1Parser_readInt() { + var token = this.getToken(); + return parseInt(token || 0, 10) | 0; + }, + readBoolean: function Type1Parser_readBoolean() { + var token = this.getToken(); + return token === 'true' ? 1 : 0; + }, + nextChar: function Type1_nextChar() { + return this.currentChar = this.stream.getByte(); + }, + getToken: function Type1Parser_getToken() { + var comment = false; + var ch = this.currentChar; + while (true) { + if (ch === -1) { + return null; + } + if (comment) { + if (ch === 0x0A || ch === 0x0D) { + comment = false; + } + } else if (ch === 0x25) { + comment = true; + } else if (!isSpace(ch)) { + break; + } + ch = this.nextChar(); + } + if (isSpecial(ch)) { + this.nextChar(); + return String.fromCharCode(ch); + } + var token = ''; + do { + token += String.fromCharCode(ch); + ch = this.nextChar(); + } while (ch >= 0 && !isSpace(ch) && !isSpecial(ch)); + return token; + }, + extractFontProgram: function Type1Parser_extractFontProgram() { + var stream = this.stream; + var subrs = [], charstrings = []; + var privateData = Object.create(null); + privateData['lenIV'] = 4; + var program = { + subrs: [], + charstrings: [], + properties: { 'privateData': privateData } + }; + var token, length, data, lenIV, encoded; + while ((token = this.getToken()) !== null) { + if (token !== '/') { + continue; + } + token = this.getToken(); + switch (token) { + case 'CharStrings': + this.getToken(); + this.getToken(); + this.getToken(); + this.getToken(); + while (true) { + token = this.getToken(); + if (token === null || token === 'end') { + break; + } + if (token !== '/') { + continue; + } + var glyph = this.getToken(); + length = this.readInt(); + this.getToken(); + data = stream.makeSubStream(stream.pos, length); + lenIV = program.properties.privateData['lenIV']; + encoded = decrypt(data.getBytes(), CHAR_STRS_ENCRYPT_KEY, lenIV); + stream.skip(length); + this.nextChar(); + token = this.getToken(); + if (token === 'noaccess') { + this.getToken(); + } + charstrings.push({ + glyph: glyph, + encoded: encoded + }); + } + break; + case 'Subrs': + this.readInt(); + this.getToken(); + while ((token = this.getToken()) === 'dup') { + var index = this.readInt(); + length = this.readInt(); + this.getToken(); + data = stream.makeSubStream(stream.pos, length); + lenIV = program.properties.privateData['lenIV']; + encoded = decrypt(data.getBytes(), CHAR_STRS_ENCRYPT_KEY, lenIV); + stream.skip(length); + this.nextChar(); + token = this.getToken(); + if (token === 'noaccess') { + this.getToken(); + } + subrs[index] = encoded; + } + break; + case 'BlueValues': + case 'OtherBlues': + case 'FamilyBlues': + case 'FamilyOtherBlues': + var blueArray = this.readNumberArray(); + if (blueArray.length > 0 && blueArray.length % 2 === 0 && HINTING_ENABLED) { + program.properties.privateData[token] = blueArray; + } + break; + case 'StemSnapH': + case 'StemSnapV': + program.properties.privateData[token] = this.readNumberArray(); + break; + case 'StdHW': + case 'StdVW': + program.properties.privateData[token] = this.readNumberArray()[0]; + break; + case 'BlueShift': + case 'lenIV': + case 'BlueFuzz': + case 'BlueScale': + case 'LanguageGroup': + case 'ExpansionFactor': + program.properties.privateData[token] = this.readNumber(); + break; + case 'ForceBold': + program.properties.privateData[token] = this.readBoolean(); + break; + } + } + for (var i = 0; i < charstrings.length; i++) { + glyph = charstrings[i].glyph; + encoded = charstrings[i].encoded; + var charString = new Type1CharString(); + var error = charString.convert(encoded, subrs, this.seacAnalysisEnabled); + var output = charString.output; + if (error) { + output = [14]; + } + program.charstrings.push({ + glyphName: glyph, + charstring: output, + width: charString.width, + lsb: charString.lsb, + seac: charString.seac + }); + } + return program; + }, + extractFontHeader: function Type1Parser_extractFontHeader(properties) { + var token; + while ((token = this.getToken()) !== null) { + if (token !== '/') { + continue; + } + token = this.getToken(); + switch (token) { + case 'FontMatrix': + var matrix = this.readNumberArray(); + properties.fontMatrix = matrix; + break; + case 'Encoding': + var encodingArg = this.getToken(); + var encoding; + if (!/^\d+$/.test(encodingArg)) { + encoding = getEncoding(encodingArg); + } else { + encoding = []; + var size = parseInt(encodingArg, 10) | 0; + this.getToken(); + for (var j = 0; j < size; j++) { + token = this.getToken(); + while (token !== 'dup' && token !== 'def') { + token = this.getToken(); + if (token === null) { + return; + } + } + if (token === 'def') { + break; + } + var index = this.readInt(); + this.getToken(); + var glyph = this.getToken(); + encoding[index] = glyph; + this.getToken(); + } + } + properties.builtInEncoding = encoding; + break; + case 'FontBBox': + var fontBBox = this.readNumberArray(); + properties.ascent = Math.max(fontBBox[3], fontBBox[1]); + properties.descent = Math.min(fontBBox[1], fontBBox[3]); + properties.ascentScaled = true; + break; + } + } + } + }; + return Type1Parser; +}(); +exports.Type1Parser = Type1Parser; + +/***/ }), +/* 36 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function(global) { +if (typeof PDFJS === 'undefined' || !PDFJS.compatibilityChecked) { + var globalScope = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this; + var userAgent = typeof navigator !== 'undefined' && navigator.userAgent || ''; + var isAndroid = /Android/.test(userAgent); + var isAndroidPre3 = /Android\s[0-2][^\d]/.test(userAgent); + var isAndroidPre5 = /Android\s[0-4][^\d]/.test(userAgent); + var isChrome = userAgent.indexOf('Chrom') >= 0; + var isChromeWithRangeBug = /Chrome\/(39|40)\./.test(userAgent); + var isIOSChrome = userAgent.indexOf('CriOS') >= 0; + var isIE = userAgent.indexOf('Trident') >= 0; + var isIOS = /\b(iPad|iPhone|iPod)(?=;)/.test(userAgent); + var isOpera = userAgent.indexOf('Opera') >= 0; + var isSafari = /Safari\//.test(userAgent) && !/(Chrome\/|Android\s)/.test(userAgent); + var hasDOM = typeof window === 'object' && typeof document === 'object'; + if (typeof PDFJS === 'undefined') { + globalScope.PDFJS = {}; + } + PDFJS.compatibilityChecked = true; + (function checkTypedArrayCompatibility() { + if (typeof Uint8Array !== 'undefined') { + if (typeof Uint8Array.prototype.subarray === 'undefined') { + Uint8Array.prototype.subarray = function subarray(start, end) { + return new Uint8Array(this.slice(start, end)); + }; + Float32Array.prototype.subarray = function subarray(start, end) { + return new Float32Array(this.slice(start, end)); + }; + } + if (typeof Float64Array === 'undefined') { + globalScope.Float64Array = Float32Array; + } + return; + } + function subarray(start, end) { + return new TypedArray(this.slice(start, end)); + } + function setArrayOffset(array, offset) { + if (arguments.length < 2) { + offset = 0; + } + for (var i = 0, n = array.length; i < n; ++i, ++offset) { + this[offset] = array[i] & 0xFF; + } + } + function TypedArray(arg1) { + var result, i, n; + if (typeof arg1 === 'number') { + result = []; + for (i = 0; i < arg1; ++i) { + result[i] = 0; + } + } else if ('slice' in arg1) { + result = arg1.slice(0); + } else { + result = []; + for (i = 0, n = arg1.length; i < n; ++i) { + result[i] = arg1[i]; + } + } + result.subarray = subarray; + result.buffer = result; + result.byteLength = result.length; + result.set = setArrayOffset; + if (typeof arg1 === 'object' && arg1.buffer) { + result.buffer = arg1.buffer; + } + return result; + } + globalScope.Uint8Array = TypedArray; + globalScope.Int8Array = TypedArray; + globalScope.Uint32Array = TypedArray; + globalScope.Int32Array = TypedArray; + globalScope.Uint16Array = TypedArray; + globalScope.Float32Array = TypedArray; + globalScope.Float64Array = TypedArray; + }()); + (function normalizeURLObject() { + if (!globalScope.URL) { + globalScope.URL = globalScope.webkitURL; + } + }()); + (function checkObjectDefinePropertyCompatibility() { + if (typeof Object.defineProperty !== 'undefined') { + var definePropertyPossible = true; + try { + if (hasDOM) { + Object.defineProperty(new Image(), 'id', { value: 'test' }); + } + var Test = function Test() { + }; + Test.prototype = { + get id() { + } + }; + Object.defineProperty(new Test(), 'id', { + value: '', + configurable: true, + enumerable: true, + writable: false + }); + } catch (e) { + definePropertyPossible = false; + } + if (definePropertyPossible) { + return; + } + } + Object.defineProperty = function objectDefineProperty(obj, name, def) { + delete obj[name]; + if ('get' in def) { + obj.__defineGetter__(name, def['get']); + } + if ('set' in def) { + obj.__defineSetter__(name, def['set']); + } + if ('value' in def) { + obj.__defineSetter__(name, function objectDefinePropertySetter(value) { + this.__defineGetter__(name, function objectDefinePropertyGetter() { + return value; + }); + return value; + }); + obj[name] = def.value; + } + }; + }()); + (function checkXMLHttpRequestResponseCompatibility() { + if (typeof XMLHttpRequest === 'undefined') { + return; + } + var xhrPrototype = XMLHttpRequest.prototype; + var xhr = new XMLHttpRequest(); + if (!('overrideMimeType' in xhr)) { + Object.defineProperty(xhrPrototype, 'overrideMimeType', { + value: function xmlHttpRequestOverrideMimeType(mimeType) { + } + }); + } + if ('responseType' in xhr) { + return; + } + Object.defineProperty(xhrPrototype, 'responseType', { + get: function xmlHttpRequestGetResponseType() { + return this._responseType || 'text'; + }, + set: function xmlHttpRequestSetResponseType(value) { + if (value === 'text' || value === 'arraybuffer') { + this._responseType = value; + if (value === 'arraybuffer' && typeof this.overrideMimeType === 'function') { + this.overrideMimeType('text/plain; charset=x-user-defined'); + } + } + } + }); + if (typeof VBArray !== 'undefined') { + Object.defineProperty(xhrPrototype, 'response', { + get: function xmlHttpRequestResponseGet() { + if (this.responseType === 'arraybuffer') { + return new Uint8Array(new VBArray(this.responseBody).toArray()); + } + return this.responseText; + } + }); + return; + } + Object.defineProperty(xhrPrototype, 'response', { + get: function xmlHttpRequestResponseGet() { + if (this.responseType !== 'arraybuffer') { + return this.responseText; + } + var text = this.responseText; + var i, n = text.length; + var result = new Uint8Array(n); + for (i = 0; i < n; ++i) { + result[i] = text.charCodeAt(i) & 0xFF; + } + return result.buffer; + } + }); + }()); + (function checkWindowBtoaCompatibility() { + if ('btoa' in globalScope) { + return; + } + var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + globalScope.btoa = function (chars) { + var buffer = ''; + var i, n; + for (i = 0, n = chars.length; i < n; i += 3) { + var b1 = chars.charCodeAt(i) & 0xFF; + var b2 = chars.charCodeAt(i + 1) & 0xFF; + var b3 = chars.charCodeAt(i + 2) & 0xFF; + var d1 = b1 >> 2, d2 = (b1 & 3) << 4 | b2 >> 4; + var d3 = i + 1 < n ? (b2 & 0xF) << 2 | b3 >> 6 : 64; + var d4 = i + 2 < n ? b3 & 0x3F : 64; + buffer += digits.charAt(d1) + digits.charAt(d2) + digits.charAt(d3) + digits.charAt(d4); + } + return buffer; + }; + }()); + (function checkWindowAtobCompatibility() { + if ('atob' in globalScope) { + return; + } + var digits = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/='; + globalScope.atob = function (input) { + input = input.replace(/=+$/, ''); + if (input.length % 4 === 1) { + throw new Error('bad atob input'); + } + for (var bc = 0, bs, buffer, idx = 0, output = ''; buffer = input.charAt(idx++); ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer, bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0) { + buffer = digits.indexOf(buffer); + } + return output; + }; + }()); + (function checkFunctionPrototypeBindCompatibility() { + if (typeof Function.prototype.bind !== 'undefined') { + return; + } + Function.prototype.bind = function functionPrototypeBind(obj) { + var fn = this, headArgs = Array.prototype.slice.call(arguments, 1); + var bound = function functionPrototypeBindBound() { + var args = headArgs.concat(Array.prototype.slice.call(arguments)); + return fn.apply(obj, args); + }; + return bound; + }; + }()); + (function checkDatasetProperty() { + if (!hasDOM) { + return; + } + var div = document.createElement('div'); + if ('dataset' in div) { + return; + } + Object.defineProperty(HTMLElement.prototype, 'dataset', { + get: function () { + if (this._dataset) { + return this._dataset; + } + var dataset = {}; + for (var j = 0, jj = this.attributes.length; j < jj; j++) { + var attribute = this.attributes[j]; + if (attribute.name.substring(0, 5) !== 'data-') { + continue; + } + var key = attribute.name.substring(5).replace(/\-([a-z])/g, function (all, ch) { + return ch.toUpperCase(); + }); + dataset[key] = attribute.value; + } + Object.defineProperty(this, '_dataset', { + value: dataset, + writable: false, + enumerable: false + }); + return dataset; + }, + enumerable: true + }); + }()); + (function checkClassListProperty() { + function changeList(element, itemName, add, remove) { + var s = element.className || ''; + var list = s.split(/\s+/g); + if (list[0] === '') { + list.shift(); + } + var index = list.indexOf(itemName); + if (index < 0 && add) { + list.push(itemName); + } + if (index >= 0 && remove) { + list.splice(index, 1); + } + element.className = list.join(' '); + return index >= 0; + } + if (!hasDOM) { + return; + } + var div = document.createElement('div'); + if ('classList' in div) { + return; + } + var classListPrototype = { + add: function (name) { + changeList(this.element, name, true, false); + }, + contains: function (name) { + return changeList(this.element, name, false, false); + }, + remove: function (name) { + changeList(this.element, name, false, true); + }, + toggle: function (name) { + changeList(this.element, name, true, true); + } + }; + Object.defineProperty(HTMLElement.prototype, 'classList', { + get: function () { + if (this._classList) { + return this._classList; + } + var classList = Object.create(classListPrototype, { + element: { + value: this, + writable: false, + enumerable: true + } + }); + Object.defineProperty(this, '_classList', { + value: classList, + writable: false, + enumerable: false + }); + return classList; + }, + enumerable: true + }); + }()); + (function checkWorkerConsoleCompatibility() { + if (typeof importScripts === 'undefined' || 'console' in globalScope) { + return; + } + var consoleTimer = {}; + var workerConsole = { + log: function log() { + var args = Array.prototype.slice.call(arguments); + globalScope.postMessage({ + targetName: 'main', + action: 'console_log', + data: args + }); + }, + error: function error() { + var args = Array.prototype.slice.call(arguments); + globalScope.postMessage({ + targetName: 'main', + action: 'console_error', + data: args + }); + }, + time: function time(name) { + consoleTimer[name] = Date.now(); + }, + timeEnd: function timeEnd(name) { + var time = consoleTimer[name]; + if (!time) { + throw new Error('Unknown timer name ' + name); + } + this.log('Timer:', name, Date.now() - time); + } + }; + globalScope.console = workerConsole; + }()); + (function checkConsoleCompatibility() { + if (!hasDOM) { + return; + } + if (!('console' in window)) { + window.console = { + log: function () { + }, + error: function () { + }, + warn: function () { + } + }; + return; + } + if (!('bind' in console.log)) { + console.log = function (fn) { + return function (msg) { + return fn(msg); + }; + }(console.log); + console.error = function (fn) { + return function (msg) { + return fn(msg); + }; + }(console.error); + console.warn = function (fn) { + return function (msg) { + return fn(msg); + }; + }(console.warn); + return; + } + }()); + (function checkOnClickCompatibility() { + function ignoreIfTargetDisabled(event) { + if (isDisabled(event.target)) { + event.stopPropagation(); + } + } + function isDisabled(node) { + return node.disabled || node.parentNode && isDisabled(node.parentNode); + } + if (isOpera) { + document.addEventListener('click', ignoreIfTargetDisabled, true); + } + }()); + (function checkOnBlobSupport() { + if (isIE || isIOSChrome) { + PDFJS.disableCreateObjectURL = true; + } + }()); + (function checkNavigatorLanguage() { + if (typeof navigator === 'undefined') { + return; + } + if ('language' in navigator) { + return; + } + PDFJS.locale = navigator.userLanguage || 'en-US'; + }()); + (function checkRangeRequests() { + if (isSafari || isAndroidPre3 || isChromeWithRangeBug || isIOS) { + PDFJS.disableRange = true; + PDFJS.disableStream = true; + } + }()); + (function checkHistoryManipulation() { + if (!hasDOM) { + return; + } + if (!history.pushState || isAndroidPre3) { + PDFJS.disableHistory = true; + } + }()); + (function checkSetPresenceInImageData() { + if (!hasDOM) { + return; + } + if (window.CanvasPixelArray) { + if (typeof window.CanvasPixelArray.prototype.set !== 'function') { + window.CanvasPixelArray.prototype.set = function (arr) { + for (var i = 0, ii = this.length; i < ii; i++) { + this[i] = arr[i]; + } + }; + } + } else { + var polyfill = false, versionMatch; + if (isChrome) { + versionMatch = userAgent.match(/Chrom(e|ium)\/([0-9]+)\./); + polyfill = versionMatch && parseInt(versionMatch[2]) < 21; + } else if (isAndroid) { + polyfill = isAndroidPre5; + } else if (isSafari) { + versionMatch = userAgent.match(/Version\/([0-9]+)\.([0-9]+)\.([0-9]+) Safari\//); + polyfill = versionMatch && parseInt(versionMatch[1]) < 6; + } + if (polyfill) { + var contextPrototype = window.CanvasRenderingContext2D.prototype; + var createImageData = contextPrototype.createImageData; + contextPrototype.createImageData = function (w, h) { + var imageData = createImageData.call(this, w, h); + imageData.data.set = function (arr) { + for (var i = 0, ii = this.length; i < ii; i++) { + this[i] = arr[i]; + } + }; + return imageData; + }; + contextPrototype = null; + } + } + }()); + (function checkRequestAnimationFrame() { + function fakeRequestAnimationFrame(callback) { + window.setTimeout(callback, 20); + } + if (!hasDOM) { + return; + } + if (isIOS) { + window.requestAnimationFrame = fakeRequestAnimationFrame; + return; + } + if ('requestAnimationFrame' in window) { + return; + } + window.requestAnimationFrame = window.mozRequestAnimationFrame || window.webkitRequestAnimationFrame || fakeRequestAnimationFrame; + }()); + (function checkCanvasSizeLimitation() { + if (isIOS || isAndroid) { + PDFJS.maxCanvasPixels = 5242880; + } + }()); + (function checkFullscreenSupport() { + if (!hasDOM) { + return; + } + if (isIE && window.parent !== window) { + PDFJS.disableFullscreen = true; + } + }()); + (function checkCurrentScript() { + if (!hasDOM) { + return; + } + if ('currentScript' in document) { + return; + } + Object.defineProperty(document, 'currentScript', { + get: function () { + var scripts = document.getElementsByTagName('script'); + return scripts[scripts.length - 1]; + }, + enumerable: true, + configurable: true + }); + }()); + (function checkInputTypeNumberAssign() { + if (!hasDOM) { + return; + } + var el = document.createElement('input'); + try { + el.type = 'number'; + } catch (ex) { + var inputProto = el.constructor.prototype; + var typeProperty = Object.getOwnPropertyDescriptor(inputProto, 'type'); + Object.defineProperty(inputProto, 'type', { + get: function () { + return typeProperty.get.call(this); + }, + set: function (value) { + typeProperty.set.call(this, value === 'number' ? 'text' : value); + }, + enumerable: true, + configurable: true + }); + } + }()); + (function checkDocumentReadyState() { + if (!hasDOM) { + return; + } + if (!document.attachEvent) { + return; + } + var documentProto = document.constructor.prototype; + var readyStateProto = Object.getOwnPropertyDescriptor(documentProto, 'readyState'); + Object.defineProperty(documentProto, 'readyState', { + get: function () { + var value = readyStateProto.get.call(this); + return value === 'interactive' ? 'loading' : value; + }, + set: function (value) { + readyStateProto.set.call(this, value); + }, + enumerable: true, + configurable: true + }); + }()); + (function checkChildNodeRemove() { + if (!hasDOM) { + return; + } + if (typeof Element.prototype.remove !== 'undefined') { + return; + } + Element.prototype.remove = function () { + if (this.parentNode) { + this.parentNode.removeChild(this); + } + }; + }()); + (function checkPromise() { + if (globalScope.Promise) { + if (typeof globalScope.Promise.all !== 'function') { + globalScope.Promise.all = function (iterable) { + var count = 0, results = [], resolve, reject; + var promise = new globalScope.Promise(function (resolve_, reject_) { + resolve = resolve_; + reject = reject_; + }); + iterable.forEach(function (p, i) { + count++; + p.then(function (result) { + results[i] = result; + count--; + if (count === 0) { + resolve(results); + } + }, reject); + }); + if (count === 0) { + resolve(results); + } + return promise; + }; + } + if (typeof globalScope.Promise.resolve !== 'function') { + globalScope.Promise.resolve = function (value) { + return new globalScope.Promise(function (resolve) { + resolve(value); + }); + }; + } + if (typeof globalScope.Promise.reject !== 'function') { + globalScope.Promise.reject = function (reason) { + return new globalScope.Promise(function (resolve, reject) { + reject(reason); + }); + }; + } + if (typeof globalScope.Promise.prototype.catch !== 'function') { + globalScope.Promise.prototype.catch = function (onReject) { + return globalScope.Promise.prototype.then(undefined, onReject); + }; + } + return; + } + var STATUS_PENDING = 0; + var STATUS_RESOLVED = 1; + var STATUS_REJECTED = 2; + var REJECTION_TIMEOUT = 500; + var HandlerManager = { + handlers: [], + running: false, + unhandledRejections: [], + pendingRejectionCheck: false, + scheduleHandlers: function scheduleHandlers(promise) { + if (promise._status === STATUS_PENDING) { + return; + } + this.handlers = this.handlers.concat(promise._handlers); + promise._handlers = []; + if (this.running) { + return; + } + this.running = true; + setTimeout(this.runHandlers.bind(this), 0); + }, + runHandlers: function runHandlers() { + var RUN_TIMEOUT = 1; + var timeoutAt = Date.now() + RUN_TIMEOUT; + while (this.handlers.length > 0) { + var handler = this.handlers.shift(); + var nextStatus = handler.thisPromise._status; + var nextValue = handler.thisPromise._value; + try { + if (nextStatus === STATUS_RESOLVED) { + if (typeof handler.onResolve === 'function') { + nextValue = handler.onResolve(nextValue); + } + } else if (typeof handler.onReject === 'function') { + nextValue = handler.onReject(nextValue); + nextStatus = STATUS_RESOLVED; + if (handler.thisPromise._unhandledRejection) { + this.removeUnhandeledRejection(handler.thisPromise); + } + } + } catch (ex) { + nextStatus = STATUS_REJECTED; + nextValue = ex; + } + handler.nextPromise._updateStatus(nextStatus, nextValue); + if (Date.now() >= timeoutAt) { + break; + } + } + if (this.handlers.length > 0) { + setTimeout(this.runHandlers.bind(this), 0); + return; + } + this.running = false; + }, + addUnhandledRejection: function addUnhandledRejection(promise) { + this.unhandledRejections.push({ + promise: promise, + time: Date.now() + }); + this.scheduleRejectionCheck(); + }, + removeUnhandeledRejection: function removeUnhandeledRejection(promise) { + promise._unhandledRejection = false; + for (var i = 0; i < this.unhandledRejections.length; i++) { + if (this.unhandledRejections[i].promise === promise) { + this.unhandledRejections.splice(i); + i--; + } + } + }, + scheduleRejectionCheck: function scheduleRejectionCheck() { + if (this.pendingRejectionCheck) { + return; + } + this.pendingRejectionCheck = true; + setTimeout(function rejectionCheck() { + this.pendingRejectionCheck = false; + var now = Date.now(); + for (var i = 0; i < this.unhandledRejections.length; i++) { + if (now - this.unhandledRejections[i].time > REJECTION_TIMEOUT) { + var unhandled = this.unhandledRejections[i].promise._value; + var msg = 'Unhandled rejection: ' + unhandled; + if (unhandled.stack) { + msg += '\n' + unhandled.stack; + } + try { + throw new Error(msg); + } catch (_) { + console.warn(msg); + } + this.unhandledRejections.splice(i); + i--; + } + } + if (this.unhandledRejections.length) { + this.scheduleRejectionCheck(); + } + }.bind(this), REJECTION_TIMEOUT); + } + }; + var Promise = function Promise(resolver) { + this._status = STATUS_PENDING; + this._handlers = []; + try { + resolver.call(this, this._resolve.bind(this), this._reject.bind(this)); + } catch (e) { + this._reject(e); + } + }; + Promise.all = function Promise_all(promises) { + var resolveAll, rejectAll; + var deferred = new Promise(function (resolve, reject) { + resolveAll = resolve; + rejectAll = reject; + }); + var unresolved = promises.length; + var results = []; + if (unresolved === 0) { + resolveAll(results); + return deferred; + } + function reject(reason) { + if (deferred._status === STATUS_REJECTED) { + return; + } + results = []; + rejectAll(reason); + } + for (var i = 0, ii = promises.length; i < ii; ++i) { + var promise = promises[i]; + var resolve = function (i) { + return function (value) { + if (deferred._status === STATUS_REJECTED) { + return; + } + results[i] = value; + unresolved--; + if (unresolved === 0) { + resolveAll(results); + } + }; + }(i); + if (Promise.isPromise(promise)) { + promise.then(resolve, reject); + } else { + resolve(promise); + } + } + return deferred; + }; + Promise.isPromise = function Promise_isPromise(value) { + return value && typeof value.then === 'function'; + }; + Promise.resolve = function Promise_resolve(value) { + return new Promise(function (resolve) { + resolve(value); + }); + }; + Promise.reject = function Promise_reject(reason) { + return new Promise(function (resolve, reject) { + reject(reason); + }); + }; + Promise.prototype = { + _status: null, + _value: null, + _handlers: null, + _unhandledRejection: null, + _updateStatus: function Promise__updateStatus(status, value) { + if (this._status === STATUS_RESOLVED || this._status === STATUS_REJECTED) { + return; + } + if (status === STATUS_RESOLVED && Promise.isPromise(value)) { + value.then(this._updateStatus.bind(this, STATUS_RESOLVED), this._updateStatus.bind(this, STATUS_REJECTED)); + return; + } + this._status = status; + this._value = value; + if (status === STATUS_REJECTED && this._handlers.length === 0) { + this._unhandledRejection = true; + HandlerManager.addUnhandledRejection(this); + } + HandlerManager.scheduleHandlers(this); + }, + _resolve: function Promise_resolve(value) { + this._updateStatus(STATUS_RESOLVED, value); + }, + _reject: function Promise_reject(reason) { + this._updateStatus(STATUS_REJECTED, reason); + }, + then: function Promise_then(onResolve, onReject) { + var nextPromise = new Promise(function (resolve, reject) { + this.resolve = resolve; + this.reject = reject; + }); + this._handlers.push({ + thisPromise: this, + onResolve: onResolve, + onReject: onReject, + nextPromise: nextPromise + }); + HandlerManager.scheduleHandlers(this); + return nextPromise; + }, + catch: function Promise_catch(onReject) { + return this.then(undefined, onReject); + } + }; + globalScope.Promise = Promise; + }()); + (function checkWeakMap() { + if (globalScope.WeakMap) { + return; + } + var id = 0; + function WeakMap() { + this.id = '$weakmap' + id++; + } + WeakMap.prototype = { + has: function (obj) { + return !!Object.getOwnPropertyDescriptor(obj, this.id); + }, + get: function (obj, defaultValue) { + return this.has(obj) ? obj[this.id] : defaultValue; + }, + set: function (obj, value) { + Object.defineProperty(obj, this.id, { + value: value, + enumerable: false, + configurable: true + }); + }, + delete: function (obj) { + delete obj[this.id]; + } + }; + globalScope.WeakMap = WeakMap; + }()); + (function checkURLConstructor() { + var hasWorkingUrl = false; + try { + if (typeof URL === 'function' && typeof URL.prototype === 'object' && 'origin' in URL.prototype) { + var u = new URL('b', 'http://a'); + u.pathname = 'c%20d'; + hasWorkingUrl = u.href === 'http://a/c%20d'; + } + } catch (e) { + } + if (hasWorkingUrl) { + return; + } + var relative = Object.create(null); + relative['ftp'] = 21; + relative['file'] = 0; + relative['gopher'] = 70; + relative['http'] = 80; + relative['https'] = 443; + relative['ws'] = 80; + relative['wss'] = 443; + var relativePathDotMapping = Object.create(null); + relativePathDotMapping['%2e'] = '.'; + relativePathDotMapping['.%2e'] = '..'; + relativePathDotMapping['%2e.'] = '..'; + relativePathDotMapping['%2e%2e'] = '..'; + function isRelativeScheme(scheme) { + return relative[scheme] !== undefined; + } + function invalid() { + clear.call(this); + this._isInvalid = true; + } + function IDNAToASCII(h) { + if (h === '') { + invalid.call(this); + } + return h.toLowerCase(); + } + function percentEscape(c) { + var unicode = c.charCodeAt(0); + if (unicode > 0x20 && unicode < 0x7F && [ + 0x22, + 0x23, + 0x3C, + 0x3E, + 0x3F, + 0x60 + ].indexOf(unicode) === -1) { + return c; + } + return encodeURIComponent(c); + } + function percentEscapeQuery(c) { + var unicode = c.charCodeAt(0); + if (unicode > 0x20 && unicode < 0x7F && [ + 0x22, + 0x23, + 0x3C, + 0x3E, + 0x60 + ].indexOf(unicode) === -1) { + return c; + } + return encodeURIComponent(c); + } + var EOF, ALPHA = /[a-zA-Z]/, ALPHANUMERIC = /[a-zA-Z0-9\+\-\.]/; + function parse(input, stateOverride, base) { + function err(message) { + errors.push(message); + } + var state = stateOverride || 'scheme start', cursor = 0, buffer = '', seenAt = false, seenBracket = false, errors = []; + loop: + while ((input[cursor - 1] !== EOF || cursor === 0) && !this._isInvalid) { + var c = input[cursor]; + switch (state) { + case 'scheme start': + if (c && ALPHA.test(c)) { + buffer += c.toLowerCase(); + state = 'scheme'; + } else if (!stateOverride) { + buffer = ''; + state = 'no scheme'; + continue; + } else { + err('Invalid scheme.'); + break loop; + } + break; + case 'scheme': + if (c && ALPHANUMERIC.test(c)) { + buffer += c.toLowerCase(); + } else if (c === ':') { + this._scheme = buffer; + buffer = ''; + if (stateOverride) { + break loop; + } + if (isRelativeScheme(this._scheme)) { + this._isRelative = true; + } + if (this._scheme === 'file') { + state = 'relative'; + } else if (this._isRelative && base && base._scheme === this._scheme) { + state = 'relative or authority'; + } else if (this._isRelative) { + state = 'authority first slash'; + } else { + state = 'scheme data'; + } + } else if (!stateOverride) { + buffer = ''; + cursor = 0; + state = 'no scheme'; + continue; + } else if (EOF === c) { + break loop; + } else { + err('Code point not allowed in scheme: ' + c); + break loop; + } + break; + case 'scheme data': + if (c === '?') { + this._query = '?'; + state = 'query'; + } else if (c === '#') { + this._fragment = '#'; + state = 'fragment'; + } else { + if (EOF !== c && '\t' !== c && '\n' !== c && '\r' !== c) { + this._schemeData += percentEscape(c); + } + } + break; + case 'no scheme': + if (!base || !isRelativeScheme(base._scheme)) { + err('Missing scheme.'); + invalid.call(this); + } else { + state = 'relative'; + continue; + } + break; + case 'relative or authority': + if (c === '/' && input[cursor + 1] === '/') { + state = 'authority ignore slashes'; + } else { + err('Expected /, got: ' + c); + state = 'relative'; + continue; + } + break; + case 'relative': + this._isRelative = true; + if ('file' !== this._scheme) { + this._scheme = base._scheme; + } + if (EOF === c) { + this._host = base._host; + this._port = base._port; + this._path = base._path.slice(); + this._query = base._query; + this._username = base._username; + this._password = base._password; + break loop; + } else if (c === '/' || c === '\\') { + if (c === '\\') { + err('\\ is an invalid code point.'); + } + state = 'relative slash'; + } else if (c === '?') { + this._host = base._host; + this._port = base._port; + this._path = base._path.slice(); + this._query = '?'; + this._username = base._username; + this._password = base._password; + state = 'query'; + } else if (c === '#') { + this._host = base._host; + this._port = base._port; + this._path = base._path.slice(); + this._query = base._query; + this._fragment = '#'; + this._username = base._username; + this._password = base._password; + state = 'fragment'; + } else { + var nextC = input[cursor + 1]; + var nextNextC = input[cursor + 2]; + if ('file' !== this._scheme || !ALPHA.test(c) || nextC !== ':' && nextC !== '|' || EOF !== nextNextC && '/' !== nextNextC && '\\' !== nextNextC && '?' !== nextNextC && '#' !== nextNextC) { + this._host = base._host; + this._port = base._port; + this._username = base._username; + this._password = base._password; + this._path = base._path.slice(); + this._path.pop(); + } + state = 'relative path'; + continue; + } + break; + case 'relative slash': + if (c === '/' || c === '\\') { + if (c === '\\') { + err('\\ is an invalid code point.'); + } + if (this._scheme === 'file') { + state = 'file host'; + } else { + state = 'authority ignore slashes'; + } + } else { + if ('file' !== this._scheme) { + this._host = base._host; + this._port = base._port; + this._username = base._username; + this._password = base._password; + } + state = 'relative path'; + continue; + } + break; + case 'authority first slash': + if (c === '/') { + state = 'authority second slash'; + } else { + err('Expected \'/\', got: ' + c); + state = 'authority ignore slashes'; + continue; + } + break; + case 'authority second slash': + state = 'authority ignore slashes'; + if ('/' !== c) { + err('Expected \'/\', got: ' + c); + continue; + } + break; + case 'authority ignore slashes': + if ('/' !== c && '\\' !== c) { + state = 'authority'; + continue; + } else { + err('Expected authority, got: ' + c); + } + break; + case 'authority': + if (c === '@') { + if (seenAt) { + err('@ already seen.'); + buffer += '%40'; + } + seenAt = true; + for (var i = 0; i < buffer.length; i++) { + var cp = buffer[i]; + if (cp === '\t' || cp === '\n' || cp === '\r') { + err('Invalid whitespace in authority.'); + continue; + } + if (cp === ':' && this._password === null) { + this._password = ''; + continue; + } + var tempC = percentEscape(cp); + if (null !== this._password) { + this._password += tempC; + } else { + this._username += tempC; + } + } + buffer = ''; + } else if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#') { + cursor -= buffer.length; + buffer = ''; + state = 'host'; + continue; + } else { + buffer += c; + } + break; + case 'file host': + if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#') { + if (buffer.length === 2 && ALPHA.test(buffer[0]) && (buffer[1] === ':' || buffer[1] === '|')) { + state = 'relative path'; + } else if (buffer.length === 0) { + state = 'relative path start'; + } else { + this._host = IDNAToASCII.call(this, buffer); + buffer = ''; + state = 'relative path start'; + } + continue; + } else if (c === '\t' || c === '\n' || c === '\r') { + err('Invalid whitespace in file host.'); + } else { + buffer += c; + } + break; + case 'host': + case 'hostname': + if (c === ':' && !seenBracket) { + this._host = IDNAToASCII.call(this, buffer); + buffer = ''; + state = 'port'; + if (stateOverride === 'hostname') { + break loop; + } + } else if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#') { + this._host = IDNAToASCII.call(this, buffer); + buffer = ''; + state = 'relative path start'; + if (stateOverride) { + break loop; + } + continue; + } else if ('\t' !== c && '\n' !== c && '\r' !== c) { + if (c === '[') { + seenBracket = true; + } else if (c === ']') { + seenBracket = false; + } + buffer += c; + } else { + err('Invalid code point in host/hostname: ' + c); + } + break; + case 'port': + if (/[0-9]/.test(c)) { + buffer += c; + } else if (c === EOF || c === '/' || c === '\\' || c === '?' || c === '#' || stateOverride) { + if ('' !== buffer) { + var temp = parseInt(buffer, 10); + if (temp !== relative[this._scheme]) { + this._port = temp + ''; + } + buffer = ''; + } + if (stateOverride) { + break loop; + } + state = 'relative path start'; + continue; + } else if (c === '\t' || c === '\n' || c === '\r') { + err('Invalid code point in port: ' + c); + } else { + invalid.call(this); + } + break; + case 'relative path start': + if (c === '\\') { + err('\'\\\' not allowed in path.'); + } + state = 'relative path'; + if ('/' !== c && '\\' !== c) { + continue; + } + break; + case 'relative path': + if (c === EOF || c === '/' || c === '\\' || !stateOverride && (c === '?' || c === '#')) { + if (c === '\\') { + err('\\ not allowed in relative path.'); + } + var tmp; + if (tmp = relativePathDotMapping[buffer.toLowerCase()]) { + buffer = tmp; + } + if (buffer === '..') { + this._path.pop(); + if ('/' !== c && '\\' !== c) { + this._path.push(''); + } + } else if (buffer === '.' && '/' !== c && '\\' !== c) { + this._path.push(''); + } else if ('.' !== buffer) { + if (this._scheme === 'file' && this._path.length === 0 && buffer.length === 2 && ALPHA.test(buffer[0]) && buffer[1] === '|') { + buffer = buffer[0] + ':'; + } + this._path.push(buffer); + } + buffer = ''; + if (c === '?') { + this._query = '?'; + state = 'query'; + } else if (c === '#') { + this._fragment = '#'; + state = 'fragment'; + } + } else if ('\t' !== c && '\n' !== c && '\r' !== c) { + buffer += percentEscape(c); + } + break; + case 'query': + if (!stateOverride && c === '#') { + this._fragment = '#'; + state = 'fragment'; + } else if (EOF !== c && '\t' !== c && '\n' !== c && '\r' !== c) { + this._query += percentEscapeQuery(c); + } + break; + case 'fragment': + if (EOF !== c && '\t' !== c && '\n' !== c && '\r' !== c) { + this._fragment += c; + } + break; + } + cursor++; + } + } + function clear() { + this._scheme = ''; + this._schemeData = ''; + this._username = ''; + this._password = null; + this._host = ''; + this._port = ''; + this._path = []; + this._query = ''; + this._fragment = ''; + this._isInvalid = false; + this._isRelative = false; + } + function JURL(url, base) { + if (base !== undefined && !(base instanceof JURL)) { + base = new JURL(String(base)); + } + this._url = url; + clear.call(this); + var input = url.replace(/^[ \t\r\n\f]+|[ \t\r\n\f]+$/g, ''); + parse.call(this, input, null, base); + } + JURL.prototype = { + toString: function () { + return this.href; + }, + get href() { + if (this._isInvalid) { + return this._url; + } + var authority = ''; + if ('' !== this._username || null !== this._password) { + authority = this._username + (null !== this._password ? ':' + this._password : '') + '@'; + } + return this.protocol + (this._isRelative ? '//' + authority + this.host : '') + this.pathname + this._query + this._fragment; + }, + set href(href) { + clear.call(this); + parse.call(this, href); + }, + get protocol() { + return this._scheme + ':'; + }, + set protocol(protocol) { + if (this._isInvalid) { + return; + } + parse.call(this, protocol + ':', 'scheme start'); + }, + get host() { + return this._isInvalid ? '' : this._port ? this._host + ':' + this._port : this._host; + }, + set host(host) { + if (this._isInvalid || !this._isRelative) { + return; + } + parse.call(this, host, 'host'); + }, + get hostname() { + return this._host; + }, + set hostname(hostname) { + if (this._isInvalid || !this._isRelative) { + return; + } + parse.call(this, hostname, 'hostname'); + }, + get port() { + return this._port; + }, + set port(port) { + if (this._isInvalid || !this._isRelative) { + return; + } + parse.call(this, port, 'port'); + }, + get pathname() { + return this._isInvalid ? '' : this._isRelative ? '/' + this._path.join('/') : this._schemeData; + }, + set pathname(pathname) { + if (this._isInvalid || !this._isRelative) { + return; + } + this._path = []; + parse.call(this, pathname, 'relative path start'); + }, + get search() { + return this._isInvalid || !this._query || this._query === '?' ? '' : this._query; + }, + set search(search) { + if (this._isInvalid || !this._isRelative) { + return; + } + this._query = '?'; + if (search[0] === '?') { + search = search.slice(1); + } + parse.call(this, search, 'query'); + }, + get hash() { + return this._isInvalid || !this._fragment || this._fragment === '#' ? '' : this._fragment; + }, + set hash(hash) { + if (this._isInvalid) { + return; + } + this._fragment = '#'; + if (hash[0] === '#') { + hash = hash.slice(1); + } + parse.call(this, hash, 'fragment'); + }, + get origin() { + var host; + if (this._isInvalid || !this._scheme) { + return ''; + } + switch (this._scheme) { + case 'data': + case 'file': + case 'javascript': + case 'mailto': + return 'null'; + } + host = this.host; + if (!host) { + return ''; + } + return this._scheme + '://' + host; + } + }; + var OriginalURL = globalScope.URL; + if (OriginalURL) { + JURL.createObjectURL = function (blob) { + return OriginalURL.createObjectURL.apply(OriginalURL, arguments); + }; + JURL.revokeObjectURL = function (url) { + OriginalURL.revokeObjectURL(url); + }; + } + globalScope.URL = JURL; + }()); +} +/* WEBPACK VAR INJECTION */}.call(exports, __w_pdfjs_require__(9))) + +/***/ }), +/* 37 */ +/***/ (function(module, exports, __w_pdfjs_require__) { + +"use strict"; + +var pdfjsVersion = '1.7.354'; +var pdfjsBuild = '0f7548ba'; +var pdfjsCoreWorker = __w_pdfjs_require__(8); +{ + __w_pdfjs_require__(19); +} +exports.WorkerMessageHandler = pdfjsCoreWorker.WorkerMessageHandler; + +/***/ }) +/******/ ]); +}); \ No newline at end of file diff --git a/package.json b/package.json new file mode 100644 index 0000000..302b154 --- /dev/null +++ b/package.json @@ -0,0 +1,74 @@ +{ + "name": "PlantillasFormlyBackend", + "version": "1.0.0", + "description": "Creador de plantillas formly", + "main": "index.js", + "scripts": { + "start": "node index.js", + "lint": "eslint *.js lib/*.js src/models/*/*.js src/routes/*/*.js test/*.js src/bl/*/*.js", + "apidoc": "apidoc -i src/routes/ -o public/apidoc", + "setup": "FORCE=true node index.js && sequelize db:seed:all --config src/config/config.json --seeders-path src/seeders", + "startdev": "nodemon --exec 'node index.js'", + "parchar": "node parches/parchar.js", + "migrar": "sequelize db:migrate --config src/config/config.json --migrations-path src/migrations" + }, + "keywords": [ + "node", + "base", + "bienes" + ], + "apidoc": { + "name": "API REST - Documentacion", + "template": { + "forceLanguage": "es" + } + }, + "author": "AGETIC", + "license": "MIT", + "dependencies": { + "activedirectory": "^0.7.2", + "ad": "^0.3.2", + "axios": "^0.19.0", + "body-parser": "^1.15.0", + "child_process": "^1.0.2", + "coffee-script": "^1.10.0", + "colors": "^1.4.0", + "consign": "^0.1.2", + "cors": "^2.7.1", + "ejs": "^2.5.7", + "express": "^4.13.4", + "express-fileupload": "^1.1.6", + "helmet": "^3.4.0", + "html-pdf": "2.2.0", + "jwt-simple": "^0.5.0", + "lodash": "^4.17.5", + "lzma": "^2.3.2", + "md5-file": "^4.0.0", + "moment": "^2.17.1", + "morgan": "^1.7.0", + "node-jose": "^0.11.0", + "node-pdftk": "^1.3.0", + "node-rest-client": "3.1.0", + "nodemailer": "^2.6.4", + "nodemailer-smtp-transport": "^2.7.2", + "object-hash": "^1.1.4", + "openid-client": "^3.15.0", + "passport": "^0.3.2", + "passport-jwt": "^4.0.0", + "passport-ldapauth": "^0.5.0", + "pg": "^7.17.0", + "q": "^1.4.1", + "sequelize": "^5.21.3", + "sequelize-cli": "^5.5.1", + "sequelize-formly": "^1.0.19", + "sequelize-handlers": "^1.0.7", + "uuid": "^2.0.3", + "winston": "^2.2.0" + }, + "devDependencies": { + "chai": "^3.5.0", + "eslint": "^2.7.0", + "mocha": "^6.2.2", + "supertest": "^4.0.2" + } +} diff --git a/parches/config.parchar.json b/parches/config.parchar.json new file mode 100644 index 0000000..84f1647 --- /dev/null +++ b/parches/config.parchar.json @@ -0,0 +1,10 @@ +{ + "descripcion":"Archivo de configuracion para parchar librerias, modulos.", + "parches":[ + { + "ruta_origen":"handlers", + "ruta_destino":"node_modules/sequelize-handlers/src" + } + ] + +} diff --git a/parches/handlers/handler.js b/parches/handlers/handler.js new file mode 100644 index 0000000..a76e45d --- /dev/null +++ b/parches/handlers/handler.js @@ -0,0 +1,387 @@ +const _ = require('lodash'); +const { + HttpStatusError +} = require('./errors'); +const { + parse +} = require('./parser'); +const { + raw +} = require('./transforms'); +const Op = require('sequelize').Op; + +class ModelHandler { + constructor(model, defaults = { + limit: 50, + offset: 0 + }) { + this.model = model; + this.defaults = defaults; + this.custom = null; + this.name = this.model.getTableName(); + } + + create() { + const handle = (req, res, next) => { + this.model + .create(req.body) + .then(respond) + .catch(next); + + function respond(row) { + res.status(201); + res.send(res.transform(row)); + } + }; + + return [ + raw, + handle + ]; + } + + get() { + const handle = (req, res, next) => { + this + .findOne(req.params, req.options) + .then(respond) + .catch(next); + + function respond(row) { + if (!row) { + throw new HttpStatusError(404, 'Not Found'); + } + + res.send(res.transform(row)); + } + }; + + return [ + raw, + handle + ]; + } + + query() { + + const customQuery = (req) => { + return new Promise((resolve, reject) => { + // TODO: Corregir y adecuar al nuevo funcionamiento + // if (req.query.searchPro == 1 && req.query.fIni && req.query.fFin) { + // options.where.fecha = { + // $between: [new Date(req.query.fIni) || fAct, new Date(req.query.fFin) || fAct] + // }; + // } + + if (!req.query.filter || req.query.filter === '') return resolve(); + const condiciones = []; + const options = {}; + options.attributes = _.keys(this.model.rawAttributes); + + return this.model.describe().then(fields => { + for (const key in fields) { + const field = fields[key]; + const obj = {}; + + let aux; + let tipo = field.type; + let buscar = (options.attributes == null) ? true : options.attributes.indexOf(key) != -1; + console.log('Revisndo l interpretacion del searchPRO', req.query.searchPro == 1); + if (req.query.searchPro == 1 && buscar && req.query.tipoBus == 'campo') buscar = req.query.campoSel == key; + + if (req.query.searchPro == 1 && req.query.tipoBus == 'documento') { + console.log('SearchPro_Ddocumento'.bgWhite.red); + buscar = false; + if (key == 'plantilla_valor') { + obj[key] = { + "$ilike": `%${req.query.filter}%` + }; + // xfilter.push(obj); + } + } + if (req.query.searchPro == 1 && req.query.tipoBus == 'flujo') { + console.log('SearchPro_Ddocumento'.bgWhite.red); + + buscar = false; + if (key == 'grupo') { + obj[key] = req.query.filter; + // obj[i] = { $ilike:"%"+req.query.filter+"%" }; + // xfilter.push(obj); + } + } + + if (tipo.indexOf('CHARACTER VARYING') > -1) tipo = 'CHARACTER VARYING'; + switch (tipo) { + case 'INTEGER': + aux = parseInt(req.query.filter); + if (!isNaN(aux) && req.query.filter.indexOf("/") == -1) { + obj[key] = aux; + } + break; + case 'USER-DEFINED': + + aux = req.query.filter; + for (var j in field.special) { + if (field.special[j].toLowerCase().indexOf(aux.toLowerCase()) == 0) { + obj[key] = field.special[j]; + } + } + break; + case 'TIMESTAMP WITH TIME ZONE': + // Busqueda de fechas del tipo: 2016-10-20, 2016/10/20, 20-10-2016, 20/10/2016. + // TODO: No se puede buscar por el mes. + console.log('TIMESTAMP WITH TIME ZONE __________________________'.magenta.bgWhite); + console.log('Primer procesado de fecha __________________'.magenta.bgWhite, procesarFecha(req.query.filter)); + var consulta = procesarFecha(req.query.filter); + if (consulta != false) { + console.log('Fecha'.cyan, procesarFecha(req.query.filter)); + obj[key] = procesarFecha(req.query.filter); + // condiciones.push(obj); + } + break; + case 'CHARACTER VARYING': + obj[key] = { + "$iLike": `%${req.query.filter}%` + }; + break; + case 'TEXT': + obj[key] = { + "$iLike": `%${req.query.filter}%` + }; + break; + case 'ARRAY': + // obj[key] = {"$iLike":`%${req.query.filter}%`}; + break; + case 'BOOLEAN': + // obj[key] = {"$iLike":`%${req.query.filter}%`}; + break; + default: + console.log('DEFAULT__________________________'.magenta.bgWhite, tipo); + obj[key] = req.query.filter; + break; + } + + if (obj.hasOwnProperty(key)) { + condiciones.push(obj); + } + + + + } + }) + .then(() => { + console.log('Finalizando filtrado custom'.bgCyan.black); + this.custom = condiciones; + console.log('Checking custom condition'.bgCyan.black, this.custom); + return resolve(); + }); + }); + } + const handle = (req, res, next) => { + customQuery(req) + .then(() => { + let flag = false; + if (this.custom !== null) { + flag = true; + req.query.filter = this.custom; + this.custom = null; + } + + + this + .findAndCountAll(req.query, req.options, flag) + .then(respond) + .catch(next); + }); + + function respond({ + rows, + start, + end, + count + }) { + res.set('Content-Range', `${start}-${end}/${count}`); + + if (count > end) { + res.status(206); + } else { + res.status(200); + } + + const response = { + total: count, + resultado: rows + } + res.send(res.transform(response)); + } + }; + + return [ + raw, + handle + ]; + } + + remove() { + const handle = (req, res, next) => { + this + .findOne(req.params) + .then(destroy) + .then(respond) + .catch(next); + + function destroy(row) { + if (!row) { + throw new HttpStatusError(404, 'Not Found'); + } + + return row.destroy(); + } + + function respond() { + res.sendStatus(204); + } + }; + + return [ + handle + ]; + } + + update() { + const handle = (req, res, next) => { + console.log('[update] iniciando la modificacion ', req.params, req.body); + this + .findOne(req.params) + .then(updateAttributes) + .then(respond) + .catch(next); + + function updateAttributes(row) { + console.log('[update] row', row); + if (!row) { + throw new HttpStatusError(404, 'Not Found'); + } + + // return row.updateAttributes(req.body); + return row.update(req.body); + } + + function respond(row) { + res.send(res.transform(row)); + } + }; + + return [ + raw, + handle + ]; + } + + findOne(params, options) { + if (params.hasOwnProperty('id')) { + params[`id_${this.name}`] = params.id; + delete params.id; + } + if (options && options.hasOwnProperty('id')) { + delete options.id; + delete options.audit_usuario; + + } + options = _.merge(parse(params, this.model), options); + return this.model.findOne(options); + } + + findAndCountAll(params, options, custom) { + let parsed = parse(params, this.model, custom); + + options = _(parsed) + .defaults(this.defaults) + .merge(options) + .value(); + if (custom) options.where["$or"] = params.filter; + if (params.page) { + options.offset = (params.page === 0 ? 0 : params.page - 1) * options.limit; + } + + return this.model + .findAndCountAll(options) + .then(extract); + + function extract({ + count, + rows + }) { + const start = options.offset; + const end = Math.min(count, options.offset + options.limit); + + return { + rows, + start, + end, + count + }; + } + } +} + +/** + Funcion que procesa una cadena, verifica si tiene el formato de una fecha. + @param {pCadena} Cadena de texto con formato de fecha. + @return Retorna: + EXITO -> un objeto de consulta con formato sequelize. + FALLO -> false. + */ +function procesarFecha(pCadena) { + + var fecha = new Date(pCadena); + var anio = null, + inicio = null, + fin = null; + + // Identifica el operador usando en la cadena para separar los datos. + var operador = pCadena.indexOf('-') > -1 ? '-' : pCadena.indexOf('/') > -1 ? '/' : null; + + // Si existe un operador valido en la cadena. + if (operador != null) { + + // Si la cadena no es valida como fecha, se la invierte. + if (fecha == 'Invalid Date') { + fecha = new Date(((pCadena.split(operador)).reverse()).join("-")); + } + // Obtine el año. + anio = fecha.getFullYear(); + + // Si existe el año. + if (anio != null) { + var vector = pCadena.split(operador) + + // Si la longitud del vector es igual a 3. + if (vector.length == 3) { + var indice = vector.indexOf(anio.toString()); + + // Si el año existe dentro del vector de la cadena. + if (indice > -1) { + + // Armado de la fecha inicio y fecha fin. + if (indice == 0) { + inicio = vector[0] + "-" + vector[1] + "-" + vector[2]; + fin = vector[0] + "-" + vector[1] + "-" + (parseInt(vector[2]) + 1); + } else if (indice == 2) { + inicio = vector[2] + "-" + vector[1] + "-" + vector[0]; + fin = vector[2] + "-" + vector[1] + "-" + (parseInt(vector[0]) + 1); + } + + // Armado de la respuesta a retornar. + var respuesta = { + $gte: inicio, + $lt: fin + }; + return respuesta; + } else return false; // Fin condicional indice. + } else return false; // Fin condicional longitud vector. + } else return false; // Fin condicional existencia año. + } else return false; // Fin condicional existencia operador. +} + +module.exports = ModelHandler; \ No newline at end of file diff --git a/parches/handlers/transforms.js b/parches/handlers/transforms.js new file mode 100644 index 0000000..2353b65 --- /dev/null +++ b/parches/handlers/transforms.js @@ -0,0 +1,22 @@ +const _ = require('lodash'); + +module.exports = { + raw +}; + +function raw(req, res, next) { + if (!_.isFunction(res.transform)) { + res.transform = transform; + } + + next(); + + function transform(data) { + const resp = { + tipoMensaje: 'EXITO', + mensaje: 'Procesamiento exitoso', + datos: data || {} + } + return resp; + } +} \ No newline at end of file diff --git a/parches/parchar.js b/parches/parchar.js new file mode 100644 index 0000000..2f6ba71 --- /dev/null +++ b/parches/parchar.js @@ -0,0 +1,80 @@ +/** + Archivo que realiza el reemplazo de librerias y/o modulos. + +Es necesario tomar en cuenta lo siguiente: + +- Directorio: ./parches Almacena los recursos necesarios para el parche, en subdirectorios. +- Archivo: ./parches/parchar.js Se encarga de realizar el parche. +- Archivo: ./parches/config.parchar.json Contiene informacion sobre el origen del parche y el destino del mismo. + +PD.: El parche se realiza de carpeta a carpeta, es decir: +Si el parche va para ./node_modules/sequelize-handlers/handlers/create.js +El directorio origen que debe contener a "create.js" es: ./parches/handlers + +En el archivo de configuracion: +parches:[ + { + "ruta_origen":"handlers", + "ruta_destino":"node_modules/sequelize-handlers/handlers" + }, +] + */ + + +const fs = require('fs'); +const path = require('path'); + +const basename=path.basename(module.filename); +const rutaParches=`${__dirname}`; +const configuracion=require(`./config.parchar.json`); + +// Itera y verifica la existencia del directorio. +configuracion.parches.forEach((parche)=>{ + + // Verifica la existencia del directorio destino. + fs.exists(parche.ruta_destino,(resultadoLectura)=>{ + console.log("verificando la existencia de la ruta destino >>>> "+parche.ruta_destino, resultadoLectura); + + // Si éxiste el directorio. + if(resultadoLectura){ + + // Ruta del archivo origen. + var rutaOrigen=rutaParches+"/"+parche.ruta_origen; + + // Realiza la lectura del directorio origen, al cual le aplica un filtro. + fs.readdirSync(rutaOrigen).filter((archivo)=> + // Que sea un directorio && que no sea este mismo archivo && que no sea del tipo "json". + (archivo.indexOf('.')!==0) && (archivo!==basename) && (archivo.substr(archivo.lastIndexOf('.')+1,archivo.length)!='json') + ) + // Itera los archivos obtenidos de la ruta origen. + .forEach((archivo)=>{ + + // Realiza la lectura del archivo de origen. + fs.readFile(rutaOrigen+"/"+archivo,{flag:"r"},(errorLeer,dataLeer)=>{ + + // Si no existe error en la lectura. + if(!errorLeer){ + + // Realiza la escritura del archivo destino, con la data obtenida en la lectura. + fs.writeFile(parche.ruta_destino+"/"+archivo,dataLeer,{flag:'w'},(errorEscritura)=>{ + + // Si no existe error de escritura. + if(!errorEscritura) + console.log("Archivo "+archivo+" -- reemplazado correctamente "); + else + console.log("Archivo "+archivo+" -- Error en el remplazo.", errorEscritura); + }); + } + // Si existe error en la lectura. + else{ + console.log("Error en la lectura del archivo >> "+archivo); + } + }); + }); + } + // Si no existe el directorio destino. + else{ + console.log("La ruta destino no existe. <<< "+parche.ruta_destino+" >>>"); + } + }) +}) diff --git a/prod.json b/prod.json new file mode 100644 index 0000000..f16239d --- /dev/null +++ b/prod.json @@ -0,0 +1,12 @@ +{ + "apps" : [ + { + "name" : "plantillas-backend", + "script" : "./index.js", + "watch" : false, + "env" : { + "NODE_ENV": "production" + } + } + ] +} \ No newline at end of file diff --git a/public/images/logo.svg b/public/images/logo.svg new file mode 100644 index 0000000..941ee1c --- /dev/null +++ b/public/images/logo.svg @@ -0,0 +1,854 @@ + + + +image/svg+xml \ No newline at end of file diff --git a/public/images/membrete.png b/public/images/membrete.png new file mode 100644 index 0000000000000000000000000000000000000000..c9411b9d168fbb7ebd0c9700857b84b2fba46e5e GIT binary patch literal 111469 zcmXtfb95wa(|4SSZQHhOV>h;K+qP}nPBzxY+1SozV@~+xe%|xVKYhB-nXCGmuKuB_ zCQ4aR3IP@u76b$YK}K3!6$AuK5CjCA1OWAY#1Blc z;QEWQYPgX=S40t2`}9 zg|_r}d4|m8f3l|S&M?M7xr^B#T)w{p`tI8M?;YL)pMp-3#sh{QxC+V)P7iUI9p?uH z@anu?<}y@(x4gBQ`iQ8#A{{(i4vK$~TIpcLR6dwIbs z&+WW8C`b^B>`KoU%7I5m!w6FdM(8fdVtcj#{kH5YxZ9EYzwI!!Iqvh7;ue*X7cgQ# zdqiEJfg|CBg$zD%(A>$?$H-)AYC7S+rT_Nk>>r;nce+Vd$5Ex890s>ze!pU^ z%kKB)AyVTYHKRrXaZJ$dbdIsAGEfpGSKs^Bups&SNeKP=4%h$Xj4N!TjVcqG2oZvr zZgtQ}s0vVR4@nJ9G&`V)TftpQ97%!kcl{_k3aeIOV04cu9;e9zK!kkV+DMz@qgp{< zdQq3H?Ie;@nW7>>Bmde@sZd@$Fr@s8Vjg+W%M3uS8;2u#;_UqnNOS-#D7YKIQpUme zH@i__24|o%qU%0Gb-6yXWh{Z*Zga%>POGIZ*^zi6kx);wwF{MjIMv?#G5e7`g|TQz zpL-u2GRd1#fg319DE=K(Wp`wX15f1~eZ#G?s)oc|%hth?6d!TlYO?p31=hq!T@i(Z z1^|%I7a@t-@RmfpQlvIa!h`vcn%h3T_j`K@N|<{#m~hvvc3*M%({Np(_pEPOM`NP_ zpEq4qQ+ND{WngTZP_O9)Waq(Ay=CXqQ9U|3X>4`IyBvnfX} zg6n~~*J@mIM(tsp>)&Ql3K*mN%)F>3Ix~tV%PXRGVA<6)to(nAfrbEOl14RU>=0#i zS~{y17lO7?j8+Qc( z>*LT-%XDK`PAPE30&7HyQ~>bJeC(~r)OAUVBS|9sG?6+ii$J^cMIV4Q% z6bphgJcMwJLT9I>V1(CwinUnJEh%D;!jnGPS@gkk5m^*U@3QKgx3WhgG3Er5iF%CN2Nr)f-V!Yk7Hn)YOKgpmuLE1svAhrwx;uMjHZJRE9!`q$QF#ND-@a-AyT^ zXv*M-a55*@2>qJ=B6ut{8MG@^p6!9fY3>k9Nd$6KXwn;VNHNF1N{5rm7DkiP-VS9} zVPzi6%eHWV^{-O)+fZ>&PHaq3uTJS!6ml{#=^`g^${8=S#MN*Z@Hgd^euC}kXq<%x zIIkq?bMfG!j~+BwsQv|?fA_%tkN>+@6F$aG8@#LzUjdxC!+q$_iN8n|MznZnj;)fo zl%igR82RkXtr5tS+I0A20NN0{lVo;qh!QV$tPB?aWlig!^n1A`LS;XIrYT=-KJG4AW!weUB>{~ri{B*=Id((M)Q2;DVRiM*7l0;l`Jf;>wVrg>Q9@T zEZ9txx{z09CA<(pA+!T)IG_qA?8Pzw{0KvU#B@+yqecALi01fIkH14j7z9=+1>;72 zQ(ZTmEZES*rxV{~^2}=AeO{h}_$2eqKVSSy>}PB32p`?9#Mx+NU%v()&Q=o`HfyXZ z9mZ~00ifEZ8I!3insscf<;=*`{6S8@+ajLBMA=fS&8lFWdkv?fM1S$&p1E#Q z-BGrN-s#P`Pn;qF`b&`uunY)tFfr+QTq)^R9CIlno~i@q;$w^l0`AOIv-zg3_)7)_ zUk}ajjW!~-lN%WT$-MSko6k2b5CYi*1q+ZSR;Fdl@iA-HCisYc@BhIvFnnu--}HB3e(c$9 z8lixX%N#>TqYF?pv|_?Cjs!w=n2I9_608nGb<>hWI8!_iGaGZZxT=r&JFl&ZW$rcC15FGHU_}j!tMfTtXEKzdB42YP=rymNB8eO`4nMK!`{x`yWeR`ug$_F8 z?yUC_9%F?MNf)BobFC?VB3k18?nK8jmI|cOUY_}I2B~VZ3vHhwN&9}C&j>asnbL|* zys=ckZw!C3DP`<-+@{=dI*f|d%CSJNMM_i}3ITt(8X>yzJTP2(d8EzTIC~{Szvk4- z$4@X{-Uxe4qd&r@q;1S87o4~Jo9I3M(=r4Q>1GRS^U@|_!=N}!m! zWzKRG>5s=ES>JlV{AF@Ra90F1N>cNEA%gzx%nmkY6D?}&$%mcu3 zD^!qV$-MTVEF6q&b-mfu_=R$p#Ba|l8d=pxPi->~2T*SfaG1$iX~7AQvLfUzFChHc zPE>O6mO#D*GxA|&l-k4y9uC(&z5i#*=J{sNmwtl+jf9C@vL<=&_-Rh|Aq4$J;Gd6M z{)CfP-jn`&MDTFLN3;gN{*Z~e+gl)Fv60Cb%g5-c*ZJV)8K*56Sv)r^U1NYldy*qS zgXV-@cPw%+;-9xJKx6_oQMx?p$|Pmhv^nYIL^8HeL`4zS;SE2(fF;F5sXux1sx!`1 zj_p<)&dg43t*a${bvJtw@5?hPdx{}*YVgOpb0lh56+S!Ibkq4(6L^DCfk=cWfp%A2 zi$GymP}I;L-04JYcUYw!db`O+*Bw!Rb}v%p_DwI!WT&AbK#^hOJ{eO*RaMkk21MdF zoK`vW>G53(5(@WHh)lU#=H#>}JzG1Zs@CfEM*e{lDs`XsE`R^m;XnVKf~KFU8FL=U zGBiA|sgsq`py%1LpZ>dbw%RS>rmS5ChsTm+u61Y9$4}XF0)&7}c6RowCG2z8+|<0i z5+0`ct$&M6Et7X?*J^4#L1EXu;u%j84}TYf%3Gx>+$r!`oS8em?x=oy9-77X?V(z# z#nX^WUckrK2%u+Imf<*`f&BdK9fzN0Z6`&d3@Cj<);1wt7#evXZZ|>W`EkKhWWW^u zaQVGc>$%zBRvqz2EVYa;9{n}{>Pkl)t!FV1klKp>@K;V3+)Q~g4;EHG8Ag^ zANL`@Usrbl5IK|Q^J&r}O36<^M9%+I3?l0i`#G00m?W{hKKqc^s==&HLvQm1kV)>> zhld2PtM}pReH%4r6CFc&b?v=uT;q@Z-qpB&c%3y1x+jT@%k)ot0^&nEG9k=j1%Jd{ zfdgjel5bzoMl*3-Z(uMjkzt@{FGGVGCD9I2gqb`m@V1ERK&ht@5+Ql^4>iMD@91tG z0BS`tIRU~T@y!|RnTM3|WTuybJeS^_ITt_K{9X@jcbjrEc3!|QR_b;y+RRuvr4QjU zJ~(ZwNU1Eo((%(?AKbJ%yb%IAfflCKD@!F(MA?4@;`4n^{Npa}fr#|~ZL=RTJPv#E zH_p3jaqhv#!w8i$@u7wzGpGCHsG%P#nfU6Y3A(-`)DwcC$Q z_V$b|=6zBkS{|6b+&L^%1yUmW8FP|A-+qVu|Ge5Rn5wKZt@mw&R6&W2O5_isehC*p zf^+rk%O5%ecbc+VYtfBe&+q6Y&4cr$C?Dr+x1OS97_q!p;*5Q_9sFNgaLcti5|TZ2Yy#_nrzv|f zvQc>&LxE&U`_cDIh2{16JIA9Bm6jdj4QbL16x0aO_w>p2gV_>J`30}&N}s@>ZS$T~ z)%TC%Ri5*S;perWkGQPso4o89JWqrSb)&;)#%wJ+2%#as)c|C5UYhuJGFi@K9#vG@*o`SRunN);dY(HXzhLkxeN#7EXrAe5PGewI_ zP}<#af6=jX|vWV51qYuaY9W?5Q z#+`uYk6cR*d&p4F=gphkO9nnM$D7%}KNJ;y$9WC~X(<_VZ~Uiq+eCfT_EH4?4KUVO``UnSyk9maUGMwNr+Jum;t6=Pt%_`P(zHMGF7yuj4cgku1 zvVgJWd;a|F*?Y*1&vl~w`T8#8_40ZV*`OPFT<)ap;@|uQn+m0dOCBanwRF^=_nR!> zg)Cv)UmyhWypPTkNMFaHO}Ej8GxcN`Sy`va#)JqadMO%<@5(Cb>%C>;Fc71$5-}X{ zv~5>=;+d;c@Pc)k&z_`wbMa>dMuM!D#SWK`)BYf8+`#xIw1oOXS<+}>RVnoe=nEbH zzm%uM1q%YH$n}P$u}fZSjz;=?Jn%=-*y#_Yp^7!x8I$C++vvTx{lu_iftA%7@L$3r z)X`oJqhsPPNN2zy1x+b;&7Ry92>0>l4bx#HnDi3@GD;B&?7NJ6=EvOe%P;+^+?Dm- zhZnVnGdeC*$pqsE4Tmb?$hJi;;m0b|jaG+S&G%s?*vz=P&1H2@_AuX8;_uJP)g;uT zF&uW!iM!XnA;(|r$ZQ&>yoSxp&dz=rucdhRoni?UD_}w^Og&IidQXd){bZEzG6?AS z6a8$V+Gm6?ijmj(IG3QZ;P#wn`JL>0_Zi*aFL{(J@66VEOJ#k%`NgZ7y8Xt`Q=82i zw+BgIs?LsWa5rq=XpOB4of4}{>_yf%gjvN z(Mf8f`JcDgGl9TD6}h)y<10^VC<>Cvs0sq9W@`?t`c3dz}jd%Wd$WFbR2Xhsg8-oWi-a}>S_r=f;78mt6Rp8dUQ`MtORLA|Y5H&7)#IQD zLX*jO^xZ5^Y`d7d=R=G)_44xUU0r8Lg_*VyJ(*ola1pWIt|(>d*mDi*CtyFv`_(_e zUC?A{asUJvbS**9saNdvc0_y-_pTi*i|cRZ4S`#7h<+U2!9k!PEE!?fct1oaGrGoTSM{s~vhmA2!8?J5F6sS0bo* zp=8(QtUom?Ni>&Az5Vgh%o&1cO2w_c#;e>O1|Ag8{IC4gZsAg-0AlHqc~N7_I4TAC z%b*oY5)|!y>o5}X;qlmm+?d(pu8yk`A1k=gvSd!k?CLnbb7kHrMuG0djxQ4I@U0*3 zDmF6-^?gCsH3$h`f1OG9m9DkqkRCULVx9f@GF^Q1yh`(SMk6} z@A%C5$E6jZktCy?^fAml5HV-w@p+Jj7P?+&ljd~Xbnsn~V|@9>5s^Unc@ss^vjKr@ zY+9=8`I`2EqCDziaE}d zArS~<=!kxd+%J}cqE|kT;D{Hymo6emzwA1`@=s6bix{)Viv;+tS3lmxofmu;#|vbS zH`+qUz>K7Wi~MThKg_;WpH2_rDF{c)BhXjNe;T&n8szVG4VA;3Z;t(Tx9U#Q;i|P# zp&r(-3yNxsB!II!dq^sOB$qk=*PfBV$JR!BQK^(tFyHFkL)h-=gV?L{iO}a@7f!^( zSi(AR3O;snm*jfrJ}S*@lLtF|G}5WVSrk>?9NvPQ9=u_vcrUew7PZMje>vfoD+S~Q+xwj*=Jf1F9fDX( zVf-BzqPVnLDI;Lbms~^C4tSD%R$@&u92^RR$6+;1m`?o8j4$AK{m=shh6G#42<+Z` z?jY^-b0~>Qsk~PWa`5Bqrf$)S)e29{@&slEf3v)YrfIexvK!mY!{bWzx^#Zr3yUhJ%rw+!0P1mL;)Ke4s%Zg zo7n!dGMQan>MP}yxh`d}bS(uWFC=1U} z64!8Yj=~X+p4R;?-l?psYiMX@b`0k3HJcq#a(*@xS|3`IE>dc%&syyc3?X@cQ(5F! z-toPk7$P25k{ykV^2m8&h1b)9kg>&LPkzHrr%}VW!|R?{a(7!oS`ARsi@ufMrw?OP zEHsj!$jR>(6$OPiSHUik7?$)AbTDw{utD~@<8IU7f{_&6&D6c@bch%=tAA4rJ>H>^ zAtWb^c?uE*L9SJ2ie4(2Ly18x!$o#E#6Qvy`F>JbDwbvm_%L?7ztE=leL-au__HqU zTPYkz zPcBRxxijAKpCjlw9t4p0`8<;DB%A+zSj`%+<)O-Rf(k3M%k1t7^01gOzgSVy31a8q zXt6!c?%NqyK1@LEKZAWZxnu{;(TnhC9j{)odu`9tE3DCaxz!(U>iuU^);8v*SM5P* zCChO?Ry*o@O*KG#bo%gZmZ<+{6h$sKIxNmqDo`{abG;TQd|%#8bltAHYBgIE-SD{l z_noRK6#s-jcFLBd6)po*$q^3n%NKtv`(#7l>WG+L@v|ZcC1197VJ$M>z^`|k;j?Eq zl@C7dBWp;O=vqSx50}&r%a0Gf$v+-)LXN)g2Suoe#5{jKqVU-e+{r4iZje#YPS!=L zZe|wmq*q3c*bInCnQE%0VjT`m_s=o;J3)mgSxwKwP~iL6voztO zg_7H9iNng*z9VO?m@$$x3-rkoQ$rY$Fozy>Jb&hE#b74pl7UX0=?WD_>{_&3Y@T@AKv-sNWU@jQN>J6yv|&CpQ3u8VgA-t0E#&==drivN?WxaY+<(EkZ#-}i!FOcJAE!C3fK$m05M z%c`NF=(|Gp`i}n%op|oIKQu_nM(+8qUVx9ad5^Gjf}T`5tM+@HYE)?3!+0I{Cpz>x zP1&t0p`j-LIc1w+DbW^ikrZbuW^zmBR^iW2ecL$-$8(AsNDhNgl1XgT&|iOWt02YX z;nXZywUucphTLRe2PadMj??)ZzH|{|F__P|%#o*m&YIi@Cs=W@CcF=U{GiJ@=OxdW z$uBh0%T<;Ep(?DbcbjhlvELfKHI!b(XY4vL&kjAx3LB`Pugvn44DCqwgcoQ}g=D%M z5lvY;H>%(V6Fsno)GmaOh9I18uZ=C(x?xk~vAZM82-RIRF&Q&nzrHpd+3U~s`Gmx0 zbD|IUcoWKG^TQPwCz>m>@Qb+G<|7L&ZST)N88ctZO5S$JUg1`&7;@t(Y^5wI(zkT) zM9g7!Y?b08Ijexc5ldXm=D6TW%;ZVgy3TFibd;sZ4|sRNoXMX(RQifR5sSD>(7GlK zP0~Af!|eg_6Ws0pkEtA(lA|Dk43S-gXek2@QcTKHb%8M#FrywfSML;|sBX63b~DxB z5xiKyn^b#uq|Kzo`mcJrSDhR+L-62YXdvI9uxqzVH7M zi06H++-^|vB3GrE?YZJatv`7s%2nDS{K*AwBZ%L%dEwaY2(5)XB8NiWRxy#5l}x#U(V7u zGdoz#Lz$@~#pc4_tl0n%$o@QGl`4y4X1w_u{&<3D`QEot+Y|W3^?+mBSOwoOV#u&NzHYf25`TtF0^lu9rIuymAhY#U2b@ z2RI~f*zvE5nBzujG?Y7Ua?TPiAb5yFdP#;W5PilB@B<+fnvAzh!x=w%mU^VPiWit+ z8+B00RdH0~6|AgoD@@G)T4nok0&TcbRB@H8v)Rd0DNEQHvxkEzCBjAejgnb780=Bw z%>1gVI}8_g1Wrwb^0`=%#5rpa2P5j-AeECwB> z%X-6XS!2qt8WyV^m8nNBaBP%V7gq(erGNDgu@o{~wH1?*jf}nkh6U~%G)`K<0xNe9 zSuBp*e@$VnG@tAMo{Oz}54#^<9+P9wM{_c z!;P1Ug>ge6L(2+LAZa&)?ikUvq;`S)UO_ZrpoGNk^6#WHx zfCddxnqqzebNugAih>rf-~RnY+XU$QMfYFVcoRC^%z2xk!|8$}qxmN8T>XJBG`_eT`!&-k;%bulhhJ+ycmL#`F>5T0F%N^lT=;R2=)5@<#1Zs(j?ZG z^ByJ|pqoEre%j`J(ayc^3+e}W(1cqVbJ+))=iH^Ost}=~$G`i2%DSkbrTzHhdCRKr z9#iB?&6dqD51HEIl64_ISZ(|?F@Tc78SaSv{2Qefw!MNv@7MVyFI$f{yKRiIP;;UI z{&t=S!F^-t%TQs3)xPV$Fr}oF9hq(;u%**_vz>99ETQ`!vt9pW6*F10xEwr@YdUk$ zsABi;*y0bH2Kpm$8gKaH_PM2xo2$CRm*Rzr-PGeWT(Bhnk+J>+Ezi58++EvHEYY&E zWxtdUX$%dd0$Bb+J_;iT3#vf>6K=lnz=gA&DLlZRM_}o0nV|8HJr5&P^lf$SyR}4_ zQq)uw^sHYncw%YN!-U;<3 z3Hz%Z+pxmlGK<{e+4ML7iy5K%VBXa0{f|NmEg3ftZn>OXc8NsbEQy4ySMT8(dv`W2 z`eiA3Ib{5V{Wv;QX;7$YXc##oWET{77_l?we)gQmAJN!k3zlHLZ+#rRP?Gg=SA#A& zBu$ocQG!3iSypHP8IkV-V`I>Xw%!;k#;)F$5-V_v&5D=4DAa(nP?Ff4KuGE^5rth~ zm7blGA=NM#asLT`b0;S*nUI9I@$H4P#FKTVG3Q%Dl*SsLIvo~wXzXAKmXxt5+o z;a;{K>Wx}fxQDP*cAQfWOb5obs7!c?+o1*;%x)Tcu;4FK~g^Xf$Nu3YKVeeqf zAe^KQtrb$H>^tT%f^}&CKI`7npr8u*VeZ+ZguefH zHQi8ci1^HW+eOZol=w&Q1A23=E~C$Uq>)IIsK@1j`9$B!*dS>jZ~OEO_U`T;$NBx- z_hD%FY{!AQX;Javd^2G6-fgqSo#SjPC;2YEbw))zB%3?iT&aaT%QWRuwV|kn-IE;i zaC{$`Mx%Mh@w9rZImUxDLD@mC_gBA-3?xB`&yv4u!X9vg{g zTeGb>nE^>*%!L4izpTsquQRPb4_f=!;9DuOVLLTRlXIjSs9li#haTNlFg$l1QHDq@ zgf?0O@Y|}wz@~o*DR#Ty*4SvfZ}ZimyTDLoIl`f1FtJrRuuXoF0`aTfaWH61%bvUkTQMvqkN!sH`TK59Oc{4A? zld=#-y04tJWI^-O74n?_4^VR%sumb#(s~0 zVIbh~L{}7C4wjd>XtFzi5-}M_9e20sx^K7H>NX`m>Ghak`+TMCu**9$$k0Q`NTJ>d zXGMpuuopLl6#}@~aLq+1MHF;KR|p6{*iglUQGz>z&5I_*<^iUy#LJkl}{(@>1-ifBE?gq9y{V5xC* zkmYv4cwyZ)Vr z@qAfbozXQ8U3qMCe0d0RyQi@x@y9?aqM@csCINjgY$yTv5dHYEDR)!iRpv$xPi?gt zb{3_?Rfsrk=1s?mLYC(1vJvtlGG$a!sL0B4!(QTC&PaP06icurwMtAZKIJIA4>o!= z=c()KQqw6Mc|>e{mt~0AzBk%<0Vn2b#elFTfuSS3=wx?0p7Xy3YWIWewRvzXF=9s? zy<=}*xe_^yeLzdSz!n3W@OeGSbJjj^x~usHBYf)}b8Hmp_7}L4@;Y)Mx6stT(-Yw(PVa}v#`l7Rg(4-T za6Na1Hd4t1(v$@P_#MwDn%0ahj@Q#*!aB#AYhp5Ul1E8(+HiSn2(Ix+Zm7XSiu{#O z({@{7O)+(t(5ZfX5l|O_(dNkF`F6_?k(5RD>~4<6CF;7!VgT70UegV~gd%Z+E|uv0UZaU^(4{Wia$>zt8g`DPpbP5s~V#eS*$itNRZr zRdJ@qZhA}K(%CNO1e{-aa|_AnSyx6NV#o^qu0IUZsv8v5KwEa}grv1S13SBUN=j>Z zVyH4SGlF0qp|u&M7Wb_Y6i!W}nn<_&K%!j{=(>^`jz4XMv$GdjnK2w=_SGfpvMmCu zonD~PIHBD0{`k%6IHAcl^mR+!RA4sWdo1X%f@T zm6@g0m^b}Jt>S3dK_T+Pq3WV6MJVgecZWl@MeI^Y^P%%{D4N}*G&Esqhw)>RA*y+! z9XU!7z}mpb%=XeeJHz7;g@Sh;1dCr9M(&_Nh@E?!uNtmQrVs|C0Fyq?pMf>@eNkzf z=y`YaqTz)zKV{x@Gy5d&`kGxbvA4$XKEA*d(F9=Gk)HkHyHQ)%?#a z1^EW+(iE&OF0oI(#7u=t;bS|4x|RY%qb{X&Nsv_{7F7`chJhG?Bz+WhiP5xs6LzVj z+$kz|O_qlwF2lw_VuPhF9?4Dqa?HdRBW^XQ$r`#HP+ zAZTRXpgY>QU~(?F#|%=eG9X+u_w4raKloFXZL)vFm6hE{)X)rd#`pJ_LGrwFSUQUy z3=0C;W{7bYgH~}oM8NiYyR4qgjpn*5aq^>{wyak;Hmb2z5owjQ5`m3lXpz$=vcUJx zmru?BKb>S&;|;UyQdwXIhuzI+ty>@;0(HARzjd}6x_f4oo`E@BTz)4M(gOQQ0Y*YcX`&rrWKm*&Reuc1UV`QeSX6pd^6}3 z!L_}HyVZ(>*PMmJnG`%aJJbKHq;<~jbs!Y1)?H1m(hZ}>e^ z9dARgH9Otj#^*P8 zY(r|1U-SHoXtuFl?^l-zFekp+@M;{K$(}DFxE8&mV~-bE))t<_Zs&Tow>cG`k{x0Z zEl%GZrY39(3JM58HI$9-QDTn&PoOF6XD3*sCXg5+J}{Zaw-)dtZkfzAH{j^XDBS6 z+FF^A4Q`07Rx4piOi-+ht2DDul!6tZ<=o+nc!JUk%%S2#rzAgJ(3yT0udjI6iNyt{` zJ*;=1KkGQx?EZTCzA`7^&Sagygm!bEfWTP$ANt~tN7ovi>61_~HvwHP647gWOr7fQ zKT~)lS`(Rj+RT^m=cG$$7`15yW>8ZmLTO2Y|RDkZun{(=+8Gpnte5M)J^H*T#2RNS||FAvT;#GO-L$H za44T(RaA_dts;s=Xri|zTQx!!YQTfu$ZX%xTxox1?(>#{^EM>OSAc=>(f@7@3>f>GVZ17%^(S;gBnf{`fM6?w^$f~gGiU;O!4*22Xm7p?J%h~^^s0$rmWZ3`p`BwS z2Db8AO4O+yV&I*wwP0tI?+1#0i;Qw-O4evtk z#kwiqx_+w}r$Aarqtg@Bjz^oNn5@Yq!;2uNjgQz7oGE#sXb*})TnYK8O-35r9!3cX zx`qqFRL7D{q1iRDRTt_FS=HIbFiTn3i6?19Hlf|SXsrtD%G@M_s0J_OU*L|TuuV^DTc+~XT{j%HL<)h z`#(i3uaCOUPoEE5p_o7L!$2v4nQ|H?nKH?X#gjyWUqaY==n%a>KM^H~d9`-Io!SS0 z4zK+#Sdt2Xw{ZAv(f?jgU;@POoj;{l)cV54kuS$Lzq#_Rj8@!(eijT&O%``S!!!Si zPyQWK3Qi(kGUkR591nJRK*C(isHg?oQAubO2-_AU5AZ3G8jm1R&xWW*#wjdAkO9vX z=4_{%Oj6GZPQ*L{1XYPltZdo;f>aevX@UqtN!gT&JE>QWHK)+L?EEU|<3eht@44U; z8gRL~d&+oI&1!RVbJOV1-nMRAR`q~0m9ZTXh9~?5v1TY7+c-!c&+8mxcG)Lpmb#d?Py5Q%w)q2a>uoiJ+N~4zt zTK~|rg5{`TClza<5EqL%;qWz2JlB(Vg>o78Z%twL?^g8m#MK!HjC;CSAk^Yl>O?__ zg}8wK^E(BeL46QW@lN6T)Bbbv`IG$X73w)mH#c*&NS1O3nmu@`6h`-b*nXwQL0#BCJ<$E(Y%P8%&}YgRTOS>t=zpeek}ub zi4po_k)Ia;gIUPQ*$PR^FucSe=cD}lUlb&(L9e(;DnqJ8ax9#r5&g?nOCDT-eE37I zR8V#sI~a*Lw>5p9<%AaoR2~8MLr0&FoNT{0b(oUOB*!pXqy2Qmr@hrzzWfqW$yjUG}tC4{_mkFWEXnnDojl1EVNQm@dyk)#vT15w6c)3BRsjc3i5#Cc!-F?TtPH=kg8m0EIFma+-TrvQd$y^IAH+~HB*xtp)@bb11)m}z76X`!Ll^Bid)4x0hdN(^ukLYq$ zUs6+b$;1WV6qt=+BrLT4qGf-mJ!cm6ytvUquB>JOEP(t^Shuv`RT*uct+ap!xiN&G)s1VI|m`d8?*#i9I z4mL_LBpZXbRjGTV@4WBN~37PRtys^0&SAmWHM)J$0y}^hmpCUap8`N*TUdRxAvphypo+ z#7A&1cv>rWGHMv4VQQ24-<&`Kf@CW$hxLv!n?#q-Fct}-XqzzRx2g?cv zX$8i)UZfw{7?(y6Tf{AHtghx^mJ>%HADN)8sEv|$mkdR$a|PsD25Lx+3>d6fQ}9{$ zeEZAd>NMcJsbF8KAt19L>y_bbbRNUs^t|PL*<=?=1#OXWH^V>h;>wrKq3;4Q76E4T zkXltc*zhJSG6@+)0-)^1O`l}h1ahsfs7K>};C7-i`O6Dp{Cy_kWnGQv1Z#E+(5{Nk ztCaB4B{p|gUpCiNJ9mGrL`dfQ!KGR^*6aF8&-F1cM9UZrBI)IX<{ZZDXh|W3$J5;% zFG>7Ke3d)Dj%e8@C=!gw8N>|!`s1H@EDp>Fk0xRA!e|f zyvlrU#N7io3D&VfRRyYMwb8^uF=@{{@^o@rYa9t`BW*0gL!YsF6;wF?^cSD)$u~LZ z{vSCwo@W9ln$oGcyeUwnZ{&?EBO9wlmC*4pxw;~lOzF3=n+S(5RE?N47ed^JgL*Fj^pgS-OzzB+nEhV{A;J8Bx?{S^B>4{ms($o#52q zmXQK~yNh&Zy2O-jXU@e1&7(`ubVWE7_!w}H_YHh_?JVe>8sv6H1>A-oE?b+>suOR9 zbdKt{e`S8Kx%FR1?2h*K02EPFVm(qcOjU#EgI$Oj!SQ#*_E4A64W6@xlZ`2>m>LML z;cm%xg1yUwQ?L1xoBQsyKE=K;KM(bgZopj%f@`6xf|w7nG=yf90{$@*eKibBrxbh; z09^FjMLLGWqC_i|rxVv%fc=PGYv#Q@((aT}KfzBB;pgA^v%xY>46%_P5R!2!DN`mF zgtrgl5qNZS_S>6KL-$~{q^g6T8%d_ZU0hkm=?O*WHmFZiELeA#(U@(((!qw|MX84- z=r;f2oaU<=xtwLz!yaDEX86!$r20yz!4@PZ+k_%^Ox9Yg!pxb|NQ#}<{c88b-9gSd zfa)L|Zc0l$#EY+3b#8YyVuVHBlTSwHAS|x+4q-u#>Ce?NmTinluT4Uhr?I?=_u0^2I zdyD#DCj#^30}bJOK0(NrATuFomzweS$eOKMny;C>_YIgmEWo_;=8Sy?8<(ph^9G#~ z97n{_+F*Y?4ZG5G^x{Ia^&oNmaVXB@FGyQ8YJ7B?j*5DW^c>Vw`g5%r4O|kk%rCX- zf0sNPNjGg=8lL+}EDo`MJ*g@+822ZCtl#FVWtouuK>Y0w!1<0~s$kD~oR z$M*kc0S;ZI9k@oT8n4nm1S{+jIKoJj%@z||4J{=dJvk2ymz=7=S&=tZ=4a9fu9Z!? zi1Wp)V_K8Y|1__+63>LvgK2=mM1+b&cBw-;AeU9HvdB7mLwdaU7MVTZFZ@LvxUaDD zKL9y1TU^1iMT5H!Fu1!1cNiGl-QC@S z1%kT=cXxMpcXxLP1lI(}W%D9|rx7iX z_C{nH(JnQ;;Z5^D{}X;)L3GOB(i7%)cy+i=lks*4hx2;0gf<}8DHTvYFhH=s)s3!6 zO8?7TNwS55G`Et%B_2+gUf?6}PWb&So>W-#rTD~%h0(-iZYhrwt`HqTpb7S@i6R?< zG3`vC`~0HZJ+dt2c{r)?Tax^vTX*5Lz`e3RxK5}Pzu!i+Oc&k}LD~>N4n+jlj)+%x zN|c$AXu`9p`s7{6vWUt|_xdXjAVfvA8h*PGMQJ@FFQ|BiLcvmHiDz#cQH@@fZw)O> zq(o)ep3bh%85||^NF_E1t!K#QrmqleRBxv{OAhXitDjrD9xKQL>d8fGVBM`V=TACy zs;(gqAx1NecpV)fzP`clP9PizX@BwKi}gIg-4lNA8}snkbErD%)b$s!7z^o5x`>h^ET|MkX9CV&J@B#u;uC} zB|~)cAsqd>uE_u6*LA4W9kNgeE6jGzsQbV`2l+3TQSJ9LeVHi9!R%aQe(=wn!x(~=k5 zgcri=`qiziqT&+rKmF6-HbjfNkzm{#wKnaFsoud{YR$+5WtqX7ia(&|z}o`A(&o`= zzSNiDJ%A3&XU4E>2+nba$5?@11aS7fvXKpZkp1A0<}5ZUkt+K z1(bUss*$ttov%#x6CW4gcm7n$OuvGBfRT`=buf*!L0dO)r?EF^&w^i+N5&UTKT^@I z=C$7~dMsWfx7aGDmfejw(hnFNFlSs66Xjg|{7olI=Jl^G z+U?<>AGE6`8dsJ8et--?i6e}c1Lkjts^ji!*;jF`pq?O+_Bw{(OjW7Yz;&c}fR6)P zGhswj!Nu(XkbQG_IB~@%y9C{XEtxy!{9QXF1JSp(YX8h@RwAVVQ=$nJgfW=&yo3*` z#&eRaYGO#)8oZ^Noo@^kEzz4&{i1T+UW4N@f28L&P}ljm+W{jhBlAJ4h%-gio8~XbVv^MHT2rckUfxWai~fb7($n zj3S0LKpQ5g37=aYgwD~&;MeqOf#avx#>785`j+i<#u^RRW&HrZ>k{UV+^bYKc2ujm zL2O9O^CA=ET{z4i4@C|)gY$z()9?M)y)M%UT*RFR?(FU1`+XmZPeNG+vWD5QgVy(a z+6{#$@^ZyA^aX~|obEK!8ICB?cmNiheBR5KyI~BzMKI);Jxo*R90X$yBCMpl*7$~u z9~^T;!(mdjfF(72dIN+#1!YB6U91(Ig*Ckq$AnfHQgY;6c1ZPNj-Vm@XwUN&`lwno z>zKe{!s#N(EBnr$tK5GBDZ^h-g4dPSW68#o>4IVE8G*&v2)Nm%d)STwyrIjKqn)xw8D%GZh{H== zyi1g%f>uG|r}Htq15wycf%Q%nl@lTMnoHBPSP5hy%2q~3vtoxOl_y8gb{tnHrY_n} z@J?B}rR)dGWYIyODd6)k27#+~w4B}Pupu)<2YK`*1NH*LMhi^jSi)<;b+?0GTyL*? zzP2S zf}a!}(6lMU1^Rj|Qsk_F;#2I>iF#U-37`!;q#L%ulnQDyc||>|!d|idZ2KaGMJVVD zC4zp^7(Vg3Jlsh9>}X=ghzAehW&&U$Ej_*){NJF5^5G*tw>PcMuSF*tB0s7CBFig( zO(O7-`{y&@SWU&qjdI#4X3$~9v(C^X)Wmv0)&NS`m#vD7^QKa_s99T%rtgZLMGw&^56mY+-S{2Uj#(bDIVa$z?tE)r?+SMA zViz7q8Fhj8RR&N1uF0E&Le|TkjG7FVHqVNHBXTx=i~x{@3ltjrP0Nd3A2xqVajt&a!6y80(1Dkni0g2_=Vy$)qf|D-u*jEC9S~YnRE`j z)Jrtk7boy_0eQ5XY9Mh*T75al<>vTlX37f63Pznt%+M5gx;eH9+OWp;m+i z`+5jho0su65G`mJAjSd#iD44Jws(7pERp!9_`gf{$sv8ZC@5n;lTNuM%Di>3jrp*< zXnBX_*#M#d74@rdQ|6+HTHz&{X&5BJlyFyL1yy7N=tm_s*2;k~pbAXbXpdQVSp3i) zBs!i6hsY2V#2LN}7KN&Bzi0c zFt%NL_AY~fP|YAiwO#}FNp;mYqnZIm)fpCGS zObLd=#gf*9XM?a)-XjF0;MMA1ik?dEwH$2GYyMa?@1`SR~jzC|*fZK;}1AKj$&`OS^z1Pwq2QqOO9wafP z{^WW2EjelwHnkK|n;P#JVOmjOrV~y?OUwW%&(zT^o^0SKl@T3oce z|5x|{uB$EQr%QW+l-9$X*cyBMAMy#8*AL+kbTbGxCAO3VHi2Yb95G2!5J5gF2biZQ zG**OM=0I?Hn$BdK%HCgs-%ON%EXUKVx}YPdAvj#j9?fQt{AJGqd%&5D`Ryno)`!gJ z4mkx4yV2huwo5NL@(!`zIhF&KL*s8A21hS!$u6=p(UTCA1KiZtsa@1&n6n>%hH2>{ za-%iPk8MXupFas%A?vV?K4L*0zTKG3G|S6hG5FHRb^CFUHPbTL~={*>5IaGwC0|=X}Ra9uLvzo?la;izwCI0zEQDpQZ)mfiWGDVjnroMV0J}{Z zPPqDcT0!ig3(k2K4)d`*mJ_R{_rVLmiD!IV?9;_a!2LxlPcbC&E5wtGMW>pD8B={k z>D=VB^JtmbK*K4+xC{by8IZtB7^|8MCE&@-LQZoK#b32Z9`e)sM!k&WXig=JTfFr3 zoxRm*_1mde3szlcC!+O$;`N2=ds4_BOje}d{Q2&J$UATZxdHmBMcEpP0|U<@?g{%V zu3b*lruRQBZD*Yhv29m~8nu6&g{vb=6aY%GVwl6C z>rAF}rYhcKp3aJyhf@3|Qn>n^`;Y+zzm(d)>~BEkj^Bc=reVO`_TzFX4Qq3hr{Nkp zG(EKtTmgsSoyh*k>ILHXa=v0zi>h!dZ!V33U1PSWVg&57IN?by@uB_pP~|j+bitK( zC}_)ks9<}8MW@FN!ph%AauyKrqGR|q+!8jyt|&Cx`oVO)|Jg+2{3kcu(T|V%TFmT> z=C^>+6?8wTSfI#p%>gCKJYhb@XKPg4pHkD(prCxhhMFkYBdRYFzob!? zs3V-d&Ha#Sitvj_?k#PpwkBW1{#;k_e$xCG9a*QvdBn!Qj)&vT>{;t;do!k^ZMS0r zA)6*k1-~p4f=hA!>rSPCdxE_$-MXw#0pIHCP;pY#Eh@r3kT; zHhZh_oRFm?2b;6%B&UNumvx{3LxG03+9o;HwJEx|8U#fqdLD6Sm*Ofg6){|=ho-ge zi!Qt|sHSTeN~EuHmpq+XhR8@q_j<9%ZBT^q-6ntk$YCTgJDPoG{ysK9IZFg3za+#w z5QME(Ai2J^ZT_)S4ZZ zow(Xx{ehyWF(A-%h~nq{z_7oGdlQ5`b^=~HfSUm7H+C$Sz-S5cS6!l8-$_M(w=}8% zfy0!JfNf&-`!JExJ_S+0UXZ!Z3zyXv)FYkM$(-K7hp_NW>Bj+^MQQLcHFW*)+(+6w zT;*0<@4$o1(7Z33_Q`nGVF&lNG~xFjztM<~Q-3_ethk$|WirfYSBn9}&_O^ELJ_7w zo1o&)jiTT|TG(6MU%kg2hn#gweVHGj&i%ew3u=Q{1{;xk4~!okhyPR)O~zdz7iSE` zAm=SW0EMw`7c4-`a2hLxZQ+D$v-2NC(OGDRmy&|VVBBNAimbcj#JbwiZUvh5!zVOv z@o2!Btkr=t7%*kUqO252S#j3xC(;E@m(bnAz}5>OqMx!fAK&e7KO=&6BK*_lt~^>8 zBr#*Xn;J^-{WklJ9paqVe3pUpu)H##w|or{r zV9Ir(J&f<@N^GmkaP3@+9*JynlIaAE+2v|LHfxJ(tDR7}Qr&8bHb?;6f`y|yAh$WU z%Qx8V*ARo2>NS~ZFnD439T33?4Z)Hb9OKKpX>a!*)C_e6Qgm%VF+B_VcPs_l!o*}k?H&#fk zQoWcPa#m#0#hNr(Kx4^p�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%0A(Ur+fB zd#`uzt{X{wlK#S8S=6{R&~pxf4{N9<)DiD<($P^OGCC2IuG8ou*S0|4G-r?|YD+VE zoDQ0RG875MsO`dbN?Ne$ctL_@D6%eV&BPz5h=+2Ycq!B%$h@S2Kszm#IW`AQMR8J~ za@(uzK*v6rPOw=w3yT+`>+0GKN9a%G$1i$ z!fb(-EJv`RKV{HdFccS2fneVbFbHG?jbR9>y9P|GfNp?A>#!EQvo)O&PVV=FE+B^H zvEc#2JB9Df3_4xW1X%`hNLGaHC5|=8<#B(;MO0$S3`ysEYb}YzOrILLNO%vT+29WS z^)sAreXSPW_1FDi!ELtl9XD%NS&-CmL?B>k@BGrYKoEpve#+sYFNSd3c(vKvBLO=4 zKvn7;4bc@mn`Q41&&rAsXe|o3vl!I1E3f zv$*jRA#y$79W@Jyo+OU9#dKXNAT5@t36~%UVi8X)-syvbIW8Ov8m9QH+DoCFL(rpy zQO1Mj7fav9I_!Kr&OuZG&7vbX`j-QWFxGS2GDOd+3>F&j*t+A^m++#Av4tq$S2_*K z5?|aIfTX`9Qg)D}j6_g&5JC4+Z27&iijCPz`8%ir1<=89aX?#psmnA14&y|^?L-h1 zF&eD+NI@{_HcA|VR)~aN5Xh4RW6OyIa0~lUc3nIKXx?4$a`jjEXEqpseQ{7J=l>9rR$i+b1Rt@AmV0tl3tb>DDa zSS}tFNQ(oQ@e{?N$v)nh?iOAaz7fXU_Sk}+I~=r4eerZwR-W!a1OgWfBN!Y+T!~UE z(>_I>;^I8$Xbo=mql^5e8Kvl;(}wG7XN1vN7-F=nHLm*SUjChq(-DOhlsH)$*|<(< zijNca85h7^EWrw~1niu1FNMA$l(NzcV;5)p7Su#~D>d_@02d5w;zBX8{R&#!8I;PQ+ekunK9s!R<3U zb6&o^>~8^gCyU{m-P4qbnb2`*Qm2_p`*}-2wut$dfNR(d?jXzUP8M{r_i;G^?_Jud zQ`fu_y9Cw%w7~Z()lp-fD`)6^>*lt~UJNVUwX4VCvZQh7SXoqYh!z%j!ure)MG}YL z6Nm5yOR~=a;MyKZhej8(3X!MN;;M~oSvt{&1Nj5 zu5V|HIXViUx?diKek^K&4^#t(18Zvr-;z=4ZN{_Pyhal-{z-0V2fD zS3GzLe<@wS0)#^Gaz;bmdjI7plp%59lXMhb~cX-;c=5|+X!R{Q%XH8pDj5h9>;t|TbJs5$x zl&Fa_K6CTt!dChq5tUG?8R}_csJRQu>d6Ud0$Bab(y(k~%GPX(tS(KS{0W3CqW$O9 zy30$^tJ-P3;Ln;@27)9(_Og4K^nS*zd-0tYDf4?@6vf!u3NTdw!pK3O69Nn+S%iRq zYGl?aDJQ>I8Zc0bUlul3GZb2s+xVS7i_J0c|x)5UtAwu7;c!MQPmH zX~y`n<$MM~*GZ_B)Z^n|dgk#TBZIRk7Zguc-e~9{A;_fxw+wM+X=-uAS1YF8FHA-(KCCzhw+t9iGfK4E3Gz5L(4` z zn>`g4!b3aFaFB55WD*HD73_Bh^iq_m@)xxiLU+`zZj-K(j#|vT4v^2ZHkrKa%618S zi?EHzMQ~&NoK2t$moRf&u^{Q2DgU*EYc*l;7{u}Pt^_3~x+3rahVprEfO<4wTl^5h zrJ#5)yI}R!{vZ!2)Y{@H$gjm_MZ22h-wK~sgdFTj!>WPYxl73w&6q=|h+zV8w$X9v zX@^YU0nF%MpmX?M;<)owE_4$K0&FcH_CiRs2@o;7NDp>;!cy9E7&M3>$gRE=^S`?I zg$@+;C(&saG)X1*)=3k6Wg+nD7I?4q*A_bR_}*g)nlU*9ZUj?C;z=T-As68a`s^d6 zO)?KHAwCp5E)-wiq*Yhmv_Gw_UcE507dy=Pps{Dg`i_%_$`(sdV)cEjJ=p3e4H=JG z&>z1%NcW0u%z8x+9pzIDJdTiF8Aw5iH$C@5k4`~d0Jd-`{9fqZpEslzl$evcw2Ei9uXY@-PqxHm(zX(EzD)w>E%s33LHB|IPuVcbkAbWLQ-{0rV;2I> zw5Wl?6FWhj$naS#<`~>2eUrFQP}Ry-PB%-MIX0-qj;IkKJ7_&GOt|7+orT~@OMs)X zleIXjogCK{T`_$8(@bvW`vHaUmOt2-4+60ODlXze0E@`XJT!TQb>< zCIM%rpl@;ZK-3QYLaQ`_qa$;6NN1UgNA!REeSN;;(QYuTzd3Pd2D8m_!9do>*{6 zC@FHR5?GAEdjfX;2l!PP9=I<#@0chT-bA)W)e@Q>9`n9>dV2K_Q8G{FBY`GQKlHAb zxu+$5FYLZv2K0f68?SmD=L@u2MbLOK2W4Op3-l1a2Hr7)or=geU+Cvsn?r2H`Kg&} zKlzaQ40K%6Pq31s*^`G7K%o(dJV<*lKZ-vN)LuR0ZS7?Ju8}lUBz*zD%59@XgrbvF z=~nfR+PbQ3!SGmEZ7WV%gU^kbUz%(Zhnz;o#&PqKGt*I>KC`Q!DiVZlom+#BKI!$N zjRvu$_y2tD*x6J^kRuJgFyblrh~gfdoRT@X{at_QsB(9~C{C5brBLGKa z{B%XWeD@bULwlaE`p5u@1FeA|&bX;@}-ss1VJTY{wqr-5t)`^yYbUB$SiG*F?cR(j*Z>~*oBCX& z)1n5@DCKmKQ^EhCINa*$YTe`Hflx|jbz4;VR&dVXCf>G5_ z=y)KbwhwvWFBI|4Jwt&8#9ggkf5NT6hd`j9KgpzApfqSK`Kho6UoIOK2nQQJYdn*v zcwKl)vu_x{&R65Pv%2H$^>|R<_7tMD&f^Rdjz&h(f`$g76c?vRVDpC|-nf~Wr1&g8 zO}y^P9V%AbGxXIJs{7SqySlqk5Lx}8jc8|hYw>!rDfL~HX=5SV1It8xO#`yV_(lR=i+m5*WT06TYD`!>Z|3NRUZjkFSjMzrE*w>XGAHzU?eVT!Qn@H*Nt2(nR!h>m??GC<&o+YG*04 zVZk{Ft9?4~!Q-Q!Q3dv`c?A|%W65>V|7Ak4b$8)s>K4?qqK-nnxT6NmTI`OCZ8%SC z{YXn&EWc05&W>4≈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 literal 0 HcmV?d00001 diff --git a/public/qa/tests-global.js b/public/qa/tests-global.js new file mode 100644 index 0000000..ee1d7f7 --- /dev/null +++ b/public/qa/tests-global.js @@ -0,0 +1,15 @@ +suite('Global Tests', function(){ + test('Toda página debe tener un título válido', function(){ + assert(document.title && document.title.match(/\S/) && + document.title.toUpperCase() !== 'TODO'); + }); + test('Toda página debe tener un enlace a dpa', function(){ + assert($('a[href^="dpas"]').length); + }); + test('Todos los enlaces deben tener destino', function(){ + assert($('a[href="#"]').length === 0); + }); + test('No debe existir código css inline', function(){ + assert($("*[style *= ':']").length); + }); +}); diff --git a/public/vendor/chai.js b/public/vendor/chai.js new file mode 100644 index 0000000..1d30296 --- /dev/null +++ b/public/vendor/chai.js @@ -0,0 +1,6142 @@ +(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.chai = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o + * MIT Licensed + */ + +var used = [] + , exports = module.exports = {}; + +/*! + * Chai version + */ + +exports.version = '3.5.0'; + +/*! + * Assertion Error + */ + +exports.AssertionError = require('assertion-error'); + +/*! + * Utils for plugins (not exported) + */ + +var util = require('./chai/utils'); + +/** + * # .use(function) + * + * Provides a way to extend the internals of Chai + * + * @param {Function} + * @returns {this} for chaining + * @api public + */ + +exports.use = function (fn) { + if (!~used.indexOf(fn)) { + fn(this, util); + used.push(fn); + } + + return this; +}; + +/*! + * Utility Functions + */ + +exports.util = util; + +/*! + * Configuration + */ + +var config = require('./chai/config'); +exports.config = config; + +/*! + * Primary `Assertion` prototype + */ + +var assertion = require('./chai/assertion'); +exports.use(assertion); + +/*! + * Core Assertions + */ + +var core = require('./chai/core/assertions'); +exports.use(core); + +/*! + * Expect interface + */ + +var expect = require('./chai/interface/expect'); +exports.use(expect); + +/*! + * Should interface + */ + +var should = require('./chai/interface/should'); +exports.use(should); + +/*! + * Assert interface + */ + +var assert = require('./chai/interface/assert'); +exports.use(assert); + +},{"./chai/assertion":3,"./chai/config":4,"./chai/core/assertions":5,"./chai/interface/assert":6,"./chai/interface/expect":7,"./chai/interface/should":8,"./chai/utils":22,"assertion-error":30}],3:[function(require,module,exports){ +/*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +var config = require('./config'); + +module.exports = function (_chai, util) { + /*! + * Module dependencies. + */ + + var AssertionError = _chai.AssertionError + , flag = util.flag; + + /*! + * Module export. + */ + + _chai.Assertion = Assertion; + + /*! + * Assertion Constructor + * + * Creates object for chaining. + * + * @api private + */ + + function Assertion (obj, msg, stack) { + flag(this, 'ssfi', stack || arguments.callee); + flag(this, 'object', obj); + flag(this, 'message', msg); + } + + Object.defineProperty(Assertion, 'includeStack', { + get: function() { + console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.'); + return config.includeStack; + }, + set: function(value) { + console.warn('Assertion.includeStack is deprecated, use chai.config.includeStack instead.'); + config.includeStack = value; + } + }); + + Object.defineProperty(Assertion, 'showDiff', { + get: function() { + console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.'); + return config.showDiff; + }, + set: function(value) { + console.warn('Assertion.showDiff is deprecated, use chai.config.showDiff instead.'); + config.showDiff = value; + } + }); + + Assertion.addProperty = function (name, fn) { + util.addProperty(this.prototype, name, fn); + }; + + Assertion.addMethod = function (name, fn) { + util.addMethod(this.prototype, name, fn); + }; + + Assertion.addChainableMethod = function (name, fn, chainingBehavior) { + util.addChainableMethod(this.prototype, name, fn, chainingBehavior); + }; + + Assertion.overwriteProperty = function (name, fn) { + util.overwriteProperty(this.prototype, name, fn); + }; + + Assertion.overwriteMethod = function (name, fn) { + util.overwriteMethod(this.prototype, name, fn); + }; + + Assertion.overwriteChainableMethod = function (name, fn, chainingBehavior) { + util.overwriteChainableMethod(this.prototype, name, fn, chainingBehavior); + }; + + /** + * ### .assert(expression, message, negateMessage, expected, actual, showDiff) + * + * Executes an expression and check expectations. Throws AssertionError for reporting if test doesn't pass. + * + * @name assert + * @param {Philosophical} expression to be tested + * @param {String|Function} message or function that returns message to display if expression fails + * @param {String|Function} negatedMessage or function that returns negatedMessage to display if negated expression fails + * @param {Mixed} expected value (remember to check for negation) + * @param {Mixed} actual (optional) will default to `this.obj` + * @param {Boolean} showDiff (optional) when set to `true`, assert will display a diff in addition to the message if expression fails + * @api private + */ + + Assertion.prototype.assert = function (expr, msg, negateMsg, expected, _actual, showDiff) { + var ok = util.test(this, arguments); + if (true !== showDiff) showDiff = false; + if (true !== config.showDiff) showDiff = false; + + if (!ok) { + var msg = util.getMessage(this, arguments) + , actual = util.getActual(this, arguments); + throw new AssertionError(msg, { + actual: actual + , expected: expected + , showDiff: showDiff + }, (config.includeStack) ? this.assert : flag(this, 'ssfi')); + } + }; + + /*! + * ### ._obj + * + * Quick reference to stored `actual` value for plugin developers. + * + * @api private + */ + + Object.defineProperty(Assertion.prototype, '_obj', + { get: function () { + return flag(this, 'object'); + } + , set: function (val) { + flag(this, 'object', val); + } + }); +}; + +},{"./config":4}],4:[function(require,module,exports){ +module.exports = { + + /** + * ### config.includeStack + * + * User configurable property, influences whether stack trace + * is included in Assertion error message. Default of false + * suppresses stack trace in the error message. + * + * chai.config.includeStack = true; // enable stack on error + * + * @param {Boolean} + * @api public + */ + + includeStack: false, + + /** + * ### config.showDiff + * + * User configurable property, influences whether or not + * the `showDiff` flag should be included in the thrown + * AssertionErrors. `false` will always be `false`; `true` + * will be true when the assertion has requested a diff + * be shown. + * + * @param {Boolean} + * @api public + */ + + showDiff: true, + + /** + * ### config.truncateThreshold + * + * User configurable property, sets length threshold for actual and + * expected values in assertion errors. If this threshold is exceeded, for + * example for large data structures, the value is replaced with something + * like `[ Array(3) ]` or `{ Object (prop1, prop2) }`. + * + * Set it to zero if you want to disable truncating altogether. + * + * This is especially userful when doing assertions on arrays: having this + * set to a reasonable large value makes the failure messages readily + * inspectable. + * + * chai.config.truncateThreshold = 0; // disable truncating + * + * @param {Number} + * @api public + */ + + truncateThreshold: 40 + +}; + +},{}],5:[function(require,module,exports){ +/*! + * chai + * http://chaijs.com + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +module.exports = function (chai, _) { + var Assertion = chai.Assertion + , toString = Object.prototype.toString + , flag = _.flag; + + /** + * ### Language Chains + * + * The following are provided as chainable getters to + * improve the readability of your assertions. They + * do not provide testing capabilities unless they + * have been overwritten by a plugin. + * + * **Chains** + * + * - to + * - be + * - been + * - is + * - that + * - which + * - and + * - has + * - have + * - with + * - at + * - of + * - same + * + * @name language chains + * @namespace BDD + * @api public + */ + + [ 'to', 'be', 'been' + , 'is', 'and', 'has', 'have' + , 'with', 'that', 'which', 'at' + , 'of', 'same' ].forEach(function (chain) { + Assertion.addProperty(chain, function () { + return this; + }); + }); + + /** + * ### .not + * + * Negates any of assertions following in the chain. + * + * expect(foo).to.not.equal('bar'); + * expect(goodFn).to.not.throw(Error); + * expect({ foo: 'baz' }).to.have.property('foo') + * .and.not.equal('bar'); + * + * @name not + * @namespace BDD + * @api public + */ + + Assertion.addProperty('not', function () { + flag(this, 'negate', true); + }); + + /** + * ### .deep + * + * Sets the `deep` flag, later used by the `equal` and + * `property` assertions. + * + * expect(foo).to.deep.equal({ bar: 'baz' }); + * expect({ foo: { bar: { baz: 'quux' } } }) + * .to.have.deep.property('foo.bar.baz', 'quux'); + * + * `.deep.property` special characters can be escaped + * by adding two slashes before the `.` or `[]`. + * + * var deepCss = { '.link': { '[target]': 42 }}; + * expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42); + * + * @name deep + * @namespace BDD + * @api public + */ + + Assertion.addProperty('deep', function () { + flag(this, 'deep', true); + }); + + /** + * ### .any + * + * Sets the `any` flag, (opposite of the `all` flag) + * later used in the `keys` assertion. + * + * expect(foo).to.have.any.keys('bar', 'baz'); + * + * @name any + * @namespace BDD + * @api public + */ + + Assertion.addProperty('any', function () { + flag(this, 'any', true); + flag(this, 'all', false) + }); + + + /** + * ### .all + * + * Sets the `all` flag (opposite of the `any` flag) + * later used by the `keys` assertion. + * + * expect(foo).to.have.all.keys('bar', 'baz'); + * + * @name all + * @namespace BDD + * @api public + */ + + Assertion.addProperty('all', function () { + flag(this, 'all', true); + flag(this, 'any', false); + }); + + /** + * ### .a(type) + * + * The `a` and `an` assertions are aliases that can be + * used either as language chains or to assert a value's + * type. + * + * // typeof + * expect('test').to.be.a('string'); + * expect({ foo: 'bar' }).to.be.an('object'); + * expect(null).to.be.a('null'); + * expect(undefined).to.be.an('undefined'); + * expect(new Error).to.be.an('error'); + * expect(new Promise).to.be.a('promise'); + * expect(new Float32Array()).to.be.a('float32array'); + * expect(Symbol()).to.be.a('symbol'); + * + * // es6 overrides + * expect({[Symbol.toStringTag]:()=>'foo'}).to.be.a('foo'); + * + * // language chain + * expect(foo).to.be.an.instanceof(Foo); + * + * @name a + * @alias an + * @param {String} type + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function an (type, msg) { + if (msg) flag(this, 'message', msg); + type = type.toLowerCase(); + var obj = flag(this, 'object') + , article = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(type.charAt(0)) ? 'an ' : 'a '; + + this.assert( + type === _.type(obj) + , 'expected #{this} to be ' + article + type + , 'expected #{this} not to be ' + article + type + ); + } + + Assertion.addChainableMethod('an', an); + Assertion.addChainableMethod('a', an); + + /** + * ### .include(value) + * + * The `include` and `contain` assertions can be used as either property + * based language chains or as methods to assert the inclusion of an object + * in an array or a substring in a string. When used as language chains, + * they toggle the `contains` flag for the `keys` assertion. + * + * expect([1,2,3]).to.include(2); + * expect('foobar').to.contain('foo'); + * expect({ foo: 'bar', hello: 'universe' }).to.include.keys('foo'); + * + * @name include + * @alias contain + * @alias includes + * @alias contains + * @param {Object|String|Number} obj + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function includeChainingBehavior () { + flag(this, 'contains', true); + } + + function include (val, msg) { + _.expectTypes(this, ['array', 'object', 'string']); + + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var expected = false; + + if (_.type(obj) === 'array' && _.type(val) === 'object') { + for (var i in obj) { + if (_.eql(obj[i], val)) { + expected = true; + break; + } + } + } else if (_.type(val) === 'object') { + if (!flag(this, 'negate')) { + for (var k in val) new Assertion(obj).property(k, val[k]); + return; + } + var subset = {}; + for (var k in val) subset[k] = obj[k]; + expected = _.eql(subset, val); + } else { + expected = (obj != undefined) && ~obj.indexOf(val); + } + this.assert( + expected + , 'expected #{this} to include ' + _.inspect(val) + , 'expected #{this} to not include ' + _.inspect(val)); + } + + Assertion.addChainableMethod('include', include, includeChainingBehavior); + Assertion.addChainableMethod('contain', include, includeChainingBehavior); + Assertion.addChainableMethod('contains', include, includeChainingBehavior); + Assertion.addChainableMethod('includes', include, includeChainingBehavior); + + /** + * ### .ok + * + * Asserts that the target is truthy. + * + * expect('everything').to.be.ok; + * expect(1).to.be.ok; + * expect(false).to.not.be.ok; + * expect(undefined).to.not.be.ok; + * expect(null).to.not.be.ok; + * + * @name ok + * @namespace BDD + * @api public + */ + + Assertion.addProperty('ok', function () { + this.assert( + flag(this, 'object') + , 'expected #{this} to be truthy' + , 'expected #{this} to be falsy'); + }); + + /** + * ### .true + * + * Asserts that the target is `true`. + * + * expect(true).to.be.true; + * expect(1).to.not.be.true; + * + * @name true + * @namespace BDD + * @api public + */ + + Assertion.addProperty('true', function () { + this.assert( + true === flag(this, 'object') + , 'expected #{this} to be true' + , 'expected #{this} to be false' + , this.negate ? false : true + ); + }); + + /** + * ### .false + * + * Asserts that the target is `false`. + * + * expect(false).to.be.false; + * expect(0).to.not.be.false; + * + * @name false + * @namespace BDD + * @api public + */ + + Assertion.addProperty('false', function () { + this.assert( + false === flag(this, 'object') + , 'expected #{this} to be false' + , 'expected #{this} to be true' + , this.negate ? true : false + ); + }); + + /** + * ### .null + * + * Asserts that the target is `null`. + * + * expect(null).to.be.null; + * expect(undefined).to.not.be.null; + * + * @name null + * @namespace BDD + * @api public + */ + + Assertion.addProperty('null', function () { + this.assert( + null === flag(this, 'object') + , 'expected #{this} to be null' + , 'expected #{this} not to be null' + ); + }); + + /** + * ### .undefined + * + * Asserts that the target is `undefined`. + * + * expect(undefined).to.be.undefined; + * expect(null).to.not.be.undefined; + * + * @name undefined + * @namespace BDD + * @api public + */ + + Assertion.addProperty('undefined', function () { + this.assert( + undefined === flag(this, 'object') + , 'expected #{this} to be undefined' + , 'expected #{this} not to be undefined' + ); + }); + + /** + * ### .NaN + * Asserts that the target is `NaN`. + * + * expect('foo').to.be.NaN; + * expect(4).not.to.be.NaN; + * + * @name NaN + * @namespace BDD + * @api public + */ + + Assertion.addProperty('NaN', function () { + this.assert( + isNaN(flag(this, 'object')) + , 'expected #{this} to be NaN' + , 'expected #{this} not to be NaN' + ); + }); + + /** + * ### .exist + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var foo = 'hi' + * , bar = null + * , baz; + * + * expect(foo).to.exist; + * expect(bar).to.not.exist; + * expect(baz).to.not.exist; + * + * @name exist + * @namespace BDD + * @api public + */ + + Assertion.addProperty('exist', function () { + this.assert( + null != flag(this, 'object') + , 'expected #{this} to exist' + , 'expected #{this} to not exist' + ); + }); + + + /** + * ### .empty + * + * Asserts that the target's length is `0`. For arrays and strings, it checks + * the `length` property. For objects, it gets the count of + * enumerable keys. + * + * expect([]).to.be.empty; + * expect('').to.be.empty; + * expect({}).to.be.empty; + * + * @name empty + * @namespace BDD + * @api public + */ + + Assertion.addProperty('empty', function () { + var obj = flag(this, 'object') + , expected = obj; + + if (Array.isArray(obj) || 'string' === typeof object) { + expected = obj.length; + } else if (typeof obj === 'object') { + expected = Object.keys(obj).length; + } + + this.assert( + !expected + , 'expected #{this} to be empty' + , 'expected #{this} not to be empty' + ); + }); + + /** + * ### .arguments + * + * Asserts that the target is an arguments object. + * + * function test () { + * expect(arguments).to.be.arguments; + * } + * + * @name arguments + * @alias Arguments + * @namespace BDD + * @api public + */ + + function checkArguments () { + var obj = flag(this, 'object') + , type = Object.prototype.toString.call(obj); + this.assert( + '[object Arguments]' === type + , 'expected #{this} to be arguments but got ' + type + , 'expected #{this} to not be arguments' + ); + } + + Assertion.addProperty('arguments', checkArguments); + Assertion.addProperty('Arguments', checkArguments); + + /** + * ### .equal(value) + * + * Asserts that the target is strictly equal (`===`) to `value`. + * Alternately, if the `deep` flag is set, asserts that + * the target is deeply equal to `value`. + * + * expect('hello').to.equal('hello'); + * expect(42).to.equal(42); + * expect(1).to.not.equal(true); + * expect({ foo: 'bar' }).to.not.equal({ foo: 'bar' }); + * expect({ foo: 'bar' }).to.deep.equal({ foo: 'bar' }); + * + * @name equal + * @alias equals + * @alias eq + * @alias deep.equal + * @param {Mixed} value + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertEqual (val, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'deep')) { + return this.eql(val); + } else { + this.assert( + val === obj + , 'expected #{this} to equal #{exp}' + , 'expected #{this} to not equal #{exp}' + , val + , this._obj + , true + ); + } + } + + Assertion.addMethod('equal', assertEqual); + Assertion.addMethod('equals', assertEqual); + Assertion.addMethod('eq', assertEqual); + + /** + * ### .eql(value) + * + * Asserts that the target is deeply equal to `value`. + * + * expect({ foo: 'bar' }).to.eql({ foo: 'bar' }); + * expect([ 1, 2, 3 ]).to.eql([ 1, 2, 3 ]); + * + * @name eql + * @alias eqls + * @param {Mixed} value + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertEql(obj, msg) { + if (msg) flag(this, 'message', msg); + this.assert( + _.eql(obj, flag(this, 'object')) + , 'expected #{this} to deeply equal #{exp}' + , 'expected #{this} to not deeply equal #{exp}' + , obj + , this._obj + , true + ); + } + + Assertion.addMethod('eql', assertEql); + Assertion.addMethod('eqls', assertEql); + + /** + * ### .above(value) + * + * Asserts that the target is greater than `value`. + * + * expect(10).to.be.above(5); + * + * Can also be used in conjunction with `length` to + * assert a minimum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.above(2); + * expect([ 1, 2, 3 ]).to.have.length.above(2); + * + * @name above + * @alias gt + * @alias greaterThan + * @param {Number} value + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertAbove (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len > n + , 'expected #{this} to have a length above #{exp} but got #{act}' + , 'expected #{this} to not have a length above #{exp}' + , n + , len + ); + } else { + this.assert( + obj > n + , 'expected #{this} to be above ' + n + , 'expected #{this} to be at most ' + n + ); + } + } + + Assertion.addMethod('above', assertAbove); + Assertion.addMethod('gt', assertAbove); + Assertion.addMethod('greaterThan', assertAbove); + + /** + * ### .least(value) + * + * Asserts that the target is greater than or equal to `value`. + * + * expect(10).to.be.at.least(10); + * + * Can also be used in conjunction with `length` to + * assert a minimum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.of.at.least(2); + * expect([ 1, 2, 3 ]).to.have.length.of.at.least(3); + * + * @name least + * @alias gte + * @param {Number} value + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertLeast (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len >= n + , 'expected #{this} to have a length at least #{exp} but got #{act}' + , 'expected #{this} to have a length below #{exp}' + , n + , len + ); + } else { + this.assert( + obj >= n + , 'expected #{this} to be at least ' + n + , 'expected #{this} to be below ' + n + ); + } + } + + Assertion.addMethod('least', assertLeast); + Assertion.addMethod('gte', assertLeast); + + /** + * ### .below(value) + * + * Asserts that the target is less than `value`. + * + * expect(5).to.be.below(10); + * + * Can also be used in conjunction with `length` to + * assert a maximum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.below(4); + * expect([ 1, 2, 3 ]).to.have.length.below(4); + * + * @name below + * @alias lt + * @alias lessThan + * @param {Number} value + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertBelow (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len < n + , 'expected #{this} to have a length below #{exp} but got #{act}' + , 'expected #{this} to not have a length below #{exp}' + , n + , len + ); + } else { + this.assert( + obj < n + , 'expected #{this} to be below ' + n + , 'expected #{this} to be at least ' + n + ); + } + } + + Assertion.addMethod('below', assertBelow); + Assertion.addMethod('lt', assertBelow); + Assertion.addMethod('lessThan', assertBelow); + + /** + * ### .most(value) + * + * Asserts that the target is less than or equal to `value`. + * + * expect(5).to.be.at.most(5); + * + * Can also be used in conjunction with `length` to + * assert a maximum length. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.of.at.most(4); + * expect([ 1, 2, 3 ]).to.have.length.of.at.most(3); + * + * @name most + * @alias lte + * @param {Number} value + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertMost (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len <= n + , 'expected #{this} to have a length at most #{exp} but got #{act}' + , 'expected #{this} to have a length above #{exp}' + , n + , len + ); + } else { + this.assert( + obj <= n + , 'expected #{this} to be at most ' + n + , 'expected #{this} to be above ' + n + ); + } + } + + Assertion.addMethod('most', assertMost); + Assertion.addMethod('lte', assertMost); + + /** + * ### .within(start, finish) + * + * Asserts that the target is within a range. + * + * expect(7).to.be.within(5,10); + * + * Can also be used in conjunction with `length` to + * assert a length range. The benefit being a + * more informative error message than if the length + * was supplied directly. + * + * expect('foo').to.have.length.within(2,4); + * expect([ 1, 2, 3 ]).to.have.length.within(2,4); + * + * @name within + * @param {Number} start lowerbound inclusive + * @param {Number} finish upperbound inclusive + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + Assertion.addMethod('within', function (start, finish, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object') + , range = start + '..' + finish; + if (flag(this, 'doLength')) { + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + this.assert( + len >= start && len <= finish + , 'expected #{this} to have a length within ' + range + , 'expected #{this} to not have a length within ' + range + ); + } else { + this.assert( + obj >= start && obj <= finish + , 'expected #{this} to be within ' + range + , 'expected #{this} to not be within ' + range + ); + } + }); + + /** + * ### .instanceof(constructor) + * + * Asserts that the target is an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , Chai = new Tea('chai'); + * + * expect(Chai).to.be.an.instanceof(Tea); + * expect([ 1, 2, 3 ]).to.be.instanceof(Array); + * + * @name instanceof + * @param {Constructor} constructor + * @param {String} message _optional_ + * @alias instanceOf + * @namespace BDD + * @api public + */ + + function assertInstanceOf (constructor, msg) { + if (msg) flag(this, 'message', msg); + var name = _.getName(constructor); + this.assert( + flag(this, 'object') instanceof constructor + , 'expected #{this} to be an instance of ' + name + , 'expected #{this} to not be an instance of ' + name + ); + }; + + Assertion.addMethod('instanceof', assertInstanceOf); + Assertion.addMethod('instanceOf', assertInstanceOf); + + /** + * ### .property(name, [value]) + * + * Asserts that the target has a property `name`, optionally asserting that + * the value of that property is strictly equal to `value`. + * If the `deep` flag is set, you can use dot- and bracket-notation for deep + * references into objects and arrays. + * + * // simple referencing + * var obj = { foo: 'bar' }; + * expect(obj).to.have.property('foo'); + * expect(obj).to.have.property('foo', 'bar'); + * + * // deep referencing + * var deepObj = { + * green: { tea: 'matcha' } + * , teas: [ 'chai', 'matcha', { tea: 'konacha' } ] + * }; + * + * expect(deepObj).to.have.deep.property('green.tea', 'matcha'); + * expect(deepObj).to.have.deep.property('teas[1]', 'matcha'); + * expect(deepObj).to.have.deep.property('teas[2].tea', 'konacha'); + * + * You can also use an array as the starting point of a `deep.property` + * assertion, or traverse nested arrays. + * + * var arr = [ + * [ 'chai', 'matcha', 'konacha' ] + * , [ { tea: 'chai' } + * , { tea: 'matcha' } + * , { tea: 'konacha' } ] + * ]; + * + * expect(arr).to.have.deep.property('[0][1]', 'matcha'); + * expect(arr).to.have.deep.property('[1][2].tea', 'konacha'); + * + * Furthermore, `property` changes the subject of the assertion + * to be the value of that property from the original object. This + * permits for further chainable assertions on that property. + * + * expect(obj).to.have.property('foo') + * .that.is.a('string'); + * expect(deepObj).to.have.property('green') + * .that.is.an('object') + * .that.deep.equals({ tea: 'matcha' }); + * expect(deepObj).to.have.property('teas') + * .that.is.an('array') + * .with.deep.property('[2]') + * .that.deep.equals({ tea: 'konacha' }); + * + * Note that dots and bracket in `name` must be backslash-escaped when + * the `deep` flag is set, while they must NOT be escaped when the `deep` + * flag is not set. + * + * // simple referencing + * var css = { '.link[target]': 42 }; + * expect(css).to.have.property('.link[target]', 42); + * + * // deep referencing + * var deepCss = { '.link': { '[target]': 42 }}; + * expect(deepCss).to.have.deep.property('\\.link.\\[target\\]', 42); + * + * @name property + * @alias deep.property + * @param {String} name + * @param {Mixed} value (optional) + * @param {String} message _optional_ + * @returns value of property for chaining + * @namespace BDD + * @api public + */ + + Assertion.addMethod('property', function (name, val, msg) { + if (msg) flag(this, 'message', msg); + + var isDeep = !!flag(this, 'deep') + , descriptor = isDeep ? 'deep property ' : 'property ' + , negate = flag(this, 'negate') + , obj = flag(this, 'object') + , pathInfo = isDeep ? _.getPathInfo(name, obj) : null + , hasProperty = isDeep + ? pathInfo.exists + : _.hasProperty(name, obj) + , value = isDeep + ? pathInfo.value + : obj[name]; + + if (negate && arguments.length > 1) { + if (undefined === value) { + msg = (msg != null) ? msg + ': ' : ''; + throw new Error(msg + _.inspect(obj) + ' has no ' + descriptor + _.inspect(name)); + } + } else { + this.assert( + hasProperty + , 'expected #{this} to have a ' + descriptor + _.inspect(name) + , 'expected #{this} to not have ' + descriptor + _.inspect(name)); + } + + if (arguments.length > 1) { + this.assert( + val === value + , 'expected #{this} to have a ' + descriptor + _.inspect(name) + ' of #{exp}, but got #{act}' + , 'expected #{this} to not have a ' + descriptor + _.inspect(name) + ' of #{act}' + , val + , value + ); + } + + flag(this, 'object', value); + }); + + + /** + * ### .ownProperty(name) + * + * Asserts that the target has an own property `name`. + * + * expect('test').to.have.ownProperty('length'); + * + * @name ownProperty + * @alias haveOwnProperty + * @param {String} name + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertOwnProperty (name, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + obj.hasOwnProperty(name) + , 'expected #{this} to have own property ' + _.inspect(name) + , 'expected #{this} to not have own property ' + _.inspect(name) + ); + } + + Assertion.addMethod('ownProperty', assertOwnProperty); + Assertion.addMethod('haveOwnProperty', assertOwnProperty); + + /** + * ### .ownPropertyDescriptor(name[, descriptor[, message]]) + * + * Asserts that the target has an own property descriptor `name`, that optionally matches `descriptor`. + * + * expect('test').to.have.ownPropertyDescriptor('length'); + * expect('test').to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 4 }); + * expect('test').not.to.have.ownPropertyDescriptor('length', { enumerable: false, configurable: false, writable: false, value: 3 }); + * expect('test').ownPropertyDescriptor('length').to.have.property('enumerable', false); + * expect('test').ownPropertyDescriptor('length').to.have.keys('value'); + * + * @name ownPropertyDescriptor + * @alias haveOwnPropertyDescriptor + * @param {String} name + * @param {Object} descriptor _optional_ + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertOwnPropertyDescriptor (name, descriptor, msg) { + if (typeof descriptor === 'string') { + msg = descriptor; + descriptor = null; + } + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var actualDescriptor = Object.getOwnPropertyDescriptor(Object(obj), name); + if (actualDescriptor && descriptor) { + this.assert( + _.eql(descriptor, actualDescriptor) + , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to match ' + _.inspect(descriptor) + ', got ' + _.inspect(actualDescriptor) + , 'expected the own property descriptor for ' + _.inspect(name) + ' on #{this} to not match ' + _.inspect(descriptor) + , descriptor + , actualDescriptor + , true + ); + } else { + this.assert( + actualDescriptor + , 'expected #{this} to have an own property descriptor for ' + _.inspect(name) + , 'expected #{this} to not have an own property descriptor for ' + _.inspect(name) + ); + } + flag(this, 'object', actualDescriptor); + } + + Assertion.addMethod('ownPropertyDescriptor', assertOwnPropertyDescriptor); + Assertion.addMethod('haveOwnPropertyDescriptor', assertOwnPropertyDescriptor); + + /** + * ### .length + * + * Sets the `doLength` flag later used as a chain precursor to a value + * comparison for the `length` property. + * + * expect('foo').to.have.length.above(2); + * expect([ 1, 2, 3 ]).to.have.length.above(2); + * expect('foo').to.have.length.below(4); + * expect([ 1, 2, 3 ]).to.have.length.below(4); + * expect('foo').to.have.length.within(2,4); + * expect([ 1, 2, 3 ]).to.have.length.within(2,4); + * + * *Deprecation notice:* Using `length` as an assertion will be deprecated + * in version 2.4.0 and removed in 3.0.0. Code using the old style of + * asserting for `length` property value using `length(value)` should be + * switched to use `lengthOf(value)` instead. + * + * @name length + * @namespace BDD + * @api public + */ + + /** + * ### .lengthOf(value[, message]) + * + * Asserts that the target's `length` property has + * the expected value. + * + * expect([ 1, 2, 3]).to.have.lengthOf(3); + * expect('foobar').to.have.lengthOf(6); + * + * @name lengthOf + * @param {Number} length + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertLengthChain () { + flag(this, 'doLength', true); + } + + function assertLength (n, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).to.have.property('length'); + var len = obj.length; + + this.assert( + len == n + , 'expected #{this} to have a length of #{exp} but got #{act}' + , 'expected #{this} to not have a length of #{act}' + , n + , len + ); + } + + Assertion.addChainableMethod('length', assertLength, assertLengthChain); + Assertion.addMethod('lengthOf', assertLength); + + /** + * ### .match(regexp) + * + * Asserts that the target matches a regular expression. + * + * expect('foobar').to.match(/^foo/); + * + * @name match + * @alias matches + * @param {RegExp} RegularExpression + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + function assertMatch(re, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + this.assert( + re.exec(obj) + , 'expected #{this} to match ' + re + , 'expected #{this} not to match ' + re + ); + } + + Assertion.addMethod('match', assertMatch); + Assertion.addMethod('matches', assertMatch); + + /** + * ### .string(string) + * + * Asserts that the string target contains another string. + * + * expect('foobar').to.have.string('bar'); + * + * @name string + * @param {String} string + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + Assertion.addMethod('string', function (str, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).is.a('string'); + + this.assert( + ~obj.indexOf(str) + , 'expected #{this} to contain ' + _.inspect(str) + , 'expected #{this} to not contain ' + _.inspect(str) + ); + }); + + + /** + * ### .keys(key1, [key2], [...]) + * + * Asserts that the target contains any or all of the passed-in keys. + * Use in combination with `any`, `all`, `contains`, or `have` will affect + * what will pass. + * + * When used in conjunction with `any`, at least one key that is passed + * in must exist in the target object. This is regardless whether or not + * the `have` or `contain` qualifiers are used. Note, either `any` or `all` + * should be used in the assertion. If neither are used, the assertion is + * defaulted to `all`. + * + * When both `all` and `contain` are used, the target object must have at + * least all of the passed-in keys but may have more keys not listed. + * + * When both `all` and `have` are used, the target object must both contain + * all of the passed-in keys AND the number of keys in the target object must + * match the number of keys passed in (in other words, a target object must + * have all and only all of the passed-in keys). + * + * expect({ foo: 1, bar: 2 }).to.have.any.keys('foo', 'baz'); + * expect({ foo: 1, bar: 2 }).to.have.any.keys('foo'); + * expect({ foo: 1, bar: 2 }).to.contain.any.keys('bar', 'baz'); + * expect({ foo: 1, bar: 2 }).to.contain.any.keys(['foo']); + * expect({ foo: 1, bar: 2 }).to.contain.any.keys({'foo': 6}); + * expect({ foo: 1, bar: 2 }).to.have.all.keys(['bar', 'foo']); + * expect({ foo: 1, bar: 2 }).to.have.all.keys({'bar': 6, 'foo': 7}); + * expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys(['bar', 'foo']); + * expect({ foo: 1, bar: 2, baz: 3 }).to.contain.all.keys({'bar': 6}); + * + * + * @name keys + * @alias key + * @param {...String|Array|Object} keys + * @namespace BDD + * @api public + */ + + function assertKeys (keys) { + var obj = flag(this, 'object') + , str + , ok = true + , mixedArgsMsg = 'keys must be given single argument of Array|Object|String, or multiple String arguments'; + + switch (_.type(keys)) { + case "array": + if (arguments.length > 1) throw (new Error(mixedArgsMsg)); + break; + case "object": + if (arguments.length > 1) throw (new Error(mixedArgsMsg)); + keys = Object.keys(keys); + break; + default: + keys = Array.prototype.slice.call(arguments); + } + + if (!keys.length) throw new Error('keys required'); + + var actual = Object.keys(obj) + , expected = keys + , len = keys.length + , any = flag(this, 'any') + , all = flag(this, 'all'); + + if (!any && !all) { + all = true; + } + + // Has any + if (any) { + var intersection = expected.filter(function(key) { + return ~actual.indexOf(key); + }); + ok = intersection.length > 0; + } + + // Has all + if (all) { + ok = keys.every(function(key){ + return ~actual.indexOf(key); + }); + if (!flag(this, 'negate') && !flag(this, 'contains')) { + ok = ok && keys.length == actual.length; + } + } + + // Key string + if (len > 1) { + keys = keys.map(function(key){ + return _.inspect(key); + }); + var last = keys.pop(); + if (all) { + str = keys.join(', ') + ', and ' + last; + } + if (any) { + str = keys.join(', ') + ', or ' + last; + } + } else { + str = _.inspect(keys[0]); + } + + // Form + str = (len > 1 ? 'keys ' : 'key ') + str; + + // Have / include + str = (flag(this, 'contains') ? 'contain ' : 'have ') + str; + + // Assertion + this.assert( + ok + , 'expected #{this} to ' + str + , 'expected #{this} to not ' + str + , expected.slice(0).sort() + , actual.sort() + , true + ); + } + + Assertion.addMethod('keys', assertKeys); + Assertion.addMethod('key', assertKeys); + + /** + * ### .throw(constructor) + * + * Asserts that the function target will throw a specific error, or specific type of error + * (as determined using `instanceof`), optionally with a RegExp or string inclusion test + * for the error's message. + * + * var err = new ReferenceError('This is a bad function.'); + * var fn = function () { throw err; } + * expect(fn).to.throw(ReferenceError); + * expect(fn).to.throw(Error); + * expect(fn).to.throw(/bad function/); + * expect(fn).to.not.throw('good function'); + * expect(fn).to.throw(ReferenceError, /bad function/); + * expect(fn).to.throw(err); + * + * Please note that when a throw expectation is negated, it will check each + * parameter independently, starting with error constructor type. The appropriate way + * to check for the existence of a type of error but for a message that does not match + * is to use `and`. + * + * expect(fn).to.throw(ReferenceError) + * .and.not.throw(/good function/); + * + * @name throw + * @alias throws + * @alias Throw + * @param {ErrorConstructor} constructor + * @param {String|RegExp} expected error message + * @param {String} message _optional_ + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @returns error for chaining (null if no error) + * @namespace BDD + * @api public + */ + + function assertThrows (constructor, errMsg, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + new Assertion(obj, msg).is.a('function'); + + var thrown = false + , desiredError = null + , name = null + , thrownError = null; + + if (arguments.length === 0) { + errMsg = null; + constructor = null; + } else if (constructor && (constructor instanceof RegExp || 'string' === typeof constructor)) { + errMsg = constructor; + constructor = null; + } else if (constructor && constructor instanceof Error) { + desiredError = constructor; + constructor = null; + errMsg = null; + } else if (typeof constructor === 'function') { + name = constructor.prototype.name; + if (!name || (name === 'Error' && constructor !== Error)) { + name = constructor.name || (new constructor()).name; + } + } else { + constructor = null; + } + + try { + obj(); + } catch (err) { + // first, check desired error + if (desiredError) { + this.assert( + err === desiredError + , 'expected #{this} to throw #{exp} but #{act} was thrown' + , 'expected #{this} to not throw #{exp}' + , (desiredError instanceof Error ? desiredError.toString() : desiredError) + , (err instanceof Error ? err.toString() : err) + ); + + flag(this, 'object', err); + return this; + } + + // next, check constructor + if (constructor) { + this.assert( + err instanceof constructor + , 'expected #{this} to throw #{exp} but #{act} was thrown' + , 'expected #{this} to not throw #{exp} but #{act} was thrown' + , name + , (err instanceof Error ? err.toString() : err) + ); + + if (!errMsg) { + flag(this, 'object', err); + return this; + } + } + + // next, check message + var message = 'error' === _.type(err) && "message" in err + ? err.message + : '' + err; + + if ((message != null) && errMsg && errMsg instanceof RegExp) { + this.assert( + errMsg.exec(message) + , 'expected #{this} to throw error matching #{exp} but got #{act}' + , 'expected #{this} to throw error not matching #{exp}' + , errMsg + , message + ); + + flag(this, 'object', err); + return this; + } else if ((message != null) && errMsg && 'string' === typeof errMsg) { + this.assert( + ~message.indexOf(errMsg) + , 'expected #{this} to throw error including #{exp} but got #{act}' + , 'expected #{this} to throw error not including #{act}' + , errMsg + , message + ); + + flag(this, 'object', err); + return this; + } else { + thrown = true; + thrownError = err; + } + } + + var actuallyGot = '' + , expectedThrown = name !== null + ? name + : desiredError + ? '#{exp}' //_.inspect(desiredError) + : 'an error'; + + if (thrown) { + actuallyGot = ' but #{act} was thrown' + } + + this.assert( + thrown === true + , 'expected #{this} to throw ' + expectedThrown + actuallyGot + , 'expected #{this} to not throw ' + expectedThrown + actuallyGot + , (desiredError instanceof Error ? desiredError.toString() : desiredError) + , (thrownError instanceof Error ? thrownError.toString() : thrownError) + ); + + flag(this, 'object', thrownError); + }; + + Assertion.addMethod('throw', assertThrows); + Assertion.addMethod('throws', assertThrows); + Assertion.addMethod('Throw', assertThrows); + + /** + * ### .respondTo(method) + * + * Asserts that the object or class target will respond to a method. + * + * Klass.prototype.bar = function(){}; + * expect(Klass).to.respondTo('bar'); + * expect(obj).to.respondTo('bar'); + * + * To check if a constructor will respond to a static function, + * set the `itself` flag. + * + * Klass.baz = function(){}; + * expect(Klass).itself.to.respondTo('baz'); + * + * @name respondTo + * @alias respondsTo + * @param {String} method + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function respondTo (method, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object') + , itself = flag(this, 'itself') + , context = ('function' === _.type(obj) && !itself) + ? obj.prototype[method] + : obj[method]; + + this.assert( + 'function' === typeof context + , 'expected #{this} to respond to ' + _.inspect(method) + , 'expected #{this} to not respond to ' + _.inspect(method) + ); + } + + Assertion.addMethod('respondTo', respondTo); + Assertion.addMethod('respondsTo', respondTo); + + /** + * ### .itself + * + * Sets the `itself` flag, later used by the `respondTo` assertion. + * + * function Foo() {} + * Foo.bar = function() {} + * Foo.prototype.baz = function() {} + * + * expect(Foo).itself.to.respondTo('bar'); + * expect(Foo).itself.not.to.respondTo('baz'); + * + * @name itself + * @namespace BDD + * @api public + */ + + Assertion.addProperty('itself', function () { + flag(this, 'itself', true); + }); + + /** + * ### .satisfy(method) + * + * Asserts that the target passes a given truth test. + * + * expect(1).to.satisfy(function(num) { return num > 0; }); + * + * @name satisfy + * @alias satisfies + * @param {Function} matcher + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function satisfy (matcher, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + var result = matcher(obj); + this.assert( + result + , 'expected #{this} to satisfy ' + _.objDisplay(matcher) + , 'expected #{this} to not satisfy' + _.objDisplay(matcher) + , this.negate ? false : true + , result + ); + } + + Assertion.addMethod('satisfy', satisfy); + Assertion.addMethod('satisfies', satisfy); + + /** + * ### .closeTo(expected, delta) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * expect(1.5).to.be.closeTo(1, 0.5); + * + * @name closeTo + * @alias approximately + * @param {Number} expected + * @param {Number} delta + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function closeTo(expected, delta, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + + new Assertion(obj, msg).is.a('number'); + if (_.type(expected) !== 'number' || _.type(delta) !== 'number') { + throw new Error('the arguments to closeTo or approximately must be numbers'); + } + + this.assert( + Math.abs(obj - expected) <= delta + , 'expected #{this} to be close to ' + expected + ' +/- ' + delta + , 'expected #{this} not to be close to ' + expected + ' +/- ' + delta + ); + } + + Assertion.addMethod('closeTo', closeTo); + Assertion.addMethod('approximately', closeTo); + + function isSubsetOf(subset, superset, cmp) { + return subset.every(function(elem) { + if (!cmp) return superset.indexOf(elem) !== -1; + + return superset.some(function(elem2) { + return cmp(elem, elem2); + }); + }) + } + + /** + * ### .members(set) + * + * Asserts that the target is a superset of `set`, + * or that the target and `set` have the same strictly-equal (===) members. + * Alternately, if the `deep` flag is set, set members are compared for deep + * equality. + * + * expect([1, 2, 3]).to.include.members([3, 2]); + * expect([1, 2, 3]).to.not.include.members([3, 2, 8]); + * + * expect([4, 2]).to.have.members([2, 4]); + * expect([5, 2]).to.not.have.members([5, 2, 1]); + * + * expect([{ id: 1 }]).to.deep.include.members([{ id: 1 }]); + * + * @name members + * @param {Array} set + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + Assertion.addMethod('members', function (subset, msg) { + if (msg) flag(this, 'message', msg); + var obj = flag(this, 'object'); + + new Assertion(obj).to.be.an('array'); + new Assertion(subset).to.be.an('array'); + + var cmp = flag(this, 'deep') ? _.eql : undefined; + + if (flag(this, 'contains')) { + return this.assert( + isSubsetOf(subset, obj, cmp) + , 'expected #{this} to be a superset of #{act}' + , 'expected #{this} to not be a superset of #{act}' + , obj + , subset + ); + } + + this.assert( + isSubsetOf(obj, subset, cmp) && isSubsetOf(subset, obj, cmp) + , 'expected #{this} to have the same members as #{act}' + , 'expected #{this} to not have the same members as #{act}' + , obj + , subset + ); + }); + + /** + * ### .oneOf(list) + * + * Assert that a value appears somewhere in the top level of array `list`. + * + * expect('a').to.be.oneOf(['a', 'b', 'c']); + * expect(9).to.not.be.oneOf(['z']); + * expect([3]).to.not.be.oneOf([1, 2, [3]]); + * + * var three = [3]; + * // for object-types, contents are not compared + * expect(three).to.not.be.oneOf([1, 2, [3]]); + * // comparing references works + * expect(three).to.be.oneOf([1, 2, three]); + * + * @name oneOf + * @param {Array<*>} list + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function oneOf (list, msg) { + if (msg) flag(this, 'message', msg); + var expected = flag(this, 'object'); + new Assertion(list).to.be.an('array'); + + this.assert( + list.indexOf(expected) > -1 + , 'expected #{this} to be one of #{exp}' + , 'expected #{this} to not be one of #{exp}' + , list + , expected + ); + } + + Assertion.addMethod('oneOf', oneOf); + + + /** + * ### .change(function) + * + * Asserts that a function changes an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val += 3 }; + * var noChangeFn = function() { return 'foo' + 'bar'; } + * expect(fn).to.change(obj, 'val'); + * expect(noChangeFn).to.not.change(obj, 'val') + * + * @name change + * @alias changes + * @alias Change + * @param {String} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertChanges (object, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'); + new Assertion(object, msg).to.have.property(prop); + new Assertion(fn).is.a('function'); + + var initial = object[prop]; + fn(); + + this.assert( + initial !== object[prop] + , 'expected .' + prop + ' to change' + , 'expected .' + prop + ' to not change' + ); + } + + Assertion.addChainableMethod('change', assertChanges); + Assertion.addChainableMethod('changes', assertChanges); + + /** + * ### .increase(function) + * + * Asserts that a function increases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 15 }; + * expect(fn).to.increase(obj, 'val'); + * + * @name increase + * @alias increases + * @alias Increase + * @param {String} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertIncreases (object, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'); + new Assertion(object, msg).to.have.property(prop); + new Assertion(fn).is.a('function'); + + var initial = object[prop]; + fn(); + + this.assert( + object[prop] - initial > 0 + , 'expected .' + prop + ' to increase' + , 'expected .' + prop + ' to not increase' + ); + } + + Assertion.addChainableMethod('increase', assertIncreases); + Assertion.addChainableMethod('increases', assertIncreases); + + /** + * ### .decrease(function) + * + * Asserts that a function decreases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 5 }; + * expect(fn).to.decrease(obj, 'val'); + * + * @name decrease + * @alias decreases + * @alias Decrease + * @param {String} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace BDD + * @api public + */ + + function assertDecreases (object, prop, msg) { + if (msg) flag(this, 'message', msg); + var fn = flag(this, 'object'); + new Assertion(object, msg).to.have.property(prop); + new Assertion(fn).is.a('function'); + + var initial = object[prop]; + fn(); + + this.assert( + object[prop] - initial < 0 + , 'expected .' + prop + ' to decrease' + , 'expected .' + prop + ' to not decrease' + ); + } + + Assertion.addChainableMethod('decrease', assertDecreases); + Assertion.addChainableMethod('decreases', assertDecreases); + + /** + * ### .extensible + * + * Asserts that the target is extensible (can have new properties added to + * it). + * + * var nonExtensibleObject = Object.preventExtensions({}); + * var sealedObject = Object.seal({}); + * var frozenObject = Object.freeze({}); + * + * expect({}).to.be.extensible; + * expect(nonExtensibleObject).to.not.be.extensible; + * expect(sealedObject).to.not.be.extensible; + * expect(frozenObject).to.not.be.extensible; + * + * @name extensible + * @namespace BDD + * @api public + */ + + Assertion.addProperty('extensible', function() { + var obj = flag(this, 'object'); + + // In ES5, if the argument to this method is not an object (a primitive), then it will cause a TypeError. + // In ES6, a non-object argument will be treated as if it was a non-extensible ordinary object, simply return false. + // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isExtensible + // The following provides ES6 behavior when a TypeError is thrown under ES5. + + var isExtensible; + + try { + isExtensible = Object.isExtensible(obj); + } catch (err) { + if (err instanceof TypeError) isExtensible = false; + else throw err; + } + + this.assert( + isExtensible + , 'expected #{this} to be extensible' + , 'expected #{this} to not be extensible' + ); + }); + + /** + * ### .sealed + * + * Asserts that the target is sealed (cannot have new properties added to it + * and its existing properties cannot be removed). + * + * var sealedObject = Object.seal({}); + * var frozenObject = Object.freeze({}); + * + * expect(sealedObject).to.be.sealed; + * expect(frozenObject).to.be.sealed; + * expect({}).to.not.be.sealed; + * + * @name sealed + * @namespace BDD + * @api public + */ + + Assertion.addProperty('sealed', function() { + var obj = flag(this, 'object'); + + // In ES5, if the argument to this method is not an object (a primitive), then it will cause a TypeError. + // In ES6, a non-object argument will be treated as if it was a sealed ordinary object, simply return true. + // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isSealed + // The following provides ES6 behavior when a TypeError is thrown under ES5. + + var isSealed; + + try { + isSealed = Object.isSealed(obj); + } catch (err) { + if (err instanceof TypeError) isSealed = true; + else throw err; + } + + this.assert( + isSealed + , 'expected #{this} to be sealed' + , 'expected #{this} to not be sealed' + ); + }); + + /** + * ### .frozen + * + * Asserts that the target is frozen (cannot have new properties added to it + * and its existing properties cannot be modified). + * + * var frozenObject = Object.freeze({}); + * + * expect(frozenObject).to.be.frozen; + * expect({}).to.not.be.frozen; + * + * @name frozen + * @namespace BDD + * @api public + */ + + Assertion.addProperty('frozen', function() { + var obj = flag(this, 'object'); + + // In ES5, if the argument to this method is not an object (a primitive), then it will cause a TypeError. + // In ES6, a non-object argument will be treated as if it was a frozen ordinary object, simply return true. + // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/isFrozen + // The following provides ES6 behavior when a TypeError is thrown under ES5. + + var isFrozen; + + try { + isFrozen = Object.isFrozen(obj); + } catch (err) { + if (err instanceof TypeError) isFrozen = true; + else throw err; + } + + this.assert( + isFrozen + , 'expected #{this} to be frozen' + , 'expected #{this} to not be frozen' + ); + }); +}; + +},{}],6:[function(require,module,exports){ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + + +module.exports = function (chai, util) { + + /*! + * Chai dependencies. + */ + + var Assertion = chai.Assertion + , flag = util.flag; + + /*! + * Module export. + */ + + /** + * ### assert(expression, message) + * + * Write your own test expressions. + * + * assert('foo' !== 'bar', 'foo is not bar'); + * assert(Array.isArray([]), 'empty arrays are arrays'); + * + * @param {Mixed} expression to test for truthiness + * @param {String} message to display on error + * @name assert + * @namespace Assert + * @api public + */ + + var assert = chai.assert = function (express, errmsg) { + var test = new Assertion(null, null, chai.assert); + test.assert( + express + , errmsg + , '[ negation message unavailable ]' + ); + }; + + /** + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. Node.js `assert` module-compatible. + * + * @name fail + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @param {String} operator + * @namespace Assert + * @api public + */ + + assert.fail = function (actual, expected, message, operator) { + message = message || 'assert.fail()'; + throw new chai.AssertionError(message, { + actual: actual + , expected: expected + , operator: operator + }, assert.fail); + }; + + /** + * ### .isOk(object, [message]) + * + * Asserts that `object` is truthy. + * + * assert.isOk('everything', 'everything is ok'); + * assert.isOk(false, 'this will fail'); + * + * @name isOk + * @alias ok + * @param {Mixed} object to test + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isOk = function (val, msg) { + new Assertion(val, msg).is.ok; + }; + + /** + * ### .isNotOk(object, [message]) + * + * Asserts that `object` is falsy. + * + * assert.isNotOk('everything', 'this will fail'); + * assert.isNotOk(false, 'this will pass'); + * + * @name isNotOk + * @alias notOk + * @param {Mixed} object to test + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotOk = function (val, msg) { + new Assertion(val, msg).is.not.ok; + }; + + /** + * ### .equal(actual, expected, [message]) + * + * Asserts non-strict equality (`==`) of `actual` and `expected`. + * + * assert.equal(3, '3', '== coerces values to strings'); + * + * @name equal + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.equal = function (act, exp, msg) { + var test = new Assertion(act, msg, assert.equal); + + test.assert( + exp == flag(test, 'object') + , 'expected #{this} to equal #{exp}' + , 'expected #{this} to not equal #{act}' + , exp + , act + ); + }; + + /** + * ### .notEqual(actual, expected, [message]) + * + * Asserts non-strict inequality (`!=`) of `actual` and `expected`. + * + * assert.notEqual(3, 4, 'these numbers are not equal'); + * + * @name notEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notEqual = function (act, exp, msg) { + var test = new Assertion(act, msg, assert.notEqual); + + test.assert( + exp != flag(test, 'object') + , 'expected #{this} to not equal #{exp}' + , 'expected #{this} to equal #{act}' + , exp + , act + ); + }; + + /** + * ### .strictEqual(actual, expected, [message]) + * + * Asserts strict equality (`===`) of `actual` and `expected`. + * + * assert.strictEqual(true, true, 'these booleans are strictly equal'); + * + * @name strictEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.strictEqual = function (act, exp, msg) { + new Assertion(act, msg).to.equal(exp); + }; + + /** + * ### .notStrictEqual(actual, expected, [message]) + * + * Asserts strict inequality (`!==`) of `actual` and `expected`. + * + * assert.notStrictEqual(3, '3', 'no coercion for strict equality'); + * + * @name notStrictEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notStrictEqual = function (act, exp, msg) { + new Assertion(act, msg).to.not.equal(exp); + }; + + /** + * ### .deepEqual(actual, expected, [message]) + * + * Asserts that `actual` is deeply equal to `expected`. + * + * assert.deepEqual({ tea: 'green' }, { tea: 'green' }); + * + * @name deepEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.deepEqual = function (act, exp, msg) { + new Assertion(act, msg).to.eql(exp); + }; + + /** + * ### .notDeepEqual(actual, expected, [message]) + * + * Assert that `actual` is not deeply equal to `expected`. + * + * assert.notDeepEqual({ tea: 'green' }, { tea: 'jasmine' }); + * + * @name notDeepEqual + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notDeepEqual = function (act, exp, msg) { + new Assertion(act, msg).to.not.eql(exp); + }; + + /** + * ### .isAbove(valueToCheck, valueToBeAbove, [message]) + * + * Asserts `valueToCheck` is strictly greater than (>) `valueToBeAbove` + * + * assert.isAbove(5, 2, '5 is strictly greater than 2'); + * + * @name isAbove + * @param {Mixed} valueToCheck + * @param {Mixed} valueToBeAbove + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isAbove = function (val, abv, msg) { + new Assertion(val, msg).to.be.above(abv); + }; + + /** + * ### .isAtLeast(valueToCheck, valueToBeAtLeast, [message]) + * + * Asserts `valueToCheck` is greater than or equal to (>=) `valueToBeAtLeast` + * + * assert.isAtLeast(5, 2, '5 is greater or equal to 2'); + * assert.isAtLeast(3, 3, '3 is greater or equal to 3'); + * + * @name isAtLeast + * @param {Mixed} valueToCheck + * @param {Mixed} valueToBeAtLeast + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isAtLeast = function (val, atlst, msg) { + new Assertion(val, msg).to.be.least(atlst); + }; + + /** + * ### .isBelow(valueToCheck, valueToBeBelow, [message]) + * + * Asserts `valueToCheck` is strictly less than (<) `valueToBeBelow` + * + * assert.isBelow(3, 6, '3 is strictly less than 6'); + * + * @name isBelow + * @param {Mixed} valueToCheck + * @param {Mixed} valueToBeBelow + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isBelow = function (val, blw, msg) { + new Assertion(val, msg).to.be.below(blw); + }; + + /** + * ### .isAtMost(valueToCheck, valueToBeAtMost, [message]) + * + * Asserts `valueToCheck` is less than or equal to (<=) `valueToBeAtMost` + * + * assert.isAtMost(3, 6, '3 is less than or equal to 6'); + * assert.isAtMost(4, 4, '4 is less than or equal to 4'); + * + * @name isAtMost + * @param {Mixed} valueToCheck + * @param {Mixed} valueToBeAtMost + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isAtMost = function (val, atmst, msg) { + new Assertion(val, msg).to.be.most(atmst); + }; + + /** + * ### .isTrue(value, [message]) + * + * Asserts that `value` is true. + * + * var teaServed = true; + * assert.isTrue(teaServed, 'the tea has been served'); + * + * @name isTrue + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isTrue = function (val, msg) { + new Assertion(val, msg).is['true']; + }; + + /** + * ### .isNotTrue(value, [message]) + * + * Asserts that `value` is not true. + * + * var tea = 'tasty chai'; + * assert.isNotTrue(tea, 'great, time for tea!'); + * + * @name isNotTrue + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotTrue = function (val, msg) { + new Assertion(val, msg).to.not.equal(true); + }; + + /** + * ### .isFalse(value, [message]) + * + * Asserts that `value` is false. + * + * var teaServed = false; + * assert.isFalse(teaServed, 'no tea yet? hmm...'); + * + * @name isFalse + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isFalse = function (val, msg) { + new Assertion(val, msg).is['false']; + }; + + /** + * ### .isNotFalse(value, [message]) + * + * Asserts that `value` is not false. + * + * var tea = 'tasty chai'; + * assert.isNotFalse(tea, 'great, time for tea!'); + * + * @name isNotFalse + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotFalse = function (val, msg) { + new Assertion(val, msg).to.not.equal(false); + }; + + /** + * ### .isNull(value, [message]) + * + * Asserts that `value` is null. + * + * assert.isNull(err, 'there was no error'); + * + * @name isNull + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNull = function (val, msg) { + new Assertion(val, msg).to.equal(null); + }; + + /** + * ### .isNotNull(value, [message]) + * + * Asserts that `value` is not null. + * + * var tea = 'tasty chai'; + * assert.isNotNull(tea, 'great, time for tea!'); + * + * @name isNotNull + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotNull = function (val, msg) { + new Assertion(val, msg).to.not.equal(null); + }; + + /** + * ### .isNaN + * Asserts that value is NaN + * + * assert.isNaN('foo', 'foo is NaN'); + * + * @name isNaN + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNaN = function (val, msg) { + new Assertion(val, msg).to.be.NaN; + }; + + /** + * ### .isNotNaN + * Asserts that value is not NaN + * + * assert.isNotNaN(4, '4 is not NaN'); + * + * @name isNotNaN + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + assert.isNotNaN = function (val, msg) { + new Assertion(val, msg).not.to.be.NaN; + }; + + /** + * ### .isUndefined(value, [message]) + * + * Asserts that `value` is `undefined`. + * + * var tea; + * assert.isUndefined(tea, 'no tea defined'); + * + * @name isUndefined + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isUndefined = function (val, msg) { + new Assertion(val, msg).to.equal(undefined); + }; + + /** + * ### .isDefined(value, [message]) + * + * Asserts that `value` is not `undefined`. + * + * var tea = 'cup of chai'; + * assert.isDefined(tea, 'tea has been defined'); + * + * @name isDefined + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isDefined = function (val, msg) { + new Assertion(val, msg).to.not.equal(undefined); + }; + + /** + * ### .isFunction(value, [message]) + * + * Asserts that `value` is a function. + * + * function serveTea() { return 'cup of tea'; }; + * assert.isFunction(serveTea, 'great, we can have tea now'); + * + * @name isFunction + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isFunction = function (val, msg) { + new Assertion(val, msg).to.be.a('function'); + }; + + /** + * ### .isNotFunction(value, [message]) + * + * Asserts that `value` is _not_ a function. + * + * var serveTea = [ 'heat', 'pour', 'sip' ]; + * assert.isNotFunction(serveTea, 'great, we have listed the steps'); + * + * @name isNotFunction + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotFunction = function (val, msg) { + new Assertion(val, msg).to.not.be.a('function'); + }; + + /** + * ### .isObject(value, [message]) + * + * Asserts that `value` is an object of type 'Object' (as revealed by `Object.prototype.toString`). + * _The assertion does not match subclassed objects._ + * + * var selection = { name: 'Chai', serve: 'with spices' }; + * assert.isObject(selection, 'tea selection is an object'); + * + * @name isObject + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isObject = function (val, msg) { + new Assertion(val, msg).to.be.a('object'); + }; + + /** + * ### .isNotObject(value, [message]) + * + * Asserts that `value` is _not_ an object of type 'Object' (as revealed by `Object.prototype.toString`). + * + * var selection = 'chai' + * assert.isNotObject(selection, 'tea selection is not an object'); + * assert.isNotObject(null, 'null is not an object'); + * + * @name isNotObject + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotObject = function (val, msg) { + new Assertion(val, msg).to.not.be.a('object'); + }; + + /** + * ### .isArray(value, [message]) + * + * Asserts that `value` is an array. + * + * var menu = [ 'green', 'chai', 'oolong' ]; + * assert.isArray(menu, 'what kind of tea do we want?'); + * + * @name isArray + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isArray = function (val, msg) { + new Assertion(val, msg).to.be.an('array'); + }; + + /** + * ### .isNotArray(value, [message]) + * + * Asserts that `value` is _not_ an array. + * + * var menu = 'green|chai|oolong'; + * assert.isNotArray(menu, 'what kind of tea do we want?'); + * + * @name isNotArray + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotArray = function (val, msg) { + new Assertion(val, msg).to.not.be.an('array'); + }; + + /** + * ### .isString(value, [message]) + * + * Asserts that `value` is a string. + * + * var teaOrder = 'chai'; + * assert.isString(teaOrder, 'order placed'); + * + * @name isString + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isString = function (val, msg) { + new Assertion(val, msg).to.be.a('string'); + }; + + /** + * ### .isNotString(value, [message]) + * + * Asserts that `value` is _not_ a string. + * + * var teaOrder = 4; + * assert.isNotString(teaOrder, 'order placed'); + * + * @name isNotString + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotString = function (val, msg) { + new Assertion(val, msg).to.not.be.a('string'); + }; + + /** + * ### .isNumber(value, [message]) + * + * Asserts that `value` is a number. + * + * var cups = 2; + * assert.isNumber(cups, 'how many cups'); + * + * @name isNumber + * @param {Number} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNumber = function (val, msg) { + new Assertion(val, msg).to.be.a('number'); + }; + + /** + * ### .isNotNumber(value, [message]) + * + * Asserts that `value` is _not_ a number. + * + * var cups = '2 cups please'; + * assert.isNotNumber(cups, 'how many cups'); + * + * @name isNotNumber + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotNumber = function (val, msg) { + new Assertion(val, msg).to.not.be.a('number'); + }; + + /** + * ### .isBoolean(value, [message]) + * + * Asserts that `value` is a boolean. + * + * var teaReady = true + * , teaServed = false; + * + * assert.isBoolean(teaReady, 'is the tea ready'); + * assert.isBoolean(teaServed, 'has tea been served'); + * + * @name isBoolean + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isBoolean = function (val, msg) { + new Assertion(val, msg).to.be.a('boolean'); + }; + + /** + * ### .isNotBoolean(value, [message]) + * + * Asserts that `value` is _not_ a boolean. + * + * var teaReady = 'yep' + * , teaServed = 'nope'; + * + * assert.isNotBoolean(teaReady, 'is the tea ready'); + * assert.isNotBoolean(teaServed, 'has tea been served'); + * + * @name isNotBoolean + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.isNotBoolean = function (val, msg) { + new Assertion(val, msg).to.not.be.a('boolean'); + }; + + /** + * ### .typeOf(value, name, [message]) + * + * Asserts that `value`'s type is `name`, as determined by + * `Object.prototype.toString`. + * + * assert.typeOf({ tea: 'chai' }, 'object', 'we have an object'); + * assert.typeOf(['chai', 'jasmine'], 'array', 'we have an array'); + * assert.typeOf('tea', 'string', 'we have a string'); + * assert.typeOf(/tea/, 'regexp', 'we have a regular expression'); + * assert.typeOf(null, 'null', 'we have a null'); + * assert.typeOf(undefined, 'undefined', 'we have an undefined'); + * + * @name typeOf + * @param {Mixed} value + * @param {String} name + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.typeOf = function (val, type, msg) { + new Assertion(val, msg).to.be.a(type); + }; + + /** + * ### .notTypeOf(value, name, [message]) + * + * Asserts that `value`'s type is _not_ `name`, as determined by + * `Object.prototype.toString`. + * + * assert.notTypeOf('tea', 'number', 'strings are not numbers'); + * + * @name notTypeOf + * @param {Mixed} value + * @param {String} typeof name + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notTypeOf = function (val, type, msg) { + new Assertion(val, msg).to.not.be.a(type); + }; + + /** + * ### .instanceOf(object, constructor, [message]) + * + * Asserts that `value` is an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new Tea('chai'); + * + * assert.instanceOf(chai, Tea, 'chai is an instance of tea'); + * + * @name instanceOf + * @param {Object} object + * @param {Constructor} constructor + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.instanceOf = function (val, type, msg) { + new Assertion(val, msg).to.be.instanceOf(type); + }; + + /** + * ### .notInstanceOf(object, constructor, [message]) + * + * Asserts `value` is not an instance of `constructor`. + * + * var Tea = function (name) { this.name = name; } + * , chai = new String('chai'); + * + * assert.notInstanceOf(chai, Tea, 'chai is not an instance of tea'); + * + * @name notInstanceOf + * @param {Object} object + * @param {Constructor} constructor + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notInstanceOf = function (val, type, msg) { + new Assertion(val, msg).to.not.be.instanceOf(type); + }; + + /** + * ### .include(haystack, needle, [message]) + * + * Asserts that `haystack` includes `needle`. Works + * for strings and arrays. + * + * assert.include('foobar', 'bar', 'foobar contains string "bar"'); + * assert.include([ 1, 2, 3 ], 3, 'array contains value'); + * + * @name include + * @param {Array|String} haystack + * @param {Mixed} needle + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.include = function (exp, inc, msg) { + new Assertion(exp, msg, assert.include).include(inc); + }; + + /** + * ### .notInclude(haystack, needle, [message]) + * + * Asserts that `haystack` does not include `needle`. Works + * for strings and arrays. + * + * assert.notInclude('foobar', 'baz', 'string not include substring'); + * assert.notInclude([ 1, 2, 3 ], 4, 'array not include contain value'); + * + * @name notInclude + * @param {Array|String} haystack + * @param {Mixed} needle + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notInclude = function (exp, inc, msg) { + new Assertion(exp, msg, assert.notInclude).not.include(inc); + }; + + /** + * ### .match(value, regexp, [message]) + * + * Asserts that `value` matches the regular expression `regexp`. + * + * assert.match('foobar', /^foo/, 'regexp matches'); + * + * @name match + * @param {Mixed} value + * @param {RegExp} regexp + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.match = function (exp, re, msg) { + new Assertion(exp, msg).to.match(re); + }; + + /** + * ### .notMatch(value, regexp, [message]) + * + * Asserts that `value` does not match the regular expression `regexp`. + * + * assert.notMatch('foobar', /^foo/, 'regexp does not match'); + * + * @name notMatch + * @param {Mixed} value + * @param {RegExp} regexp + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notMatch = function (exp, re, msg) { + new Assertion(exp, msg).to.not.match(re); + }; + + /** + * ### .property(object, property, [message]) + * + * Asserts that `object` has a property named by `property`. + * + * assert.property({ tea: { green: 'matcha' }}, 'tea'); + * + * @name property + * @param {Object} object + * @param {String} property + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.property = function (obj, prop, msg) { + new Assertion(obj, msg).to.have.property(prop); + }; + + /** + * ### .notProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a property named by `property`. + * + * assert.notProperty({ tea: { green: 'matcha' }}, 'coffee'); + * + * @name notProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.not.have.property(prop); + }; + + /** + * ### .deepProperty(object, property, [message]) + * + * Asserts that `object` has a property named by `property`, which can be a + * string using dot- and bracket-notation for deep reference. + * + * assert.deepProperty({ tea: { green: 'matcha' }}, 'tea.green'); + * + * @name deepProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.deepProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.have.deep.property(prop); + }; + + /** + * ### .notDeepProperty(object, property, [message]) + * + * Asserts that `object` does _not_ have a property named by `property`, which + * can be a string using dot- and bracket-notation for deep reference. + * + * assert.notDeepProperty({ tea: { green: 'matcha' }}, 'tea.oolong'); + * + * @name notDeepProperty + * @param {Object} object + * @param {String} property + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.notDeepProperty = function (obj, prop, msg) { + new Assertion(obj, msg).to.not.have.deep.property(prop); + }; + + /** + * ### .propertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with value given + * by `value`. + * + * assert.propertyVal({ tea: 'is good' }, 'tea', 'is good'); + * + * @name propertyVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.propertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.have.property(prop, val); + }; + + /** + * ### .propertyNotVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property`, but with a value + * different from that given by `value`. + * + * assert.propertyNotVal({ tea: 'is good' }, 'tea', 'is bad'); + * + * @name propertyNotVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.propertyNotVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.not.have.property(prop, val); + }; + + /** + * ### .deepPropertyVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property` with value given + * by `value`. `property` can use dot- and bracket-notation for deep + * reference. + * + * assert.deepPropertyVal({ tea: { green: 'matcha' }}, 'tea.green', 'matcha'); + * + * @name deepPropertyVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.deepPropertyVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.have.deep.property(prop, val); + }; + + /** + * ### .deepPropertyNotVal(object, property, value, [message]) + * + * Asserts that `object` has a property named by `property`, but with a value + * different from that given by `value`. `property` can use dot- and + * bracket-notation for deep reference. + * + * assert.deepPropertyNotVal({ tea: { green: 'matcha' }}, 'tea.green', 'konacha'); + * + * @name deepPropertyNotVal + * @param {Object} object + * @param {String} property + * @param {Mixed} value + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.deepPropertyNotVal = function (obj, prop, val, msg) { + new Assertion(obj, msg).to.not.have.deep.property(prop, val); + }; + + /** + * ### .lengthOf(object, length, [message]) + * + * Asserts that `object` has a `length` property with the expected value. + * + * assert.lengthOf([1,2,3], 3, 'array has length of 3'); + * assert.lengthOf('foobar', 6, 'string has length of 6'); + * + * @name lengthOf + * @param {Mixed} object + * @param {Number} length + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.lengthOf = function (exp, len, msg) { + new Assertion(exp, msg).to.have.length(len); + }; + + /** + * ### .throws(function, [constructor/string/regexp], [string/regexp], [message]) + * + * Asserts that `function` will throw an error that is an instance of + * `constructor`, or alternately that it will throw an error with message + * matching `regexp`. + * + * assert.throws(fn, 'function throws a reference error'); + * assert.throws(fn, /function throws a reference error/); + * assert.throws(fn, ReferenceError); + * assert.throws(fn, ReferenceError, 'function throws a reference error'); + * assert.throws(fn, ReferenceError, /function throws a reference error/); + * + * @name throws + * @alias throw + * @alias Throw + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Assert + * @api public + */ + + assert.throws = function (fn, errt, errs, msg) { + if ('string' === typeof errt || errt instanceof RegExp) { + errs = errt; + errt = null; + } + + var assertErr = new Assertion(fn, msg).to.throw(errt, errs); + return flag(assertErr, 'object'); + }; + + /** + * ### .doesNotThrow(function, [constructor/regexp], [message]) + * + * Asserts that `function` will _not_ throw an error that is an instance of + * `constructor`, or alternately that it will not throw an error with message + * matching `regexp`. + * + * assert.doesNotThrow(fn, Error, 'function does not throw'); + * + * @name doesNotThrow + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Assert + * @api public + */ + + assert.doesNotThrow = function (fn, type, msg) { + if ('string' === typeof type) { + msg = type; + type = null; + } + + new Assertion(fn, msg).to.not.Throw(type); + }; + + /** + * ### .operator(val1, operator, val2, [message]) + * + * Compares two values using `operator`. + * + * assert.operator(1, '<', 2, 'everything is ok'); + * assert.operator(1, '>', 2, 'this will fail'); + * + * @name operator + * @param {Mixed} val1 + * @param {String} operator + * @param {Mixed} val2 + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.operator = function (val, operator, val2, msg) { + var ok; + switch(operator) { + case '==': + ok = val == val2; + break; + case '===': + ok = val === val2; + break; + case '>': + ok = val > val2; + break; + case '>=': + ok = val >= val2; + break; + case '<': + ok = val < val2; + break; + case '<=': + ok = val <= val2; + break; + case '!=': + ok = val != val2; + break; + case '!==': + ok = val !== val2; + break; + default: + throw new Error('Invalid operator "' + operator + '"'); + } + var test = new Assertion(ok, msg); + test.assert( + true === flag(test, 'object') + , 'expected ' + util.inspect(val) + ' to be ' + operator + ' ' + util.inspect(val2) + , 'expected ' + util.inspect(val) + ' to not be ' + operator + ' ' + util.inspect(val2) ); + }; + + /** + * ### .closeTo(actual, expected, delta, [message]) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * assert.closeTo(1.5, 1, 0.5, 'numbers are close'); + * + * @name closeTo + * @param {Number} actual + * @param {Number} expected + * @param {Number} delta + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.closeTo = function (act, exp, delta, msg) { + new Assertion(act, msg).to.be.closeTo(exp, delta); + }; + + /** + * ### .approximately(actual, expected, delta, [message]) + * + * Asserts that the target is equal `expected`, to within a +/- `delta` range. + * + * assert.approximately(1.5, 1, 0.5, 'numbers are close'); + * + * @name approximately + * @param {Number} actual + * @param {Number} expected + * @param {Number} delta + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.approximately = function (act, exp, delta, msg) { + new Assertion(act, msg).to.be.approximately(exp, delta); + }; + + /** + * ### .sameMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members. + * Order is not taken into account. + * + * assert.sameMembers([ 1, 2, 3 ], [ 2, 1, 3 ], 'same members'); + * + * @name sameMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.sameMembers = function (set1, set2, msg) { + new Assertion(set1, msg).to.have.same.members(set2); + } + + /** + * ### .sameDeepMembers(set1, set2, [message]) + * + * Asserts that `set1` and `set2` have the same members - using a deep equality checking. + * Order is not taken into account. + * + * assert.sameDeepMembers([ {b: 3}, {a: 2}, {c: 5} ], [ {c: 5}, {b: 3}, {a: 2} ], 'same deep members'); + * + * @name sameDeepMembers + * @param {Array} set1 + * @param {Array} set2 + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.sameDeepMembers = function (set1, set2, msg) { + new Assertion(set1, msg).to.have.same.deep.members(set2); + } + + /** + * ### .includeMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset`. + * Order is not taken into account. + * + * assert.includeMembers([ 1, 2, 3 ], [ 2, 1 ], 'include members'); + * + * @name includeMembers + * @param {Array} superset + * @param {Array} subset + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.includeMembers = function (superset, subset, msg) { + new Assertion(superset, msg).to.include.members(subset); + } + + /** + * ### .includeDeepMembers(superset, subset, [message]) + * + * Asserts that `subset` is included in `superset` - using deep equality checking. + * Order is not taken into account. + * Duplicates are ignored. + * + * assert.includeDeepMembers([ {a: 1}, {b: 2}, {c: 3} ], [ {b: 2}, {a: 1}, {b: 2} ], 'include deep members'); + * + * @name includeDeepMembers + * @param {Array} superset + * @param {Array} subset + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.includeDeepMembers = function (superset, subset, msg) { + new Assertion(superset, msg).to.include.deep.members(subset); + } + + /** + * ### .oneOf(inList, list, [message]) + * + * Asserts that non-object, non-array value `inList` appears in the flat array `list`. + * + * assert.oneOf(1, [ 2, 1 ], 'Not found in list'); + * + * @name oneOf + * @param {*} inList + * @param {Array<*>} list + * @param {String} message + * @namespace Assert + * @api public + */ + + assert.oneOf = function (inList, list, msg) { + new Assertion(inList, msg).to.be.oneOf(list); + } + + /** + * ### .changes(function, object, property) + * + * Asserts that a function changes the value of a property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 22 }; + * assert.changes(fn, obj, 'val'); + * + * @name changes + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.changes = function (fn, obj, prop) { + new Assertion(fn).to.change(obj, prop); + } + + /** + * ### .doesNotChange(function, object, property) + * + * Asserts that a function does not changes the value of a property + * + * var obj = { val: 10 }; + * var fn = function() { console.log('foo'); }; + * assert.doesNotChange(fn, obj, 'val'); + * + * @name doesNotChange + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.doesNotChange = function (fn, obj, prop) { + new Assertion(fn).to.not.change(obj, prop); + } + + /** + * ### .increases(function, object, property) + * + * Asserts that a function increases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 13 }; + * assert.increases(fn, obj, 'val'); + * + * @name increases + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.increases = function (fn, obj, prop) { + new Assertion(fn).to.increase(obj, prop); + } + + /** + * ### .doesNotIncrease(function, object, property) + * + * Asserts that a function does not increase object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 8 }; + * assert.doesNotIncrease(fn, obj, 'val'); + * + * @name doesNotIncrease + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.doesNotIncrease = function (fn, obj, prop) { + new Assertion(fn).to.not.increase(obj, prop); + } + + /** + * ### .decreases(function, object, property) + * + * Asserts that a function decreases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 5 }; + * assert.decreases(fn, obj, 'val'); + * + * @name decreases + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.decreases = function (fn, obj, prop) { + new Assertion(fn).to.decrease(obj, prop); + } + + /** + * ### .doesNotDecrease(function, object, property) + * + * Asserts that a function does not decreases an object property + * + * var obj = { val: 10 }; + * var fn = function() { obj.val = 15 }; + * assert.doesNotDecrease(fn, obj, 'val'); + * + * @name doesNotDecrease + * @param {Function} modifier function + * @param {Object} object + * @param {String} property name + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.doesNotDecrease = function (fn, obj, prop) { + new Assertion(fn).to.not.decrease(obj, prop); + } + + /*! + * ### .ifError(object) + * + * Asserts if value is not a false value, and throws if it is a true value. + * This is added to allow for chai to be a drop-in replacement for Node's + * assert class. + * + * var err = new Error('I am a custom error'); + * assert.ifError(err); // Rethrows err! + * + * @name ifError + * @param {Object} object + * @namespace Assert + * @api public + */ + + assert.ifError = function (val) { + if (val) { + throw(val); + } + }; + + /** + * ### .isExtensible(object) + * + * Asserts that `object` is extensible (can have new properties added to it). + * + * assert.isExtensible({}); + * + * @name isExtensible + * @alias extensible + * @param {Object} object + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.isExtensible = function (obj, msg) { + new Assertion(obj, msg).to.be.extensible; + }; + + /** + * ### .isNotExtensible(object) + * + * Asserts that `object` is _not_ extensible. + * + * var nonExtensibleObject = Object.preventExtensions({}); + * var sealedObject = Object.seal({}); + * var frozenObject = Object.freese({}); + * + * assert.isNotExtensible(nonExtensibleObject); + * assert.isNotExtensible(sealedObject); + * assert.isNotExtensible(frozenObject); + * + * @name isNotExtensible + * @alias notExtensible + * @param {Object} object + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.isNotExtensible = function (obj, msg) { + new Assertion(obj, msg).to.not.be.extensible; + }; + + /** + * ### .isSealed(object) + * + * Asserts that `object` is sealed (cannot have new properties added to it + * and its existing properties cannot be removed). + * + * var sealedObject = Object.seal({}); + * var frozenObject = Object.seal({}); + * + * assert.isSealed(sealedObject); + * assert.isSealed(frozenObject); + * + * @name isSealed + * @alias sealed + * @param {Object} object + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.isSealed = function (obj, msg) { + new Assertion(obj, msg).to.be.sealed; + }; + + /** + * ### .isNotSealed(object) + * + * Asserts that `object` is _not_ sealed. + * + * assert.isNotSealed({}); + * + * @name isNotSealed + * @alias notSealed + * @param {Object} object + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.isNotSealed = function (obj, msg) { + new Assertion(obj, msg).to.not.be.sealed; + }; + + /** + * ### .isFrozen(object) + * + * Asserts that `object` is frozen (cannot have new properties added to it + * and its existing properties cannot be modified). + * + * var frozenObject = Object.freeze({}); + * assert.frozen(frozenObject); + * + * @name isFrozen + * @alias frozen + * @param {Object} object + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.isFrozen = function (obj, msg) { + new Assertion(obj, msg).to.be.frozen; + }; + + /** + * ### .isNotFrozen(object) + * + * Asserts that `object` is _not_ frozen. + * + * assert.isNotFrozen({}); + * + * @name isNotFrozen + * @alias notFrozen + * @param {Object} object + * @param {String} message _optional_ + * @namespace Assert + * @api public + */ + + assert.isNotFrozen = function (obj, msg) { + new Assertion(obj, msg).to.not.be.frozen; + }; + + /*! + * Aliases. + */ + + (function alias(name, as){ + assert[as] = assert[name]; + return alias; + }) + ('isOk', 'ok') + ('isNotOk', 'notOk') + ('throws', 'throw') + ('throws', 'Throw') + ('isExtensible', 'extensible') + ('isNotExtensible', 'notExtensible') + ('isSealed', 'sealed') + ('isNotSealed', 'notSealed') + ('isFrozen', 'frozen') + ('isNotFrozen', 'notFrozen'); +}; + +},{}],7:[function(require,module,exports){ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +module.exports = function (chai, util) { + chai.expect = function (val, message) { + return new chai.Assertion(val, message); + }; + + /** + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. + * + * @name fail + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @param {String} operator + * @namespace Expect + * @api public + */ + + chai.expect.fail = function (actual, expected, message, operator) { + message = message || 'expect.fail()'; + throw new chai.AssertionError(message, { + actual: actual + , expected: expected + , operator: operator + }, chai.expect.fail); + }; +}; + +},{}],8:[function(require,module,exports){ +/*! + * chai + * Copyright(c) 2011-2014 Jake Luer + * MIT Licensed + */ + +module.exports = function (chai, util) { + var Assertion = chai.Assertion; + + function loadShould () { + // explicitly define this method as function as to have it's name to include as `ssfi` + function shouldGetter() { + if (this instanceof String || this instanceof Number || this instanceof Boolean ) { + return new Assertion(this.valueOf(), null, shouldGetter); + } + return new Assertion(this, null, shouldGetter); + } + function shouldSetter(value) { + // See https://github.com/chaijs/chai/issues/86: this makes + // `whatever.should = someValue` actually set `someValue`, which is + // especially useful for `global.should = require('chai').should()`. + // + // Note that we have to use [[DefineProperty]] instead of [[Put]] + // since otherwise we would trigger this very setter! + Object.defineProperty(this, 'should', { + value: value, + enumerable: true, + configurable: true, + writable: true + }); + } + // modify Object.prototype to have `should` + Object.defineProperty(Object.prototype, 'should', { + set: shouldSetter + , get: shouldGetter + , configurable: true + }); + + var should = {}; + + /** + * ### .fail(actual, expected, [message], [operator]) + * + * Throw a failure. + * + * @name fail + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @param {String} operator + * @namespace Should + * @api public + */ + + should.fail = function (actual, expected, message, operator) { + message = message || 'should.fail()'; + throw new chai.AssertionError(message, { + actual: actual + , expected: expected + , operator: operator + }, should.fail); + }; + + /** + * ### .equal(actual, expected, [message]) + * + * Asserts non-strict equality (`==`) of `actual` and `expected`. + * + * should.equal(3, '3', '== coerces values to strings'); + * + * @name equal + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Should + * @api public + */ + + should.equal = function (val1, val2, msg) { + new Assertion(val1, msg).to.equal(val2); + }; + + /** + * ### .throw(function, [constructor/string/regexp], [string/regexp], [message]) + * + * Asserts that `function` will throw an error that is an instance of + * `constructor`, or alternately that it will throw an error with message + * matching `regexp`. + * + * should.throw(fn, 'function throws a reference error'); + * should.throw(fn, /function throws a reference error/); + * should.throw(fn, ReferenceError); + * should.throw(fn, ReferenceError, 'function throws a reference error'); + * should.throw(fn, ReferenceError, /function throws a reference error/); + * + * @name throw + * @alias Throw + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Should + * @api public + */ + + should.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.Throw(errt, errs); + }; + + /** + * ### .exist + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var foo = 'hi'; + * + * should.exist(foo, 'foo exists'); + * + * @name exist + * @namespace Should + * @api public + */ + + should.exist = function (val, msg) { + new Assertion(val, msg).to.exist; + } + + // negation + should.not = {} + + /** + * ### .not.equal(actual, expected, [message]) + * + * Asserts non-strict inequality (`!=`) of `actual` and `expected`. + * + * should.not.equal(3, 4, 'these numbers are not equal'); + * + * @name not.equal + * @param {Mixed} actual + * @param {Mixed} expected + * @param {String} message + * @namespace Should + * @api public + */ + + should.not.equal = function (val1, val2, msg) { + new Assertion(val1, msg).to.not.equal(val2); + }; + + /** + * ### .throw(function, [constructor/regexp], [message]) + * + * Asserts that `function` will _not_ throw an error that is an instance of + * `constructor`, or alternately that it will not throw an error with message + * matching `regexp`. + * + * should.not.throw(fn, Error, 'function does not throw'); + * + * @name not.throw + * @alias not.Throw + * @param {Function} function + * @param {ErrorConstructor} constructor + * @param {RegExp} regexp + * @param {String} message + * @see https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error#Error_types + * @namespace Should + * @api public + */ + + should.not.Throw = function (fn, errt, errs, msg) { + new Assertion(fn, msg).to.not.Throw(errt, errs); + }; + + /** + * ### .not.exist + * + * Asserts that the target is neither `null` nor `undefined`. + * + * var bar = null; + * + * should.not.exist(bar, 'bar does not exist'); + * + * @name not.exist + * @namespace Should + * @api public + */ + + should.not.exist = function (val, msg) { + new Assertion(val, msg).to.not.exist; + } + + should['throw'] = should['Throw']; + should.not['throw'] = should.not['Throw']; + + return should; + }; + + chai.should = loadShould; + chai.Should = loadShould; +}; + +},{}],9:[function(require,module,exports){ +/*! + * Chai - addChainingMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependencies + */ + +var transferFlags = require('./transferFlags'); +var flag = require('./flag'); +var config = require('../config'); + +/*! + * Module variables + */ + +// Check whether `__proto__` is supported +var hasProtoSupport = '__proto__' in Object; + +// Without `__proto__` support, this module will need to add properties to a function. +// However, some Function.prototype methods cannot be overwritten, +// and there seems no easy cross-platform way to detect them (@see chaijs/chai/issues/69). +var excludeNames = /^(?:length|name|arguments|caller)$/; + +// Cache `Function` properties +var call = Function.prototype.call, + apply = Function.prototype.apply; + +/** + * ### addChainableMethod (ctx, name, method, chainingBehavior) + * + * Adds a method to an object, such that the method can also be chained. + * + * utils.addChainableMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addChainableMethod('foo', fn, chainingBehavior); + * + * The result can then be used as both a method assertion, executing both `method` and + * `chainingBehavior`, or as a language chain, which only executes `chainingBehavior`. + * + * expect(fooStr).to.be.foo('bar'); + * expect(fooStr).to.be.foo.equal('foo'); + * + * @param {Object} ctx object to which the method is added + * @param {String} name of method to add + * @param {Function} method function to be used for `name`, when called + * @param {Function} chainingBehavior function to be called every time the property is accessed + * @namespace Utils + * @name addChainableMethod + * @api public + */ + +module.exports = function (ctx, name, method, chainingBehavior) { + if (typeof chainingBehavior !== 'function') { + chainingBehavior = function () { }; + } + + var chainableBehavior = { + method: method + , chainingBehavior: chainingBehavior + }; + + // save the methods so we can overwrite them later, if we need to. + if (!ctx.__methods) { + ctx.__methods = {}; + } + ctx.__methods[name] = chainableBehavior; + + Object.defineProperty(ctx, name, + { get: function () { + chainableBehavior.chainingBehavior.call(this); + + var assert = function assert() { + var old_ssfi = flag(this, 'ssfi'); + if (old_ssfi && config.includeStack === false) + flag(this, 'ssfi', assert); + var result = chainableBehavior.method.apply(this, arguments); + return result === undefined ? this : result; + }; + + // Use `__proto__` if available + if (hasProtoSupport) { + // Inherit all properties from the object by replacing the `Function` prototype + var prototype = assert.__proto__ = Object.create(this); + // Restore the `call` and `apply` methods from `Function` + prototype.call = call; + prototype.apply = apply; + } + // Otherwise, redefine all properties (slow!) + else { + var asserterNames = Object.getOwnPropertyNames(ctx); + asserterNames.forEach(function (asserterName) { + if (!excludeNames.test(asserterName)) { + var pd = Object.getOwnPropertyDescriptor(ctx, asserterName); + Object.defineProperty(assert, asserterName, pd); + } + }); + } + + transferFlags(this, assert); + return assert; + } + , configurable: true + }); +}; + +},{"../config":4,"./flag":13,"./transferFlags":29}],10:[function(require,module,exports){ +/*! + * Chai - addMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +var config = require('../config'); + +/** + * ### .addMethod (ctx, name, method) + * + * Adds a method to the prototype of an object. + * + * utils.addMethod(chai.Assertion.prototype, 'foo', function (str) { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.equal(str); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(fooStr).to.be.foo('bar'); + * + * @param {Object} ctx object to which the method is added + * @param {String} name of method to add + * @param {Function} method function to be used for name + * @namespace Utils + * @name addMethod + * @api public + */ +var flag = require('./flag'); + +module.exports = function (ctx, name, method) { + ctx[name] = function () { + var old_ssfi = flag(this, 'ssfi'); + if (old_ssfi && config.includeStack === false) + flag(this, 'ssfi', ctx[name]); + var result = method.apply(this, arguments); + return result === undefined ? this : result; + }; +}; + +},{"../config":4,"./flag":13}],11:[function(require,module,exports){ +/*! + * Chai - addProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +var config = require('../config'); +var flag = require('./flag'); + +/** + * ### addProperty (ctx, name, getter) + * + * Adds a property to the prototype of an object. + * + * utils.addProperty(chai.Assertion.prototype, 'foo', function () { + * var obj = utils.flag(this, 'object'); + * new chai.Assertion(obj).to.be.instanceof(Foo); + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.addProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.foo; + * + * @param {Object} ctx object to which the property is added + * @param {String} name of property to add + * @param {Function} getter function to be used for name + * @namespace Utils + * @name addProperty + * @api public + */ + +module.exports = function (ctx, name, getter) { + Object.defineProperty(ctx, name, + { get: function addProperty() { + var old_ssfi = flag(this, 'ssfi'); + if (old_ssfi && config.includeStack === false) + flag(this, 'ssfi', addProperty); + + var result = getter.call(this); + return result === undefined ? this : result; + } + , configurable: true + }); +}; + +},{"../config":4,"./flag":13}],12:[function(require,module,exports){ +/*! + * Chai - expectTypes utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### expectTypes(obj, types) + * + * Ensures that the object being tested against is of a valid type. + * + * utils.expectTypes(this, ['array', 'object', 'string']); + * + * @param {Mixed} obj constructed Assertion + * @param {Array} type A list of allowed types for this assertion + * @namespace Utils + * @name expectTypes + * @api public + */ + +var AssertionError = require('assertion-error'); +var flag = require('./flag'); +var type = require('type-detect'); + +module.exports = function (obj, types) { + var obj = flag(obj, 'object'); + types = types.map(function (t) { return t.toLowerCase(); }); + types.sort(); + + // Transforms ['lorem', 'ipsum'] into 'a lirum, or an ipsum' + var str = types.map(function (t, index) { + var art = ~[ 'a', 'e', 'i', 'o', 'u' ].indexOf(t.charAt(0)) ? 'an' : 'a'; + var or = types.length > 1 && index === types.length - 1 ? 'or ' : ''; + return or + art + ' ' + t; + }).join(', '); + + if (!types.some(function (expected) { return type(obj) === expected; })) { + throw new AssertionError( + 'object tested must be ' + str + ', but ' + type(obj) + ' given' + ); + } +}; + +},{"./flag":13,"assertion-error":30,"type-detect":35}],13:[function(require,module,exports){ +/*! + * Chai - flag utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### flag(object, key, [value]) + * + * Get or set a flag value on an object. If a + * value is provided it will be set, else it will + * return the currently set value or `undefined` if + * the value is not set. + * + * utils.flag(this, 'foo', 'bar'); // setter + * utils.flag(this, 'foo'); // getter, returns `bar` + * + * @param {Object} object constructed Assertion + * @param {String} key + * @param {Mixed} value (optional) + * @namespace Utils + * @name flag + * @api private + */ + +module.exports = function (obj, key, value) { + var flags = obj.__flags || (obj.__flags = Object.create(null)); + if (arguments.length === 3) { + flags[key] = value; + } else { + return flags[key]; + } +}; + +},{}],14:[function(require,module,exports){ +/*! + * Chai - getActual utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * # getActual(object, [actual]) + * + * Returns the `actual` value for an Assertion + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + * @namespace Utils + * @name getActual + */ + +module.exports = function (obj, args) { + return args.length > 4 ? args[4] : obj._obj; +}; + +},{}],15:[function(require,module,exports){ +/*! + * Chai - getEnumerableProperties utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .getEnumerableProperties(object) + * + * This allows the retrieval of enumerable property names of an object, + * inherited or not. + * + * @param {Object} object + * @returns {Array} + * @namespace Utils + * @name getEnumerableProperties + * @api public + */ + +module.exports = function getEnumerableProperties(object) { + var result = []; + for (var name in object) { + result.push(name); + } + return result; +}; + +},{}],16:[function(require,module,exports){ +/*! + * Chai - message composition utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependancies + */ + +var flag = require('./flag') + , getActual = require('./getActual') + , inspect = require('./inspect') + , objDisplay = require('./objDisplay'); + +/** + * ### .getMessage(object, message, negateMessage) + * + * Construct the error message based on flags + * and template tags. Template tags will return + * a stringified inspection of the object referenced. + * + * Message template tags: + * - `#{this}` current asserted object + * - `#{act}` actual value + * - `#{exp}` expected value + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + * @namespace Utils + * @name getMessage + * @api public + */ + +module.exports = function (obj, args) { + var negate = flag(obj, 'negate') + , val = flag(obj, 'object') + , expected = args[3] + , actual = getActual(obj, args) + , msg = negate ? args[2] : args[1] + , flagMsg = flag(obj, 'message'); + + if(typeof msg === "function") msg = msg(); + msg = msg || ''; + msg = msg + .replace(/#\{this\}/g, function () { return objDisplay(val); }) + .replace(/#\{act\}/g, function () { return objDisplay(actual); }) + .replace(/#\{exp\}/g, function () { return objDisplay(expected); }); + + return flagMsg ? flagMsg + ': ' + msg : msg; +}; + +},{"./flag":13,"./getActual":14,"./inspect":23,"./objDisplay":24}],17:[function(require,module,exports){ +/*! + * Chai - getName utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * # getName(func) + * + * Gets the name of a function, in a cross-browser way. + * + * @param {Function} a function (usually a constructor) + * @namespace Utils + * @name getName + */ + +module.exports = function (func) { + if (func.name) return func.name; + + var match = /^\s?function ([^(]*)\(/.exec(func); + return match && match[1] ? match[1] : ""; +}; + +},{}],18:[function(require,module,exports){ +/*! + * Chai - getPathInfo utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +var hasProperty = require('./hasProperty'); + +/** + * ### .getPathInfo(path, object) + * + * This allows the retrieval of property info in an + * object given a string path. + * + * The path info consists of an object with the + * following properties: + * + * * parent - The parent object of the property referenced by `path` + * * name - The name of the final property, a number if it was an array indexer + * * value - The value of the property, if it exists, otherwise `undefined` + * * exists - Whether the property exists or not + * + * @param {String} path + * @param {Object} object + * @returns {Object} info + * @namespace Utils + * @name getPathInfo + * @api public + */ + +module.exports = function getPathInfo(path, obj) { + var parsed = parsePath(path), + last = parsed[parsed.length - 1]; + + var info = { + parent: parsed.length > 1 ? _getPathValue(parsed, obj, parsed.length - 1) : obj, + name: last.p || last.i, + value: _getPathValue(parsed, obj) + }; + info.exists = hasProperty(info.name, info.parent); + + return info; +}; + + +/*! + * ## parsePath(path) + * + * Helper function used to parse string object + * paths. Use in conjunction with `_getPathValue`. + * + * var parsed = parsePath('myobject.property.subprop'); + * + * ### Paths: + * + * * Can be as near infinitely deep and nested + * * Arrays are also valid using the formal `myobject.document[3].property`. + * * Literal dots and brackets (not delimiter) must be backslash-escaped. + * + * @param {String} path + * @returns {Object} parsed + * @api private + */ + +function parsePath (path) { + var str = path.replace(/([^\\])\[/g, '$1.[') + , parts = str.match(/(\\\.|[^.]+?)+/g); + return parts.map(function (value) { + var re = /^\[(\d+)\]$/ + , mArr = re.exec(value); + if (mArr) return { i: parseFloat(mArr[1]) }; + else return { p: value.replace(/\\([.\[\]])/g, '$1') }; + }); +} + + +/*! + * ## _getPathValue(parsed, obj) + * + * Helper companion function for `.parsePath` that returns + * the value located at the parsed address. + * + * var value = getPathValue(parsed, obj); + * + * @param {Object} parsed definition from `parsePath`. + * @param {Object} object to search against + * @param {Number} object to search against + * @returns {Object|Undefined} value + * @api private + */ + +function _getPathValue (parsed, obj, index) { + var tmp = obj + , res; + + index = (index === undefined ? parsed.length : index); + + for (var i = 0, l = index; i < l; i++) { + var part = parsed[i]; + if (tmp) { + if ('undefined' !== typeof part.p) + tmp = tmp[part.p]; + else if ('undefined' !== typeof part.i) + tmp = tmp[part.i]; + if (i == (l - 1)) res = tmp; + } else { + res = undefined; + } + } + return res; +} + +},{"./hasProperty":21}],19:[function(require,module,exports){ +/*! + * Chai - getPathValue utility + * Copyright(c) 2012-2014 Jake Luer + * @see https://github.com/logicalparadox/filtr + * MIT Licensed + */ + +var getPathInfo = require('./getPathInfo'); + +/** + * ### .getPathValue(path, object) + * + * This allows the retrieval of values in an + * object given a string path. + * + * var obj = { + * prop1: { + * arr: ['a', 'b', 'c'] + * , str: 'Hello' + * } + * , prop2: { + * arr: [ { nested: 'Universe' } ] + * , str: 'Hello again!' + * } + * } + * + * The following would be the results. + * + * getPathValue('prop1.str', obj); // Hello + * getPathValue('prop1.att[2]', obj); // b + * getPathValue('prop2.arr[0].nested', obj); // Universe + * + * @param {String} path + * @param {Object} object + * @returns {Object} value or `undefined` + * @namespace Utils + * @name getPathValue + * @api public + */ +module.exports = function(path, obj) { + var info = getPathInfo(path, obj); + return info.value; +}; + +},{"./getPathInfo":18}],20:[function(require,module,exports){ +/*! + * Chai - getProperties utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### .getProperties(object) + * + * This allows the retrieval of property names of an object, enumerable or not, + * inherited or not. + * + * @param {Object} object + * @returns {Array} + * @namespace Utils + * @name getProperties + * @api public + */ + +module.exports = function getProperties(object) { + var result = Object.getOwnPropertyNames(object); + + function addProperty(property) { + if (result.indexOf(property) === -1) { + result.push(property); + } + } + + var proto = Object.getPrototypeOf(object); + while (proto !== null) { + Object.getOwnPropertyNames(proto).forEach(addProperty); + proto = Object.getPrototypeOf(proto); + } + + return result; +}; + +},{}],21:[function(require,module,exports){ +/*! + * Chai - hasProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +var type = require('type-detect'); + +/** + * ### .hasProperty(object, name) + * + * This allows checking whether an object has + * named property or numeric array index. + * + * Basically does the same thing as the `in` + * operator but works properly with natives + * and null/undefined values. + * + * var obj = { + * arr: ['a', 'b', 'c'] + * , str: 'Hello' + * } + * + * The following would be the results. + * + * hasProperty('str', obj); // true + * hasProperty('constructor', obj); // true + * hasProperty('bar', obj); // false + * + * hasProperty('length', obj.str); // true + * hasProperty(1, obj.str); // true + * hasProperty(5, obj.str); // false + * + * hasProperty('length', obj.arr); // true + * hasProperty(2, obj.arr); // true + * hasProperty(3, obj.arr); // false + * + * @param {Objuect} object + * @param {String|Number} name + * @returns {Boolean} whether it exists + * @namespace Utils + * @name getPathInfo + * @api public + */ + +var literals = { + 'number': Number + , 'string': String +}; + +module.exports = function hasProperty(name, obj) { + var ot = type(obj); + + // Bad Object, obviously no props at all + if(ot === 'null' || ot === 'undefined') + return false; + + // The `in` operator does not work with certain literals + // box these before the check + if(literals[ot] && typeof obj !== 'object') + obj = new literals[ot](obj); + + return name in obj; +}; + +},{"type-detect":35}],22:[function(require,module,exports){ +/*! + * chai + * Copyright(c) 2011 Jake Luer + * MIT Licensed + */ + +/*! + * Main exports + */ + +var exports = module.exports = {}; + +/*! + * test utility + */ + +exports.test = require('./test'); + +/*! + * type utility + */ + +exports.type = require('type-detect'); + +/*! + * expectTypes utility + */ +exports.expectTypes = require('./expectTypes'); + +/*! + * message utility + */ + +exports.getMessage = require('./getMessage'); + +/*! + * actual utility + */ + +exports.getActual = require('./getActual'); + +/*! + * Inspect util + */ + +exports.inspect = require('./inspect'); + +/*! + * Object Display util + */ + +exports.objDisplay = require('./objDisplay'); + +/*! + * Flag utility + */ + +exports.flag = require('./flag'); + +/*! + * Flag transferring utility + */ + +exports.transferFlags = require('./transferFlags'); + +/*! + * Deep equal utility + */ + +exports.eql = require('deep-eql'); + +/*! + * Deep path value + */ + +exports.getPathValue = require('./getPathValue'); + +/*! + * Deep path info + */ + +exports.getPathInfo = require('./getPathInfo'); + +/*! + * Check if a property exists + */ + +exports.hasProperty = require('./hasProperty'); + +/*! + * Function name + */ + +exports.getName = require('./getName'); + +/*! + * add Property + */ + +exports.addProperty = require('./addProperty'); + +/*! + * add Method + */ + +exports.addMethod = require('./addMethod'); + +/*! + * overwrite Property + */ + +exports.overwriteProperty = require('./overwriteProperty'); + +/*! + * overwrite Method + */ + +exports.overwriteMethod = require('./overwriteMethod'); + +/*! + * Add a chainable method + */ + +exports.addChainableMethod = require('./addChainableMethod'); + +/*! + * Overwrite chainable method + */ + +exports.overwriteChainableMethod = require('./overwriteChainableMethod'); + +},{"./addChainableMethod":9,"./addMethod":10,"./addProperty":11,"./expectTypes":12,"./flag":13,"./getActual":14,"./getMessage":16,"./getName":17,"./getPathInfo":18,"./getPathValue":19,"./hasProperty":21,"./inspect":23,"./objDisplay":24,"./overwriteChainableMethod":25,"./overwriteMethod":26,"./overwriteProperty":27,"./test":28,"./transferFlags":29,"deep-eql":31,"type-detect":35}],23:[function(require,module,exports){ +// This is (almost) directly from Node.js utils +// https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js + +var getName = require('./getName'); +var getProperties = require('./getProperties'); +var getEnumerableProperties = require('./getEnumerableProperties'); + +module.exports = inspect; + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Boolean} showHidden Flag that shows hidden (not enumerable) + * properties of objects. + * @param {Number} depth Depth in which to descend in object. Default is 2. + * @param {Boolean} colors Flag to turn on ANSI escape codes to color the + * output. Default is false (no coloring). + * @namespace Utils + * @name inspect + */ +function inspect(obj, showHidden, depth, colors) { + var ctx = { + showHidden: showHidden, + seen: [], + stylize: function (str) { return str; } + }; + return formatValue(ctx, obj, (typeof depth === 'undefined' ? 2 : depth)); +} + +// Returns true if object is a DOM element. +var isDOMElement = function (object) { + if (typeof HTMLElement === 'object') { + return object instanceof HTMLElement; + } else { + return object && + typeof object === 'object' && + object.nodeType === 1 && + typeof object.nodeName === 'string'; + } +}; + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (value && typeof value.inspect === 'function' && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes); + if (typeof ret !== 'string') { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // If this is a DOM element, try to get the outer HTML. + if (isDOMElement(value)) { + if ('outerHTML' in value) { + return value.outerHTML; + // This value does not have an outerHTML attribute, + // it could still be an XML element + } else { + // Attempt to serialize it + try { + if (document.xmlVersion) { + var xmlSerializer = new XMLSerializer(); + return xmlSerializer.serializeToString(value); + } else { + // Firefox 11- do not support outerHTML + // It does, however, support innerHTML + // Use the following to render the element + var ns = "http://www.w3.org/1999/xhtml"; + var container = document.createElementNS(ns, '_'); + + container.appendChild(value.cloneNode(false)); + html = container.innerHTML + .replace('><', '>' + value.innerHTML + '<'); + container.innerHTML = ''; + return html; + } + } catch (err) { + // This could be a non-native DOM implementation, + // continue with the normal flow: + // printing the element as if it is an object. + } + } + } + + // Look up the keys of the object. + var visibleKeys = getEnumerableProperties(value); + var keys = ctx.showHidden ? getProperties(value) : visibleKeys; + + // Some type of object without properties can be shortcutted. + // In IE, errors have a single `stack` property, or if they are vanilla `Error`, + // a `stack` plus `description` property; ignore those for consistency. + if (keys.length === 0 || (isError(value) && ( + (keys.length === 1 && keys[0] === 'stack') || + (keys.length === 2 && keys[0] === 'description' && keys[1] === 'stack') + ))) { + if (typeof value === 'function') { + var name = getName(value); + var nameSuffix = name ? ': ' + name : ''; + return ctx.stylize('[Function' + nameSuffix + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toUTCString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (typeof value === 'function') { + var name = getName(value); + var nameSuffix = name ? ': ' + name : ''; + base = ' [Function' + nameSuffix + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + return formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + switch (typeof value) { + case 'undefined': + return ctx.stylize('undefined', 'undefined'); + + case 'string': + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + + case 'number': + if (value === 0 && (1/value) === -Infinity) { + return ctx.stylize('-0', 'number'); + } + return ctx.stylize('' + value, 'number'); + + case 'boolean': + return ctx.stylize('' + value, 'boolean'); + } + // For some reason typeof null is "object", so special case here. + if (value === null) { + return ctx.stylize('null', 'null'); + } +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (Object.prototype.hasOwnProperty.call(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str; + if (value.__lookupGetter__) { + if (value.__lookupGetter__(key)) { + if (value.__lookupSetter__(key)) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (value.__lookupSetter__(key)) { + str = ctx.stylize('[Setter]', 'special'); + } + } + } + if (visibleKeys.indexOf(key) < 0) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(value[key]) < 0) { + if (recurseTimes === null) { + str = formatValue(ctx, value[key], null); + } else { + str = formatValue(ctx, value[key], recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (typeof name === 'undefined') { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + +function isArray(ar) { + return Array.isArray(ar) || + (typeof ar === 'object' && objectToString(ar) === '[object Array]'); +} + +function isRegExp(re) { + return typeof re === 'object' && objectToString(re) === '[object RegExp]'; +} + +function isDate(d) { + return typeof d === 'object' && objectToString(d) === '[object Date]'; +} + +function isError(e) { + return typeof e === 'object' && objectToString(e) === '[object Error]'; +} + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + +},{"./getEnumerableProperties":15,"./getName":17,"./getProperties":20}],24:[function(require,module,exports){ +/*! + * Chai - flag utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependancies + */ + +var inspect = require('./inspect'); +var config = require('../config'); + +/** + * ### .objDisplay (object) + * + * Determines if an object or an array matches + * criteria to be inspected in-line for error + * messages or should be truncated. + * + * @param {Mixed} javascript object to inspect + * @name objDisplay + * @namespace Utils + * @api public + */ + +module.exports = function (obj) { + var str = inspect(obj) + , type = Object.prototype.toString.call(obj); + + if (config.truncateThreshold && str.length >= config.truncateThreshold) { + if (type === '[object Function]') { + return !obj.name || obj.name === '' + ? '[Function]' + : '[Function: ' + obj.name + ']'; + } else if (type === '[object Array]') { + return '[ Array(' + obj.length + ') ]'; + } else if (type === '[object Object]') { + var keys = Object.keys(obj) + , kstr = keys.length > 2 + ? keys.splice(0, 2).join(', ') + ', ...' + : keys.join(', '); + return '{ Object (' + kstr + ') }'; + } else { + return str; + } + } else { + return str; + } +}; + +},{"../config":4,"./inspect":23}],25:[function(require,module,exports){ +/*! + * Chai - overwriteChainableMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### overwriteChainableMethod (ctx, name, method, chainingBehavior) + * + * Overwites an already existing chainable method + * and provides access to the previous function or + * property. Must return functions to be used for + * name. + * + * utils.overwriteChainableMethod(chai.Assertion.prototype, 'length', + * function (_super) { + * } + * , function (_super) { + * } + * ); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteChainableMethod('foo', fn, fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.have.length(3); + * expect(myFoo).to.have.length.above(3); + * + * @param {Object} ctx object whose method / property is to be overwritten + * @param {String} name of method / property to overwrite + * @param {Function} method function that returns a function to be used for name + * @param {Function} chainingBehavior function that returns a function to be used for property + * @namespace Utils + * @name overwriteChainableMethod + * @api public + */ + +module.exports = function (ctx, name, method, chainingBehavior) { + var chainableBehavior = ctx.__methods[name]; + + var _chainingBehavior = chainableBehavior.chainingBehavior; + chainableBehavior.chainingBehavior = function () { + var result = chainingBehavior(_chainingBehavior).call(this); + return result === undefined ? this : result; + }; + + var _method = chainableBehavior.method; + chainableBehavior.method = function () { + var result = method(_method).apply(this, arguments); + return result === undefined ? this : result; + }; +}; + +},{}],26:[function(require,module,exports){ +/*! + * Chai - overwriteMethod utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### overwriteMethod (ctx, name, fn) + * + * Overwites an already existing method and provides + * access to previous function. Must return function + * to be used for name. + * + * utils.overwriteMethod(chai.Assertion.prototype, 'equal', function (_super) { + * return function (str) { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.value).to.equal(str); + * } else { + * _super.apply(this, arguments); + * } + * } + * }); + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteMethod('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.equal('bar'); + * + * @param {Object} ctx object whose method is to be overwritten + * @param {String} name of method to overwrite + * @param {Function} method function that returns a function to be used for name + * @namespace Utils + * @name overwriteMethod + * @api public + */ + +module.exports = function (ctx, name, method) { + var _method = ctx[name] + , _super = function () { return this; }; + + if (_method && 'function' === typeof _method) + _super = _method; + + ctx[name] = function () { + var result = method(_super).apply(this, arguments); + return result === undefined ? this : result; + } +}; + +},{}],27:[function(require,module,exports){ +/*! + * Chai - overwriteProperty utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### overwriteProperty (ctx, name, fn) + * + * Overwites an already existing property getter and provides + * access to previous value. Must return function to use as getter. + * + * utils.overwriteProperty(chai.Assertion.prototype, 'ok', function (_super) { + * return function () { + * var obj = utils.flag(this, 'object'); + * if (obj instanceof Foo) { + * new chai.Assertion(obj.name).to.equal('bar'); + * } else { + * _super.call(this); + * } + * } + * }); + * + * + * Can also be accessed directly from `chai.Assertion`. + * + * chai.Assertion.overwriteProperty('foo', fn); + * + * Then can be used as any other assertion. + * + * expect(myFoo).to.be.ok; + * + * @param {Object} ctx object whose property is to be overwritten + * @param {String} name of property to overwrite + * @param {Function} getter function that returns a getter function to be used for name + * @namespace Utils + * @name overwriteProperty + * @api public + */ + +module.exports = function (ctx, name, getter) { + var _get = Object.getOwnPropertyDescriptor(ctx, name) + , _super = function () {}; + + if (_get && 'function' === typeof _get.get) + _super = _get.get + + Object.defineProperty(ctx, name, + { get: function () { + var result = getter(_super).call(this); + return result === undefined ? this : result; + } + , configurable: true + }); +}; + +},{}],28:[function(require,module,exports){ +/*! + * Chai - test utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependancies + */ + +var flag = require('./flag'); + +/** + * # test(object, expression) + * + * Test and object for expression. + * + * @param {Object} object (constructed Assertion) + * @param {Arguments} chai.Assertion.prototype.assert arguments + * @namespace Utils + * @name test + */ + +module.exports = function (obj, args) { + var negate = flag(obj, 'negate') + , expr = args[0]; + return negate ? !expr : expr; +}; + +},{"./flag":13}],29:[function(require,module,exports){ +/*! + * Chai - transferFlags utility + * Copyright(c) 2012-2014 Jake Luer + * MIT Licensed + */ + +/** + * ### transferFlags(assertion, object, includeAll = true) + * + * Transfer all the flags for `assertion` to `object`. If + * `includeAll` is set to `false`, then the base Chai + * assertion flags (namely `object`, `ssfi`, and `message`) + * will not be transferred. + * + * + * var newAssertion = new Assertion(); + * utils.transferFlags(assertion, newAssertion); + * + * var anotherAsseriton = new Assertion(myObj); + * utils.transferFlags(assertion, anotherAssertion, false); + * + * @param {Assertion} assertion the assertion to transfer the flags from + * @param {Object} object the object to transfer the flags to; usually a new assertion + * @param {Boolean} includeAll + * @namespace Utils + * @name transferFlags + * @api private + */ + +module.exports = function (assertion, object, includeAll) { + var flags = assertion.__flags || (assertion.__flags = Object.create(null)); + + if (!object.__flags) { + object.__flags = Object.create(null); + } + + includeAll = arguments.length === 3 ? includeAll : true; + + for (var flag in flags) { + if (includeAll || + (flag !== 'object' && flag !== 'ssfi' && flag != 'message')) { + object.__flags[flag] = flags[flag]; + } + } +}; + +},{}],30:[function(require,module,exports){ +/*! + * assertion-error + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ + +/*! + * Return a function that will copy properties from + * one object to another excluding any originally + * listed. Returned function will create a new `{}`. + * + * @param {String} excluded properties ... + * @return {Function} + */ + +function exclude () { + var excludes = [].slice.call(arguments); + + function excludeProps (res, obj) { + Object.keys(obj).forEach(function (key) { + if (!~excludes.indexOf(key)) res[key] = obj[key]; + }); + } + + return function extendExclude () { + var args = [].slice.call(arguments) + , i = 0 + , res = {}; + + for (; i < args.length; i++) { + excludeProps(res, args[i]); + } + + return res; + }; +}; + +/*! + * Primary Exports + */ + +module.exports = AssertionError; + +/** + * ### AssertionError + * + * An extension of the JavaScript `Error` constructor for + * assertion and validation scenarios. + * + * @param {String} message + * @param {Object} properties to include (optional) + * @param {callee} start stack function (optional) + */ + +function AssertionError (message, _props, ssf) { + var extend = exclude('name', 'message', 'stack', 'constructor', 'toJSON') + , props = extend(_props || {}); + + // default values + this.message = message || 'Unspecified AssertionError'; + this.showDiff = false; + + // copy from properties + for (var key in props) { + this[key] = props[key]; + } + + // capture stack trace + ssf = ssf || arguments.callee; + if (ssf && Error.captureStackTrace) { + Error.captureStackTrace(this, ssf); + } else { + this.stack = new Error().stack; + } +} + +/*! + * Inherit from Error.prototype + */ + +AssertionError.prototype = Object.create(Error.prototype); + +/*! + * Statically set name + */ + +AssertionError.prototype.name = 'AssertionError'; + +/*! + * Ensure correct constructor + */ + +AssertionError.prototype.constructor = AssertionError; + +/** + * Allow errors to be converted to JSON for static transfer. + * + * @param {Boolean} include stack (default: `true`) + * @return {Object} object that can be `JSON.stringify` + */ + +AssertionError.prototype.toJSON = function (stack) { + var extend = exclude('constructor', 'toJSON', 'stack') + , props = extend({ name: this.name }, this); + + // include stack if exists and not turned off + if (false !== stack && this.stack) { + props.stack = this.stack; + } + + return props; +}; + +},{}],31:[function(require,module,exports){ +module.exports = require('./lib/eql'); + +},{"./lib/eql":32}],32:[function(require,module,exports){ +/*! + * deep-eql + * Copyright(c) 2013 Jake Luer + * MIT Licensed + */ + +/*! + * Module dependencies + */ + +var type = require('type-detect'); + +/*! + * Buffer.isBuffer browser shim + */ + +var Buffer; +try { Buffer = require('buffer').Buffer; } +catch(ex) { + Buffer = {}; + Buffer.isBuffer = function() { return false; } +} + +/*! + * Primary Export + */ + +module.exports = deepEqual; + +/** + * Assert super-strict (egal) equality between + * two objects of any type. + * + * @param {Mixed} a + * @param {Mixed} b + * @param {Array} memoised (optional) + * @return {Boolean} equal match + */ + +function deepEqual(a, b, m) { + if (sameValue(a, b)) { + return true; + } else if ('date' === type(a)) { + return dateEqual(a, b); + } else if ('regexp' === type(a)) { + return regexpEqual(a, b); + } else if (Buffer.isBuffer(a)) { + return bufferEqual(a, b); + } else if ('arguments' === type(a)) { + return argumentsEqual(a, b, m); + } else if (!typeEqual(a, b)) { + return false; + } else if (('object' !== type(a) && 'object' !== type(b)) + && ('array' !== type(a) && 'array' !== type(b))) { + return sameValue(a, b); + } else { + return objectEqual(a, b, m); + } +} + +/*! + * Strict (egal) equality test. Ensures that NaN always + * equals NaN and `-0` does not equal `+0`. + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} equal match + */ + +function sameValue(a, b) { + if (a === b) return a !== 0 || 1 / a === 1 / b; + return a !== a && b !== b; +} + +/*! + * Compare the types of two given objects and + * return if they are equal. Note that an Array + * has a type of `array` (not `object`) and arguments + * have a type of `arguments` (not `array`/`object`). + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} result + */ + +function typeEqual(a, b) { + return type(a) === type(b); +} + +/*! + * Compare two Date objects by asserting that + * the time values are equal using `saveValue`. + * + * @param {Date} a + * @param {Date} b + * @return {Boolean} result + */ + +function dateEqual(a, b) { + if ('date' !== type(b)) return false; + return sameValue(a.getTime(), b.getTime()); +} + +/*! + * Compare two regular expressions by converting them + * to string and checking for `sameValue`. + * + * @param {RegExp} a + * @param {RegExp} b + * @return {Boolean} result + */ + +function regexpEqual(a, b) { + if ('regexp' !== type(b)) return false; + return sameValue(a.toString(), b.toString()); +} + +/*! + * Assert deep equality of two `arguments` objects. + * Unfortunately, these must be sliced to arrays + * prior to test to ensure no bad behavior. + * + * @param {Arguments} a + * @param {Arguments} b + * @param {Array} memoize (optional) + * @return {Boolean} result + */ + +function argumentsEqual(a, b, m) { + if ('arguments' !== type(b)) return false; + a = [].slice.call(a); + b = [].slice.call(b); + return deepEqual(a, b, m); +} + +/*! + * Get enumerable properties of a given object. + * + * @param {Object} a + * @return {Array} property names + */ + +function enumerable(a) { + var res = []; + for (var key in a) res.push(key); + return res; +} + +/*! + * Simple equality for flat iterable objects + * such as Arrays or Node.js buffers. + * + * @param {Iterable} a + * @param {Iterable} b + * @return {Boolean} result + */ + +function iterableEqual(a, b) { + if (a.length !== b.length) return false; + + var i = 0; + var match = true; + + for (; i < a.length; i++) { + if (a[i] !== b[i]) { + match = false; + break; + } + } + + return match; +} + +/*! + * Extension to `iterableEqual` specifically + * for Node.js Buffers. + * + * @param {Buffer} a + * @param {Mixed} b + * @return {Boolean} result + */ + +function bufferEqual(a, b) { + if (!Buffer.isBuffer(b)) return false; + return iterableEqual(a, b); +} + +/*! + * Block for `objectEqual` ensuring non-existing + * values don't get in. + * + * @param {Mixed} object + * @return {Boolean} result + */ + +function isValue(a) { + return a !== null && a !== undefined; +} + +/*! + * Recursively check the equality of two objects. + * Once basic sameness has been established it will + * defer to `deepEqual` for each enumerable key + * in the object. + * + * @param {Mixed} a + * @param {Mixed} b + * @return {Boolean} result + */ + +function objectEqual(a, b, m) { + if (!isValue(a) || !isValue(b)) { + return false; + } + + if (a.prototype !== b.prototype) { + return false; + } + + var i; + if (m) { + for (i = 0; i < m.length; i++) { + if ((m[i][0] === a && m[i][1] === b) + || (m[i][0] === b && m[i][1] === a)) { + return true; + } + } + } else { + m = []; + } + + try { + var ka = enumerable(a); + var kb = enumerable(b); + } catch (ex) { + return false; + } + + ka.sort(); + kb.sort(); + + if (!iterableEqual(ka, kb)) { + return false; + } + + m.push([ a, b ]); + + var key; + for (i = ka.length - 1; i >= 0; i--) { + key = ka[i]; + if (!deepEqual(a[key], b[key], m)) { + return false; + } + } + + return true; +} + +},{"buffer":undefined,"type-detect":33}],33:[function(require,module,exports){ +module.exports = require('./lib/type'); + +},{"./lib/type":34}],34:[function(require,module,exports){ +/*! + * type-detect + * Copyright(c) 2013 jake luer + * MIT Licensed + */ + +/*! + * Primary Exports + */ + +var exports = module.exports = getType; + +/*! + * Detectable javascript natives + */ + +var natives = { + '[object Array]': 'array' + , '[object RegExp]': 'regexp' + , '[object Function]': 'function' + , '[object Arguments]': 'arguments' + , '[object Date]': 'date' +}; + +/** + * ### typeOf (obj) + * + * Use several different techniques to determine + * the type of object being tested. + * + * + * @param {Mixed} object + * @return {String} object type + * @api public + */ + +function getType (obj) { + var str = Object.prototype.toString.call(obj); + if (natives[str]) return natives[str]; + if (obj === null) return 'null'; + if (obj === undefined) return 'undefined'; + if (obj === Object(obj)) return 'object'; + return typeof obj; +} + +exports.Library = Library; + +/** + * ### Library + * + * Create a repository for custom type detection. + * + * ```js + * var lib = new type.Library; + * ``` + * + */ + +function Library () { + this.tests = {}; +} + +/** + * #### .of (obj) + * + * Expose replacement `typeof` detection to the library. + * + * ```js + * if ('string' === lib.of('hello world')) { + * // ... + * } + * ``` + * + * @param {Mixed} object to test + * @return {String} type + */ + +Library.prototype.of = getType; + +/** + * #### .define (type, test) + * + * Add a test to for the `.test()` assertion. + * + * Can be defined as a regular expression: + * + * ```js + * lib.define('int', /^[0-9]+$/); + * ``` + * + * ... or as a function: + * + * ```js + * lib.define('bln', function (obj) { + * if ('boolean' === lib.of(obj)) return true; + * var blns = [ 'yes', 'no', 'true', 'false', 1, 0 ]; + * if ('string' === lib.of(obj)) obj = obj.toLowerCase(); + * return !! ~blns.indexOf(obj); + * }); + * ``` + * + * @param {String} type + * @param {RegExp|Function} test + * @api public + */ + +Library.prototype.define = function (type, test) { + if (arguments.length === 1) return this.tests[type]; + this.tests[type] = test; + return this; +}; + +/** + * #### .test (obj, test) + * + * Assert that an object is of type. Will first + * check natives, and if that does not pass it will + * use the user defined custom tests. + * + * ```js + * assert(lib.test('1', 'int')); + * assert(lib.test('yes', 'bln')); + * ``` + * + * @param {Mixed} object + * @param {String} type + * @return {Boolean} result + * @api public + */ + +Library.prototype.test = function (obj, type) { + if (type === getType(obj)) return true; + var test = this.tests[type]; + + if (test && 'regexp' === getType(test)) { + return test.test(obj); + } else if (test && 'function' === getType(test)) { + return test(obj); + } else { + throw new ReferenceError('Type test "' + type + '" not defined or invalid.'); + } +}; + +},{}],35:[function(require,module,exports){ +arguments[4][33][0].apply(exports,arguments) +},{"./lib/type":36,"dup":33}],36:[function(require,module,exports){ +/*! + * type-detect + * Copyright(c) 2013 jake luer + * MIT Licensed + */ + +/*! + * Primary Exports + */ + +var exports = module.exports = getType; + +/** + * ### typeOf (obj) + * + * Use several different techniques to determine + * the type of object being tested. + * + * + * @param {Mixed} object + * @return {String} object type + * @api public + */ +var objectTypeRegexp = /^\[object (.*)\]$/; + +function getType(obj) { + var type = Object.prototype.toString.call(obj).match(objectTypeRegexp)[1].toLowerCase(); + // Let "new String('')" return 'object' + if (typeof Promise === 'function' && obj instanceof Promise) return 'promise'; + // PhantomJS has type "DOMWindow" for null + if (obj === null) return 'null'; + // PhantomJS has type "DOMWindow" for undefined + if (obj === undefined) return 'undefined'; + return type; +} + +exports.Library = Library; + +/** + * ### Library + * + * Create a repository for custom type detection. + * + * ```js + * var lib = new type.Library; + * ``` + * + */ + +function Library() { + if (!(this instanceof Library)) return new Library(); + this.tests = {}; +} + +/** + * #### .of (obj) + * + * Expose replacement `typeof` detection to the library. + * + * ```js + * if ('string' === lib.of('hello world')) { + * // ... + * } + * ``` + * + * @param {Mixed} object to test + * @return {String} type + */ + +Library.prototype.of = getType; + +/** + * #### .define (type, test) + * + * Add a test to for the `.test()` assertion. + * + * Can be defined as a regular expression: + * + * ```js + * lib.define('int', /^[0-9]+$/); + * ``` + * + * ... or as a function: + * + * ```js + * lib.define('bln', function (obj) { + * if ('boolean' === lib.of(obj)) return true; + * var blns = [ 'yes', 'no', 'true', 'false', 1, 0 ]; + * if ('string' === lib.of(obj)) obj = obj.toLowerCase(); + * return !! ~blns.indexOf(obj); + * }); + * ``` + * + * @param {String} type + * @param {RegExp|Function} test + * @api public + */ + +Library.prototype.define = function(type, test) { + if (arguments.length === 1) return this.tests[type]; + this.tests[type] = test; + return this; +}; + +/** + * #### .test (obj, test) + * + * Assert that an object is of type. Will first + * check natives, and if that does not pass it will + * use the user defined custom tests. + * + * ```js + * assert(lib.test('1', 'int')); + * assert(lib.test('yes', 'bln')); + * ``` + * + * @param {Mixed} object + * @param {String} type + * @return {Boolean} result + * @api public + */ + +Library.prototype.test = function(obj, type) { + if (type === getType(obj)) return true; + var test = this.tests[type]; + + if (test && 'regexp' === getType(test)) { + return test.test(obj); + } else if (test && 'function' === getType(test)) { + return test(obj); + } else { + throw new ReferenceError('Type test "' + type + '" not defined or invalid.'); + } +}; + +},{}]},{},[1])(1) +}); \ No newline at end of file diff --git a/public/vendor/mocha.css b/public/vendor/mocha.css new file mode 100644 index 0000000..3b82ae9 --- /dev/null +++ b/public/vendor/mocha.css @@ -0,0 +1,305 @@ +@charset "utf-8"; + +body { + margin:0; +} + +#mocha { + font: 20px/1.5 "Helvetica Neue", Helvetica, Arial, sans-serif; + margin: 60px 50px; +} + +#mocha ul, +#mocha li { + margin: 0; + padding: 0; +} + +#mocha ul { + list-style: none; +} + +#mocha h1, +#mocha h2 { + margin: 0; +} + +#mocha h1 { + margin-top: 15px; + font-size: 1em; + font-weight: 200; +} + +#mocha h1 a { + text-decoration: none; + color: inherit; +} + +#mocha h1 a:hover { + text-decoration: underline; +} + +#mocha .suite .suite h1 { + margin-top: 0; + font-size: .8em; +} + +#mocha .hidden { + display: none; +} + +#mocha h2 { + font-size: 12px; + font-weight: normal; + cursor: pointer; +} + +#mocha .suite { + margin-left: 15px; +} + +#mocha .test { + margin-left: 15px; + overflow: hidden; +} + +#mocha .test.pending:hover h2::after { + content: '(pending)'; + font-family: arial, sans-serif; +} + +#mocha .test.pass.medium .duration { + background: #c09853; +} + +#mocha .test.pass.slow .duration { + background: #b94a48; +} + +#mocha .test.pass::before { + content: '✓'; + font-size: 12px; + display: block; + float: left; + margin-right: 5px; + color: #00d6b2; +} + +#mocha .test.pass .duration { + font-size: 9px; + margin-left: 5px; + padding: 2px 5px; + color: #fff; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.2); + -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.2); + box-shadow: inset 0 1px 1px rgba(0,0,0,.2); + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + -ms-border-radius: 5px; + -o-border-radius: 5px; + border-radius: 5px; +} + +#mocha .test.pass.fast .duration { + display: none; +} + +#mocha .test.pending { + color: #0b97c4; +} + +#mocha .test.pending::before { + content: '◦'; + color: #0b97c4; +} + +#mocha .test.fail { + color: #c00; +} + +#mocha .test.fail pre { + color: black; +} + +#mocha .test.fail::before { + content: '✖'; + font-size: 12px; + display: block; + float: left; + margin-right: 5px; + color: #c00; +} + +#mocha .test pre.error { + color: #c00; + max-height: 300px; + overflow: auto; +} + +#mocha .test .html-error { + overflow: auto; + color: black; + line-height: 1.5; + display: block; + float: left; + clear: left; + font: 12px/1.5 monaco, monospace; + margin: 5px; + padding: 15px; + border: 1px solid #eee; + max-width: 85%; /*(1)*/ + max-width: calc(100% - 42px); /*(2)*/ + max-height: 300px; + word-wrap: break-word; + border-bottom-color: #ddd; + -webkit-border-radius: 3px; + -webkit-box-shadow: 0 1px 3px #eee; + -moz-border-radius: 3px; + -moz-box-shadow: 0 1px 3px #eee; + border-radius: 3px; +} + +#mocha .test .html-error pre.error { + border: none; + -webkit-border-radius: none; + -webkit-box-shadow: none; + -moz-border-radius: none; + -moz-box-shadow: none; + padding: 0; + margin: 0; + margin-top: 18px; + max-height: none; +} + +/** + * (1): approximate for browsers not supporting calc + * (2): 42 = 2*15 + 2*10 + 2*1 (padding + margin + border) + * ^^ seriously + */ +#mocha .test pre { + display: block; + float: left; + clear: left; + font: 12px/1.5 monaco, monospace; + margin: 5px; + padding: 15px; + border: 1px solid #eee; + max-width: 85%; /*(1)*/ + max-width: calc(100% - 42px); /*(2)*/ + word-wrap: break-word; + border-bottom-color: #ddd; + -webkit-border-radius: 3px; + -webkit-box-shadow: 0 1px 3px #eee; + -moz-border-radius: 3px; + -moz-box-shadow: 0 1px 3px #eee; + border-radius: 3px; +} + +#mocha .test h2 { + position: relative; +} + +#mocha .test a.replay { + position: absolute; + top: 3px; + right: 0; + text-decoration: none; + vertical-align: middle; + display: block; + width: 15px; + height: 15px; + line-height: 15px; + text-align: center; + background: #eee; + font-size: 15px; + -moz-border-radius: 15px; + border-radius: 15px; + -webkit-transition: opacity 200ms; + -moz-transition: opacity 200ms; + transition: opacity 200ms; + opacity: 0.3; + color: #888; +} + +#mocha .test:hover a.replay { + opacity: 1; +} + +#mocha-report.pass .test.fail { + display: none; +} + +#mocha-report.fail .test.pass { + display: none; +} + +#mocha-report.pending .test.pass, +#mocha-report.pending .test.fail { + display: none; +} +#mocha-report.pending .test.pass.pending { + display: block; +} + +#mocha-error { + color: #c00; + font-size: 1.5em; + font-weight: 100; + letter-spacing: 1px; +} + +#mocha-stats { + position: fixed; + top: 15px; + right: 10px; + font-size: 12px; + margin: 0; + color: #888; + z-index: 1; +} + +#mocha-stats .progress { + float: right; + padding-top: 0; +} + +#mocha-stats em { + color: black; +} + +#mocha-stats a { + text-decoration: none; + color: inherit; +} + +#mocha-stats a:hover { + border-bottom: 1px solid #eee; +} + +#mocha-stats li { + display: inline-block; + margin: 0 5px; + list-style: none; + padding-top: 11px; +} + +#mocha-stats canvas { + width: 40px; + height: 40px; +} + +#mocha code .comment { color: #ddd; } +#mocha code .init { color: #2f6fad; } +#mocha code .string { color: #5890ad; } +#mocha code .keyword { color: #8a6343; } +#mocha code .number { color: #2f6fad; } + +@media screen and (max-device-width: 480px) { + #mocha { + margin: 60px 0px; + } + + #mocha #stats { + position: absolute; + } +} diff --git a/public/vendor/mocha.js b/public/vendor/mocha.js new file mode 100644 index 0000000..1956197 --- /dev/null +++ b/public/vendor/mocha.js @@ -0,0 +1,12710 @@ +(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 1) { + suites.shift(); + } + var suite = Suite.create(suites[0], title); + suite.file = file; + suites.unshift(suite); + return suite; + }; + + /** + * Exclusive test-case. + */ + + context.suite.only = function(title, fn) { + var suite = context.suite(title, fn); + mocha.grep(suite.fullTitle()); + }; + + /** + * Describe a specification or test-case + * with the given `title` and callback `fn` + * acting as a thunk. + */ + + context.test = function(title, fn) { + var test = new Test(title, fn); + test.file = file; + suites[0].addTest(test); + return test; + }; + + /** + * Exclusive test-case. + */ + + context.test.only = function(title, fn) { + var test = context.test(title, fn); + var reString = '^' + escapeRe(test.fullTitle()) + '$'; + mocha.grep(new RegExp(reString)); + }; + + context.test.skip = common.test.skip; + context.test.retries = common.test.retries; + }); +}; + +},{"../suite":37,"../test":38,"./common":9,"escape-string-regexp":68}],13:[function(require,module,exports){ +/** + * Module dependencies. + */ + +var Suite = require('../suite'); +var Test = require('../test'); +var escapeRe = require('escape-string-regexp'); + +/** + * TDD-style interface: + * + * suite('Array', function() { + * suite('#indexOf()', function() { + * suiteSetup(function() { + * + * }); + * + * test('should return -1 when not present', function() { + * + * }); + * + * test('should return the index when present', function() { + * + * }); + * + * suiteTeardown(function() { + * + * }); + * }); + * }); + * + * @param {Suite} suite Root suite. + */ +module.exports = function(suite) { + var suites = [suite]; + + suite.on('pre-require', function(context, file, mocha) { + var common = require('./common')(suites, context); + + context.setup = common.beforeEach; + context.teardown = common.afterEach; + context.suiteSetup = common.before; + context.suiteTeardown = common.after; + context.run = mocha.options.delay && common.runWithSuite(suite); + + /** + * Describe a "suite" with the given `title` and callback `fn` containing + * nested suites and/or tests. + */ + context.suite = function(title, fn) { + var suite = Suite.create(suites[0], title); + suite.file = file; + suites.unshift(suite); + fn.call(suite); + suites.shift(); + return suite; + }; + + /** + * Pending suite. + */ + context.suite.skip = function(title, fn) { + var suite = Suite.create(suites[0], title); + suite.pending = true; + suites.unshift(suite); + fn.call(suite); + suites.shift(); + }; + + /** + * Exclusive test-case. + */ + context.suite.only = function(title, fn) { + var suite = context.suite(title, fn); + mocha.grep(suite.fullTitle()); + }; + + /** + * Describe a specification or test-case with the given `title` and + * callback `fn` acting as a thunk. + */ + context.test = function(title, fn) { + var suite = suites[0]; + if (suite.pending) { + fn = null; + } + var test = new Test(title, fn); + test.file = file; + suite.addTest(test); + return test; + }; + + /** + * Exclusive test-case. + */ + + context.test.only = function(title, fn) { + var test = context.test(title, fn); + var reString = '^' + escapeRe(test.fullTitle()) + '$'; + mocha.grep(new RegExp(reString)); + }; + + context.test.skip = common.test.skip; + context.test.retries = common.test.retries; + }); +}; + +},{"../suite":37,"../test":38,"./common":9,"escape-string-regexp":68}],14:[function(require,module,exports){ +(function (process,global,__dirname){ +/*! + * mocha + * Copyright(c) 2011 TJ Holowaychuk + * MIT Licensed + */ + +/** + * Module dependencies. + */ + +var escapeRe = require('escape-string-regexp'); +var path = require('path'); +var reporters = require('./reporters'); +var utils = require('./utils'); + +/** + * Expose `Mocha`. + */ + +exports = module.exports = Mocha; + +/** + * To require local UIs and reporters when running in node. + */ + +if (!process.browser) { + var cwd = process.cwd(); + module.paths.push(cwd, path.join(cwd, 'node_modules')); +} + +/** + * Expose internals. + */ + +exports.utils = utils; +exports.interfaces = require('./interfaces'); +exports.reporters = reporters; +exports.Runnable = require('./runnable'); +exports.Context = require('./context'); +exports.Runner = require('./runner'); +exports.Suite = require('./suite'); +exports.Hook = require('./hook'); +exports.Test = require('./test'); + +/** + * Return image `name` path. + * + * @api private + * @param {string} name + * @return {string} + */ +function image(name) { + return path.join(__dirname, '../images', name + '.png'); +} + +/** + * Set up mocha with `options`. + * + * Options: + * + * - `ui` name "bdd", "tdd", "exports" etc + * - `reporter` reporter instance, defaults to `mocha.reporters.spec` + * - `globals` array of accepted globals + * - `timeout` timeout in milliseconds + * - `retries` number of times to retry failed tests + * - `bail` bail on the first test failure + * - `slow` milliseconds to wait before considering a test slow + * - `ignoreLeaks` ignore global leaks + * - `fullTrace` display the full stack-trace on failing + * - `grep` string or regexp to filter tests with + * + * @param {Object} options + * @api public + */ +function Mocha(options) { + options = options || {}; + this.files = []; + this.options = options; + if (options.grep) { + this.grep(new RegExp(options.grep)); + } + if (options.fgrep) { + this.grep(options.fgrep); + } + this.suite = new exports.Suite('', new exports.Context()); + this.ui(options.ui); + this.bail(options.bail); + this.reporter(options.reporter, options.reporterOptions); + if (typeof options.timeout !== 'undefined' && options.timeout !== null) { + this.timeout(options.timeout); + } + if (typeof options.retries !== 'undefined' && options.retries !== null) { + this.retries(options.retries); + } + this.useColors(options.useColors); + if (options.enableTimeouts !== null) { + this.enableTimeouts(options.enableTimeouts); + } + if (options.slow) { + this.slow(options.slow); + } + + this.suite.on('pre-require', function(context) { + exports.afterEach = context.afterEach || context.teardown; + exports.after = context.after || context.suiteTeardown; + exports.beforeEach = context.beforeEach || context.setup; + exports.before = context.before || context.suiteSetup; + exports.describe = context.describe || context.suite; + exports.it = context.it || context.test; + exports.setup = context.setup || context.beforeEach; + exports.suiteSetup = context.suiteSetup || context.before; + exports.suiteTeardown = context.suiteTeardown || context.after; + exports.suite = context.suite || context.describe; + exports.teardown = context.teardown || context.afterEach; + exports.test = context.test || context.it; + exports.run = context.run; + }); +} + +/** + * Enable or disable bailing on the first failure. + * + * @api public + * @param {boolean} [bail] + */ +Mocha.prototype.bail = function(bail) { + if (!arguments.length) { + bail = true; + } + this.suite.bail(bail); + return this; +}; + +/** + * Add test `file`. + * + * @api public + * @param {string} file + */ +Mocha.prototype.addFile = function(file) { + this.files.push(file); + return this; +}; + +/** + * Set reporter to `reporter`, defaults to "spec". + * + * @param {String|Function} reporter name or constructor + * @param {Object} reporterOptions optional options + * @api public + * @param {string|Function} reporter name or constructor + * @param {Object} reporterOptions optional options + */ +Mocha.prototype.reporter = function(reporter, reporterOptions) { + if (typeof reporter === 'function') { + this._reporter = reporter; + } else { + reporter = reporter || 'spec'; + var _reporter; + // Try to load a built-in reporter. + if (reporters[reporter]) { + _reporter = reporters[reporter]; + } + // Try to load reporters from process.cwd() and node_modules + if (!_reporter) { + try { + _reporter = require(reporter); + } catch (err) { + err.message.indexOf('Cannot find module') !== -1 + ? console.warn('"' + reporter + '" reporter not found') + : console.warn('"' + reporter + '" reporter blew up with error:\n' + err.stack); + } + } + if (!_reporter && reporter === 'teamcity') { + console.warn('The Teamcity reporter was moved to a package named ' + + 'mocha-teamcity-reporter ' + + '(https://npmjs.org/package/mocha-teamcity-reporter).'); + } + if (!_reporter) { + throw new Error('invalid reporter "' + reporter + '"'); + } + this._reporter = _reporter; + } + this.options.reporterOptions = reporterOptions; + return this; +}; + +/** + * Set test UI `name`, defaults to "bdd". + * + * @api public + * @param {string} bdd + */ +Mocha.prototype.ui = function(name) { + name = name || 'bdd'; + this._ui = exports.interfaces[name]; + if (!this._ui) { + try { + this._ui = require(name); + } catch (err) { + throw new Error('invalid interface "' + name + '"'); + } + } + this._ui = this._ui(this.suite); + return this; +}; + +/** + * Load registered files. + * + * @api private + */ +Mocha.prototype.loadFiles = function(fn) { + var self = this; + var suite = this.suite; + this.files.forEach(function(file) { + file = path.resolve(file); + suite.emit('pre-require', global, file, self); + suite.emit('require', require(file), file, self); + suite.emit('post-require', global, file, self); + }); + fn && fn(); +}; + +/** + * Enable growl support. + * + * @api private + */ +Mocha.prototype._growl = function(runner, reporter) { + var notify = require('growl'); + + runner.on('end', function() { + var stats = reporter.stats; + if (stats.failures) { + var msg = stats.failures + ' of ' + runner.total + ' tests failed'; + notify(msg, { name: 'mocha', title: 'Failed', image: image('error') }); + } else { + notify(stats.passes + ' tests passed in ' + stats.duration + 'ms', { + name: 'mocha', + title: 'Passed', + image: image('ok') + }); + } + }); +}; + +/** + * Add regexp to grep, if `re` is a string it is escaped. + * + * @param {RegExp|String} re + * @return {Mocha} + * @api public + * @param {RegExp|string} re + * @return {Mocha} + */ +Mocha.prototype.grep = function(re) { + this.options.grep = typeof re === 'string' ? new RegExp(escapeRe(re)) : re; + return this; +}; + +/** + * Invert `.grep()` matches. + * + * @return {Mocha} + * @api public + */ +Mocha.prototype.invert = function() { + this.options.invert = true; + return this; +}; + +/** + * Ignore global leaks. + * + * @param {Boolean} ignore + * @return {Mocha} + * @api public + * @param {boolean} ignore + * @return {Mocha} + */ +Mocha.prototype.ignoreLeaks = function(ignore) { + this.options.ignoreLeaks = Boolean(ignore); + return this; +}; + +/** + * Enable global leak checking. + * + * @return {Mocha} + * @api public + */ +Mocha.prototype.checkLeaks = function() { + this.options.ignoreLeaks = false; + return this; +}; + +/** + * Display long stack-trace on failing + * + * @return {Mocha} + * @api public + */ +Mocha.prototype.fullTrace = function() { + this.options.fullStackTrace = true; + return this; +}; + +/** + * Enable growl support. + * + * @return {Mocha} + * @api public + */ +Mocha.prototype.growl = function() { + this.options.growl = true; + return this; +}; + +/** + * Ignore `globals` array or string. + * + * @param {Array|String} globals + * @return {Mocha} + * @api public + * @param {Array|string} globals + * @return {Mocha} + */ +Mocha.prototype.globals = function(globals) { + this.options.globals = (this.options.globals || []).concat(globals); + return this; +}; + +/** + * Emit color output. + * + * @param {Boolean} colors + * @return {Mocha} + * @api public + * @param {boolean} colors + * @return {Mocha} + */ +Mocha.prototype.useColors = function(colors) { + if (colors !== undefined) { + this.options.useColors = colors; + } + return this; +}; + +/** + * Use inline diffs rather than +/-. + * + * @param {Boolean} inlineDiffs + * @return {Mocha} + * @api public + * @param {boolean} inlineDiffs + * @return {Mocha} + */ +Mocha.prototype.useInlineDiffs = function(inlineDiffs) { + this.options.useInlineDiffs = inlineDiffs !== undefined && inlineDiffs; + return this; +}; + +/** + * Set the timeout in milliseconds. + * + * @param {Number} timeout + * @return {Mocha} + * @api public + * @param {number} timeout + * @return {Mocha} + */ +Mocha.prototype.timeout = function(timeout) { + this.suite.timeout(timeout); + return this; +}; + +/** + * Set the number of times to retry failed tests. + * + * @param {Number} retry times + * @return {Mocha} + * @api public + */ +Mocha.prototype.retries = function(n) { + this.suite.retries(n); + return this; +}; + +/** + * Set slowness threshold in milliseconds. + * + * @param {Number} slow + * @return {Mocha} + * @api public + * @param {number} slow + * @return {Mocha} + */ +Mocha.prototype.slow = function(slow) { + this.suite.slow(slow); + return this; +}; + +/** + * Enable timeouts. + * + * @param {Boolean} enabled + * @return {Mocha} + * @api public + * @param {boolean} enabled + * @return {Mocha} + */ +Mocha.prototype.enableTimeouts = function(enabled) { + this.suite.enableTimeouts(arguments.length && enabled !== undefined ? enabled : true); + return this; +}; + +/** + * Makes all tests async (accepting a callback) + * + * @return {Mocha} + * @api public + */ +Mocha.prototype.asyncOnly = function() { + this.options.asyncOnly = true; + return this; +}; + +/** + * Disable syntax highlighting (in browser). + * + * @api public + */ +Mocha.prototype.noHighlighting = function() { + this.options.noHighlighting = true; + return this; +}; + +/** + * Enable uncaught errors to propagate (in browser). + * + * @return {Mocha} + * @api public + */ +Mocha.prototype.allowUncaught = function() { + this.options.allowUncaught = true; + return this; +}; + +/** + * Delay root suite execution. + * @returns {Mocha} + */ +Mocha.prototype.delay = function delay() { + this.options.delay = true; + return this; +}; + +/** + * Run tests and invoke `fn()` when complete. + * + * @api public + * @param {Function} fn + * @return {Runner} + */ +Mocha.prototype.run = function(fn) { + if (this.files.length) { + this.loadFiles(); + } + var suite = this.suite; + var options = this.options; + options.files = this.files; + var runner = new exports.Runner(suite, options.delay); + var reporter = new this._reporter(runner, options); + runner.ignoreLeaks = options.ignoreLeaks !== false; + runner.fullStackTrace = options.fullStackTrace; + runner.asyncOnly = options.asyncOnly; + runner.allowUncaught = options.allowUncaught; + if (options.grep) { + runner.grep(options.grep, options.invert); + } + if (options.globals) { + runner.globals(options.globals); + } + if (options.growl) { + this._growl(runner, reporter); + } + if (options.useColors !== undefined) { + exports.reporters.Base.useColors = options.useColors; + } + exports.reporters.Base.inlineDiffs = options.useInlineDiffs; + + function done(failures) { + if (reporter.done) { + reporter.done(failures, fn); + } else { + fn && fn(failures); + } + } + + return runner.run(done); +}; + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {},"/lib") +},{"./context":6,"./hook":7,"./interfaces":11,"./reporters":22,"./runnable":35,"./runner":36,"./suite":37,"./test":38,"./utils":39,"_process":51,"escape-string-regexp":68,"growl":69,"path":41}],15:[function(require,module,exports){ +/** + * Helpers. + */ + +var s = 1000; +var m = s * 60; +var h = m * 60; +var d = h * 24; +var y = d * 365.25; + +/** + * Parse or format the given `val`. + * + * Options: + * + * - `long` verbose formatting [false] + * + * @api public + * @param {string|number} val + * @param {Object} options + * @return {string|number} + */ +module.exports = function(val, options) { + options = options || {}; + if (typeof val === 'string') { + return parse(val); + } + // https://github.com/mochajs/mocha/pull/1035 + return options['long'] ? longFormat(val) : shortFormat(val); +}; + +/** + * Parse the given `str` and return milliseconds. + * + * @api private + * @param {string} str + * @return {number} + */ +function parse(str) { + var match = (/^((?:\d+)?\.?\d+) *(ms|seconds?|s|minutes?|m|hours?|h|days?|d|years?|y)?$/i).exec(str); + if (!match) { + return; + } + var n = parseFloat(match[1]); + var type = (match[2] || 'ms').toLowerCase(); + switch (type) { + case 'years': + case 'year': + case 'y': + return n * y; + case 'days': + case 'day': + case 'd': + return n * d; + case 'hours': + case 'hour': + case 'h': + return n * h; + case 'minutes': + case 'minute': + case 'm': + return n * m; + case 'seconds': + case 'second': + case 's': + return n * s; + case 'ms': + return n; + default: + // No default case + } +} + +/** + * Short format for `ms`. + * + * @api private + * @param {number} ms + * @return {string} + */ +function shortFormat(ms) { + if (ms >= d) { + return Math.round(ms / d) + 'd'; + } + if (ms >= h) { + return Math.round(ms / h) + 'h'; + } + if (ms >= m) { + return Math.round(ms / m) + 'm'; + } + if (ms >= s) { + return Math.round(ms / s) + 's'; + } + return ms + 'ms'; +} + +/** + * Long format for `ms`. + * + * @api private + * @param {number} ms + * @return {string} + */ +function longFormat(ms) { + return plural(ms, d, 'day') + || plural(ms, h, 'hour') + || plural(ms, m, 'minute') + || plural(ms, s, 'second') + || ms + ' ms'; +} + +/** + * Pluralization helper. + * + * @api private + * @param {number} ms + * @param {number} n + * @param {string} name + */ +function plural(ms, n, name) { + if (ms < n) { + return; + } + if (ms < n * 1.5) { + return Math.floor(ms / n) + ' ' + name; + } + return Math.ceil(ms / n) + ' ' + name + 's'; +} + +},{}],16:[function(require,module,exports){ + +/** + * Expose `Pending`. + */ + +module.exports = Pending; + +/** + * Initialize a new `Pending` error with the given message. + * + * @param {string} message + */ +function Pending(message) { + this.message = message; +} + +},{}],17:[function(require,module,exports){ +(function (process,global){ +/** + * Module dependencies. + */ + +var tty = require('tty'); +var diff = require('diff'); +var ms = require('../ms'); +var utils = require('../utils'); +var supportsColor = process.browser ? null : require('supports-color'); + +/** + * Expose `Base`. + */ + +exports = module.exports = Base; + +/** + * Save timer references to avoid Sinon interfering. + * See: https://github.com/mochajs/mocha/issues/237 + */ + +/* eslint-disable no-unused-vars, no-native-reassign */ +var Date = global.Date; +var setTimeout = global.setTimeout; +var setInterval = global.setInterval; +var clearTimeout = global.clearTimeout; +var clearInterval = global.clearInterval; +/* eslint-enable no-unused-vars, no-native-reassign */ + +/** + * Check if both stdio streams are associated with a tty. + */ + +var isatty = tty.isatty(1) && tty.isatty(2); + +/** + * Enable coloring by default, except in the browser interface. + */ + +exports.useColors = !process.browser && (supportsColor || (process.env.MOCHA_COLORS !== undefined)); + +/** + * Inline diffs instead of +/- + */ + +exports.inlineDiffs = false; + +/** + * Default color map. + */ + +exports.colors = { + pass: 90, + fail: 31, + 'bright pass': 92, + 'bright fail': 91, + 'bright yellow': 93, + pending: 36, + suite: 0, + 'error title': 0, + 'error message': 31, + 'error stack': 90, + checkmark: 32, + fast: 90, + medium: 33, + slow: 31, + green: 32, + light: 90, + 'diff gutter': 90, + 'diff added': 32, + 'diff removed': 31 +}; + +/** + * Default symbol map. + */ + +exports.symbols = { + ok: '✓', + err: '✖', + dot: '․' +}; + +// With node.js on Windows: use symbols available in terminal default fonts +if (process.platform === 'win32') { + exports.symbols.ok = '\u221A'; + exports.symbols.err = '\u00D7'; + exports.symbols.dot = '.'; +} + +/** + * Color `str` with the given `type`, + * allowing colors to be disabled, + * as well as user-defined color + * schemes. + * + * @param {string} type + * @param {string} str + * @return {string} + * @api private + */ +var color = exports.color = function(type, str) { + if (!exports.useColors) { + return String(str); + } + return '\u001b[' + exports.colors[type] + 'm' + str + '\u001b[0m'; +}; + +/** + * Expose term window size, with some defaults for when stderr is not a tty. + */ + +exports.window = { + width: 75 +}; + +if (isatty) { + exports.window.width = process.stdout.getWindowSize + ? process.stdout.getWindowSize(1)[0] + : tty.getWindowSize()[1]; +} + +/** + * Expose some basic cursor interactions that are common among reporters. + */ + +exports.cursor = { + hide: function() { + isatty && process.stdout.write('\u001b[?25l'); + }, + + show: function() { + isatty && process.stdout.write('\u001b[?25h'); + }, + + deleteLine: function() { + isatty && process.stdout.write('\u001b[2K'); + }, + + beginningOfLine: function() { + isatty && process.stdout.write('\u001b[0G'); + }, + + CR: function() { + if (isatty) { + exports.cursor.deleteLine(); + exports.cursor.beginningOfLine(); + } else { + process.stdout.write('\r'); + } + } +}; + +/** + * Outut the given `failures` as a list. + * + * @param {Array} failures + * @api public + */ + +exports.list = function(failures) { + console.log(); + failures.forEach(function(test, i) { + // format + var fmt = color('error title', ' %s) %s:\n') + + color('error message', ' %s') + + color('error stack', '\n%s\n'); + + // msg + var msg; + var err = test.err; + var message; + if (err.message) { + message = err.message; + } else if (typeof err.inspect === 'function') { + message = err.inspect() + ''; + } else { + message = ''; + } + var stack = err.stack || message; + var index = stack.indexOf(message); + var actual = err.actual; + var expected = err.expected; + var escape = true; + + if (index === -1) { + msg = message; + } else { + index += message.length; + msg = stack.slice(0, index); + // remove msg from stack + stack = stack.slice(index + 1); + } + + // uncaught + if (err.uncaught) { + msg = 'Uncaught ' + msg; + } + // explicitly show diff + if (err.showDiff !== false && sameType(actual, expected) && expected !== undefined) { + escape = false; + if (!(utils.isString(actual) && utils.isString(expected))) { + err.actual = actual = utils.stringify(actual); + err.expected = expected = utils.stringify(expected); + } + + fmt = color('error title', ' %s) %s:\n%s') + color('error stack', '\n%s\n'); + var match = message.match(/^([^:]+): expected/); + msg = '\n ' + color('error message', match ? match[1] : msg); + + if (exports.inlineDiffs) { + msg += inlineDiff(err, escape); + } else { + msg += unifiedDiff(err, escape); + } + } + + // indent stack trace + stack = stack.replace(/^/gm, ' '); + + console.log(fmt, (i + 1), test.fullTitle(), msg, stack); + }); +}; + +/** + * Initialize a new `Base` reporter. + * + * All other reporters generally + * inherit from this reporter, providing + * stats such as test duration, number + * of tests passed / failed etc. + * + * @param {Runner} runner + * @api public + */ + +function Base(runner) { + var stats = this.stats = { suites: 0, tests: 0, passes: 0, pending: 0, failures: 0 }; + var failures = this.failures = []; + + if (!runner) { + return; + } + this.runner = runner; + + runner.stats = stats; + + runner.on('start', function() { + stats.start = new Date(); + }); + + runner.on('suite', function(suite) { + stats.suites = stats.suites || 0; + suite.root || stats.suites++; + }); + + runner.on('test end', function() { + stats.tests = stats.tests || 0; + stats.tests++; + }); + + runner.on('pass', function(test) { + stats.passes = stats.passes || 0; + + if (test.duration > test.slow()) { + test.speed = 'slow'; + } else if (test.duration > test.slow() / 2) { + test.speed = 'medium'; + } else { + test.speed = 'fast'; + } + + stats.passes++; + }); + + runner.on('fail', function(test, err) { + stats.failures = stats.failures || 0; + stats.failures++; + test.err = err; + failures.push(test); + }); + + runner.on('end', function() { + stats.end = new Date(); + stats.duration = new Date() - stats.start; + }); + + runner.on('pending', function() { + stats.pending++; + }); +} + +/** + * Output common epilogue used by many of + * the bundled reporters. + * + * @api public + */ +Base.prototype.epilogue = function() { + var stats = this.stats; + var fmt; + + console.log(); + + // passes + fmt = color('bright pass', ' ') + + color('green', ' %d passing') + + color('light', ' (%s)'); + + console.log(fmt, + stats.passes || 0, + ms(stats.duration)); + + // pending + if (stats.pending) { + fmt = color('pending', ' ') + + color('pending', ' %d pending'); + + console.log(fmt, stats.pending); + } + + // failures + if (stats.failures) { + fmt = color('fail', ' %d failing'); + + console.log(fmt, stats.failures); + + Base.list(this.failures); + console.log(); + } + + console.log(); +}; + +/** + * Pad the given `str` to `len`. + * + * @api private + * @param {string} str + * @param {string} len + * @return {string} + */ +function pad(str, len) { + str = String(str); + return Array(len - str.length + 1).join(' ') + str; +} + +/** + * Returns an inline diff between 2 strings with coloured ANSI output + * + * @api private + * @param {Error} err with actual/expected + * @param {boolean} escape + * @return {string} Diff + */ +function inlineDiff(err, escape) { + var msg = errorDiff(err, 'WordsWithSpace', escape); + + // linenos + var lines = msg.split('\n'); + if (lines.length > 4) { + var width = String(lines.length).length; + msg = lines.map(function(str, i) { + return pad(++i, width) + ' |' + ' ' + str; + }).join('\n'); + } + + // legend + msg = '\n' + + color('diff removed', 'actual') + + ' ' + + color('diff added', 'expected') + + '\n\n' + + msg + + '\n'; + + // indent + msg = msg.replace(/^/gm, ' '); + return msg; +} + +/** + * Returns a unified diff between two strings. + * + * @api private + * @param {Error} err with actual/expected + * @param {boolean} escape + * @return {string} The diff. + */ +function unifiedDiff(err, escape) { + var indent = ' '; + function cleanUp(line) { + if (escape) { + line = escapeInvisibles(line); + } + if (line[0] === '+') { + return indent + colorLines('diff added', line); + } + if (line[0] === '-') { + return indent + colorLines('diff removed', line); + } + if (line.match(/\@\@/)) { + return null; + } + if (line.match(/\\ No newline/)) { + return null; + } + return indent + line; + } + function notBlank(line) { + return typeof line !== 'undefined' && line !== null; + } + var msg = diff.createPatch('string', err.actual, err.expected); + var lines = msg.split('\n').splice(4); + return '\n ' + + colorLines('diff added', '+ expected') + ' ' + + colorLines('diff removed', '- actual') + + '\n\n' + + lines.map(cleanUp).filter(notBlank).join('\n'); +} + +/** + * Return a character diff for `err`. + * + * @api private + * @param {Error} err + * @param {string} type + * @param {boolean} escape + * @return {string} + */ +function errorDiff(err, type, escape) { + var actual = escape ? escapeInvisibles(err.actual) : err.actual; + var expected = escape ? escapeInvisibles(err.expected) : err.expected; + return diff['diff' + type](actual, expected).map(function(str) { + if (str.added) { + return colorLines('diff added', str.value); + } + if (str.removed) { + return colorLines('diff removed', str.value); + } + return str.value; + }).join(''); +} + +/** + * Returns a string with all invisible characters in plain text + * + * @api private + * @param {string} line + * @return {string} + */ +function escapeInvisibles(line) { + return line.replace(/\t/g, '') + .replace(/\r/g, '') + .replace(/\n/g, '\n'); +} + +/** + * Color lines for `str`, using the color `name`. + * + * @api private + * @param {string} name + * @param {string} str + * @return {string} + */ +function colorLines(name, str) { + return str.split('\n').map(function(str) { + return color(name, str); + }).join('\n'); +} + +/** + * Object#toString reference. + */ +var objToString = Object.prototype.toString; + +/** + * Check that a / b have the same type. + * + * @api private + * @param {Object} a + * @param {Object} b + * @return {boolean} + */ +function sameType(a, b) { + return objToString.call(a) === objToString.call(b); +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../ms":15,"../utils":39,"_process":51,"diff":67,"supports-color":41,"tty":5}],18:[function(require,module,exports){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var utils = require('../utils'); + +/** + * Expose `Doc`. + */ + +exports = module.exports = Doc; + +/** + * Initialize a new `Doc` reporter. + * + * @param {Runner} runner + * @api public + */ +function Doc(runner) { + Base.call(this, runner); + + var indents = 2; + + function indent() { + return Array(indents).join(' '); + } + + runner.on('suite', function(suite) { + if (suite.root) { + return; + } + ++indents; + console.log('%s
    ', indent()); + ++indents; + console.log('%s

    %s

    ', indent(), utils.escape(suite.title)); + console.log('%s
    ', indent()); + }); + + runner.on('suite end', function(suite) { + if (suite.root) { + return; + } + console.log('%s
    ', indent()); + --indents; + console.log('%s
    ', indent()); + --indents; + }); + + runner.on('pass', function(test) { + console.log('%s
    %s
    ', indent(), utils.escape(test.title)); + var code = utils.escape(utils.clean(test.body)); + console.log('%s
    %s
    ', indent(), code); + }); + + runner.on('fail', function(test, err) { + console.log('%s
    %s
    ', indent(), utils.escape(test.title)); + var code = utils.escape(utils.clean(test.fn.body)); + console.log('%s
    %s
    ', indent(), code); + console.log('%s
    %s
    ', indent(), utils.escape(err)); + }); +} + +},{"../utils":39,"./base":17}],19:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var inherits = require('../utils').inherits; +var color = Base.color; + +/** + * Expose `Dot`. + */ + +exports = module.exports = Dot; + +/** + * Initialize a new `Dot` matrix test reporter. + * + * @api public + * @param {Runner} runner + */ +function Dot(runner) { + Base.call(this, runner); + + var self = this; + var width = Base.window.width * .75 | 0; + var n = -1; + + runner.on('start', function() { + process.stdout.write('\n'); + }); + + runner.on('pending', function() { + if (++n % width === 0) { + process.stdout.write('\n '); + } + process.stdout.write(color('pending', Base.symbols.dot)); + }); + + runner.on('pass', function(test) { + if (++n % width === 0) { + process.stdout.write('\n '); + } + if (test.speed === 'slow') { + process.stdout.write(color('bright yellow', Base.symbols.dot)); + } else { + process.stdout.write(color(test.speed, Base.symbols.dot)); + } + }); + + runner.on('fail', function() { + if (++n % width === 0) { + process.stdout.write('\n '); + } + process.stdout.write(color('fail', Base.symbols.dot)); + }); + + runner.on('end', function() { + console.log(); + self.epilogue(); + }); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(Dot, Base); + +}).call(this,require('_process')) +},{"../utils":39,"./base":17,"_process":51}],20:[function(require,module,exports){ +(function (process,__dirname){ +/** + * Module dependencies. + */ + +var JSONCov = require('./json-cov'); +var readFileSync = require('fs').readFileSync; +var join = require('path').join; + +/** + * Expose `HTMLCov`. + */ + +exports = module.exports = HTMLCov; + +/** + * Initialize a new `JsCoverage` reporter. + * + * @api public + * @param {Runner} runner + */ +function HTMLCov(runner) { + var jade = require('jade'); + var file = join(__dirname, '/templates/coverage.jade'); + var str = readFileSync(file, 'utf8'); + var fn = jade.compile(str, { filename: file }); + var self = this; + + JSONCov.call(this, runner, false); + + runner.on('end', function() { + process.stdout.write(fn({ + cov: self.cov, + coverageClass: coverageClass + })); + }); +} + +/** + * Return coverage class for a given coverage percentage. + * + * @api private + * @param {number} coveragePctg + * @return {string} + */ +function coverageClass(coveragePctg) { + if (coveragePctg >= 75) { + return 'high'; + } + if (coveragePctg >= 50) { + return 'medium'; + } + if (coveragePctg >= 25) { + return 'low'; + } + return 'terrible'; +} + +}).call(this,require('_process'),"/lib/reporters") +},{"./json-cov":23,"_process":51,"fs":41,"jade":41,"path":41}],21:[function(require,module,exports){ +(function (global){ +/* eslint-env browser */ + +/** + * Module dependencies. + */ + +var Base = require('./base'); +var utils = require('../utils'); +var Progress = require('../browser/progress'); +var escapeRe = require('escape-string-regexp'); +var escape = utils.escape; + +/** + * Save timer references to avoid Sinon interfering (see GH-237). + */ + +/* eslint-disable no-unused-vars, no-native-reassign */ +var Date = global.Date; +var setTimeout = global.setTimeout; +var setInterval = global.setInterval; +var clearTimeout = global.clearTimeout; +var clearInterval = global.clearInterval; +/* eslint-enable no-unused-vars, no-native-reassign */ + +/** + * Expose `HTML`. + */ + +exports = module.exports = HTML; + +/** + * Stats template. + */ + +var statsTemplate = '
    '; + +/** + * Initialize a new `HTML` reporter. + * + * @api public + * @param {Runner} runner + */ +function HTML(runner) { + Base.call(this, runner); + + var self = this; + var stats = this.stats; + var stat = fragment(statsTemplate); + var items = stat.getElementsByTagName('li'); + var passes = items[1].getElementsByTagName('em')[0]; + var passesLink = items[1].getElementsByTagName('a')[0]; + var failures = items[2].getElementsByTagName('em')[0]; + var failuresLink = items[2].getElementsByTagName('a')[0]; + var duration = items[3].getElementsByTagName('em')[0]; + var canvas = stat.getElementsByTagName('canvas')[0]; + var report = fragment('
      '); + var stack = [report]; + var progress; + var ctx; + var root = document.getElementById('mocha'); + + if (canvas.getContext) { + var ratio = window.devicePixelRatio || 1; + canvas.style.width = canvas.width; + canvas.style.height = canvas.height; + canvas.width *= ratio; + canvas.height *= ratio; + ctx = canvas.getContext('2d'); + ctx.scale(ratio, ratio); + progress = new Progress(); + } + + if (!root) { + return error('#mocha div missing, add it to your document'); + } + + // pass toggle + on(passesLink, 'click', function() { + unhide(); + var name = (/pass/).test(report.className) ? '' : ' pass'; + report.className = report.className.replace(/fail|pass/g, '') + name; + if (report.className.trim()) { + hideSuitesWithout('test pass'); + } + }); + + // failure toggle + on(failuresLink, 'click', function() { + unhide(); + var name = (/fail/).test(report.className) ? '' : ' fail'; + report.className = report.className.replace(/fail|pass/g, '') + name; + if (report.className.trim()) { + hideSuitesWithout('test fail'); + } + }); + + root.appendChild(stat); + root.appendChild(report); + + if (progress) { + progress.size(40); + } + + runner.on('suite', function(suite) { + if (suite.root) { + return; + } + + // suite + var url = self.suiteURL(suite); + var el = fragment('
    • %s

    • ', url, escape(suite.title)); + + // container + stack[0].appendChild(el); + stack.unshift(document.createElement('ul')); + el.appendChild(stack[0]); + }); + + runner.on('suite end', function(suite) { + if (suite.root) { + return; + } + stack.shift(); + }); + + runner.on('fail', function(test) { + // For type = 'test' its possible that the test failed due to multiple + // done() calls. So report the issue here. + if (test.type === 'hook' + || test.type === 'test') { + runner.emit('test end', test); + } + }); + + runner.on('test end', function(test) { + // TODO: add to stats + var percent = stats.tests / this.total * 100 | 0; + if (progress) { + progress.update(percent).draw(ctx); + } + + // update stats + var ms = new Date() - stats.start; + text(passes, stats.passes); + text(failures, stats.failures); + text(duration, (ms / 1000).toFixed(2)); + + // test + var el; + if (test.state === 'passed') { + var url = self.testURL(test); + el = fragment('
    • %e%ems

    • ', test.speed, test.title, test.duration, url); + } else if (test.pending) { + el = fragment('
    • %e

    • ', test.title); + } else { + el = fragment('
    • %e

    • ', test.title, self.testURL(test)); + var stackString; // Note: Includes leading newline + var message = test.err.toString(); + + // <=IE7 stringifies to [Object Error]. Since it can be overloaded, we + // check for the result of the stringifying. + if (message === '[object Error]') { + message = test.err.message; + } + + if (test.err.stack) { + var indexOfMessage = test.err.stack.indexOf(test.err.message); + if (indexOfMessage === -1) { + stackString = test.err.stack; + } else { + stackString = test.err.stack.substr(test.err.message.length + indexOfMessage); + } + } else if (test.err.sourceURL && test.err.line !== undefined) { + // Safari doesn't give you a stack. Let's at least provide a source line. + stackString = '\n(' + test.err.sourceURL + ':' + test.err.line + ')'; + } + + stackString = stackString || ''; + + if (test.err.htmlMessage && stackString) { + el.appendChild(fragment('
      %s\n
      %e
      ', test.err.htmlMessage, stackString)); + } else if (test.err.htmlMessage) { + el.appendChild(fragment('
      %s
      ', test.err.htmlMessage)); + } else { + el.appendChild(fragment('
      %e%e
      ', message, stackString)); + } + } + + // toggle code + // TODO: defer + if (!test.pending) { + var h2 = el.getElementsByTagName('h2')[0]; + + on(h2, 'click', function() { + pre.style.display = pre.style.display === 'none' ? 'block' : 'none'; + }); + + var pre = fragment('
      %e
      ', utils.clean(test.body)); + el.appendChild(pre); + pre.style.display = 'none'; + } + + // Don't call .appendChild if #mocha-report was already .shift()'ed off the stack. + if (stack[0]) { + stack[0].appendChild(el); + } + }); +} + +/** + * Makes a URL, preserving querystring ("search") parameters. + * + * @param {string} s + * @return {string} A new URL. + */ +function makeUrl(s) { + var search = window.location.search; + + // Remove previous grep query parameter if present + if (search) { + search = search.replace(/[?&]grep=[^&\s]*/g, '').replace(/^&/, '?'); + } + + return window.location.pathname + (search ? search + '&' : '?') + 'grep=' + encodeURIComponent(escapeRe(s)); +} + +/** + * Provide suite URL. + * + * @param {Object} [suite] + */ +HTML.prototype.suiteURL = function(suite) { + return makeUrl(suite.fullTitle()); +}; + +/** + * Provide test URL. + * + * @param {Object} [test] + */ +HTML.prototype.testURL = function(test) { + return makeUrl(test.fullTitle()); +}; + +/** + * Display error `msg`. + * + * @param {string} msg + */ +function error(msg) { + document.body.appendChild(fragment('
      %s
      ', msg)); +} + +/** + * Return a DOM fragment from `html`. + * + * @param {string} html + */ +function fragment(html) { + var args = arguments; + var div = document.createElement('div'); + var i = 1; + + div.innerHTML = html.replace(/%([se])/g, function(_, type) { + switch (type) { + case 's': return String(args[i++]); + case 'e': return escape(args[i++]); + // no default + } + }); + + return div.firstChild; +} + +/** + * Check for suites that do not have elements + * with `classname`, and hide them. + * + * @param {text} classname + */ +function hideSuitesWithout(classname) { + var suites = document.getElementsByClassName('suite'); + for (var i = 0; i < suites.length; i++) { + var els = suites[i].getElementsByClassName(classname); + if (!els.length) { + suites[i].className += ' hidden'; + } + } +} + +/** + * Unhide .hidden suites. + */ +function unhide() { + var els = document.getElementsByClassName('suite hidden'); + for (var i = 0; i < els.length; ++i) { + els[i].className = els[i].className.replace('suite hidden', 'suite'); + } +} + +/** + * Set an element's text contents. + * + * @param {HTMLElement} el + * @param {string} contents + */ +function text(el, contents) { + if (el.textContent) { + el.textContent = contents; + } else { + el.innerText = contents; + } +} + +/** + * Listen on `event` with callback `fn`. + */ +function on(el, event, fn) { + if (el.addEventListener) { + el.addEventListener(event, fn, false); + } else { + el.attachEvent('on' + event, fn); + } +} + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../browser/progress":4,"../utils":39,"./base":17,"escape-string-regexp":68}],22:[function(require,module,exports){ +// Alias exports to a their normalized format Mocha#reporter to prevent a need +// for dynamic (try/catch) requires, which Browserify doesn't handle. +exports.Base = exports.base = require('./base'); +exports.Dot = exports.dot = require('./dot'); +exports.Doc = exports.doc = require('./doc'); +exports.TAP = exports.tap = require('./tap'); +exports.JSON = exports.json = require('./json'); +exports.HTML = exports.html = require('./html'); +exports.List = exports.list = require('./list'); +exports.Min = exports.min = require('./min'); +exports.Spec = exports.spec = require('./spec'); +exports.Nyan = exports.nyan = require('./nyan'); +exports.XUnit = exports.xunit = require('./xunit'); +exports.Markdown = exports.markdown = require('./markdown'); +exports.Progress = exports.progress = require('./progress'); +exports.Landing = exports.landing = require('./landing'); +exports.JSONCov = exports['json-cov'] = require('./json-cov'); +exports.HTMLCov = exports['html-cov'] = require('./html-cov'); +exports.JSONStream = exports['json-stream'] = require('./json-stream'); + +},{"./base":17,"./doc":18,"./dot":19,"./html":21,"./html-cov":20,"./json":25,"./json-cov":23,"./json-stream":24,"./landing":26,"./list":27,"./markdown":28,"./min":29,"./nyan":30,"./progress":31,"./spec":32,"./tap":33,"./xunit":34}],23:[function(require,module,exports){ +(function (process,global){ +/** + * Module dependencies. + */ + +var Base = require('./base'); + +/** + * Expose `JSONCov`. + */ + +exports = module.exports = JSONCov; + +/** + * Initialize a new `JsCoverage` reporter. + * + * @api public + * @param {Runner} runner + * @param {boolean} output + */ +function JSONCov(runner, output) { + Base.call(this, runner); + + output = arguments.length === 1 || output; + var self = this; + var tests = []; + var failures = []; + var passes = []; + + runner.on('test end', function(test) { + tests.push(test); + }); + + runner.on('pass', function(test) { + passes.push(test); + }); + + runner.on('fail', function(test) { + failures.push(test); + }); + + runner.on('end', function() { + var cov = global._$jscoverage || {}; + var result = self.cov = map(cov); + result.stats = self.stats; + result.tests = tests.map(clean); + result.failures = failures.map(clean); + result.passes = passes.map(clean); + if (!output) { + return; + } + process.stdout.write(JSON.stringify(result, null, 2)); + }); +} + +/** + * Map jscoverage data to a JSON structure + * suitable for reporting. + * + * @api private + * @param {Object} cov + * @return {Object} + */ + +function map(cov) { + var ret = { + instrumentation: 'node-jscoverage', + sloc: 0, + hits: 0, + misses: 0, + coverage: 0, + files: [] + }; + + for (var filename in cov) { + if (Object.prototype.hasOwnProperty.call(cov, filename)) { + var data = coverage(filename, cov[filename]); + ret.files.push(data); + ret.hits += data.hits; + ret.misses += data.misses; + ret.sloc += data.sloc; + } + } + + ret.files.sort(function(a, b) { + return a.filename.localeCompare(b.filename); + }); + + if (ret.sloc > 0) { + ret.coverage = (ret.hits / ret.sloc) * 100; + } + + return ret; +} + +/** + * Map jscoverage data for a single source file + * to a JSON structure suitable for reporting. + * + * @api private + * @param {string} filename name of the source file + * @param {Object} data jscoverage coverage data + * @return {Object} + */ +function coverage(filename, data) { + var ret = { + filename: filename, + coverage: 0, + hits: 0, + misses: 0, + sloc: 0, + source: {} + }; + + data.source.forEach(function(line, num) { + num++; + + if (data[num] === 0) { + ret.misses++; + ret.sloc++; + } else if (data[num] !== undefined) { + ret.hits++; + ret.sloc++; + } + + ret.source[num] = { + source: line, + coverage: data[num] === undefined ? '' : data[num] + }; + }); + + ret.coverage = ret.hits / ret.sloc * 100; + + return ret; +} + +/** + * Return a plain-object representation of `test` + * free of cyclic properties etc. + * + * @api private + * @param {Object} test + * @return {Object} + */ +function clean(test) { + return { + duration: test.duration, + currentRetry: test.currentRetry(), + fullTitle: test.fullTitle(), + title: test.title + }; +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./base":17,"_process":51}],24:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); + +/** + * Expose `List`. + */ + +exports = module.exports = List; + +/** + * Initialize a new `List` test reporter. + * + * @api public + * @param {Runner} runner + */ +function List(runner) { + Base.call(this, runner); + + var self = this; + var total = runner.total; + + runner.on('start', function() { + console.log(JSON.stringify(['start', { total: total }])); + }); + + runner.on('pass', function(test) { + console.log(JSON.stringify(['pass', clean(test)])); + }); + + runner.on('fail', function(test, err) { + test = clean(test); + test.err = err.message; + test.stack = err.stack || null; + console.log(JSON.stringify(['fail', test])); + }); + + runner.on('end', function() { + process.stdout.write(JSON.stringify(['end', self.stats])); + }); +} + +/** + * Return a plain-object representation of `test` + * free of cyclic properties etc. + * + * @api private + * @param {Object} test + * @return {Object} + */ +function clean(test) { + return { + title: test.title, + fullTitle: test.fullTitle(), + duration: test.duration, + currentRetry: test.currentRetry() + }; +} + +}).call(this,require('_process')) +},{"./base":17,"_process":51}],25:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); + +/** + * Expose `JSON`. + */ + +exports = module.exports = JSONReporter; + +/** + * Initialize a new `JSON` reporter. + * + * @api public + * @param {Runner} runner + */ +function JSONReporter(runner) { + Base.call(this, runner); + + var self = this; + var tests = []; + var pending = []; + var failures = []; + var passes = []; + + runner.on('test end', function(test) { + tests.push(test); + }); + + runner.on('pass', function(test) { + passes.push(test); + }); + + runner.on('fail', function(test) { + failures.push(test); + }); + + runner.on('pending', function(test) { + pending.push(test); + }); + + runner.on('end', function() { + var obj = { + stats: self.stats, + tests: tests.map(clean), + pending: pending.map(clean), + failures: failures.map(clean), + passes: passes.map(clean) + }; + + runner.testResults = obj; + + process.stdout.write(JSON.stringify(obj, null, 2)); + }); +} + +/** + * Return a plain-object representation of `test` + * free of cyclic properties etc. + * + * @api private + * @param {Object} test + * @return {Object} + */ +function clean(test) { + return { + title: test.title, + fullTitle: test.fullTitle(), + duration: test.duration, + currentRetry: test.currentRetry(), + err: errorJSON(test.err || {}) + }; +} + +/** + * Transform `error` into a JSON object. + * + * @api private + * @param {Error} err + * @return {Object} + */ +function errorJSON(err) { + var res = {}; + Object.getOwnPropertyNames(err).forEach(function(key) { + res[key] = err[key]; + }, err); + return res; +} + +}).call(this,require('_process')) +},{"./base":17,"_process":51}],26:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var inherits = require('../utils').inherits; +var cursor = Base.cursor; +var color = Base.color; + +/** + * Expose `Landing`. + */ + +exports = module.exports = Landing; + +/** + * Airplane color. + */ + +Base.colors.plane = 0; + +/** + * Airplane crash color. + */ + +Base.colors['plane crash'] = 31; + +/** + * Runway color. + */ + +Base.colors.runway = 90; + +/** + * Initialize a new `Landing` reporter. + * + * @api public + * @param {Runner} runner + */ +function Landing(runner) { + Base.call(this, runner); + + var self = this; + var width = Base.window.width * .75 | 0; + var total = runner.total; + var stream = process.stdout; + var plane = color('plane', '✈'); + var crashed = -1; + var n = 0; + + function runway() { + var buf = Array(width).join('-'); + return ' ' + color('runway', buf); + } + + runner.on('start', function() { + stream.write('\n\n\n '); + cursor.hide(); + }); + + runner.on('test end', function(test) { + // check if the plane crashed + var col = crashed === -1 ? width * ++n / total | 0 : crashed; + + // show the crash + if (test.state === 'failed') { + plane = color('plane crash', '✈'); + crashed = col; + } + + // render landing strip + stream.write('\u001b[' + (width + 1) + 'D\u001b[2A'); + stream.write(runway()); + stream.write('\n '); + stream.write(color('runway', Array(col).join('⋅'))); + stream.write(plane); + stream.write(color('runway', Array(width - col).join('⋅') + '\n')); + stream.write(runway()); + stream.write('\u001b[0m'); + }); + + runner.on('end', function() { + cursor.show(); + console.log(); + self.epilogue(); + }); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(Landing, Base); + +}).call(this,require('_process')) +},{"../utils":39,"./base":17,"_process":51}],27:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var inherits = require('../utils').inherits; +var color = Base.color; +var cursor = Base.cursor; + +/** + * Expose `List`. + */ + +exports = module.exports = List; + +/** + * Initialize a new `List` test reporter. + * + * @api public + * @param {Runner} runner + */ +function List(runner) { + Base.call(this, runner); + + var self = this; + var n = 0; + + runner.on('start', function() { + console.log(); + }); + + runner.on('test', function(test) { + process.stdout.write(color('pass', ' ' + test.fullTitle() + ': ')); + }); + + runner.on('pending', function(test) { + var fmt = color('checkmark', ' -') + + color('pending', ' %s'); + console.log(fmt, test.fullTitle()); + }); + + runner.on('pass', function(test) { + var fmt = color('checkmark', ' ' + Base.symbols.dot) + + color('pass', ' %s: ') + + color(test.speed, '%dms'); + cursor.CR(); + console.log(fmt, test.fullTitle(), test.duration); + }); + + runner.on('fail', function(test) { + cursor.CR(); + console.log(color('fail', ' %d) %s'), ++n, test.fullTitle()); + }); + + runner.on('end', self.epilogue.bind(self)); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(List, Base); + +}).call(this,require('_process')) +},{"../utils":39,"./base":17,"_process":51}],28:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var utils = require('../utils'); + +/** + * Constants + */ + +var SUITE_PREFIX = '$'; + +/** + * Expose `Markdown`. + */ + +exports = module.exports = Markdown; + +/** + * Initialize a new `Markdown` reporter. + * + * @api public + * @param {Runner} runner + */ +function Markdown(runner) { + Base.call(this, runner); + + var level = 0; + var buf = ''; + + function title(str) { + return Array(level).join('#') + ' ' + str; + } + + function mapTOC(suite, obj) { + var ret = obj; + var key = SUITE_PREFIX + suite.title; + + obj = obj[key] = obj[key] || { suite: suite }; + suite.suites.forEach(function(suite) { + mapTOC(suite, obj); + }); + + return ret; + } + + function stringifyTOC(obj, level) { + ++level; + var buf = ''; + var link; + for (var key in obj) { + if (key === 'suite') { + continue; + } + if (key !== SUITE_PREFIX) { + link = ' - [' + key.substring(1) + ']'; + link += '(#' + utils.slug(obj[key].suite.fullTitle()) + ')\n'; + buf += Array(level).join(' ') + link; + } + buf += stringifyTOC(obj[key], level); + } + return buf; + } + + function generateTOC(suite) { + var obj = mapTOC(suite, {}); + return stringifyTOC(obj, 0); + } + + generateTOC(runner.suite); + + runner.on('suite', function(suite) { + ++level; + var slug = utils.slug(suite.fullTitle()); + buf += '' + '\n'; + buf += title(suite.title) + '\n'; + }); + + runner.on('suite end', function() { + --level; + }); + + runner.on('pass', function(test) { + var code = utils.clean(test.body); + buf += test.title + '.\n'; + buf += '\n```js\n'; + buf += code + '\n'; + buf += '```\n\n'; + }); + + runner.on('end', function() { + process.stdout.write('# TOC\n'); + process.stdout.write(generateTOC(runner.suite)); + process.stdout.write(buf); + }); +} + +}).call(this,require('_process')) +},{"../utils":39,"./base":17,"_process":51}],29:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var inherits = require('../utils').inherits; + +/** + * Expose `Min`. + */ + +exports = module.exports = Min; + +/** + * Initialize a new `Min` minimal test reporter (best used with --watch). + * + * @api public + * @param {Runner} runner + */ +function Min(runner) { + Base.call(this, runner); + + runner.on('start', function() { + // clear screen + process.stdout.write('\u001b[2J'); + // set cursor position + process.stdout.write('\u001b[1;3H'); + }); + + runner.on('end', this.epilogue.bind(this)); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(Min, Base); + +}).call(this,require('_process')) +},{"../utils":39,"./base":17,"_process":51}],30:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var inherits = require('../utils').inherits; + +/** + * Expose `Dot`. + */ + +exports = module.exports = NyanCat; + +/** + * Initialize a new `Dot` matrix test reporter. + * + * @param {Runner} runner + * @api public + */ + +function NyanCat(runner) { + Base.call(this, runner); + + var self = this; + var width = Base.window.width * .75 | 0; + var nyanCatWidth = this.nyanCatWidth = 11; + + this.colorIndex = 0; + this.numberOfLines = 4; + this.rainbowColors = self.generateColors(); + this.scoreboardWidth = 5; + this.tick = 0; + this.trajectories = [[], [], [], []]; + this.trajectoryWidthMax = (width - nyanCatWidth); + + runner.on('start', function() { + Base.cursor.hide(); + self.draw(); + }); + + runner.on('pending', function() { + self.draw(); + }); + + runner.on('pass', function() { + self.draw(); + }); + + runner.on('fail', function() { + self.draw(); + }); + + runner.on('end', function() { + Base.cursor.show(); + for (var i = 0; i < self.numberOfLines; i++) { + write('\n'); + } + self.epilogue(); + }); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(NyanCat, Base); + +/** + * Draw the nyan cat + * + * @api private + */ + +NyanCat.prototype.draw = function() { + this.appendRainbow(); + this.drawScoreboard(); + this.drawRainbow(); + this.drawNyanCat(); + this.tick = !this.tick; +}; + +/** + * Draw the "scoreboard" showing the number + * of passes, failures and pending tests. + * + * @api private + */ + +NyanCat.prototype.drawScoreboard = function() { + var stats = this.stats; + + function draw(type, n) { + write(' '); + write(Base.color(type, n)); + write('\n'); + } + + draw('green', stats.passes); + draw('fail', stats.failures); + draw('pending', stats.pending); + write('\n'); + + this.cursorUp(this.numberOfLines); +}; + +/** + * Append the rainbow. + * + * @api private + */ + +NyanCat.prototype.appendRainbow = function() { + var segment = this.tick ? '_' : '-'; + var rainbowified = this.rainbowify(segment); + + for (var index = 0; index < this.numberOfLines; index++) { + var trajectory = this.trajectories[index]; + if (trajectory.length >= this.trajectoryWidthMax) { + trajectory.shift(); + } + trajectory.push(rainbowified); + } +}; + +/** + * Draw the rainbow. + * + * @api private + */ + +NyanCat.prototype.drawRainbow = function() { + var self = this; + + this.trajectories.forEach(function(line) { + write('\u001b[' + self.scoreboardWidth + 'C'); + write(line.join('')); + write('\n'); + }); + + this.cursorUp(this.numberOfLines); +}; + +/** + * Draw the nyan cat + * + * @api private + */ +NyanCat.prototype.drawNyanCat = function() { + var self = this; + var startWidth = this.scoreboardWidth + this.trajectories[0].length; + var dist = '\u001b[' + startWidth + 'C'; + var padding = ''; + + write(dist); + write('_,------,'); + write('\n'); + + write(dist); + padding = self.tick ? ' ' : ' '; + write('_|' + padding + '/\\_/\\ '); + write('\n'); + + write(dist); + padding = self.tick ? '_' : '__'; + var tail = self.tick ? '~' : '^'; + write(tail + '|' + padding + this.face() + ' '); + write('\n'); + + write(dist); + padding = self.tick ? ' ' : ' '; + write(padding + '"" "" '); + write('\n'); + + this.cursorUp(this.numberOfLines); +}; + +/** + * Draw nyan cat face. + * + * @api private + * @return {string} + */ + +NyanCat.prototype.face = function() { + var stats = this.stats; + if (stats.failures) { + return '( x .x)'; + } else if (stats.pending) { + return '( o .o)'; + } else if (stats.passes) { + return '( ^ .^)'; + } + return '( - .-)'; +}; + +/** + * Move cursor up `n`. + * + * @api private + * @param {number} n + */ + +NyanCat.prototype.cursorUp = function(n) { + write('\u001b[' + n + 'A'); +}; + +/** + * Move cursor down `n`. + * + * @api private + * @param {number} n + */ + +NyanCat.prototype.cursorDown = function(n) { + write('\u001b[' + n + 'B'); +}; + +/** + * Generate rainbow colors. + * + * @api private + * @return {Array} + */ +NyanCat.prototype.generateColors = function() { + var colors = []; + + for (var i = 0; i < (6 * 7); i++) { + var pi3 = Math.floor(Math.PI / 3); + var n = (i * (1.0 / 6)); + var r = Math.floor(3 * Math.sin(n) + 3); + var g = Math.floor(3 * Math.sin(n + 2 * pi3) + 3); + var b = Math.floor(3 * Math.sin(n + 4 * pi3) + 3); + colors.push(36 * r + 6 * g + b + 16); + } + + return colors; +}; + +/** + * Apply rainbow to the given `str`. + * + * @api private + * @param {string} str + * @return {string} + */ +NyanCat.prototype.rainbowify = function(str) { + if (!Base.useColors) { + return str; + } + var color = this.rainbowColors[this.colorIndex % this.rainbowColors.length]; + this.colorIndex += 1; + return '\u001b[38;5;' + color + 'm' + str + '\u001b[0m'; +}; + +/** + * Stdout helper. + * + * @param {string} string A message to write to stdout. + */ +function write(string) { + process.stdout.write(string); +} + +}).call(this,require('_process')) +},{"../utils":39,"./base":17,"_process":51}],31:[function(require,module,exports){ +(function (process){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var inherits = require('../utils').inherits; +var color = Base.color; +var cursor = Base.cursor; + +/** + * Expose `Progress`. + */ + +exports = module.exports = Progress; + +/** + * General progress bar color. + */ + +Base.colors.progress = 90; + +/** + * Initialize a new `Progress` bar test reporter. + * + * @api public + * @param {Runner} runner + * @param {Object} options + */ +function Progress(runner, options) { + Base.call(this, runner); + + var self = this; + var width = Base.window.width * .50 | 0; + var total = runner.total; + var complete = 0; + var lastN = -1; + + // default chars + options = options || {}; + options.open = options.open || '['; + options.complete = options.complete || '▬'; + options.incomplete = options.incomplete || Base.symbols.dot; + options.close = options.close || ']'; + options.verbose = false; + + // tests started + runner.on('start', function() { + console.log(); + cursor.hide(); + }); + + // tests complete + runner.on('test end', function() { + complete++; + + var percent = complete / total; + var n = width * percent | 0; + var i = width - n; + + if (n === lastN && !options.verbose) { + // Don't re-render the line if it hasn't changed + return; + } + lastN = n; + + cursor.CR(); + process.stdout.write('\u001b[J'); + process.stdout.write(color('progress', ' ' + options.open)); + process.stdout.write(Array(n).join(options.complete)); + process.stdout.write(Array(i).join(options.incomplete)); + process.stdout.write(color('progress', options.close)); + if (options.verbose) { + process.stdout.write(color('progress', ' ' + complete + ' of ' + total)); + } + }); + + // tests are complete, output some stats + // and the failures if any + runner.on('end', function() { + cursor.show(); + console.log(); + self.epilogue(); + }); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(Progress, Base); + +}).call(this,require('_process')) +},{"../utils":39,"./base":17,"_process":51}],32:[function(require,module,exports){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var inherits = require('../utils').inherits; +var color = Base.color; +var cursor = Base.cursor; + +/** + * Expose `Spec`. + */ + +exports = module.exports = Spec; + +/** + * Initialize a new `Spec` test reporter. + * + * @api public + * @param {Runner} runner + */ +function Spec(runner) { + Base.call(this, runner); + + var self = this; + var indents = 0; + var n = 0; + + function indent() { + return Array(indents).join(' '); + } + + runner.on('start', function() { + console.log(); + }); + + runner.on('suite', function(suite) { + ++indents; + console.log(color('suite', '%s%s'), indent(), suite.title); + }); + + runner.on('suite end', function() { + --indents; + if (indents === 1) { + console.log(); + } + }); + + runner.on('pending', function(test) { + var fmt = indent() + color('pending', ' - %s'); + console.log(fmt, test.title); + }); + + runner.on('pass', function(test) { + var fmt; + if (test.speed === 'fast') { + fmt = indent() + + color('checkmark', ' ' + Base.symbols.ok) + + color('pass', ' %s'); + cursor.CR(); + console.log(fmt, test.title); + } else { + fmt = indent() + + color('checkmark', ' ' + Base.symbols.ok) + + color('pass', ' %s') + + color(test.speed, ' (%dms)'); + cursor.CR(); + console.log(fmt, test.title, test.duration); + } + }); + + runner.on('fail', function(test) { + cursor.CR(); + console.log(indent() + color('fail', ' %d) %s'), ++n, test.title); + }); + + runner.on('end', self.epilogue.bind(self)); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(Spec, Base); + +},{"../utils":39,"./base":17}],33:[function(require,module,exports){ +/** + * Module dependencies. + */ + +var Base = require('./base'); + +/** + * Expose `TAP`. + */ + +exports = module.exports = TAP; + +/** + * Initialize a new `TAP` reporter. + * + * @api public + * @param {Runner} runner + */ +function TAP(runner) { + Base.call(this, runner); + + var n = 1; + var passes = 0; + var failures = 0; + + runner.on('start', function() { + var total = runner.grepTotal(runner.suite); + console.log('%d..%d', 1, total); + }); + + runner.on('test end', function() { + ++n; + }); + + runner.on('pending', function(test) { + console.log('ok %d %s # SKIP -', n, title(test)); + }); + + runner.on('pass', function(test) { + passes++; + console.log('ok %d %s', n, title(test)); + }); + + runner.on('fail', function(test, err) { + failures++; + console.log('not ok %d %s', n, title(test)); + if (err.stack) { + console.log(err.stack.replace(/^/gm, ' ')); + } + }); + + runner.on('end', function() { + console.log('# tests ' + (passes + failures)); + console.log('# pass ' + passes); + console.log('# fail ' + failures); + }); +} + +/** + * Return a TAP-safe title of `test` + * + * @api private + * @param {Object} test + * @return {String} + */ +function title(test) { + return test.fullTitle().replace(/#/g, ''); +} + +},{"./base":17}],34:[function(require,module,exports){ +(function (process,global){ +/** + * Module dependencies. + */ + +var Base = require('./base'); +var utils = require('../utils'); +var inherits = utils.inherits; +var fs = require('fs'); +var escape = utils.escape; +var mkdirp = require('mkdirp'); +var path = require('path'); + +/** + * Save timer references to avoid Sinon interfering (see GH-237). + */ + +/* eslint-disable no-unused-vars, no-native-reassign */ +var Date = global.Date; +var setTimeout = global.setTimeout; +var setInterval = global.setInterval; +var clearTimeout = global.clearTimeout; +var clearInterval = global.clearInterval; +/* eslint-enable no-unused-vars, no-native-reassign */ + +/** + * Expose `XUnit`. + */ + +exports = module.exports = XUnit; + +/** + * Initialize a new `XUnit` reporter. + * + * @api public + * @param {Runner} runner + */ +function XUnit(runner, options) { + Base.call(this, runner); + + var stats = this.stats; + var tests = []; + var self = this; + + if (options.reporterOptions && options.reporterOptions.output) { + if (!fs.createWriteStream) { + throw new Error('file output not supported in browser'); + } + mkdirp.sync(path.dirname(options.reporterOptions.output)); + self.fileStream = fs.createWriteStream(options.reporterOptions.output); + } + + runner.on('pending', function(test) { + tests.push(test); + }); + + runner.on('pass', function(test) { + tests.push(test); + }); + + runner.on('fail', function(test) { + tests.push(test); + }); + + runner.on('end', function() { + self.write(tag('testsuite', { + name: 'Mocha Tests', + tests: stats.tests, + failures: stats.failures, + errors: stats.failures, + skipped: stats.tests - stats.failures - stats.passes, + timestamp: (new Date()).toUTCString(), + time: (stats.duration / 1000) || 0 + }, false)); + + tests.forEach(function(t) { + self.test(t); + }); + + self.write(''); + }); +} + +/** + * Inherit from `Base.prototype`. + */ +inherits(XUnit, Base); + +/** + * Override done to close the stream (if it's a file). + * + * @param failures + * @param {Function} fn + */ +XUnit.prototype.done = function(failures, fn) { + if (this.fileStream) { + this.fileStream.end(function() { + fn(failures); + }); + } else { + fn(failures); + } +}; + +/** + * Write out the given line. + * + * @param {string} line + */ +XUnit.prototype.write = function(line) { + if (this.fileStream) { + this.fileStream.write(line + '\n'); + } else if (typeof process === 'object' && process.stdout) { + process.stdout.write(line + '\n'); + } else { + console.log(line); + } +}; + +/** + * Output tag for the given `test.` + * + * @param {Test} test + */ +XUnit.prototype.test = function(test) { + var attrs = { + classname: test.parent.fullTitle(), + name: test.title, + time: (test.duration / 1000) || 0 + }; + + if (test.state === 'failed') { + var err = test.err; + this.write(tag('testcase', attrs, false, tag('failure', {}, false, cdata(escape(err.message) + '\n' + err.stack)))); + } else if (test.pending) { + this.write(tag('testcase', attrs, false, tag('skipped', {}, true))); + } else { + this.write(tag('testcase', attrs, true)); + } +}; + +/** + * HTML tag helper. + * + * @param name + * @param attrs + * @param close + * @param content + * @return {string} + */ +function tag(name, attrs, close, content) { + var end = close ? '/>' : '>'; + var pairs = []; + var tag; + + for (var key in attrs) { + if (Object.prototype.hasOwnProperty.call(attrs, key)) { + pairs.push(key + '="' + escape(attrs[key]) + '"'); + } + } + + tag = '<' + name + (pairs.length ? ' ' + pairs.join(' ') : '') + end; + if (content) { + tag += content + ''; +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../utils":39,"./base":17,"_process":51,"fs":41,"mkdirp":70,"path":41}],35:[function(require,module,exports){ +(function (global){ +/** + * Module dependencies. + */ + +var EventEmitter = require('events').EventEmitter; +var Pending = require('./pending'); +var debug = require('debug')('mocha:runnable'); +var milliseconds = require('./ms'); +var utils = require('./utils'); +var inherits = utils.inherits; + +/** + * Save timer references to avoid Sinon interfering (see GH-237). + */ + +/* eslint-disable no-unused-vars, no-native-reassign */ +var Date = global.Date; +var setTimeout = global.setTimeout; +var setInterval = global.setInterval; +var clearTimeout = global.clearTimeout; +var clearInterval = global.clearInterval; +/* eslint-enable no-unused-vars, no-native-reassign */ + +/** + * Object#toString(). + */ + +var toString = Object.prototype.toString; + +/** + * Expose `Runnable`. + */ + +module.exports = Runnable; + +/** + * Initialize a new `Runnable` with the given `title` and callback `fn`. + * + * @param {String} title + * @param {Function} fn + * @api private + * @param {string} title + * @param {Function} fn + */ +function Runnable(title, fn) { + this.title = title; + this.fn = fn; + this.async = fn && fn.length; + this.sync = !this.async; + this._timeout = 2000; + this._slow = 75; + this._enableTimeouts = true; + this.timedOut = false; + this._trace = new Error('done() called multiple times'); + this._retries = -1; + this._currentRetry = 0; +} + +/** + * Inherit from `EventEmitter.prototype`. + */ +inherits(Runnable, EventEmitter); + +/** + * Set & get timeout `ms`. + * + * @api private + * @param {number|string} ms + * @return {Runnable|number} ms or Runnable instance. + */ +Runnable.prototype.timeout = function(ms) { + if (!arguments.length) { + return this._timeout; + } + if (ms === 0) { + this._enableTimeouts = false; + } + if (typeof ms === 'string') { + ms = milliseconds(ms); + } + debug('timeout %d', ms); + this._timeout = ms; + if (this.timer) { + this.resetTimeout(); + } + return this; +}; + +/** + * Set & get slow `ms`. + * + * @api private + * @param {number|string} ms + * @return {Runnable|number} ms or Runnable instance. + */ +Runnable.prototype.slow = function(ms) { + if (!arguments.length) { + return this._slow; + } + if (typeof ms === 'string') { + ms = milliseconds(ms); + } + debug('timeout %d', ms); + this._slow = ms; + return this; +}; + +/** + * Set and get whether timeout is `enabled`. + * + * @api private + * @param {boolean} enabled + * @return {Runnable|boolean} enabled or Runnable instance. + */ +Runnable.prototype.enableTimeouts = function(enabled) { + if (!arguments.length) { + return this._enableTimeouts; + } + debug('enableTimeouts %s', enabled); + this._enableTimeouts = enabled; + return this; +}; + +/** + * Halt and mark as pending. + * + * @api private + */ +Runnable.prototype.skip = function() { + throw new Pending(); +}; + +/** + * Set number of retries. + * + * @api private + */ +Runnable.prototype.retries = function(n) { + if (!arguments.length) { + return this._retries; + } + this._retries = n; +}; + +/** + * Get current retry + * + * @api private + */ +Runnable.prototype.currentRetry = function(n) { + if (!arguments.length) { + return this._currentRetry; + } + this._currentRetry = n; +}; + +/** + * Return the full title generated by recursively concatenating the parent's + * full title. + * + * @api public + * @return {string} + */ +Runnable.prototype.fullTitle = function() { + return this.parent.fullTitle() + ' ' + this.title; +}; + +/** + * Clear the timeout. + * + * @api private + */ +Runnable.prototype.clearTimeout = function() { + clearTimeout(this.timer); +}; + +/** + * Inspect the runnable void of private properties. + * + * @api private + * @return {string} + */ +Runnable.prototype.inspect = function() { + return JSON.stringify(this, function(key, val) { + if (key[0] === '_') { + return; + } + if (key === 'parent') { + return '#'; + } + if (key === 'ctx') { + return '#'; + } + return val; + }, 2); +}; + +/** + * Reset the timeout. + * + * @api private + */ +Runnable.prototype.resetTimeout = function() { + var self = this; + var ms = this.timeout() || 1e9; + + if (!this._enableTimeouts) { + return; + } + this.clearTimeout(); + this.timer = setTimeout(function() { + if (!self._enableTimeouts) { + return; + } + self.callback(new Error('timeout of ' + ms + 'ms exceeded. Ensure the done() callback is being called in this test.')); + self.timedOut = true; + }, ms); +}; + +/** + * Whitelist a list of globals for this test run. + * + * @api private + * @param {string[]} globals + */ +Runnable.prototype.globals = function(globals) { + if (!arguments.length) { + return this._allowedGlobals; + } + this._allowedGlobals = globals; +}; + +/** + * Run the test and invoke `fn(err)`. + * + * @param {Function} fn + * @api private + */ +Runnable.prototype.run = function(fn) { + var self = this; + var start = new Date(); + var ctx = this.ctx; + var finished; + var emitted; + + // Sometimes the ctx exists, but it is not runnable + if (ctx && ctx.runnable) { + ctx.runnable(this); + } + + // called multiple times + function multiple(err) { + if (emitted) { + return; + } + emitted = true; + self.emit('error', err || new Error('done() called multiple times; stacktrace may be inaccurate')); + } + + // finished + function done(err) { + var ms = self.timeout(); + if (self.timedOut) { + return; + } + if (finished) { + return multiple(err || self._trace); + } + + self.clearTimeout(); + self.duration = new Date() - start; + finished = true; + if (!err && self.duration > ms && self._enableTimeouts) { + err = new Error('timeout of ' + ms + 'ms exceeded. Ensure the done() callback is being called in this test.'); + } + fn(err); + } + + // for .resetTimeout() + this.callback = done; + + // explicit async with `done` argument + if (this.async) { + this.resetTimeout(); + + if (this.allowUncaught) { + return callFnAsync(this.fn); + } + try { + callFnAsync(this.fn); + } catch (err) { + done(utils.getError(err)); + } + return; + } + + if (this.allowUncaught) { + callFn(this.fn); + done(); + return; + } + + // sync or promise-returning + try { + if (this.pending) { + done(); + } else { + callFn(this.fn); + } + } catch (err) { + done(utils.getError(err)); + } + + function callFn(fn) { + var result = fn.call(ctx); + if (result && typeof result.then === 'function') { + self.resetTimeout(); + result + .then(function() { + done(); + // Return null so libraries like bluebird do not warn about + // subsequently constructed Promises. + return null; + }, + function(reason) { + done(reason || new Error('Promise rejected with no or falsy reason')); + }); + } else { + if (self.asyncOnly) { + return done(new Error('--async-only option in use without declaring `done()` or returning a promise')); + } + + done(); + } + } + + function callFnAsync(fn) { + fn.call(ctx, function(err) { + if (err instanceof Error || toString.call(err) === '[object Error]') { + return done(err); + } + if (err) { + if (Object.prototype.toString.call(err) === '[object Object]') { + return done(new Error('done() invoked with non-Error: ' + + JSON.stringify(err))); + } + return done(new Error('done() invoked with non-Error: ' + err)); + } + done(); + }); + } +}; + +}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./ms":15,"./pending":16,"./utils":39,"debug":2,"events":3}],36:[function(require,module,exports){ +(function (process,global){ +/** + * Module dependencies. + */ + +var EventEmitter = require('events').EventEmitter; +var Pending = require('./pending'); +var utils = require('./utils'); +var inherits = utils.inherits; +var debug = require('debug')('mocha:runner'); +var Runnable = require('./runnable'); +var filter = utils.filter; +var indexOf = utils.indexOf; +var keys = utils.keys; +var stackFilter = utils.stackTraceFilter(); +var stringify = utils.stringify; +var type = utils.type; +var undefinedError = utils.undefinedError; +var isArray = utils.isArray; + +/** + * Non-enumerable globals. + */ + +var globals = [ + 'setTimeout', + 'clearTimeout', + 'setInterval', + 'clearInterval', + 'XMLHttpRequest', + 'Date', + 'setImmediate', + 'clearImmediate' +]; + +/** + * Expose `Runner`. + */ + +module.exports = Runner; + +/** + * Initialize a `Runner` for the given `suite`. + * + * Events: + * + * - `start` execution started + * - `end` execution complete + * - `suite` (suite) test suite execution started + * - `suite end` (suite) all tests (and sub-suites) have finished + * - `test` (test) test execution started + * - `test end` (test) test completed + * - `hook` (hook) hook execution started + * - `hook end` (hook) hook complete + * - `pass` (test) test passed + * - `fail` (test, err) test failed + * - `pending` (test) test pending + * + * @api public + * @param {Suite} suite Root suite + * @param {boolean} [delay] Whether or not to delay execution of root suite + * until ready. + */ +function Runner(suite, delay) { + var self = this; + this._globals = []; + this._abort = false; + this._delay = delay; + this.suite = suite; + this.started = false; + this.total = suite.total(); + this.failures = 0; + this.on('test end', function(test) { + self.checkGlobals(test); + }); + this.on('hook end', function(hook) { + self.checkGlobals(hook); + }); + this._defaultGrep = /.*/; + this.grep(this._defaultGrep); + this.globals(this.globalProps().concat(extraGlobals())); +} + +/** + * Wrapper for setImmediate, process.nextTick, or browser polyfill. + * + * @param {Function} fn + * @api private + */ +Runner.immediately = global.setImmediate || process.nextTick; + +/** + * Inherit from `EventEmitter.prototype`. + */ +inherits(Runner, EventEmitter); + +/** + * Run tests with full titles matching `re`. Updates runner.total + * with number of tests matched. + * + * @param {RegExp} re + * @param {Boolean} invert + * @return {Runner} for chaining + * @api public + * @param {RegExp} re + * @param {boolean} invert + * @return {Runner} Runner instance. + */ +Runner.prototype.grep = function(re, invert) { + debug('grep %s', re); + this._grep = re; + this._invert = invert; + this.total = this.grepTotal(this.suite); + return this; +}; + +/** + * Returns the number of tests matching the grep search for the + * given suite. + * + * @param {Suite} suite + * @return {Number} + * @api public + * @param {Suite} suite + * @return {number} + */ +Runner.prototype.grepTotal = function(suite) { + var self = this; + var total = 0; + + suite.eachTest(function(test) { + var match = self._grep.test(test.fullTitle()); + if (self._invert) { + match = !match; + } + if (match) { + total++; + } + }); + + return total; +}; + +/** + * Return a list of global properties. + * + * @return {Array} + * @api private + */ +Runner.prototype.globalProps = function() { + var props = keys(global); + + // non-enumerables + for (var i = 0; i < globals.length; ++i) { + if (~indexOf(props, globals[i])) { + continue; + } + props.push(globals[i]); + } + + return props; +}; + +/** + * Allow the given `arr` of globals. + * + * @param {Array} arr + * @return {Runner} for chaining + * @api public + * @param {Array} arr + * @return {Runner} Runner instance. + */ +Runner.prototype.globals = function(arr) { + if (!arguments.length) { + return this._globals; + } + debug('globals %j', arr); + this._globals = this._globals.concat(arr); + return this; +}; + +/** + * Check for global variable leaks. + * + * @api private + */ +Runner.prototype.checkGlobals = function(test) { + if (this.ignoreLeaks) { + return; + } + var ok = this._globals; + + var globals = this.globalProps(); + var leaks; + + if (test) { + ok = ok.concat(test._allowedGlobals || []); + } + + if (this.prevGlobalsLength === globals.length) { + return; + } + this.prevGlobalsLength = globals.length; + + leaks = filterLeaks(ok, globals); + this._globals = this._globals.concat(leaks); + + if (leaks.length > 1) { + this.fail(test, new Error('global leaks detected: ' + leaks.join(', ') + '')); + } else if (leaks.length) { + this.fail(test, new Error('global leak detected: ' + leaks[0])); + } +}; + +/** + * Fail the given `test`. + * + * @api private + * @param {Test} test + * @param {Error} err + */ +Runner.prototype.fail = function(test, err) { + ++this.failures; + test.state = 'failed'; + + if (!(err instanceof Error || err && typeof err.message === 'string')) { + err = new Error('the ' + type(err) + ' ' + stringify(err) + ' was thrown, throw an Error :)'); + } + + err.stack = (this.fullStackTrace || !err.stack) + ? err.stack + : stackFilter(err.stack); + + this.emit('fail', test, err); +}; + +/** + * Fail the given `hook` with `err`. + * + * Hook failures work in the following pattern: + * - If bail, then exit + * - Failed `before` hook skips all tests in a suite and subsuites, + * but jumps to corresponding `after` hook + * - Failed `before each` hook skips remaining tests in a + * suite and jumps to corresponding `after each` hook, + * which is run only once + * - Failed `after` hook does not alter + * execution order + * - Failed `after each` hook skips remaining tests in a + * suite and subsuites, but executes other `after each` + * hooks + * + * @api private + * @param {Hook} hook + * @param {Error} err + */ +Runner.prototype.failHook = function(hook, err) { + if (hook.ctx && hook.ctx.currentTest) { + hook.originalTitle = hook.originalTitle || hook.title; + hook.title = hook.originalTitle + ' for "' + hook.ctx.currentTest.title + '"'; + } + + this.fail(hook, err); + if (this.suite.bail()) { + this.emit('end'); + } +}; + +/** + * Run hook `name` callbacks and then invoke `fn()`. + * + * @api private + * @param {string} name + * @param {Function} fn + */ + +Runner.prototype.hook = function(name, fn) { + var suite = this.suite; + var hooks = suite['_' + name]; + var self = this; + + function next(i) { + var hook = hooks[i]; + if (!hook) { + return fn(); + } + self.currentRunnable = hook; + + hook.ctx.currentTest = self.test; + + self.emit('hook', hook); + + if (!hook.listeners('error').length) { + hook.on('error', function(err) { + self.failHook(hook, err); + }); + } + + hook.run(function(err) { + var testError = hook.error(); + if (testError) { + self.fail(self.test, testError); + } + if (err) { + if (err instanceof Pending) { + suite.pending = true; + } else { + self.failHook(hook, err); + + // stop executing hooks, notify callee of hook err + return fn(err); + } + } + self.emit('hook end', hook); + delete hook.ctx.currentTest; + next(++i); + }); + } + + Runner.immediately(function() { + next(0); + }); +}; + +/** + * Run hook `name` for the given array of `suites` + * in order, and callback `fn(err, errSuite)`. + * + * @api private + * @param {string} name + * @param {Array} suites + * @param {Function} fn + */ +Runner.prototype.hooks = function(name, suites, fn) { + var self = this; + var orig = this.suite; + + function next(suite) { + self.suite = suite; + + if (!suite) { + self.suite = orig; + return fn(); + } + + self.hook(name, function(err) { + if (err) { + var errSuite = self.suite; + self.suite = orig; + return fn(err, errSuite); + } + + next(suites.pop()); + }); + } + + next(suites.pop()); +}; + +/** + * Run hooks from the top level down. + * + * @param {String} name + * @param {Function} fn + * @api private + */ +Runner.prototype.hookUp = function(name, fn) { + var suites = [this.suite].concat(this.parents()).reverse(); + this.hooks(name, suites, fn); +}; + +/** + * Run hooks from the bottom up. + * + * @param {String} name + * @param {Function} fn + * @api private + */ +Runner.prototype.hookDown = function(name, fn) { + var suites = [this.suite].concat(this.parents()); + this.hooks(name, suites, fn); +}; + +/** + * Return an array of parent Suites from + * closest to furthest. + * + * @return {Array} + * @api private + */ +Runner.prototype.parents = function() { + var suite = this.suite; + var suites = []; + while (suite.parent) { + suite = suite.parent; + suites.push(suite); + } + return suites; +}; + +/** + * Run the current test and callback `fn(err)`. + * + * @param {Function} fn + * @api private + */ +Runner.prototype.runTest = function(fn) { + var self = this; + var test = this.test; + + if (this.asyncOnly) { + test.asyncOnly = true; + } + + if (this.allowUncaught) { + test.allowUncaught = true; + return test.run(fn); + } + try { + test.on('error', function(err) { + self.fail(test, err); + }); + test.run(fn); + } catch (err) { + fn(err); + } +}; + +/** + * Run tests in the given `suite` and invoke the callback `fn()` when complete. + * + * @api private + * @param {Suite} suite + * @param {Function} fn + */ +Runner.prototype.runTests = function(suite, fn) { + var self = this; + var tests = suite.tests.slice(); + var test; + + function hookErr(_, errSuite, after) { + // before/after Each hook for errSuite failed: + var orig = self.suite; + + // for failed 'after each' hook start from errSuite parent, + // otherwise start from errSuite itself + self.suite = after ? errSuite.parent : errSuite; + + if (self.suite) { + // call hookUp afterEach + self.hookUp('afterEach', function(err2, errSuite2) { + self.suite = orig; + // some hooks may fail even now + if (err2) { + return hookErr(err2, errSuite2, true); + } + // report error suite + fn(errSuite); + }); + } else { + // there is no need calling other 'after each' hooks + self.suite = orig; + fn(errSuite); + } + } + + function next(err, errSuite) { + // if we bail after first err + if (self.failures && suite._bail) { + return fn(); + } + + if (self._abort) { + return fn(); + } + + if (err) { + return hookErr(err, errSuite, true); + } + + // next test + test = tests.shift(); + + // all done + if (!test) { + return fn(); + } + + // grep + var match = self._grep.test(test.fullTitle()); + if (self._invert) { + match = !match; + } + if (!match) { + // Run immediately only if we have defined a grep. When we + // define a grep — It can cause maximum callstack error if + // the grep is doing a large recursive loop by neglecting + // all tests. The run immediately function also comes with + // a performance cost. So we don't want to run immediately + // if we run the whole test suite, because running the whole + // test suite don't do any immediate recursive loops. Thus, + // allowing a JS runtime to breathe. + if (self._grep !== self._defaultGrep) { + Runner.immediately(next); + } else { + next(); + } + return; + } + + function parentPending(suite) { + return suite.pending || (suite.parent && parentPending(suite.parent)); + } + + // pending + if (test.pending || parentPending(test.parent)) { + self.emit('pending', test); + self.emit('test end', test); + return next(); + } + + // execute test and hook(s) + self.emit('test', self.test = test); + self.hookDown('beforeEach', function(err, errSuite) { + if (suite.pending) { + self.emit('pending', test); + self.emit('test end', test); + return next(); + } + if (err) { + return hookErr(err, errSuite, false); + } + self.currentRunnable = self.test; + self.runTest(function(err) { + test = self.test; + if (err) { + var retry = test.currentRetry(); + if (err instanceof Pending) { + test.pending = true; + self.emit('pending', test); + } else if (retry < test.retries()) { + var clonedTest = test.clone(); + clonedTest.currentRetry(retry + 1); + tests.unshift(clonedTest); + + // Early return + hook trigger so that it doesn't + // increment the count wrong + return self.hookUp('afterEach', next); + } else { + self.fail(test, err); + } + self.emit('test end', test); + + if (err instanceof Pending) { + return next(); + } + + return self.hookUp('afterEach', next); + } + + test.state = 'passed'; + self.emit('pass', test); + self.emit('test end', test); + self.hookUp('afterEach', next); + }); + }); + } + + this.next = next; + this.hookErr = hookErr; + next(); +}; + +/** + * Run the given `suite` and invoke the callback `fn()` when complete. + * + * @api private + * @param {Suite} suite + * @param {Function} fn + */ +Runner.prototype.runSuite = function(suite, fn) { + var i = 0; + var self = this; + var total = this.grepTotal(suite); + var afterAllHookCalled = false; + + debug('run suite %s', suite.fullTitle()); + + if (!total || (self.failures && suite._bail)) { + return fn(); + } + + this.emit('suite', this.suite = suite); + + function next(errSuite) { + if (errSuite) { + // current suite failed on a hook from errSuite + if (errSuite === suite) { + // if errSuite is current suite + // continue to the next sibling suite + return done(); + } + // errSuite is among the parents of current suite + // stop execution of errSuite and all sub-suites + return done(errSuite); + } + + if (self._abort) { + return done(); + } + + var curr = suite.suites[i++]; + if (!curr) { + return done(); + } + + // Avoid grep neglecting large number of tests causing a + // huge recursive loop and thus a maximum call stack error. + // See comment in `this.runTests()` for more information. + if (self._grep !== self._defaultGrep) { + Runner.immediately(function() { + self.runSuite(curr, next); + }); + } else { + self.runSuite(curr, next); + } + } + + function done(errSuite) { + self.suite = suite; + self.nextSuite = next; + + if (afterAllHookCalled) { + fn(errSuite); + } else { + // mark that the afterAll block has been called once + // and so can be skipped if there is an error in it. + afterAllHookCalled = true; + + // remove reference to test + delete self.test; + + self.hook('afterAll', function() { + self.emit('suite end', suite); + fn(errSuite); + }); + } + } + + this.nextSuite = next; + + this.hook('beforeAll', function(err) { + if (err) { + return done(); + } + self.runTests(suite, next); + }); +}; + +/** + * Handle uncaught exceptions. + * + * @param {Error} err + * @api private + */ +Runner.prototype.uncaught = function(err) { + if (err) { + debug('uncaught exception %s', err !== function() { + return this; + }.call(err) ? err : (err.message || err)); + } else { + debug('uncaught undefined exception'); + err = undefinedError(); + } + err.uncaught = true; + + var runnable = this.currentRunnable; + + if (!runnable) { + runnable = new Runnable('Uncaught error outside test suite'); + runnable.parent = this.suite; + + if (this.started) { + this.fail(runnable, err); + } else { + // Can't recover from this failure + this.emit('start'); + this.fail(runnable, err); + this.emit('end'); + } + + return; + } + + runnable.clearTimeout(); + + // Ignore errors if complete + if (runnable.state) { + return; + } + this.fail(runnable, err); + + // recover from test + if (runnable.type === 'test') { + this.emit('test end', runnable); + this.hookUp('afterEach', this.next); + return; + } + + // recover from hooks + if (runnable.type === 'hook') { + var errSuite = this.suite; + // if hook failure is in afterEach block + if (runnable.fullTitle().indexOf('after each') > -1) { + return this.hookErr(err, errSuite, true); + } + // if hook failure is in beforeEach block + if (runnable.fullTitle().indexOf('before each') > -1) { + return this.hookErr(err, errSuite, false); + } + // if hook failure is in after or before blocks + return this.nextSuite(errSuite); + } + + // bail + this.emit('end'); +}; + +/** + * Cleans up the references to all the deferred functions + * (before/after/beforeEach/afterEach) and tests of a Suite. + * These must be deleted otherwise a memory leak can happen, + * as those functions may reference variables from closures, + * thus those variables can never be garbage collected as long + * as the deferred functions exist. + * + * @param {Suite} suite + */ +function cleanSuiteReferences(suite) { + function cleanArrReferences(arr) { + for (var i = 0; i < arr.length; i++) { + delete arr[i].fn; + } + } + + if (isArray(suite._beforeAll)) { + cleanArrReferences(suite._beforeAll); + } + + if (isArray(suite._beforeEach)) { + cleanArrReferences(suite._beforeEach); + } + + if (isArray(suite._afterAll)) { + cleanArrReferences(suite._afterAll); + } + + if (isArray(suite._afterEach)) { + cleanArrReferences(suite._afterEach); + } + + for (var i = 0; i < suite.tests.length; i++) { + delete suite.tests[i].fn; + } +} + +/** + * Run the root suite and invoke `fn(failures)` + * on completion. + * + * @param {Function} fn + * @return {Runner} for chaining + * @api public + * @param {Function} fn + * @return {Runner} Runner instance. + */ +Runner.prototype.run = function(fn) { + var self = this; + var rootSuite = this.suite; + + fn = fn || function() {}; + + function uncaught(err) { + self.uncaught(err); + } + + function start() { + self.started = true; + self.emit('start'); + self.runSuite(rootSuite, function() { + debug('finished running'); + self.emit('end'); + }); + } + + debug('start'); + + // references cleanup to avoid memory leaks + this.on('suite end', cleanSuiteReferences); + + // callback + this.on('end', function() { + debug('end'); + process.removeListener('uncaughtException', uncaught); + fn(self.failures); + }); + + // uncaught exception + process.on('uncaughtException', uncaught); + + if (this._delay) { + // for reporters, I guess. + // might be nice to debounce some dots while we wait. + this.emit('waiting', rootSuite); + rootSuite.once('run', start); + } else { + start(); + } + + return this; +}; + +/** + * Cleanly abort execution. + * + * @api public + * @return {Runner} Runner instance. + */ +Runner.prototype.abort = function() { + debug('aborting'); + this._abort = true; + + return this; +}; + +/** + * Filter leaks with the given globals flagged as `ok`. + * + * @api private + * @param {Array} ok + * @param {Array} globals + * @return {Array} + */ +function filterLeaks(ok, globals) { + return filter(globals, function(key) { + // Firefox and Chrome exposes iframes as index inside the window object + if (/^d+/.test(key)) { + return false; + } + + // in firefox + // if runner runs in an iframe, this iframe's window.getInterface method not init at first + // it is assigned in some seconds + if (global.navigator && (/^getInterface/).test(key)) { + return false; + } + + // an iframe could be approached by window[iframeIndex] + // in ie6,7,8 and opera, iframeIndex is enumerable, this could cause leak + if (global.navigator && (/^\d+/).test(key)) { + return false; + } + + // Opera and IE expose global variables for HTML element IDs (issue #243) + if (/^mocha-/.test(key)) { + return false; + } + + var matched = filter(ok, function(ok) { + if (~ok.indexOf('*')) { + return key.indexOf(ok.split('*')[0]) === 0; + } + return key === ok; + }); + return !matched.length && (!global.navigator || key !== 'onerror'); + }); +} + +/** + * Array of globals dependent on the environment. + * + * @return {Array} + * @api private + */ +function extraGlobals() { + if (typeof process === 'object' && typeof process.version === 'string') { + var parts = process.version.split('.'); + var nodeVersion = utils.reduce(parts, function(a, v) { + return a << 8 | v; + }); + + // 'errno' was renamed to process._errno in v0.9.11. + + if (nodeVersion < 0x00090B) { + return ['errno']; + } + } + + return []; +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./pending":16,"./runnable":35,"./utils":39,"_process":51,"debug":2,"events":3}],37:[function(require,module,exports){ +/** + * Module dependencies. + */ + +var EventEmitter = require('events').EventEmitter; +var Hook = require('./hook'); +var utils = require('./utils'); +var inherits = utils.inherits; +var debug = require('debug')('mocha:suite'); +var milliseconds = require('./ms'); + +/** + * Expose `Suite`. + */ + +exports = module.exports = Suite; + +/** + * Create a new `Suite` with the given `title` and parent `Suite`. When a suite + * with the same title is already present, that suite is returned to provide + * nicer reporter and more flexible meta-testing. + * + * @api public + * @param {Suite} parent + * @param {string} title + * @return {Suite} + */ +exports.create = function(parent, title) { + var suite = new Suite(title, parent.ctx); + suite.parent = parent; + if (parent.pending) { + suite.pending = true; + } + title = suite.fullTitle(); + parent.addSuite(suite); + return suite; +}; + +/** + * Initialize a new `Suite` with the given `title` and `ctx`. + * + * @api private + * @param {string} title + * @param {Context} parentContext + */ +function Suite(title, parentContext) { + this.title = title; + function Context() {} + Context.prototype = parentContext; + this.ctx = new Context(); + this.suites = []; + this.tests = []; + this.pending = false; + this._beforeEach = []; + this._beforeAll = []; + this._afterEach = []; + this._afterAll = []; + this.root = !title; + this._timeout = 2000; + this._enableTimeouts = true; + this._slow = 75; + this._bail = false; + this._retries = -1; + this.delayed = false; +} + +/** + * Inherit from `EventEmitter.prototype`. + */ +inherits(Suite, EventEmitter); + +/** + * Return a clone of this `Suite`. + * + * @api private + * @return {Suite} + */ +Suite.prototype.clone = function() { + var suite = new Suite(this.title); + debug('clone'); + suite.ctx = this.ctx; + suite.timeout(this.timeout()); + suite.retries(this.retries()); + suite.enableTimeouts(this.enableTimeouts()); + suite.slow(this.slow()); + suite.bail(this.bail()); + return suite; +}; + +/** + * Set timeout `ms` or short-hand such as "2s". + * + * @api private + * @param {number|string} ms + * @return {Suite|number} for chaining + */ +Suite.prototype.timeout = function(ms) { + if (!arguments.length) { + return this._timeout; + } + if (ms.toString() === '0') { + this._enableTimeouts = false; + } + if (typeof ms === 'string') { + ms = milliseconds(ms); + } + debug('timeout %d', ms); + this._timeout = parseInt(ms, 10); + return this; +}; + +/** + * Set number of times to retry a failed test. + * + * @api private + * @param {number|string} n + * @return {Suite|number} for chaining + */ +Suite.prototype.retries = function(n) { + if (!arguments.length) { + return this._retries; + } + debug('retries %d', n); + this._retries = parseInt(n, 10) || 0; + return this; +}; + +/** + * Set timeout to `enabled`. + * + * @api private + * @param {boolean} enabled + * @return {Suite|boolean} self or enabled + */ +Suite.prototype.enableTimeouts = function(enabled) { + if (!arguments.length) { + return this._enableTimeouts; + } + debug('enableTimeouts %s', enabled); + this._enableTimeouts = enabled; + return this; +}; + +/** + * Set slow `ms` or short-hand such as "2s". + * + * @api private + * @param {number|string} ms + * @return {Suite|number} for chaining + */ +Suite.prototype.slow = function(ms) { + if (!arguments.length) { + return this._slow; + } + if (typeof ms === 'string') { + ms = milliseconds(ms); + } + debug('slow %d', ms); + this._slow = ms; + return this; +}; + +/** + * Sets whether to bail after first error. + * + * @api private + * @param {boolean} bail + * @return {Suite|number} for chaining + */ +Suite.prototype.bail = function(bail) { + if (!arguments.length) { + return this._bail; + } + debug('bail %s', bail); + this._bail = bail; + return this; +}; + +/** + * Run `fn(test[, done])` before running tests. + * + * @api private + * @param {string} title + * @param {Function} fn + * @return {Suite} for chaining + */ +Suite.prototype.beforeAll = function(title, fn) { + if (this.pending) { + return this; + } + if (typeof title === 'function') { + fn = title; + title = fn.name; + } + title = '"before all" hook' + (title ? ': ' + title : ''); + + var hook = new Hook(title, fn); + hook.parent = this; + hook.timeout(this.timeout()); + hook.retries(this.retries()); + hook.enableTimeouts(this.enableTimeouts()); + hook.slow(this.slow()); + hook.ctx = this.ctx; + this._beforeAll.push(hook); + this.emit('beforeAll', hook); + return this; +}; + +/** + * Run `fn(test[, done])` after running tests. + * + * @api private + * @param {string} title + * @param {Function} fn + * @return {Suite} for chaining + */ +Suite.prototype.afterAll = function(title, fn) { + if (this.pending) { + return this; + } + if (typeof title === 'function') { + fn = title; + title = fn.name; + } + title = '"after all" hook' + (title ? ': ' + title : ''); + + var hook = new Hook(title, fn); + hook.parent = this; + hook.timeout(this.timeout()); + hook.retries(this.retries()); + hook.enableTimeouts(this.enableTimeouts()); + hook.slow(this.slow()); + hook.ctx = this.ctx; + this._afterAll.push(hook); + this.emit('afterAll', hook); + return this; +}; + +/** + * Run `fn(test[, done])` before each test case. + * + * @api private + * @param {string} title + * @param {Function} fn + * @return {Suite} for chaining + */ +Suite.prototype.beforeEach = function(title, fn) { + if (this.pending) { + return this; + } + if (typeof title === 'function') { + fn = title; + title = fn.name; + } + title = '"before each" hook' + (title ? ': ' + title : ''); + + var hook = new Hook(title, fn); + hook.parent = this; + hook.timeout(this.timeout()); + hook.retries(this.retries()); + hook.enableTimeouts(this.enableTimeouts()); + hook.slow(this.slow()); + hook.ctx = this.ctx; + this._beforeEach.push(hook); + this.emit('beforeEach', hook); + return this; +}; + +/** + * Run `fn(test[, done])` after each test case. + * + * @api private + * @param {string} title + * @param {Function} fn + * @return {Suite} for chaining + */ +Suite.prototype.afterEach = function(title, fn) { + if (this.pending) { + return this; + } + if (typeof title === 'function') { + fn = title; + title = fn.name; + } + title = '"after each" hook' + (title ? ': ' + title : ''); + + var hook = new Hook(title, fn); + hook.parent = this; + hook.timeout(this.timeout()); + hook.retries(this.retries()); + hook.enableTimeouts(this.enableTimeouts()); + hook.slow(this.slow()); + hook.ctx = this.ctx; + this._afterEach.push(hook); + this.emit('afterEach', hook); + return this; +}; + +/** + * Add a test `suite`. + * + * @api private + * @param {Suite} suite + * @return {Suite} for chaining + */ +Suite.prototype.addSuite = function(suite) { + suite.parent = this; + suite.timeout(this.timeout()); + suite.retries(this.retries()); + suite.enableTimeouts(this.enableTimeouts()); + suite.slow(this.slow()); + suite.bail(this.bail()); + this.suites.push(suite); + this.emit('suite', suite); + return this; +}; + +/** + * Add a `test` to this suite. + * + * @api private + * @param {Test} test + * @return {Suite} for chaining + */ +Suite.prototype.addTest = function(test) { + test.parent = this; + test.timeout(this.timeout()); + test.retries(this.retries()); + test.enableTimeouts(this.enableTimeouts()); + test.slow(this.slow()); + test.ctx = this.ctx; + this.tests.push(test); + this.emit('test', test); + return this; +}; + +/** + * Return the full title generated by recursively concatenating the parent's + * full title. + * + * @api public + * @return {string} + */ +Suite.prototype.fullTitle = function() { + if (this.parent) { + var full = this.parent.fullTitle(); + if (full) { + return full + ' ' + this.title; + } + } + return this.title; +}; + +/** + * Return the total number of tests. + * + * @api public + * @return {number} + */ +Suite.prototype.total = function() { + return utils.reduce(this.suites, function(sum, suite) { + return sum + suite.total(); + }, 0) + this.tests.length; +}; + +/** + * Iterates through each suite recursively to find all tests. Applies a + * function in the format `fn(test)`. + * + * @api private + * @param {Function} fn + * @return {Suite} + */ +Suite.prototype.eachTest = function(fn) { + utils.forEach(this.tests, fn); + utils.forEach(this.suites, function(suite) { + suite.eachTest(fn); + }); + return this; +}; + +/** + * This will run the root suite if we happen to be running in delayed mode. + */ +Suite.prototype.run = function run() { + if (this.root) { + this.emit('run'); + } +}; + +},{"./hook":7,"./ms":15,"./utils":39,"debug":2,"events":3}],38:[function(require,module,exports){ +/** + * Module dependencies. + */ + +var Runnable = require('./runnable'); +var inherits = require('./utils').inherits; + +/** + * Expose `Test`. + */ + +module.exports = Test; + +/** + * Initialize a new `Test` with the given `title` and callback `fn`. + * + * @api private + * @param {String} title + * @param {Function} fn + */ +function Test(title, fn) { + Runnable.call(this, title, fn); + this.pending = !fn; + this.type = 'test'; + this.body = (fn || '').toString(); +} + +/** + * Inherit from `Runnable.prototype`. + */ +inherits(Test, Runnable); + +Test.prototype.clone = function() { + var test = new Test(this.title, this.fn); + test.timeout(this.timeout()); + test.slow(this.slow()); + test.enableTimeouts(this.enableTimeouts()); + test.retries(this.retries()); + test.currentRetry(this.currentRetry()); + test.globals(this.globals()); + test.parent = this.parent; + test.file = this.file; + test.ctx = this.ctx; + return test; +}; + +},{"./runnable":35,"./utils":39}],39:[function(require,module,exports){ +(function (process,Buffer){ +/* eslint-env browser */ + +/** + * Module dependencies. + */ + +var basename = require('path').basename; +var debug = require('debug')('mocha:watch'); +var exists = require('fs').existsSync || require('path').existsSync; +var glob = require('glob'); +var join = require('path').join; +var readdirSync = require('fs').readdirSync; +var statSync = require('fs').statSync; +var watchFile = require('fs').watchFile; + +/** + * Ignored directories. + */ + +var ignore = ['node_modules', '.git']; + +exports.inherits = require('util').inherits; + +/** + * Escape special characters in the given string of html. + * + * @api private + * @param {string} html + * @return {string} + */ +exports.escape = function(html) { + return String(html) + .replace(/&/g, '&') + .replace(/"/g, '"') + .replace(//g, '>'); +}; + +/** + * Array#forEach (<=IE8) + * + * @api private + * @param {Array} arr + * @param {Function} fn + * @param {Object} scope + */ +exports.forEach = function(arr, fn, scope) { + for (var i = 0, l = arr.length; i < l; i++) { + fn.call(scope, arr[i], i); + } +}; + +/** + * Test if the given obj is type of string. + * + * @api private + * @param {Object} obj + * @return {boolean} + */ +exports.isString = function(obj) { + return typeof obj === 'string'; +}; + +/** + * Array#map (<=IE8) + * + * @api private + * @param {Array} arr + * @param {Function} fn + * @param {Object} scope + * @return {Array} + */ +exports.map = function(arr, fn, scope) { + var result = []; + for (var i = 0, l = arr.length; i < l; i++) { + result.push(fn.call(scope, arr[i], i, arr)); + } + return result; +}; + +/** + * Array#indexOf (<=IE8) + * + * @api private + * @param {Array} arr + * @param {Object} obj to find index of + * @param {number} start + * @return {number} + */ +exports.indexOf = function(arr, obj, start) { + for (var i = start || 0, l = arr.length; i < l; i++) { + if (arr[i] === obj) { + return i; + } + } + return -1; +}; + +/** + * Array#reduce (<=IE8) + * + * @api private + * @param {Array} arr + * @param {Function} fn + * @param {Object} val Initial value. + * @return {*} + */ +exports.reduce = function(arr, fn, val) { + var rval = val; + + for (var i = 0, l = arr.length; i < l; i++) { + rval = fn(rval, arr[i], i, arr); + } + + return rval; +}; + +/** + * Array#filter (<=IE8) + * + * @api private + * @param {Array} arr + * @param {Function} fn + * @return {Array} + */ +exports.filter = function(arr, fn) { + var ret = []; + + for (var i = 0, l = arr.length; i < l; i++) { + var val = arr[i]; + if (fn(val, i, arr)) { + ret.push(val); + } + } + + return ret; +}; + +/** + * Object.keys (<=IE8) + * + * @api private + * @param {Object} obj + * @return {Array} keys + */ +exports.keys = typeof Object.keys === 'function' ? Object.keys : function(obj) { + var keys = []; + var has = Object.prototype.hasOwnProperty; // for `window` on <=IE8 + + for (var key in obj) { + if (has.call(obj, key)) { + keys.push(key); + } + } + + return keys; +}; + +/** + * Watch the given `files` for changes + * and invoke `fn(file)` on modification. + * + * @api private + * @param {Array} files + * @param {Function} fn + */ +exports.watch = function(files, fn) { + var options = { interval: 100 }; + files.forEach(function(file) { + debug('file %s', file); + watchFile(file, options, function(curr, prev) { + if (prev.mtime < curr.mtime) { + fn(file); + } + }); + }); +}; + +/** + * Array.isArray (<=IE8) + * + * @api private + * @param {Object} obj + * @return {Boolean} + */ +var isArray = typeof Array.isArray === 'function' ? Array.isArray : function(obj) { + return Object.prototype.toString.call(obj) === '[object Array]'; +}; + +exports.isArray = isArray; + +/** + * Buffer.prototype.toJSON polyfill. + * + * @type {Function} + */ +if (typeof Buffer !== 'undefined' && Buffer.prototype) { + Buffer.prototype.toJSON = Buffer.prototype.toJSON || function() { + return Array.prototype.slice.call(this, 0); + }; +} + +/** + * Ignored files. + * + * @api private + * @param {string} path + * @return {boolean} + */ +function ignored(path) { + return !~ignore.indexOf(path); +} + +/** + * Lookup files in the given `dir`. + * + * @api private + * @param {string} dir + * @param {string[]} [ext=['.js']] + * @param {Array} [ret=[]] + * @return {Array} + */ +exports.files = function(dir, ext, ret) { + ret = ret || []; + ext = ext || ['js']; + + var re = new RegExp('\\.(' + ext.join('|') + ')$'); + + readdirSync(dir) + .filter(ignored) + .forEach(function(path) { + path = join(dir, path); + if (statSync(path).isDirectory()) { + exports.files(path, ext, ret); + } else if (path.match(re)) { + ret.push(path); + } + }); + + return ret; +}; + +/** + * Compute a slug from the given `str`. + * + * @api private + * @param {string} str + * @return {string} + */ +exports.slug = function(str) { + return str + .toLowerCase() + .replace(/ +/g, '-') + .replace(/[^-\w]/g, ''); +}; + +/** + * Strip the function definition from `str`, and re-indent for pre whitespace. + * + * @param {string} str + * @return {string} + */ +exports.clean = function(str) { + str = str + .replace(/\r\n?|[\n\u2028\u2029]/g, '\n').replace(/^\uFEFF/, '') + .replace(/^function *\(.*\)\s*\{|\(.*\) *=> *\{?/, '') + .replace(/\s+\}$/, ''); + + var spaces = str.match(/^\n?( *)/)[1].length; + var tabs = str.match(/^\n?(\t*)/)[1].length; + var re = new RegExp('^\n?' + (tabs ? '\t' : ' ') + '{' + (tabs ? tabs : spaces) + '}', 'gm'); + + str = str.replace(re, ''); + + return exports.trim(str); +}; + +/** + * Trim the given `str`. + * + * @api private + * @param {string} str + * @return {string} + */ +exports.trim = function(str) { + return str.replace(/^\s+|\s+$/g, ''); +}; + +/** + * Parse the given `qs`. + * + * @api private + * @param {string} qs + * @return {Object} + */ +exports.parseQuery = function(qs) { + return exports.reduce(qs.replace('?', '').split('&'), function(obj, pair) { + var i = pair.indexOf('='); + var key = pair.slice(0, i); + var val = pair.slice(++i); + + obj[key] = decodeURIComponent(val); + return obj; + }, {}); +}; + +/** + * Highlight the given string of `js`. + * + * @api private + * @param {string} js + * @return {string} + */ +function highlight(js) { + return js + .replace(//g, '>') + .replace(/\/\/(.*)/gm, '//$1') + .replace(/('.*?')/gm, '$1') + .replace(/(\d+\.\d+)/gm, '$1') + .replace(/(\d+)/gm, '$1') + .replace(/\bnew[ \t]+(\w+)/gm, 'new $1') + .replace(/\b(function|new|throw|return|var|if|else)\b/gm, '$1'); +} + +/** + * Highlight the contents of tag `name`. + * + * @api private + * @param {string} name + */ +exports.highlightTags = function(name) { + var code = document.getElementById('mocha').getElementsByTagName(name); + for (var i = 0, len = code.length; i < len; ++i) { + code[i].innerHTML = highlight(code[i].innerHTML); + } +}; + +/** + * If a value could have properties, and has none, this function is called, + * which returns a string representation of the empty value. + * + * Functions w/ no properties return `'[Function]'` + * Arrays w/ length === 0 return `'[]'` + * Objects w/ no properties return `'{}'` + * All else: return result of `value.toString()` + * + * @api private + * @param {*} value The value to inspect. + * @param {string} [type] The type of the value, if known. + * @returns {string} + */ +function emptyRepresentation(value, type) { + type = type || exports.type(value); + + switch (type) { + case 'function': + return '[Function]'; + case 'object': + return '{}'; + case 'array': + return '[]'; + default: + return value.toString(); + } +} + +/** + * Takes some variable and asks `Object.prototype.toString()` what it thinks it + * is. + * + * @api private + * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/toString + * @param {*} value The value to test. + * @returns {string} + * @example + * type({}) // 'object' + * type([]) // 'array' + * type(1) // 'number' + * type(false) // 'boolean' + * type(Infinity) // 'number' + * type(null) // 'null' + * type(new Date()) // 'date' + * type(/foo/) // 'regexp' + * type('type') // 'string' + * type(global) // 'global' + */ +exports.type = function type(value) { + if (value === undefined) { + return 'undefined'; + } else if (value === null) { + return 'null'; + } else if (typeof Buffer !== 'undefined' && Buffer.isBuffer(value)) { + return 'buffer'; + } + return Object.prototype.toString.call(value) + .replace(/^\[.+\s(.+?)\]$/, '$1') + .toLowerCase(); +}; + +/** + * Stringify `value`. Different behavior depending on type of value: + * + * - If `value` is undefined or null, return `'[undefined]'` or `'[null]'`, respectively. + * - If `value` is not an object, function or array, return result of `value.toString()` wrapped in double-quotes. + * - If `value` is an *empty* object, function, or array, return result of function + * {@link emptyRepresentation}. + * - If `value` has properties, call {@link exports.canonicalize} on it, then return result of + * JSON.stringify(). + * + * @api private + * @see exports.type + * @param {*} value + * @return {string} + */ +exports.stringify = function(value) { + var type = exports.type(value); + + if (!~exports.indexOf(['object', 'array', 'function'], type)) { + if (type !== 'buffer') { + return jsonStringify(value); + } + var json = value.toJSON(); + // Based on the toJSON result + return jsonStringify(json.data && json.type ? json.data : json, 2) + .replace(/,(\n|$)/g, '$1'); + } + + for (var prop in value) { + if (Object.prototype.hasOwnProperty.call(value, prop)) { + return jsonStringify(exports.canonicalize(value), 2).replace(/,(\n|$)/g, '$1'); + } + } + + return emptyRepresentation(value, type); +}; + +/** + * like JSON.stringify but more sense. + * + * @api private + * @param {Object} object + * @param {number=} spaces + * @param {number=} depth + * @returns {*} + */ +function jsonStringify(object, spaces, depth) { + if (typeof spaces === 'undefined') { + // primitive types + return _stringify(object); + } + + depth = depth || 1; + var space = spaces * depth; + var str = isArray(object) ? '[' : '{'; + var end = isArray(object) ? ']' : '}'; + var length = object.length || exports.keys(object).length; + // `.repeat()` polyfill + function repeat(s, n) { + return new Array(n).join(s); + } + + function _stringify(val) { + switch (exports.type(val)) { + case 'null': + case 'undefined': + val = '[' + val + ']'; + break; + case 'array': + case 'object': + val = jsonStringify(val, spaces, depth + 1); + break; + case 'boolean': + case 'regexp': + case 'number': + val = val === 0 && (1 / val) === -Infinity // `-0` + ? '-0' + : val.toString(); + break; + case 'date': + var sDate = isNaN(val.getTime()) // Invalid date + ? val.toString() + : val.toISOString(); + val = '[Date: ' + sDate + ']'; + break; + case 'buffer': + var json = val.toJSON(); + // Based on the toJSON result + json = json.data && json.type ? json.data : json; + val = '[Buffer: ' + jsonStringify(json, 2, depth + 1) + ']'; + break; + default: + val = (val === '[Function]' || val === '[Circular]') + ? val + : JSON.stringify(val); // string + } + return val; + } + + for (var i in object) { + if (!object.hasOwnProperty(i)) { + continue; // not my business + } + --length; + str += '\n ' + repeat(' ', space) + + (isArray(object) ? '' : '"' + i + '": ') // key + + _stringify(object[i]) // value + + (length ? ',' : ''); // comma + } + + return str + // [], {} + + (str.length !== 1 ? '\n' + repeat(' ', --space) + end : end); +} + +/** + * Test if a value is a buffer. + * + * @api private + * @param {*} value The value to test. + * @return {boolean} True if `value` is a buffer, otherwise false + */ +exports.isBuffer = function(value) { + return typeof Buffer !== 'undefined' && Buffer.isBuffer(value); +}; + +/** + * Return a new Thing that has the keys in sorted order. Recursive. + * + * If the Thing... + * - has already been seen, return string `'[Circular]'` + * - is `undefined`, return string `'[undefined]'` + * - is `null`, return value `null` + * - is some other primitive, return the value + * - is not a primitive or an `Array`, `Object`, or `Function`, return the value of the Thing's `toString()` method + * - is a non-empty `Array`, `Object`, or `Function`, return the result of calling this function again. + * - is an empty `Array`, `Object`, or `Function`, return the result of calling `emptyRepresentation()` + * + * @api private + * @see {@link exports.stringify} + * @param {*} value Thing to inspect. May or may not have properties. + * @param {Array} [stack=[]] Stack of seen values + * @return {(Object|Array|Function|string|undefined)} + */ +exports.canonicalize = function(value, stack) { + var canonicalizedObj; + /* eslint-disable no-unused-vars */ + var prop; + /* eslint-enable no-unused-vars */ + var type = exports.type(value); + function withStack(value, fn) { + stack.push(value); + fn(); + stack.pop(); + } + + stack = stack || []; + + if (exports.indexOf(stack, value) !== -1) { + return '[Circular]'; + } + + switch (type) { + case 'undefined': + case 'buffer': + case 'null': + canonicalizedObj = value; + break; + case 'array': + withStack(value, function() { + canonicalizedObj = exports.map(value, function(item) { + return exports.canonicalize(item, stack); + }); + }); + break; + case 'function': + /* eslint-disable guard-for-in */ + for (prop in value) { + canonicalizedObj = {}; + break; + } + /* eslint-enable guard-for-in */ + if (!canonicalizedObj) { + canonicalizedObj = emptyRepresentation(value, type); + break; + } + /* falls through */ + case 'object': + canonicalizedObj = canonicalizedObj || {}; + withStack(value, function() { + exports.forEach(exports.keys(value).sort(), function(key) { + canonicalizedObj[key] = exports.canonicalize(value[key], stack); + }); + }); + break; + case 'date': + case 'number': + case 'regexp': + case 'boolean': + canonicalizedObj = value; + break; + default: + canonicalizedObj = value + ''; + } + + return canonicalizedObj; +}; + +/** + * Lookup file names at the given `path`. + * + * @api public + * @param {string} path Base path to start searching from. + * @param {string[]} extensions File extensions to look for. + * @param {boolean} recursive Whether or not to recurse into subdirectories. + * @return {string[]} An array of paths. + */ +exports.lookupFiles = function lookupFiles(path, extensions, recursive) { + var files = []; + var re = new RegExp('\\.(' + extensions.join('|') + ')$'); + + if (!exists(path)) { + if (exists(path + '.js')) { + path += '.js'; + } else { + files = glob.sync(path); + if (!files.length) { + throw new Error("cannot resolve path (or pattern) '" + path + "'"); + } + return files; + } + } + + try { + var stat = statSync(path); + if (stat.isFile()) { + return path; + } + } catch (err) { + // ignore error + return; + } + + readdirSync(path).forEach(function(file) { + file = join(path, file); + try { + var stat = statSync(file); + if (stat.isDirectory()) { + if (recursive) { + files = files.concat(lookupFiles(file, extensions, recursive)); + } + return; + } + } catch (err) { + // ignore error + return; + } + if (!stat.isFile() || !re.test(file) || basename(file)[0] === '.') { + return; + } + files.push(file); + }); + + return files; +}; + +/** + * Generate an undefined error with a message warning the user. + * + * @return {Error} + */ + +exports.undefinedError = function() { + return new Error('Caught undefined error, did you throw without specifying what?'); +}; + +/** + * Generate an undefined error if `err` is not defined. + * + * @param {Error} err + * @return {Error} + */ + +exports.getError = function(err) { + return err || exports.undefinedError(); +}; + +/** + * @summary + * This Filter based on `mocha-clean` module.(see: `github.com/rstacruz/mocha-clean`) + * @description + * When invoking this function you get a filter function that get the Error.stack as an input, + * and return a prettify output. + * (i.e: strip Mocha and internal node functions from stack trace). + * @returns {Function} + */ +exports.stackTraceFilter = function() { + // TODO: Replace with `process.browser` + var slash = '/'; + var is = typeof document === 'undefined' ? { node: true } : { browser: true }; + var cwd = is.node + ? process.cwd() + slash + : (typeof location === 'undefined' ? window.location : location).href.replace(/\/[^\/]*$/, '/'); + + function isMochaInternal(line) { + return (~line.indexOf('node_modules' + slash + 'mocha' + slash)) + || (~line.indexOf('components' + slash + 'mochajs' + slash)) + || (~line.indexOf('components' + slash + 'mocha' + slash)) + || (~line.indexOf(slash + 'mocha.js')); + } + + function isNodeInternal(line) { + return (~line.indexOf('(timers.js:')) + || (~line.indexOf('(events.js:')) + || (~line.indexOf('(node.js:')) + || (~line.indexOf('(module.js:')) + || (~line.indexOf('GeneratorFunctionPrototype.next (native)')) + || false; + } + + return function(stack) { + stack = stack.split('\n'); + + stack = exports.reduce(stack, function(list, line) { + if (isMochaInternal(line)) { + return list; + } + + if (is.node && isNodeInternal(line)) { + return list; + } + + // Clean up cwd(absolute) + list.push(line.replace(cwd, '')); + return list; + }, []); + + return stack.join('\n'); + }; +}; + +}).call(this,require('_process'),require("buffer").Buffer) +},{"_process":51,"buffer":43,"debug":2,"fs":41,"glob":41,"path":41,"util":66}],40:[function(require,module,exports){ +(function (process){ +var WritableStream = require('stream').Writable +var inherits = require('util').inherits + +module.exports = BrowserStdout + + +inherits(BrowserStdout, WritableStream) + +function BrowserStdout(opts) { + if (!(this instanceof BrowserStdout)) return new BrowserStdout(opts) + + opts = opts || {} + WritableStream.call(this, opts) + this.label = (opts.label !== undefined) ? opts.label : 'stdout' +} + +BrowserStdout.prototype._write = function(chunks, encoding, cb) { + var output = chunks.toString ? chunks.toString() : chunks + if (this.label === false) { + console.log(output) + } else { + console.log(this.label+':', output) + } + process.nextTick(cb) +} + +}).call(this,require('_process')) +},{"_process":51,"stream":63,"util":66}],41:[function(require,module,exports){ + +},{}],42:[function(require,module,exports){ +arguments[4][41][0].apply(exports,arguments) +},{"dup":41}],43:[function(require,module,exports){ +/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */ + +var base64 = require('base64-js') +var ieee754 = require('ieee754') +var isArray = require('is-array') + +exports.Buffer = Buffer +exports.SlowBuffer = SlowBuffer +exports.INSPECT_MAX_BYTES = 50 +Buffer.poolSize = 8192 // not used by this implementation + +var rootParent = {} + +/** + * If `Buffer.TYPED_ARRAY_SUPPORT`: + * === true Use Uint8Array implementation (fastest) + * === false Use Object implementation (most compatible, even IE6) + * + * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+, + * Opera 11.6+, iOS 4.2+. + * + * Due to various browser bugs, sometimes the Object implementation will be used even + * when the browser supports typed arrays. + * + * Note: + * + * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances, + * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438. + * + * - Safari 5-7 lacks support for changing the `Object.prototype.constructor` property + * on objects. + * + * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function. + * + * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of + * incorrect length in some situations. + + * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they + * get the Object implementation, which is slower but behaves correctly. + */ +Buffer.TYPED_ARRAY_SUPPORT = (function () { + function Bar () {} + try { + var arr = new Uint8Array(1) + arr.foo = function () { return 42 } + arr.constructor = Bar + return arr.foo() === 42 && // typed array instances can be augmented + arr.constructor === Bar && // constructor can be set + typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray` + arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray` + } catch (e) { + return false + } +})() + +function kMaxLength () { + return Buffer.TYPED_ARRAY_SUPPORT + ? 0x7fffffff + : 0x3fffffff +} + +/** + * Class: Buffer + * ============= + * + * The Buffer constructor returns instances of `Uint8Array` that are augmented + * with function properties for all the node `Buffer` API functions. We use + * `Uint8Array` so that square bracket notation works as expected -- it returns + * a single octet. + * + * By augmenting the instances, we can avoid modifying the `Uint8Array` + * prototype. + */ +function Buffer (arg) { + if (!(this instanceof Buffer)) { + // Avoid going through an ArgumentsAdaptorTrampoline in the common case. + if (arguments.length > 1) return new Buffer(arg, arguments[1]) + return new Buffer(arg) + } + + this.length = 0 + this.parent = undefined + + // Common case. + if (typeof arg === 'number') { + return fromNumber(this, arg) + } + + // Slightly less common case. + if (typeof arg === 'string') { + return fromString(this, arg, arguments.length > 1 ? arguments[1] : 'utf8') + } + + // Unusual. + return fromObject(this, arg) +} + +function fromNumber (that, length) { + that = allocate(that, length < 0 ? 0 : checked(length) | 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) { + for (var i = 0; i < length; i++) { + that[i] = 0 + } + } + return that +} + +function fromString (that, string, encoding) { + if (typeof encoding !== 'string' || encoding === '') encoding = 'utf8' + + // Assumption: byteLength() return value is always < kMaxLength. + var length = byteLength(string, encoding) | 0 + that = allocate(that, length) + + that.write(string, encoding) + return that +} + +function fromObject (that, object) { + if (Buffer.isBuffer(object)) return fromBuffer(that, object) + + if (isArray(object)) return fromArray(that, object) + + if (object == null) { + throw new TypeError('must start with number, buffer, array or string') + } + + if (typeof ArrayBuffer !== 'undefined') { + if (object.buffer instanceof ArrayBuffer) { + return fromTypedArray(that, object) + } + if (object instanceof ArrayBuffer) { + return fromArrayBuffer(that, object) + } + } + + if (object.length) return fromArrayLike(that, object) + + return fromJsonObject(that, object) +} + +function fromBuffer (that, buffer) { + var length = checked(buffer.length) | 0 + that = allocate(that, length) + buffer.copy(that, 0, 0, length) + return that +} + +function fromArray (that, array) { + var length = checked(array.length) | 0 + that = allocate(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +// Duplicate of fromArray() to keep fromArray() monomorphic. +function fromTypedArray (that, array) { + var length = checked(array.length) | 0 + that = allocate(that, length) + // Truncating the elements is probably not what people expect from typed + // arrays with BYTES_PER_ELEMENT > 1 but it's compatible with the behavior + // of the old Buffer constructor. + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +function fromArrayBuffer (that, array) { + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + array.byteLength + that = Buffer._augment(new Uint8Array(array)) + } else { + // Fallback: Return an object instance of the Buffer class + that = fromTypedArray(that, new Uint8Array(array)) + } + return that +} + +function fromArrayLike (that, array) { + var length = checked(array.length) | 0 + that = allocate(that, length) + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +// Deserialize { type: 'Buffer', data: [1,2,3,...] } into a Buffer object. +// Returns a zero-length buffer for inputs that don't conform to the spec. +function fromJsonObject (that, object) { + var array + var length = 0 + + if (object.type === 'Buffer' && isArray(object.data)) { + array = object.data + length = checked(array.length) | 0 + } + that = allocate(that, length) + + for (var i = 0; i < length; i += 1) { + that[i] = array[i] & 255 + } + return that +} + +function allocate (that, length) { + if (Buffer.TYPED_ARRAY_SUPPORT) { + // Return an augmented `Uint8Array` instance, for best performance + that = Buffer._augment(new Uint8Array(length)) + } else { + // Fallback: Return an object instance of the Buffer class + that.length = length + that._isBuffer = true + } + + var fromPool = length !== 0 && length <= Buffer.poolSize >>> 1 + if (fromPool) that.parent = rootParent + + return that +} + +function checked (length) { + // Note: cannot use `length < kMaxLength` here because that fails when + // length is NaN (which is otherwise coerced to zero.) + if (length >= kMaxLength()) { + throw new RangeError('Attempt to allocate Buffer larger than maximum ' + + 'size: 0x' + kMaxLength().toString(16) + ' bytes') + } + return length | 0 +} + +function SlowBuffer (subject, encoding) { + if (!(this instanceof SlowBuffer)) return new SlowBuffer(subject, encoding) + + var buf = new Buffer(subject, encoding) + delete buf.parent + return buf +} + +Buffer.isBuffer = function isBuffer (b) { + return !!(b != null && b._isBuffer) +} + +Buffer.compare = function compare (a, b) { + if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) { + throw new TypeError('Arguments must be Buffers') + } + + if (a === b) return 0 + + var x = a.length + var y = b.length + + var i = 0 + var len = Math.min(x, y) + while (i < len) { + if (a[i] !== b[i]) break + + ++i + } + + if (i !== len) { + x = a[i] + y = b[i] + } + + if (x < y) return -1 + if (y < x) return 1 + return 0 +} + +Buffer.isEncoding = function isEncoding (encoding) { + switch (String(encoding).toLowerCase()) { + case 'hex': + case 'utf8': + case 'utf-8': + case 'ascii': + case 'binary': + case 'base64': + case 'raw': + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return true + default: + return false + } +} + +Buffer.concat = function concat (list, length) { + if (!isArray(list)) throw new TypeError('list argument must be an Array of Buffers.') + + if (list.length === 0) { + return new Buffer(0) + } + + var i + if (length === undefined) { + length = 0 + for (i = 0; i < list.length; i++) { + length += list[i].length + } + } + + var buf = new Buffer(length) + var pos = 0 + for (i = 0; i < list.length; i++) { + var item = list[i] + item.copy(buf, pos) + pos += item.length + } + return buf +} + +function byteLength (string, encoding) { + if (typeof string !== 'string') string = '' + string + + var len = string.length + if (len === 0) return 0 + + // Use a for loop to avoid recursion + var loweredCase = false + for (;;) { + switch (encoding) { + case 'ascii': + case 'binary': + // Deprecated + case 'raw': + case 'raws': + return len + case 'utf8': + case 'utf-8': + return utf8ToBytes(string).length + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return len * 2 + case 'hex': + return len >>> 1 + case 'base64': + return base64ToBytes(string).length + default: + if (loweredCase) return utf8ToBytes(string).length // assume utf8 + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} +Buffer.byteLength = byteLength + +// pre-set for values that may exist in the future +Buffer.prototype.length = undefined +Buffer.prototype.parent = undefined + +function slowToString (encoding, start, end) { + var loweredCase = false + + start = start | 0 + end = end === undefined || end === Infinity ? this.length : end | 0 + + if (!encoding) encoding = 'utf8' + if (start < 0) start = 0 + if (end > this.length) end = this.length + if (end <= start) return '' + + while (true) { + switch (encoding) { + case 'hex': + return hexSlice(this, start, end) + + case 'utf8': + case 'utf-8': + return utf8Slice(this, start, end) + + case 'ascii': + return asciiSlice(this, start, end) + + case 'binary': + return binarySlice(this, start, end) + + case 'base64': + return base64Slice(this, start, end) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return utf16leSlice(this, start, end) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = (encoding + '').toLowerCase() + loweredCase = true + } + } +} + +Buffer.prototype.toString = function toString () { + var length = this.length | 0 + if (length === 0) return '' + if (arguments.length === 0) return utf8Slice(this, 0, length) + return slowToString.apply(this, arguments) +} + +Buffer.prototype.equals = function equals (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return true + return Buffer.compare(this, b) === 0 +} + +Buffer.prototype.inspect = function inspect () { + var str = '' + var max = exports.INSPECT_MAX_BYTES + if (this.length > 0) { + str = this.toString('hex', 0, max).match(/.{2}/g).join(' ') + if (this.length > max) str += ' ... ' + } + return '' +} + +Buffer.prototype.compare = function compare (b) { + if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer') + if (this === b) return 0 + return Buffer.compare(this, b) +} + +Buffer.prototype.indexOf = function indexOf (val, byteOffset) { + if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff + else if (byteOffset < -0x80000000) byteOffset = -0x80000000 + byteOffset >>= 0 + + if (this.length === 0) return -1 + if (byteOffset >= this.length) return -1 + + // Negative offsets start from the end of the buffer + if (byteOffset < 0) byteOffset = Math.max(this.length + byteOffset, 0) + + if (typeof val === 'string') { + if (val.length === 0) return -1 // special case: looking for empty string always fails + return String.prototype.indexOf.call(this, val, byteOffset) + } + if (Buffer.isBuffer(val)) { + return arrayIndexOf(this, val, byteOffset) + } + if (typeof val === 'number') { + if (Buffer.TYPED_ARRAY_SUPPORT && Uint8Array.prototype.indexOf === 'function') { + return Uint8Array.prototype.indexOf.call(this, val, byteOffset) + } + return arrayIndexOf(this, [ val ], byteOffset) + } + + function arrayIndexOf (arr, val, byteOffset) { + var foundIndex = -1 + for (var i = 0; byteOffset + i < arr.length; i++) { + if (arr[byteOffset + i] === val[foundIndex === -1 ? 0 : i - foundIndex]) { + if (foundIndex === -1) foundIndex = i + if (i - foundIndex + 1 === val.length) return byteOffset + foundIndex + } else { + foundIndex = -1 + } + } + return -1 + } + + throw new TypeError('val must be string, number or Buffer') +} + +// `get` is deprecated +Buffer.prototype.get = function get (offset) { + console.log('.get() is deprecated. Access using array indexes instead.') + return this.readUInt8(offset) +} + +// `set` is deprecated +Buffer.prototype.set = function set (v, offset) { + console.log('.set() is deprecated. Access using array indexes instead.') + return this.writeUInt8(v, offset) +} + +function hexWrite (buf, string, offset, length) { + offset = Number(offset) || 0 + var remaining = buf.length - offset + if (!length) { + length = remaining + } else { + length = Number(length) + if (length > remaining) { + length = remaining + } + } + + // must be an even number of digits + var strLen = string.length + if (strLen % 2 !== 0) throw new Error('Invalid hex string') + + if (length > strLen / 2) { + length = strLen / 2 + } + for (var i = 0; i < length; i++) { + var parsed = parseInt(string.substr(i * 2, 2), 16) + if (isNaN(parsed)) throw new Error('Invalid hex string') + buf[offset + i] = parsed + } + return i +} + +function utf8Write (buf, string, offset, length) { + return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length) +} + +function asciiWrite (buf, string, offset, length) { + return blitBuffer(asciiToBytes(string), buf, offset, length) +} + +function binaryWrite (buf, string, offset, length) { + return asciiWrite(buf, string, offset, length) +} + +function base64Write (buf, string, offset, length) { + return blitBuffer(base64ToBytes(string), buf, offset, length) +} + +function ucs2Write (buf, string, offset, length) { + return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length) +} + +Buffer.prototype.write = function write (string, offset, length, encoding) { + // Buffer#write(string) + if (offset === undefined) { + encoding = 'utf8' + length = this.length + offset = 0 + // Buffer#write(string, encoding) + } else if (length === undefined && typeof offset === 'string') { + encoding = offset + length = this.length + offset = 0 + // Buffer#write(string, offset[, length][, encoding]) + } else if (isFinite(offset)) { + offset = offset | 0 + if (isFinite(length)) { + length = length | 0 + if (encoding === undefined) encoding = 'utf8' + } else { + encoding = length + length = undefined + } + // legacy write(string, encoding, offset, length) - remove in v0.13 + } else { + var swap = encoding + encoding = offset + offset = length | 0 + length = swap + } + + var remaining = this.length - offset + if (length === undefined || length > remaining) length = remaining + + if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) { + throw new RangeError('attempt to write outside buffer bounds') + } + + if (!encoding) encoding = 'utf8' + + var loweredCase = false + for (;;) { + switch (encoding) { + case 'hex': + return hexWrite(this, string, offset, length) + + case 'utf8': + case 'utf-8': + return utf8Write(this, string, offset, length) + + case 'ascii': + return asciiWrite(this, string, offset, length) + + case 'binary': + return binaryWrite(this, string, offset, length) + + case 'base64': + // Warning: maxLength not taken into account in base64Write + return base64Write(this, string, offset, length) + + case 'ucs2': + case 'ucs-2': + case 'utf16le': + case 'utf-16le': + return ucs2Write(this, string, offset, length) + + default: + if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding) + encoding = ('' + encoding).toLowerCase() + loweredCase = true + } + } +} + +Buffer.prototype.toJSON = function toJSON () { + return { + type: 'Buffer', + data: Array.prototype.slice.call(this._arr || this, 0) + } +} + +function base64Slice (buf, start, end) { + if (start === 0 && end === buf.length) { + return base64.fromByteArray(buf) + } else { + return base64.fromByteArray(buf.slice(start, end)) + } +} + +function utf8Slice (buf, start, end) { + end = Math.min(buf.length, end) + var res = [] + + var i = start + while (i < end) { + var firstByte = buf[i] + var codePoint = null + var bytesPerSequence = (firstByte > 0xEF) ? 4 + : (firstByte > 0xDF) ? 3 + : (firstByte > 0xBF) ? 2 + : 1 + + if (i + bytesPerSequence <= end) { + var secondByte, thirdByte, fourthByte, tempCodePoint + + switch (bytesPerSequence) { + case 1: + if (firstByte < 0x80) { + codePoint = firstByte + } + break + case 2: + secondByte = buf[i + 1] + if ((secondByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F) + if (tempCodePoint > 0x7F) { + codePoint = tempCodePoint + } + } + break + case 3: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F) + if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) { + codePoint = tempCodePoint + } + } + break + case 4: + secondByte = buf[i + 1] + thirdByte = buf[i + 2] + fourthByte = buf[i + 3] + if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) { + tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F) + if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) { + codePoint = tempCodePoint + } + } + } + } + + if (codePoint === null) { + // we did not generate a valid codePoint so insert a + // replacement char (U+FFFD) and advance only 1 byte + codePoint = 0xFFFD + bytesPerSequence = 1 + } else if (codePoint > 0xFFFF) { + // encode to utf16 (surrogate pair dance) + codePoint -= 0x10000 + res.push(codePoint >>> 10 & 0x3FF | 0xD800) + codePoint = 0xDC00 | codePoint & 0x3FF + } + + res.push(codePoint) + i += bytesPerSequence + } + + return decodeCodePointsArray(res) +} + +// Based on http://stackoverflow.com/a/22747272/680742, the browser with +// the lowest limit is Chrome, with 0x10000 args. +// We go 1 magnitude less, for safety +var MAX_ARGUMENTS_LENGTH = 0x1000 + +function decodeCodePointsArray (codePoints) { + var len = codePoints.length + if (len <= MAX_ARGUMENTS_LENGTH) { + return String.fromCharCode.apply(String, codePoints) // avoid extra slice() + } + + // Decode in chunks to avoid "call stack size exceeded". + var res = '' + var i = 0 + while (i < len) { + res += String.fromCharCode.apply( + String, + codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH) + ) + } + return res +} + +function asciiSlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; i++) { + ret += String.fromCharCode(buf[i] & 0x7F) + } + return ret +} + +function binarySlice (buf, start, end) { + var ret = '' + end = Math.min(buf.length, end) + + for (var i = start; i < end; i++) { + ret += String.fromCharCode(buf[i]) + } + return ret +} + +function hexSlice (buf, start, end) { + var len = buf.length + + if (!start || start < 0) start = 0 + if (!end || end < 0 || end > len) end = len + + var out = '' + for (var i = start; i < end; i++) { + out += toHex(buf[i]) + } + return out +} + +function utf16leSlice (buf, start, end) { + var bytes = buf.slice(start, end) + var res = '' + for (var i = 0; i < bytes.length; i += 2) { + res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256) + } + return res +} + +Buffer.prototype.slice = function slice (start, end) { + var len = this.length + start = ~~start + end = end === undefined ? len : ~~end + + if (start < 0) { + start += len + if (start < 0) start = 0 + } else if (start > len) { + start = len + } + + if (end < 0) { + end += len + if (end < 0) end = 0 + } else if (end > len) { + end = len + } + + if (end < start) end = start + + var newBuf + if (Buffer.TYPED_ARRAY_SUPPORT) { + newBuf = Buffer._augment(this.subarray(start, end)) + } else { + var sliceLen = end - start + newBuf = new Buffer(sliceLen, undefined) + for (var i = 0; i < sliceLen; i++) { + newBuf[i] = this[i + start] + } + } + + if (newBuf.length) newBuf.parent = this.parent || this + + return newBuf +} + +/* + * Need to make sure that buffer isn't trying to write out of bounds. + */ +function checkOffset (offset, ext, length) { + if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint') + if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length') +} + +Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + + return val +} + +Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) { + checkOffset(offset, byteLength, this.length) + } + + var val = this[offset + --byteLength] + var mul = 1 + while (byteLength > 0 && (mul *= 0x100)) { + val += this[offset + --byteLength] * mul + } + + return val +} + +Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + return this[offset] +} + +Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return this[offset] | (this[offset + 1] << 8) +} + +Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + return (this[offset] << 8) | this[offset + 1] +} + +Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return ((this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16)) + + (this[offset + 3] * 0x1000000) +} + +Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] * 0x1000000) + + ((this[offset + 1] << 16) | + (this[offset + 2] << 8) | + this[offset + 3]) +} + +Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var val = this[offset] + var mul = 1 + var i = 0 + while (++i < byteLength && (mul *= 0x100)) { + val += this[offset + i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) { + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkOffset(offset, byteLength, this.length) + + var i = byteLength + var mul = 1 + var val = this[offset + --i] + while (i > 0 && (mul *= 0x100)) { + val += this[offset + --i] * mul + } + mul *= 0x80 + + if (val >= mul) val -= Math.pow(2, 8 * byteLength) + + return val +} + +Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) { + if (!noAssert) checkOffset(offset, 1, this.length) + if (!(this[offset] & 0x80)) return (this[offset]) + return ((0xff - this[offset] + 1) * -1) +} + +Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset] | (this[offset + 1] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 2, this.length) + var val = this[offset + 1] | (this[offset] << 8) + return (val & 0x8000) ? val | 0xFFFF0000 : val +} + +Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset]) | + (this[offset + 1] << 8) | + (this[offset + 2] << 16) | + (this[offset + 3] << 24) +} + +Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + + return (this[offset] << 24) | + (this[offset + 1] << 16) | + (this[offset + 2] << 8) | + (this[offset + 3]) +} + +Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, true, 23, 4) +} + +Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 4, this.length) + return ieee754.read(this, offset, false, 23, 4) +} + +Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, true, 52, 8) +} + +Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) { + if (!noAssert) checkOffset(offset, 8, this.length) + return ieee754.read(this, offset, false, 52, 8) +} + +function checkInt (buf, value, offset, ext, max, min) { + if (!Buffer.isBuffer(buf)) throw new TypeError('buffer must be a Buffer instance') + if (value > max || value < min) throw new RangeError('value is out of bounds') + if (offset + ext > buf.length) throw new RangeError('index out of range') +} + +Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) + + var mul = 1 + var i = 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + byteLength = byteLength | 0 + if (!noAssert) checkInt(this, value, offset, byteLength, Math.pow(2, 8 * byteLength), 0) + + var i = byteLength - 1 + var mul = 1 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = (value / mul) & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + this[offset] = value + return offset + 1 +} + +function objectWriteUInt16 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; i++) { + buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>> + (littleEndian ? i : 1 - i) * 8 + } +} + +Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = value + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +function objectWriteUInt32 (buf, value, offset, littleEndian) { + if (value < 0) value = 0xffffffff + value + 1 + for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; i++) { + buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff + } +} + +Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset + 3] = (value >>> 24) + this[offset + 2] = (value >>> 16) + this[offset + 1] = (value >>> 8) + this[offset] = value + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = value + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = 0 + var mul = 1 + var sub = value < 0 ? 1 : 0 + this[offset] = value & 0xFF + while (++i < byteLength && (mul *= 0x100)) { + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) { + var limit = Math.pow(2, 8 * byteLength - 1) + + checkInt(this, value, offset, byteLength, limit - 1, -limit) + } + + var i = byteLength - 1 + var mul = 1 + var sub = value < 0 ? 1 : 0 + this[offset + i] = value & 0xFF + while (--i >= 0 && (mul *= 0x100)) { + this[offset + i] = ((value / mul) >> 0) - sub & 0xFF + } + + return offset + byteLength +} + +Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80) + if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value) + if (value < 0) value = 0xff + value + 1 + this[offset] = value + return offset + 1 +} + +Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value + this[offset + 1] = (value >>> 8) + } else { + objectWriteUInt16(this, value, offset, true) + } + return offset + 2 +} + +Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 8) + this[offset + 1] = value + } else { + objectWriteUInt16(this, value, offset, false) + } + return offset + 2 +} + +Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = value + this[offset + 1] = (value >>> 8) + this[offset + 2] = (value >>> 16) + this[offset + 3] = (value >>> 24) + } else { + objectWriteUInt32(this, value, offset, true) + } + return offset + 4 +} + +Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) { + value = +value + offset = offset | 0 + if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000) + if (value < 0) value = 0xffffffff + value + 1 + if (Buffer.TYPED_ARRAY_SUPPORT) { + this[offset] = (value >>> 24) + this[offset + 1] = (value >>> 16) + this[offset + 2] = (value >>> 8) + this[offset + 3] = value + } else { + objectWriteUInt32(this, value, offset, false) + } + return offset + 4 +} + +function checkIEEE754 (buf, value, offset, ext, max, min) { + if (value > max || value < min) throw new RangeError('value is out of bounds') + if (offset + ext > buf.length) throw new RangeError('index out of range') + if (offset < 0) throw new RangeError('index out of range') +} + +function writeFloat (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38) + } + ieee754.write(buf, value, offset, littleEndian, 23, 4) + return offset + 4 +} + +Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) { + return writeFloat(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) { + return writeFloat(this, value, offset, false, noAssert) +} + +function writeDouble (buf, value, offset, littleEndian, noAssert) { + if (!noAssert) { + checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308) + } + ieee754.write(buf, value, offset, littleEndian, 52, 8) + return offset + 8 +} + +Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) { + return writeDouble(this, value, offset, true, noAssert) +} + +Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) { + return writeDouble(this, value, offset, false, noAssert) +} + +// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length) +Buffer.prototype.copy = function copy (target, targetStart, start, end) { + if (!start) start = 0 + if (!end && end !== 0) end = this.length + if (targetStart >= target.length) targetStart = target.length + if (!targetStart) targetStart = 0 + if (end > 0 && end < start) end = start + + // Copy 0 bytes; we're done + if (end === start) return 0 + if (target.length === 0 || this.length === 0) return 0 + + // Fatal error conditions + if (targetStart < 0) { + throw new RangeError('targetStart out of bounds') + } + if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds') + if (end < 0) throw new RangeError('sourceEnd out of bounds') + + // Are we oob? + if (end > this.length) end = this.length + if (target.length - targetStart < end - start) { + end = target.length - targetStart + start + } + + var len = end - start + var i + + if (this === target && start < targetStart && targetStart < end) { + // descending copy from end + for (i = len - 1; i >= 0; i--) { + target[i + targetStart] = this[i + start] + } + } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) { + // ascending copy from start + for (i = 0; i < len; i++) { + target[i + targetStart] = this[i + start] + } + } else { + target._set(this.subarray(start, start + len), targetStart) + } + + return len +} + +// fill(value, start=0, end=buffer.length) +Buffer.prototype.fill = function fill (value, start, end) { + if (!value) value = 0 + if (!start) start = 0 + if (!end) end = this.length + + if (end < start) throw new RangeError('end < start') + + // Fill 0 bytes; we're done + if (end === start) return + if (this.length === 0) return + + if (start < 0 || start >= this.length) throw new RangeError('start out of bounds') + if (end < 0 || end > this.length) throw new RangeError('end out of bounds') + + var i + if (typeof value === 'number') { + for (i = start; i < end; i++) { + this[i] = value + } + } else { + var bytes = utf8ToBytes(value.toString()) + var len = bytes.length + for (i = start; i < end; i++) { + this[i] = bytes[i % len] + } + } + + return this +} + +/** + * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance. + * Added in Node 0.12. Only available in browsers that support ArrayBuffer. + */ +Buffer.prototype.toArrayBuffer = function toArrayBuffer () { + if (typeof Uint8Array !== 'undefined') { + if (Buffer.TYPED_ARRAY_SUPPORT) { + return (new Buffer(this)).buffer + } else { + var buf = new Uint8Array(this.length) + for (var i = 0, len = buf.length; i < len; i += 1) { + buf[i] = this[i] + } + return buf.buffer + } + } else { + throw new TypeError('Buffer.toArrayBuffer not supported in this browser') + } +} + +// HELPER FUNCTIONS +// ================ + +var BP = Buffer.prototype + +/** + * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods + */ +Buffer._augment = function _augment (arr) { + arr.constructor = Buffer + arr._isBuffer = true + + // save reference to original Uint8Array set method before overwriting + arr._set = arr.set + + // deprecated + arr.get = BP.get + arr.set = BP.set + + arr.write = BP.write + arr.toString = BP.toString + arr.toLocaleString = BP.toString + arr.toJSON = BP.toJSON + arr.equals = BP.equals + arr.compare = BP.compare + arr.indexOf = BP.indexOf + arr.copy = BP.copy + arr.slice = BP.slice + arr.readUIntLE = BP.readUIntLE + arr.readUIntBE = BP.readUIntBE + arr.readUInt8 = BP.readUInt8 + arr.readUInt16LE = BP.readUInt16LE + arr.readUInt16BE = BP.readUInt16BE + arr.readUInt32LE = BP.readUInt32LE + arr.readUInt32BE = BP.readUInt32BE + arr.readIntLE = BP.readIntLE + arr.readIntBE = BP.readIntBE + arr.readInt8 = BP.readInt8 + arr.readInt16LE = BP.readInt16LE + arr.readInt16BE = BP.readInt16BE + arr.readInt32LE = BP.readInt32LE + arr.readInt32BE = BP.readInt32BE + arr.readFloatLE = BP.readFloatLE + arr.readFloatBE = BP.readFloatBE + arr.readDoubleLE = BP.readDoubleLE + arr.readDoubleBE = BP.readDoubleBE + arr.writeUInt8 = BP.writeUInt8 + arr.writeUIntLE = BP.writeUIntLE + arr.writeUIntBE = BP.writeUIntBE + arr.writeUInt16LE = BP.writeUInt16LE + arr.writeUInt16BE = BP.writeUInt16BE + arr.writeUInt32LE = BP.writeUInt32LE + arr.writeUInt32BE = BP.writeUInt32BE + arr.writeIntLE = BP.writeIntLE + arr.writeIntBE = BP.writeIntBE + arr.writeInt8 = BP.writeInt8 + arr.writeInt16LE = BP.writeInt16LE + arr.writeInt16BE = BP.writeInt16BE + arr.writeInt32LE = BP.writeInt32LE + arr.writeInt32BE = BP.writeInt32BE + arr.writeFloatLE = BP.writeFloatLE + arr.writeFloatBE = BP.writeFloatBE + arr.writeDoubleLE = BP.writeDoubleLE + arr.writeDoubleBE = BP.writeDoubleBE + arr.fill = BP.fill + arr.inspect = BP.inspect + arr.toArrayBuffer = BP.toArrayBuffer + + return arr +} + +var INVALID_BASE64_RE = /[^+\/0-9A-Za-z-_]/g + +function base64clean (str) { + // Node strips out invalid characters like \n and \t from the string, base64-js does not + str = stringtrim(str).replace(INVALID_BASE64_RE, '') + // Node converts strings with length < 2 to '' + if (str.length < 2) return '' + // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not + while (str.length % 4 !== 0) { + str = str + '=' + } + return str +} + +function stringtrim (str) { + if (str.trim) return str.trim() + return str.replace(/^\s+|\s+$/g, '') +} + +function toHex (n) { + if (n < 16) return '0' + n.toString(16) + return n.toString(16) +} + +function utf8ToBytes (string, units) { + units = units || Infinity + var codePoint + var length = string.length + var leadSurrogate = null + var bytes = [] + + for (var i = 0; i < length; i++) { + codePoint = string.charCodeAt(i) + + // is surrogate component + if (codePoint > 0xD7FF && codePoint < 0xE000) { + // last char was a lead + if (!leadSurrogate) { + // no lead yet + if (codePoint > 0xDBFF) { + // unexpected trail + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } else if (i + 1 === length) { + // unpaired lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + continue + } + + // valid lead + leadSurrogate = codePoint + + continue + } + + // 2 leads in a row + if (codePoint < 0xDC00) { + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + leadSurrogate = codePoint + continue + } + + // valid surrogate pair + codePoint = leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00 | 0x10000 + } else if (leadSurrogate) { + // valid bmp char, but last char was a lead + if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD) + } + + leadSurrogate = null + + // encode utf8 + if (codePoint < 0x80) { + if ((units -= 1) < 0) break + bytes.push(codePoint) + } else if (codePoint < 0x800) { + if ((units -= 2) < 0) break + bytes.push( + codePoint >> 0x6 | 0xC0, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x10000) { + if ((units -= 3) < 0) break + bytes.push( + codePoint >> 0xC | 0xE0, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else if (codePoint < 0x110000) { + if ((units -= 4) < 0) break + bytes.push( + codePoint >> 0x12 | 0xF0, + codePoint >> 0xC & 0x3F | 0x80, + codePoint >> 0x6 & 0x3F | 0x80, + codePoint & 0x3F | 0x80 + ) + } else { + throw new Error('Invalid code point') + } + } + + return bytes +} + +function asciiToBytes (str) { + var byteArray = [] + for (var i = 0; i < str.length; i++) { + // Node's code seems to be doing this and not & 0x7F.. + byteArray.push(str.charCodeAt(i) & 0xFF) + } + return byteArray +} + +function utf16leToBytes (str, units) { + var c, hi, lo + var byteArray = [] + for (var i = 0; i < str.length; i++) { + if ((units -= 2) < 0) break + + c = str.charCodeAt(i) + hi = c >> 8 + lo = c % 256 + byteArray.push(lo) + byteArray.push(hi) + } + + return byteArray +} + +function base64ToBytes (str) { + return base64.toByteArray(base64clean(str)) +} + +function blitBuffer (src, dst, offset, length) { + for (var i = 0; i < length; i++) { + if ((i + offset >= dst.length) || (i >= src.length)) break + dst[i + offset] = src[i] + } + return i +} + +},{"base64-js":44,"ieee754":45,"is-array":46}],44:[function(require,module,exports){ +var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; + +;(function (exports) { + 'use strict'; + + var Arr = (typeof Uint8Array !== 'undefined') + ? Uint8Array + : Array + + var PLUS = '+'.charCodeAt(0) + var SLASH = '/'.charCodeAt(0) + var NUMBER = '0'.charCodeAt(0) + var LOWER = 'a'.charCodeAt(0) + var UPPER = 'A'.charCodeAt(0) + var PLUS_URL_SAFE = '-'.charCodeAt(0) + var SLASH_URL_SAFE = '_'.charCodeAt(0) + + function decode (elt) { + var code = elt.charCodeAt(0) + if (code === PLUS || + code === PLUS_URL_SAFE) + return 62 // '+' + if (code === SLASH || + code === SLASH_URL_SAFE) + return 63 // '/' + if (code < NUMBER) + return -1 //no match + if (code < NUMBER + 10) + return code - NUMBER + 26 + 26 + if (code < UPPER + 26) + return code - UPPER + if (code < LOWER + 26) + return code - LOWER + 26 + } + + function b64ToByteArray (b64) { + var i, j, l, tmp, placeHolders, arr + + if (b64.length % 4 > 0) { + throw new Error('Invalid string. Length must be a multiple of 4') + } + + // the number of equal signs (place holders) + // if there are two placeholders, than the two characters before it + // represent one byte + // if there is only one, then the three characters before it represent 2 bytes + // this is just a cheap hack to not do indexOf twice + var len = b64.length + placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0 + + // base64 is 4/3 + up to two characters of the original data + arr = new Arr(b64.length * 3 / 4 - placeHolders) + + // if there are placeholders, only get up to the last complete 4 chars + l = placeHolders > 0 ? b64.length - 4 : b64.length + + var L = 0 + + function push (v) { + arr[L++] = v + } + + for (i = 0, j = 0; i < l; i += 4, j += 3) { + tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3)) + push((tmp & 0xFF0000) >> 16) + push((tmp & 0xFF00) >> 8) + push(tmp & 0xFF) + } + + if (placeHolders === 2) { + tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4) + push(tmp & 0xFF) + } else if (placeHolders === 1) { + tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2) + push((tmp >> 8) & 0xFF) + push(tmp & 0xFF) + } + + return arr + } + + function uint8ToBase64 (uint8) { + var i, + extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes + output = "", + temp, length + + function encode (num) { + return lookup.charAt(num) + } + + function tripletToBase64 (num) { + return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F) + } + + // go through the array every three bytes, we'll deal with trailing stuff later + for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) { + temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2]) + output += tripletToBase64(temp) + } + + // pad the end with zeros, but make sure to not forget the extra bytes + switch (extraBytes) { + case 1: + temp = uint8[uint8.length - 1] + output += encode(temp >> 2) + output += encode((temp << 4) & 0x3F) + output += '==' + break + case 2: + temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1]) + output += encode(temp >> 10) + output += encode((temp >> 4) & 0x3F) + output += encode((temp << 2) & 0x3F) + output += '=' + break + } + + return output + } + + exports.toByteArray = b64ToByteArray + exports.fromByteArray = uint8ToBase64 +}(typeof exports === 'undefined' ? (this.base64js = {}) : exports)) + +},{}],45:[function(require,module,exports){ +exports.read = function (buffer, offset, isLE, mLen, nBytes) { + var e, m + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var nBits = -7 + var i = isLE ? (nBytes - 1) : 0 + var d = isLE ? -1 : 1 + var s = buffer[offset + i] + + i += d + + e = s & ((1 << (-nBits)) - 1) + s >>= (-nBits) + nBits += eLen + for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + m = e & ((1 << (-nBits)) - 1) + e >>= (-nBits) + nBits += mLen + for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8) {} + + if (e === 0) { + e = 1 - eBias + } else if (e === eMax) { + return m ? NaN : ((s ? -1 : 1) * Infinity) + } else { + m = m + Math.pow(2, mLen) + e = e - eBias + } + return (s ? -1 : 1) * m * Math.pow(2, e - mLen) +} + +exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { + var e, m, c + var eLen = nBytes * 8 - mLen - 1 + var eMax = (1 << eLen) - 1 + var eBias = eMax >> 1 + var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0) + var i = isLE ? 0 : (nBytes - 1) + var d = isLE ? 1 : -1 + var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0 + + value = Math.abs(value) + + if (isNaN(value) || value === Infinity) { + m = isNaN(value) ? 1 : 0 + e = eMax + } else { + e = Math.floor(Math.log(value) / Math.LN2) + if (value * (c = Math.pow(2, -e)) < 1) { + e-- + c *= 2 + } + if (e + eBias >= 1) { + value += rt / c + } else { + value += rt * Math.pow(2, 1 - eBias) + } + if (value * c >= 2) { + e++ + c /= 2 + } + + if (e + eBias >= eMax) { + m = 0 + e = eMax + } else if (e + eBias >= 1) { + m = (value * c - 1) * Math.pow(2, mLen) + e = e + eBias + } else { + m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen) + e = 0 + } + } + + for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {} + + e = (e << mLen) | m + eLen += mLen + for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {} + + buffer[offset + i - d] |= s * 128 +} + +},{}],46:[function(require,module,exports){ + +/** + * isArray + */ + +var isArray = Array.isArray; + +/** + * toString + */ + +var str = Object.prototype.toString; + +/** + * Whether or not the given `val` + * is an array. + * + * example: + * + * isArray([]); + * // > true + * isArray(arguments); + * // > false + * isArray(''); + * // > false + * + * @param {mixed} val + * @return {bool} + */ + +module.exports = isArray || function (val) { + return !! val && '[object Array]' == str.call(val); +}; + +},{}],47:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +function EventEmitter() { + this._events = this._events || {}; + this._maxListeners = this._maxListeners || undefined; +} +module.exports = EventEmitter; + +// Backwards-compat with node 0.10.x +EventEmitter.EventEmitter = EventEmitter; + +EventEmitter.prototype._events = undefined; +EventEmitter.prototype._maxListeners = undefined; + +// By default EventEmitters will print a warning if more than 10 listeners are +// added to it. This is a useful default which helps finding memory leaks. +EventEmitter.defaultMaxListeners = 10; + +// Obviously not all Emitters should be limited to 10. This function allows +// that to be increased. Set to zero for unlimited. +EventEmitter.prototype.setMaxListeners = function(n) { + if (!isNumber(n) || n < 0 || isNaN(n)) + throw TypeError('n must be a positive number'); + this._maxListeners = n; + return this; +}; + +EventEmitter.prototype.emit = function(type) { + var er, handler, len, args, i, listeners; + + if (!this._events) + this._events = {}; + + // If there is no 'error' event listener then throw. + if (type === 'error') { + if (!this._events.error || + (isObject(this._events.error) && !this._events.error.length)) { + er = arguments[1]; + if (er instanceof Error) { + throw er; // Unhandled 'error' event + } + throw TypeError('Uncaught, unspecified "error" event.'); + } + } + + handler = this._events[type]; + + if (isUndefined(handler)) + return false; + + if (isFunction(handler)) { + switch (arguments.length) { + // fast cases + case 1: + handler.call(this); + break; + case 2: + handler.call(this, arguments[1]); + break; + case 3: + handler.call(this, arguments[1], arguments[2]); + break; + // slower + default: + len = arguments.length; + args = new Array(len - 1); + for (i = 1; i < len; i++) + args[i - 1] = arguments[i]; + handler.apply(this, args); + } + } else if (isObject(handler)) { + len = arguments.length; + args = new Array(len - 1); + for (i = 1; i < len; i++) + args[i - 1] = arguments[i]; + + listeners = handler.slice(); + len = listeners.length; + for (i = 0; i < len; i++) + listeners[i].apply(this, args); + } + + return true; +}; + +EventEmitter.prototype.addListener = function(type, listener) { + var m; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events) + this._events = {}; + + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (this._events.newListener) + this.emit('newListener', type, + isFunction(listener.listener) ? + listener.listener : listener); + + if (!this._events[type]) + // Optimize the case of one listener. Don't need the extra array object. + this._events[type] = listener; + else if (isObject(this._events[type])) + // If we've already got an array, just append. + this._events[type].push(listener); + else + // Adding the second element, need to change to array. + this._events[type] = [this._events[type], listener]; + + // Check for listener leak + if (isObject(this._events[type]) && !this._events[type].warned) { + var m; + if (!isUndefined(this._maxListeners)) { + m = this._maxListeners; + } else { + m = EventEmitter.defaultMaxListeners; + } + + if (m && m > 0 && this._events[type].length > m) { + this._events[type].warned = true; + console.error('(node) warning: possible EventEmitter memory ' + + 'leak detected. %d listeners added. ' + + 'Use emitter.setMaxListeners() to increase limit.', + this._events[type].length); + if (typeof console.trace === 'function') { + // not supported in IE 10 + console.trace(); + } + } + } + + return this; +}; + +EventEmitter.prototype.on = EventEmitter.prototype.addListener; + +EventEmitter.prototype.once = function(type, listener) { + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + var fired = false; + + function g() { + this.removeListener(type, g); + + if (!fired) { + fired = true; + listener.apply(this, arguments); + } + } + + g.listener = listener; + this.on(type, g); + + return this; +}; + +// emits a 'removeListener' event iff the listener was removed +EventEmitter.prototype.removeListener = function(type, listener) { + var list, position, length, i; + + if (!isFunction(listener)) + throw TypeError('listener must be a function'); + + if (!this._events || !this._events[type]) + return this; + + list = this._events[type]; + length = list.length; + position = -1; + + if (list === listener || + (isFunction(list.listener) && list.listener === listener)) { + delete this._events[type]; + if (this._events.removeListener) + this.emit('removeListener', type, listener); + + } else if (isObject(list)) { + for (i = length; i-- > 0;) { + if (list[i] === listener || + (list[i].listener && list[i].listener === listener)) { + position = i; + break; + } + } + + if (position < 0) + return this; + + if (list.length === 1) { + list.length = 0; + delete this._events[type]; + } else { + list.splice(position, 1); + } + + if (this._events.removeListener) + this.emit('removeListener', type, listener); + } + + return this; +}; + +EventEmitter.prototype.removeAllListeners = function(type) { + var key, listeners; + + if (!this._events) + return this; + + // not listening for removeListener, no need to emit + if (!this._events.removeListener) { + if (arguments.length === 0) + this._events = {}; + else if (this._events[type]) + delete this._events[type]; + return this; + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + for (key in this._events) { + if (key === 'removeListener') continue; + this.removeAllListeners(key); + } + this.removeAllListeners('removeListener'); + this._events = {}; + return this; + } + + listeners = this._events[type]; + + if (isFunction(listeners)) { + this.removeListener(type, listeners); + } else { + // LIFO order + while (listeners.length) + this.removeListener(type, listeners[listeners.length - 1]); + } + delete this._events[type]; + + return this; +}; + +EventEmitter.prototype.listeners = function(type) { + var ret; + if (!this._events || !this._events[type]) + ret = []; + else if (isFunction(this._events[type])) + ret = [this._events[type]]; + else + ret = this._events[type].slice(); + return ret; +}; + +EventEmitter.listenerCount = function(emitter, type) { + var ret; + if (!emitter._events || !emitter._events[type]) + ret = 0; + else if (isFunction(emitter._events[type])) + ret = 1; + else + ret = emitter._events[type].length; + return ret; +}; + +function isFunction(arg) { + return typeof arg === 'function'; +} + +function isNumber(arg) { + return typeof arg === 'number'; +} + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} + +function isUndefined(arg) { + return arg === void 0; +} + +},{}],48:[function(require,module,exports){ +if (typeof Object.create === 'function') { + // implementation from standard node.js 'util' module + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + ctor.prototype = Object.create(superCtor.prototype, { + constructor: { + value: ctor, + enumerable: false, + writable: true, + configurable: true + } + }); + }; +} else { + // old school shim for old browsers + module.exports = function inherits(ctor, superCtor) { + ctor.super_ = superCtor + var TempCtor = function () {} + TempCtor.prototype = superCtor.prototype + ctor.prototype = new TempCtor() + ctor.prototype.constructor = ctor + } +} + +},{}],49:[function(require,module,exports){ +module.exports = Array.isArray || function (arr) { + return Object.prototype.toString.call(arr) == '[object Array]'; +}; + +},{}],50:[function(require,module,exports){ +exports.endianness = function () { return 'LE' }; + +exports.hostname = function () { + if (typeof location !== 'undefined') { + return location.hostname + } + else return ''; +}; + +exports.loadavg = function () { return [] }; + +exports.uptime = function () { return 0 }; + +exports.freemem = function () { + return Number.MAX_VALUE; +}; + +exports.totalmem = function () { + return Number.MAX_VALUE; +}; + +exports.cpus = function () { return [] }; + +exports.type = function () { return 'Browser' }; + +exports.release = function () { + if (typeof navigator !== 'undefined') { + return navigator.appVersion; + } + return ''; +}; + +exports.networkInterfaces += exports.getNetworkInterfaces += function () { return {} }; + +exports.arch = function () { return 'javascript' }; + +exports.platform = function () { return 'browser' }; + +exports.tmpdir = exports.tmpDir = function () { + return '/tmp'; +}; + +exports.EOL = '\n'; + +},{}],51:[function(require,module,exports){ +// shim for using process in browser + +var process = module.exports = {}; +var queue = []; +var draining = false; +var currentQueue; +var queueIndex = -1; + +function cleanUpNextTick() { + draining = false; + if (currentQueue.length) { + queue = currentQueue.concat(queue); + } else { + queueIndex = -1; + } + if (queue.length) { + drainQueue(); + } +} + +function drainQueue() { + if (draining) { + return; + } + var timeout = setTimeout(cleanUpNextTick); + draining = true; + + var len = queue.length; + while(len) { + currentQueue = queue; + queue = []; + while (++queueIndex < len) { + if (currentQueue) { + currentQueue[queueIndex].run(); + } + } + queueIndex = -1; + len = queue.length; + } + currentQueue = null; + draining = false; + clearTimeout(timeout); +} + +process.nextTick = function (fun) { + var args = new Array(arguments.length - 1); + if (arguments.length > 1) { + for (var i = 1; i < arguments.length; i++) { + args[i - 1] = arguments[i]; + } + } + queue.push(new Item(fun, args)); + if (queue.length === 1 && !draining) { + setTimeout(drainQueue, 0); + } +}; + +// v8 likes predictible objects +function Item(fun, array) { + this.fun = fun; + this.array = array; +} +Item.prototype.run = function () { + this.fun.apply(null, this.array); +}; +process.title = 'browser'; +process.browser = true; +process.env = {}; +process.argv = []; +process.version = ''; // empty string to avoid regexp issues +process.versions = {}; + +function noop() {} + +process.on = noop; +process.addListener = noop; +process.once = noop; +process.off = noop; +process.removeListener = noop; +process.removeAllListeners = noop; +process.emit = noop; + +process.binding = function (name) { + throw new Error('process.binding is not supported'); +}; + +process.cwd = function () { return '/' }; +process.chdir = function (dir) { + throw new Error('process.chdir is not supported'); +}; +process.umask = function() { return 0; }; + +},{}],52:[function(require,module,exports){ +module.exports = require("./lib/_stream_duplex.js") + +},{"./lib/_stream_duplex.js":53}],53:[function(require,module,exports){ +(function (process){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// a duplex stream is just a stream that is both readable and writable. +// Since JS doesn't have multiple prototypal inheritance, this class +// prototypally inherits from Readable, and then parasitically from +// Writable. + +module.exports = Duplex; + +/**/ +var objectKeys = Object.keys || function (obj) { + var keys = []; + for (var key in obj) keys.push(key); + return keys; +} +/**/ + + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +var Readable = require('./_stream_readable'); +var Writable = require('./_stream_writable'); + +util.inherits(Duplex, Readable); + +forEach(objectKeys(Writable.prototype), function(method) { + if (!Duplex.prototype[method]) + Duplex.prototype[method] = Writable.prototype[method]; +}); + +function Duplex(options) { + if (!(this instanceof Duplex)) + return new Duplex(options); + + Readable.call(this, options); + Writable.call(this, options); + + if (options && options.readable === false) + this.readable = false; + + if (options && options.writable === false) + this.writable = false; + + this.allowHalfOpen = true; + if (options && options.allowHalfOpen === false) + this.allowHalfOpen = false; + + this.once('end', onend); +} + +// the no-half-open enforcer +function onend() { + // if we allow half-open state, or if the writable side ended, + // then we're ok. + if (this.allowHalfOpen || this._writableState.ended) + return; + + // no more data can be written. + // But allow more writes to happen in this tick. + process.nextTick(this.end.bind(this)); +} + +function forEach (xs, f) { + for (var i = 0, l = xs.length; i < l; i++) { + f(xs[i], i); + } +} + +}).call(this,require('_process')) +},{"./_stream_readable":55,"./_stream_writable":57,"_process":51,"core-util-is":58,"inherits":48}],54:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// a passthrough stream. +// basically just the most minimal sort of Transform stream. +// Every written chunk gets output as-is. + +module.exports = PassThrough; + +var Transform = require('./_stream_transform'); + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +util.inherits(PassThrough, Transform); + +function PassThrough(options) { + if (!(this instanceof PassThrough)) + return new PassThrough(options); + + Transform.call(this, options); +} + +PassThrough.prototype._transform = function(chunk, encoding, cb) { + cb(null, chunk); +}; + +},{"./_stream_transform":56,"core-util-is":58,"inherits":48}],55:[function(require,module,exports){ +(function (process){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +module.exports = Readable; + +/**/ +var isArray = require('isarray'); +/**/ + + +/**/ +var Buffer = require('buffer').Buffer; +/**/ + +Readable.ReadableState = ReadableState; + +var EE = require('events').EventEmitter; + +/**/ +if (!EE.listenerCount) EE.listenerCount = function(emitter, type) { + return emitter.listeners(type).length; +}; +/**/ + +var Stream = require('stream'); + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +var StringDecoder; + + +/**/ +var debug = require('util'); +if (debug && debug.debuglog) { + debug = debug.debuglog('stream'); +} else { + debug = function () {}; +} +/**/ + + +util.inherits(Readable, Stream); + +function ReadableState(options, stream) { + var Duplex = require('./_stream_duplex'); + + options = options || {}; + + // the point at which it stops calling _read() to fill the buffer + // Note: 0 is a valid value, means "don't call _read preemptively ever" + var hwm = options.highWaterMark; + var defaultHwm = options.objectMode ? 16 : 16 * 1024; + this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm; + + // cast to ints. + this.highWaterMark = ~~this.highWaterMark; + + this.buffer = []; + this.length = 0; + this.pipes = null; + this.pipesCount = 0; + this.flowing = null; + this.ended = false; + this.endEmitted = false; + this.reading = false; + + // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + this.sync = true; + + // whenever we return null, then we set a flag to say + // that we're awaiting a 'readable' event emission. + this.needReadable = false; + this.emittedReadable = false; + this.readableListening = false; + + + // object stream flag. Used to make read(n) ignore n and to + // make all the buffer merging and length checks go away + this.objectMode = !!options.objectMode; + + if (stream instanceof Duplex) + this.objectMode = this.objectMode || !!options.readableObjectMode; + + // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + this.defaultEncoding = options.defaultEncoding || 'utf8'; + + // when piping, we only care about 'readable' events that happen + // after read()ing all the bytes and not getting any pushback. + this.ranOut = false; + + // the number of writers that are awaiting a drain event in .pipe()s + this.awaitDrain = 0; + + // if true, a maybeReadMore has been scheduled + this.readingMore = false; + + this.decoder = null; + this.encoding = null; + if (options.encoding) { + if (!StringDecoder) + StringDecoder = require('string_decoder/').StringDecoder; + this.decoder = new StringDecoder(options.encoding); + this.encoding = options.encoding; + } +} + +function Readable(options) { + var Duplex = require('./_stream_duplex'); + + if (!(this instanceof Readable)) + return new Readable(options); + + this._readableState = new ReadableState(options, this); + + // legacy + this.readable = true; + + Stream.call(this); +} + +// Manually shove something into the read() buffer. +// This returns true if the highWaterMark has not been hit yet, +// similar to how Writable.write() returns true if you should +// write() some more. +Readable.prototype.push = function(chunk, encoding) { + var state = this._readableState; + + if (util.isString(chunk) && !state.objectMode) { + encoding = encoding || state.defaultEncoding; + if (encoding !== state.encoding) { + chunk = new Buffer(chunk, encoding); + encoding = ''; + } + } + + return readableAddChunk(this, state, chunk, encoding, false); +}; + +// Unshift should *always* be something directly out of read() +Readable.prototype.unshift = function(chunk) { + var state = this._readableState; + return readableAddChunk(this, state, chunk, '', true); +}; + +function readableAddChunk(stream, state, chunk, encoding, addToFront) { + var er = chunkInvalid(state, chunk); + if (er) { + stream.emit('error', er); + } else if (util.isNullOrUndefined(chunk)) { + state.reading = false; + if (!state.ended) + onEofChunk(stream, state); + } else if (state.objectMode || chunk && chunk.length > 0) { + if (state.ended && !addToFront) { + var e = new Error('stream.push() after EOF'); + stream.emit('error', e); + } else if (state.endEmitted && addToFront) { + var e = new Error('stream.unshift() after end event'); + stream.emit('error', e); + } else { + if (state.decoder && !addToFront && !encoding) + chunk = state.decoder.write(chunk); + + if (!addToFront) + state.reading = false; + + // if we want the data now, just emit it. + if (state.flowing && state.length === 0 && !state.sync) { + stream.emit('data', chunk); + stream.read(0); + } else { + // update the buffer info. + state.length += state.objectMode ? 1 : chunk.length; + if (addToFront) + state.buffer.unshift(chunk); + else + state.buffer.push(chunk); + + if (state.needReadable) + emitReadable(stream); + } + + maybeReadMore(stream, state); + } + } else if (!addToFront) { + state.reading = false; + } + + return needMoreData(state); +} + + + +// if it's past the high water mark, we can push in some more. +// Also, if we have no data yet, we can stand some +// more bytes. This is to work around cases where hwm=0, +// such as the repl. Also, if the push() triggered a +// readable event, and the user called read(largeNumber) such that +// needReadable was set, then we ought to push more, so that another +// 'readable' event will be triggered. +function needMoreData(state) { + return !state.ended && + (state.needReadable || + state.length < state.highWaterMark || + state.length === 0); +} + +// backwards compatibility. +Readable.prototype.setEncoding = function(enc) { + if (!StringDecoder) + StringDecoder = require('string_decoder/').StringDecoder; + this._readableState.decoder = new StringDecoder(enc); + this._readableState.encoding = enc; + return this; +}; + +// Don't raise the hwm > 128MB +var MAX_HWM = 0x800000; +function roundUpToNextPowerOf2(n) { + if (n >= MAX_HWM) { + n = MAX_HWM; + } else { + // Get the next highest power of 2 + n--; + for (var p = 1; p < 32; p <<= 1) n |= n >> p; + n++; + } + return n; +} + +function howMuchToRead(n, state) { + if (state.length === 0 && state.ended) + return 0; + + if (state.objectMode) + return n === 0 ? 0 : 1; + + if (isNaN(n) || util.isNull(n)) { + // only flow one buffer at a time + if (state.flowing && state.buffer.length) + return state.buffer[0].length; + else + return state.length; + } + + if (n <= 0) + return 0; + + // If we're asking for more than the target buffer level, + // then raise the water mark. Bump up to the next highest + // power of 2, to prevent increasing it excessively in tiny + // amounts. + if (n > state.highWaterMark) + state.highWaterMark = roundUpToNextPowerOf2(n); + + // don't have that much. return null, unless we've ended. + if (n > state.length) { + if (!state.ended) { + state.needReadable = true; + return 0; + } else + return state.length; + } + + return n; +} + +// you can override either this method, or the async _read(n) below. +Readable.prototype.read = function(n) { + debug('read', n); + var state = this._readableState; + var nOrig = n; + + if (!util.isNumber(n) || n > 0) + state.emittedReadable = false; + + // if we're doing read(0) to trigger a readable event, but we + // already have a bunch of data in the buffer, then just trigger + // the 'readable' event and move on. + if (n === 0 && + state.needReadable && + (state.length >= state.highWaterMark || state.ended)) { + debug('read: emitReadable', state.length, state.ended); + if (state.length === 0 && state.ended) + endReadable(this); + else + emitReadable(this); + return null; + } + + n = howMuchToRead(n, state); + + // if we've ended, and we're now clear, then finish it up. + if (n === 0 && state.ended) { + if (state.length === 0) + endReadable(this); + return null; + } + + // All the actual chunk generation logic needs to be + // *below* the call to _read. The reason is that in certain + // synthetic stream cases, such as passthrough streams, _read + // may be a completely synchronous operation which may change + // the state of the read buffer, providing enough data when + // before there was *not* enough. + // + // So, the steps are: + // 1. Figure out what the state of things will be after we do + // a read from the buffer. + // + // 2. If that resulting state will trigger a _read, then call _read. + // Note that this may be asynchronous, or synchronous. Yes, it is + // deeply ugly to write APIs this way, but that still doesn't mean + // that the Readable class should behave improperly, as streams are + // designed to be sync/async agnostic. + // Take note if the _read call is sync or async (ie, if the read call + // has returned yet), so that we know whether or not it's safe to emit + // 'readable' etc. + // + // 3. Actually pull the requested chunks out of the buffer and return. + + // if we need a readable event, then we need to do some reading. + var doRead = state.needReadable; + debug('need readable', doRead); + + // if we currently have less than the highWaterMark, then also read some + if (state.length === 0 || state.length - n < state.highWaterMark) { + doRead = true; + debug('length less than watermark', doRead); + } + + // however, if we've ended, then there's no point, and if we're already + // reading, then it's unnecessary. + if (state.ended || state.reading) { + doRead = false; + debug('reading or ended', doRead); + } + + if (doRead) { + debug('do read'); + state.reading = true; + state.sync = true; + // if the length is currently zero, then we *need* a readable event. + if (state.length === 0) + state.needReadable = true; + // call internal read method + this._read(state.highWaterMark); + state.sync = false; + } + + // If _read pushed data synchronously, then `reading` will be false, + // and we need to re-evaluate how much data we can return to the user. + if (doRead && !state.reading) + n = howMuchToRead(nOrig, state); + + var ret; + if (n > 0) + ret = fromList(n, state); + else + ret = null; + + if (util.isNull(ret)) { + state.needReadable = true; + n = 0; + } + + state.length -= n; + + // If we have nothing in the buffer, then we want to know + // as soon as we *do* get something into the buffer. + if (state.length === 0 && !state.ended) + state.needReadable = true; + + // If we tried to read() past the EOF, then emit end on the next tick. + if (nOrig !== n && state.ended && state.length === 0) + endReadable(this); + + if (!util.isNull(ret)) + this.emit('data', ret); + + return ret; +}; + +function chunkInvalid(state, chunk) { + var er = null; + if (!util.isBuffer(chunk) && + !util.isString(chunk) && + !util.isNullOrUndefined(chunk) && + !state.objectMode) { + er = new TypeError('Invalid non-string/buffer chunk'); + } + return er; +} + + +function onEofChunk(stream, state) { + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) { + state.buffer.push(chunk); + state.length += state.objectMode ? 1 : chunk.length; + } + } + state.ended = true; + + // emit 'readable' now to make sure it gets picked up. + emitReadable(stream); +} + +// Don't emit readable right away in sync mode, because this can trigger +// another read() call => stack overflow. This way, it might trigger +// a nextTick recursion warning, but that's not so bad. +function emitReadable(stream) { + var state = stream._readableState; + state.needReadable = false; + if (!state.emittedReadable) { + debug('emitReadable', state.flowing); + state.emittedReadable = true; + if (state.sync) + process.nextTick(function() { + emitReadable_(stream); + }); + else + emitReadable_(stream); + } +} + +function emitReadable_(stream) { + debug('emit readable'); + stream.emit('readable'); + flow(stream); +} + + +// at this point, the user has presumably seen the 'readable' event, +// and called read() to consume some data. that may have triggered +// in turn another _read(n) call, in which case reading = true if +// it's in progress. +// However, if we're not ended, or reading, and the length < hwm, +// then go ahead and try to read some more preemptively. +function maybeReadMore(stream, state) { + if (!state.readingMore) { + state.readingMore = true; + process.nextTick(function() { + maybeReadMore_(stream, state); + }); + } +} + +function maybeReadMore_(stream, state) { + var len = state.length; + while (!state.reading && !state.flowing && !state.ended && + state.length < state.highWaterMark) { + debug('maybeReadMore read 0'); + stream.read(0); + if (len === state.length) + // didn't get any data, stop spinning. + break; + else + len = state.length; + } + state.readingMore = false; +} + +// abstract method. to be overridden in specific implementation classes. +// call cb(er, data) where data is <= n in length. +// for virtual (non-string, non-buffer) streams, "length" is somewhat +// arbitrary, and perhaps not very meaningful. +Readable.prototype._read = function(n) { + this.emit('error', new Error('not implemented')); +}; + +Readable.prototype.pipe = function(dest, pipeOpts) { + var src = this; + var state = this._readableState; + + switch (state.pipesCount) { + case 0: + state.pipes = dest; + break; + case 1: + state.pipes = [state.pipes, dest]; + break; + default: + state.pipes.push(dest); + break; + } + state.pipesCount += 1; + debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts); + + var doEnd = (!pipeOpts || pipeOpts.end !== false) && + dest !== process.stdout && + dest !== process.stderr; + + var endFn = doEnd ? onend : cleanup; + if (state.endEmitted) + process.nextTick(endFn); + else + src.once('end', endFn); + + dest.on('unpipe', onunpipe); + function onunpipe(readable) { + debug('onunpipe'); + if (readable === src) { + cleanup(); + } + } + + function onend() { + debug('onend'); + dest.end(); + } + + // when the dest drains, it reduces the awaitDrain counter + // on the source. This would be more elegant with a .once() + // handler in flow(), but adding and removing repeatedly is + // too slow. + var ondrain = pipeOnDrain(src); + dest.on('drain', ondrain); + + function cleanup() { + debug('cleanup'); + // cleanup event handlers once the pipe is broken + dest.removeListener('close', onclose); + dest.removeListener('finish', onfinish); + dest.removeListener('drain', ondrain); + dest.removeListener('error', onerror); + dest.removeListener('unpipe', onunpipe); + src.removeListener('end', onend); + src.removeListener('end', cleanup); + src.removeListener('data', ondata); + + // if the reader is waiting for a drain event from this + // specific writer, then it would cause it to never start + // flowing again. + // So, if this is awaiting a drain, then we just call it now. + // If we don't know, then assume that we are waiting for one. + if (state.awaitDrain && + (!dest._writableState || dest._writableState.needDrain)) + ondrain(); + } + + src.on('data', ondata); + function ondata(chunk) { + debug('ondata'); + var ret = dest.write(chunk); + if (false === ret) { + debug('false write response, pause', + src._readableState.awaitDrain); + src._readableState.awaitDrain++; + src.pause(); + } + } + + // if the dest has an error, then stop piping into it. + // however, don't suppress the throwing behavior for this. + function onerror(er) { + debug('onerror', er); + unpipe(); + dest.removeListener('error', onerror); + if (EE.listenerCount(dest, 'error') === 0) + dest.emit('error', er); + } + // This is a brutally ugly hack to make sure that our error handler + // is attached before any userland ones. NEVER DO THIS. + if (!dest._events || !dest._events.error) + dest.on('error', onerror); + else if (isArray(dest._events.error)) + dest._events.error.unshift(onerror); + else + dest._events.error = [onerror, dest._events.error]; + + + + // Both close and finish should trigger unpipe, but only once. + function onclose() { + dest.removeListener('finish', onfinish); + unpipe(); + } + dest.once('close', onclose); + function onfinish() { + debug('onfinish'); + dest.removeListener('close', onclose); + unpipe(); + } + dest.once('finish', onfinish); + + function unpipe() { + debug('unpipe'); + src.unpipe(dest); + } + + // tell the dest that it's being piped to + dest.emit('pipe', src); + + // start the flow if it hasn't been started already. + if (!state.flowing) { + debug('pipe resume'); + src.resume(); + } + + return dest; +}; + +function pipeOnDrain(src) { + return function() { + var state = src._readableState; + debug('pipeOnDrain', state.awaitDrain); + if (state.awaitDrain) + state.awaitDrain--; + if (state.awaitDrain === 0 && EE.listenerCount(src, 'data')) { + state.flowing = true; + flow(src); + } + }; +} + + +Readable.prototype.unpipe = function(dest) { + var state = this._readableState; + + // if we're not piping anywhere, then do nothing. + if (state.pipesCount === 0) + return this; + + // just one destination. most common case. + if (state.pipesCount === 1) { + // passed in one, but it's not the right one. + if (dest && dest !== state.pipes) + return this; + + if (!dest) + dest = state.pipes; + + // got a match. + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + if (dest) + dest.emit('unpipe', this); + return this; + } + + // slow case. multiple pipe destinations. + + if (!dest) { + // remove all. + var dests = state.pipes; + var len = state.pipesCount; + state.pipes = null; + state.pipesCount = 0; + state.flowing = false; + + for (var i = 0; i < len; i++) + dests[i].emit('unpipe', this); + return this; + } + + // try to find the right one. + var i = indexOf(state.pipes, dest); + if (i === -1) + return this; + + state.pipes.splice(i, 1); + state.pipesCount -= 1; + if (state.pipesCount === 1) + state.pipes = state.pipes[0]; + + dest.emit('unpipe', this); + + return this; +}; + +// set up data events if they are asked for +// Ensure readable listeners eventually get something +Readable.prototype.on = function(ev, fn) { + var res = Stream.prototype.on.call(this, ev, fn); + + // If listening to data, and it has not explicitly been paused, + // then call resume to start the flow of data on the next tick. + if (ev === 'data' && false !== this._readableState.flowing) { + this.resume(); + } + + if (ev === 'readable' && this.readable) { + var state = this._readableState; + if (!state.readableListening) { + state.readableListening = true; + state.emittedReadable = false; + state.needReadable = true; + if (!state.reading) { + var self = this; + process.nextTick(function() { + debug('readable nexttick read 0'); + self.read(0); + }); + } else if (state.length) { + emitReadable(this, state); + } + } + } + + return res; +}; +Readable.prototype.addListener = Readable.prototype.on; + +// pause() and resume() are remnants of the legacy readable stream API +// If the user uses them, then switch into old mode. +Readable.prototype.resume = function() { + var state = this._readableState; + if (!state.flowing) { + debug('resume'); + state.flowing = true; + if (!state.reading) { + debug('resume read 0'); + this.read(0); + } + resume(this, state); + } + return this; +}; + +function resume(stream, state) { + if (!state.resumeScheduled) { + state.resumeScheduled = true; + process.nextTick(function() { + resume_(stream, state); + }); + } +} + +function resume_(stream, state) { + state.resumeScheduled = false; + stream.emit('resume'); + flow(stream); + if (state.flowing && !state.reading) + stream.read(0); +} + +Readable.prototype.pause = function() { + debug('call pause flowing=%j', this._readableState.flowing); + if (false !== this._readableState.flowing) { + debug('pause'); + this._readableState.flowing = false; + this.emit('pause'); + } + return this; +}; + +function flow(stream) { + var state = stream._readableState; + debug('flow', state.flowing); + if (state.flowing) { + do { + var chunk = stream.read(); + } while (null !== chunk && state.flowing); + } +} + +// wrap an old-style stream as the async data source. +// This is *not* part of the readable stream interface. +// It is an ugly unfortunate mess of history. +Readable.prototype.wrap = function(stream) { + var state = this._readableState; + var paused = false; + + var self = this; + stream.on('end', function() { + debug('wrapped end'); + if (state.decoder && !state.ended) { + var chunk = state.decoder.end(); + if (chunk && chunk.length) + self.push(chunk); + } + + self.push(null); + }); + + stream.on('data', function(chunk) { + debug('wrapped data'); + if (state.decoder) + chunk = state.decoder.write(chunk); + if (!chunk || !state.objectMode && !chunk.length) + return; + + var ret = self.push(chunk); + if (!ret) { + paused = true; + stream.pause(); + } + }); + + // proxy all the other methods. + // important when wrapping filters and duplexes. + for (var i in stream) { + if (util.isFunction(stream[i]) && util.isUndefined(this[i])) { + this[i] = function(method) { return function() { + return stream[method].apply(stream, arguments); + }}(i); + } + } + + // proxy certain important events. + var events = ['error', 'close', 'destroy', 'pause', 'resume']; + forEach(events, function(ev) { + stream.on(ev, self.emit.bind(self, ev)); + }); + + // when we try to consume some more bytes, simply unpause the + // underlying stream. + self._read = function(n) { + debug('wrapped _read', n); + if (paused) { + paused = false; + stream.resume(); + } + }; + + return self; +}; + + + +// exposed for testing purposes only. +Readable._fromList = fromList; + +// Pluck off n bytes from an array of buffers. +// Length is the combined lengths of all the buffers in the list. +function fromList(n, state) { + var list = state.buffer; + var length = state.length; + var stringMode = !!state.decoder; + var objectMode = !!state.objectMode; + var ret; + + // nothing in the list, definitely empty. + if (list.length === 0) + return null; + + if (length === 0) + ret = null; + else if (objectMode) + ret = list.shift(); + else if (!n || n >= length) { + // read it all, truncate the array. + if (stringMode) + ret = list.join(''); + else + ret = Buffer.concat(list, length); + list.length = 0; + } else { + // read just some of it. + if (n < list[0].length) { + // just take a part of the first list item. + // slice is the same for buffers and strings. + var buf = list[0]; + ret = buf.slice(0, n); + list[0] = buf.slice(n); + } else if (n === list[0].length) { + // first list is a perfect match + ret = list.shift(); + } else { + // complex case. + // we have enough to cover it, but it spans past the first buffer. + if (stringMode) + ret = ''; + else + ret = new Buffer(n); + + var c = 0; + for (var i = 0, l = list.length; i < l && c < n; i++) { + var buf = list[0]; + var cpy = Math.min(n - c, buf.length); + + if (stringMode) + ret += buf.slice(0, cpy); + else + buf.copy(ret, c, 0, cpy); + + if (cpy < buf.length) + list[0] = buf.slice(cpy); + else + list.shift(); + + c += cpy; + } + } + } + + return ret; +} + +function endReadable(stream) { + var state = stream._readableState; + + // If we get here before consuming all the bytes, then that is a + // bug in node. Should never happen. + if (state.length > 0) + throw new Error('endReadable called on non-empty stream'); + + if (!state.endEmitted) { + state.ended = true; + process.nextTick(function() { + // Check that we didn't get one last unshift. + if (!state.endEmitted && state.length === 0) { + state.endEmitted = true; + stream.readable = false; + stream.emit('end'); + } + }); + } +} + +function forEach (xs, f) { + for (var i = 0, l = xs.length; i < l; i++) { + f(xs[i], i); + } +} + +function indexOf (xs, x) { + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) return i; + } + return -1; +} + +}).call(this,require('_process')) +},{"./_stream_duplex":53,"_process":51,"buffer":43,"core-util-is":58,"events":47,"inherits":48,"isarray":49,"stream":63,"string_decoder/":64,"util":42}],56:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + + +// a transform stream is a readable/writable stream where you do +// something with the data. Sometimes it's called a "filter", +// but that's not a great name for it, since that implies a thing where +// some bits pass through, and others are simply ignored. (That would +// be a valid example of a transform, of course.) +// +// While the output is causally related to the input, it's not a +// necessarily symmetric or synchronous transformation. For example, +// a zlib stream might take multiple plain-text writes(), and then +// emit a single compressed chunk some time in the future. +// +// Here's how this works: +// +// The Transform stream has all the aspects of the readable and writable +// stream classes. When you write(chunk), that calls _write(chunk,cb) +// internally, and returns false if there's a lot of pending writes +// buffered up. When you call read(), that calls _read(n) until +// there's enough pending readable data buffered up. +// +// In a transform stream, the written data is placed in a buffer. When +// _read(n) is called, it transforms the queued up data, calling the +// buffered _write cb's as it consumes chunks. If consuming a single +// written chunk would result in multiple output chunks, then the first +// outputted bit calls the readcb, and subsequent chunks just go into +// the read buffer, and will cause it to emit 'readable' if necessary. +// +// This way, back-pressure is actually determined by the reading side, +// since _read has to be called to start processing a new chunk. However, +// a pathological inflate type of transform can cause excessive buffering +// here. For example, imagine a stream where every byte of input is +// interpreted as an integer from 0-255, and then results in that many +// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in +// 1kb of data being output. In this case, you could write a very small +// amount of input, and end up with a very large amount of output. In +// such a pathological inflating mechanism, there'd be no way to tell +// the system to stop doing the transform. A single 4MB write could +// cause the system to run out of memory. +// +// However, even in such a pathological case, only a single written chunk +// would be consumed, and then the rest would wait (un-transformed) until +// the results of the previous transformed chunk were consumed. + +module.exports = Transform; + +var Duplex = require('./_stream_duplex'); + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +util.inherits(Transform, Duplex); + + +function TransformState(options, stream) { + this.afterTransform = function(er, data) { + return afterTransform(stream, er, data); + }; + + this.needTransform = false; + this.transforming = false; + this.writecb = null; + this.writechunk = null; +} + +function afterTransform(stream, er, data) { + var ts = stream._transformState; + ts.transforming = false; + + var cb = ts.writecb; + + if (!cb) + return stream.emit('error', new Error('no writecb in Transform class')); + + ts.writechunk = null; + ts.writecb = null; + + if (!util.isNullOrUndefined(data)) + stream.push(data); + + if (cb) + cb(er); + + var rs = stream._readableState; + rs.reading = false; + if (rs.needReadable || rs.length < rs.highWaterMark) { + stream._read(rs.highWaterMark); + } +} + + +function Transform(options) { + if (!(this instanceof Transform)) + return new Transform(options); + + Duplex.call(this, options); + + this._transformState = new TransformState(options, this); + + // when the writable side finishes, then flush out anything remaining. + var stream = this; + + // start out asking for a readable event once data is transformed. + this._readableState.needReadable = true; + + // we have implemented the _read method, and done the other things + // that Readable wants before the first _read call, so unset the + // sync guard flag. + this._readableState.sync = false; + + this.once('prefinish', function() { + if (util.isFunction(this._flush)) + this._flush(function(er) { + done(stream, er); + }); + else + done(stream); + }); +} + +Transform.prototype.push = function(chunk, encoding) { + this._transformState.needTransform = false; + return Duplex.prototype.push.call(this, chunk, encoding); +}; + +// This is the part where you do stuff! +// override this function in implementation classes. +// 'chunk' is an input chunk. +// +// Call `push(newChunk)` to pass along transformed output +// to the readable side. You may call 'push' zero or more times. +// +// Call `cb(err)` when you are done with this chunk. If you pass +// an error, then that'll put the hurt on the whole operation. If you +// never call cb(), then you'll never get another chunk. +Transform.prototype._transform = function(chunk, encoding, cb) { + throw new Error('not implemented'); +}; + +Transform.prototype._write = function(chunk, encoding, cb) { + var ts = this._transformState; + ts.writecb = cb; + ts.writechunk = chunk; + ts.writeencoding = encoding; + if (!ts.transforming) { + var rs = this._readableState; + if (ts.needTransform || + rs.needReadable || + rs.length < rs.highWaterMark) + this._read(rs.highWaterMark); + } +}; + +// Doesn't matter what the args are here. +// _transform does all the work. +// That we got here means that the readable side wants more data. +Transform.prototype._read = function(n) { + var ts = this._transformState; + + if (!util.isNull(ts.writechunk) && ts.writecb && !ts.transforming) { + ts.transforming = true; + this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform); + } else { + // mark that we need a transform, so that any data that comes in + // will get processed, now that we've asked for it. + ts.needTransform = true; + } +}; + + +function done(stream, er) { + if (er) + return stream.emit('error', er); + + // if there's nothing in the write buffer, then that means + // that nothing more will ever be provided + var ws = stream._writableState; + var ts = stream._transformState; + + if (ws.length) + throw new Error('calling transform done when ws.length != 0'); + + if (ts.transforming) + throw new Error('calling transform done when still transforming'); + + return stream.push(null); +} + +},{"./_stream_duplex":53,"core-util-is":58,"inherits":48}],57:[function(require,module,exports){ +(function (process){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// A bit simpler than readable streams. +// Implement an async ._write(chunk, cb), and it'll handle all +// the drain event emission and buffering. + +module.exports = Writable; + +/**/ +var Buffer = require('buffer').Buffer; +/**/ + +Writable.WritableState = WritableState; + + +/**/ +var util = require('core-util-is'); +util.inherits = require('inherits'); +/**/ + +var Stream = require('stream'); + +util.inherits(Writable, Stream); + +function WriteReq(chunk, encoding, cb) { + this.chunk = chunk; + this.encoding = encoding; + this.callback = cb; +} + +function WritableState(options, stream) { + var Duplex = require('./_stream_duplex'); + + options = options || {}; + + // the point at which write() starts returning false + // Note: 0 is a valid value, means that we always return false if + // the entire buffer is not flushed immediately on write() + var hwm = options.highWaterMark; + var defaultHwm = options.objectMode ? 16 : 16 * 1024; + this.highWaterMark = (hwm || hwm === 0) ? hwm : defaultHwm; + + // object stream flag to indicate whether or not this stream + // contains buffers or objects. + this.objectMode = !!options.objectMode; + + if (stream instanceof Duplex) + this.objectMode = this.objectMode || !!options.writableObjectMode; + + // cast to ints. + this.highWaterMark = ~~this.highWaterMark; + + this.needDrain = false; + // at the start of calling end() + this.ending = false; + // when end() has been called, and returned + this.ended = false; + // when 'finish' is emitted + this.finished = false; + + // should we decode strings into buffers before passing to _write? + // this is here so that some node-core streams can optimize string + // handling at a lower level. + var noDecode = options.decodeStrings === false; + this.decodeStrings = !noDecode; + + // Crypto is kind of old and crusty. Historically, its default string + // encoding is 'binary' so we have to make this configurable. + // Everything else in the universe uses 'utf8', though. + this.defaultEncoding = options.defaultEncoding || 'utf8'; + + // not an actual buffer we keep track of, but a measurement + // of how much we're waiting to get pushed to some underlying + // socket or file. + this.length = 0; + + // a flag to see when we're in the middle of a write. + this.writing = false; + + // when true all writes will be buffered until .uncork() call + this.corked = 0; + + // a flag to be able to tell if the onwrite cb is called immediately, + // or on a later tick. We set this to true at first, because any + // actions that shouldn't happen until "later" should generally also + // not happen before the first write call. + this.sync = true; + + // a flag to know if we're processing previously buffered items, which + // may call the _write() callback in the same tick, so that we don't + // end up in an overlapped onwrite situation. + this.bufferProcessing = false; + + // the callback that's passed to _write(chunk,cb) + this.onwrite = function(er) { + onwrite(stream, er); + }; + + // the callback that the user supplies to write(chunk,encoding,cb) + this.writecb = null; + + // the amount that is being written when _write is called. + this.writelen = 0; + + this.buffer = []; + + // number of pending user-supplied write callbacks + // this must be 0 before 'finish' can be emitted + this.pendingcb = 0; + + // emit prefinish if the only thing we're waiting for is _write cbs + // This is relevant for synchronous Transform streams + this.prefinished = false; + + // True if the error was already emitted and should not be thrown again + this.errorEmitted = false; +} + +function Writable(options) { + var Duplex = require('./_stream_duplex'); + + // Writable ctor is applied to Duplexes, though they're not + // instanceof Writable, they're instanceof Readable. + if (!(this instanceof Writable) && !(this instanceof Duplex)) + return new Writable(options); + + this._writableState = new WritableState(options, this); + + // legacy. + this.writable = true; + + Stream.call(this); +} + +// Otherwise people can pipe Writable streams, which is just wrong. +Writable.prototype.pipe = function() { + this.emit('error', new Error('Cannot pipe. Not readable.')); +}; + + +function writeAfterEnd(stream, state, cb) { + var er = new Error('write after end'); + // TODO: defer error events consistently everywhere, not just the cb + stream.emit('error', er); + process.nextTick(function() { + cb(er); + }); +} + +// If we get something that is not a buffer, string, null, or undefined, +// and we're not in objectMode, then that's an error. +// Otherwise stream chunks are all considered to be of length=1, and the +// watermarks determine how many objects to keep in the buffer, rather than +// how many bytes or characters. +function validChunk(stream, state, chunk, cb) { + var valid = true; + if (!util.isBuffer(chunk) && + !util.isString(chunk) && + !util.isNullOrUndefined(chunk) && + !state.objectMode) { + var er = new TypeError('Invalid non-string/buffer chunk'); + stream.emit('error', er); + process.nextTick(function() { + cb(er); + }); + valid = false; + } + return valid; +} + +Writable.prototype.write = function(chunk, encoding, cb) { + var state = this._writableState; + var ret = false; + + if (util.isFunction(encoding)) { + cb = encoding; + encoding = null; + } + + if (util.isBuffer(chunk)) + encoding = 'buffer'; + else if (!encoding) + encoding = state.defaultEncoding; + + if (!util.isFunction(cb)) + cb = function() {}; + + if (state.ended) + writeAfterEnd(this, state, cb); + else if (validChunk(this, state, chunk, cb)) { + state.pendingcb++; + ret = writeOrBuffer(this, state, chunk, encoding, cb); + } + + return ret; +}; + +Writable.prototype.cork = function() { + var state = this._writableState; + + state.corked++; +}; + +Writable.prototype.uncork = function() { + var state = this._writableState; + + if (state.corked) { + state.corked--; + + if (!state.writing && + !state.corked && + !state.finished && + !state.bufferProcessing && + state.buffer.length) + clearBuffer(this, state); + } +}; + +function decodeChunk(state, chunk, encoding) { + if (!state.objectMode && + state.decodeStrings !== false && + util.isString(chunk)) { + chunk = new Buffer(chunk, encoding); + } + return chunk; +} + +// if we're already writing something, then just put this +// in the queue, and wait our turn. Otherwise, call _write +// If we return false, then we need a drain event, so set that flag. +function writeOrBuffer(stream, state, chunk, encoding, cb) { + chunk = decodeChunk(state, chunk, encoding); + if (util.isBuffer(chunk)) + encoding = 'buffer'; + var len = state.objectMode ? 1 : chunk.length; + + state.length += len; + + var ret = state.length < state.highWaterMark; + // we must ensure that previous needDrain will not be reset to false. + if (!ret) + state.needDrain = true; + + if (state.writing || state.corked) + state.buffer.push(new WriteReq(chunk, encoding, cb)); + else + doWrite(stream, state, false, len, chunk, encoding, cb); + + return ret; +} + +function doWrite(stream, state, writev, len, chunk, encoding, cb) { + state.writelen = len; + state.writecb = cb; + state.writing = true; + state.sync = true; + if (writev) + stream._writev(chunk, state.onwrite); + else + stream._write(chunk, encoding, state.onwrite); + state.sync = false; +} + +function onwriteError(stream, state, sync, er, cb) { + if (sync) + process.nextTick(function() { + state.pendingcb--; + cb(er); + }); + else { + state.pendingcb--; + cb(er); + } + + stream._writableState.errorEmitted = true; + stream.emit('error', er); +} + +function onwriteStateUpdate(state) { + state.writing = false; + state.writecb = null; + state.length -= state.writelen; + state.writelen = 0; +} + +function onwrite(stream, er) { + var state = stream._writableState; + var sync = state.sync; + var cb = state.writecb; + + onwriteStateUpdate(state); + + if (er) + onwriteError(stream, state, sync, er, cb); + else { + // Check if we're actually ready to finish, but don't emit yet + var finished = needFinish(stream, state); + + if (!finished && + !state.corked && + !state.bufferProcessing && + state.buffer.length) { + clearBuffer(stream, state); + } + + if (sync) { + process.nextTick(function() { + afterWrite(stream, state, finished, cb); + }); + } else { + afterWrite(stream, state, finished, cb); + } + } +} + +function afterWrite(stream, state, finished, cb) { + if (!finished) + onwriteDrain(stream, state); + state.pendingcb--; + cb(); + finishMaybe(stream, state); +} + +// Must force callback to be called on nextTick, so that we don't +// emit 'drain' before the write() consumer gets the 'false' return +// value, and has a chance to attach a 'drain' listener. +function onwriteDrain(stream, state) { + if (state.length === 0 && state.needDrain) { + state.needDrain = false; + stream.emit('drain'); + } +} + + +// if there's something in the buffer waiting, then process it +function clearBuffer(stream, state) { + state.bufferProcessing = true; + + if (stream._writev && state.buffer.length > 1) { + // Fast case, write everything using _writev() + var cbs = []; + for (var c = 0; c < state.buffer.length; c++) + cbs.push(state.buffer[c].callback); + + // count the one we are adding, as well. + // TODO(isaacs) clean this up + state.pendingcb++; + doWrite(stream, state, true, state.length, state.buffer, '', function(err) { + for (var i = 0; i < cbs.length; i++) { + state.pendingcb--; + cbs[i](err); + } + }); + + // Clear buffer + state.buffer = []; + } else { + // Slow case, write chunks one-by-one + for (var c = 0; c < state.buffer.length; c++) { + var entry = state.buffer[c]; + var chunk = entry.chunk; + var encoding = entry.encoding; + var cb = entry.callback; + var len = state.objectMode ? 1 : chunk.length; + + doWrite(stream, state, false, len, chunk, encoding, cb); + + // if we didn't call the onwrite immediately, then + // it means that we need to wait until it does. + // also, that means that the chunk and cb are currently + // being processed, so move the buffer counter past them. + if (state.writing) { + c++; + break; + } + } + + if (c < state.buffer.length) + state.buffer = state.buffer.slice(c); + else + state.buffer.length = 0; + } + + state.bufferProcessing = false; +} + +Writable.prototype._write = function(chunk, encoding, cb) { + cb(new Error('not implemented')); + +}; + +Writable.prototype._writev = null; + +Writable.prototype.end = function(chunk, encoding, cb) { + var state = this._writableState; + + if (util.isFunction(chunk)) { + cb = chunk; + chunk = null; + encoding = null; + } else if (util.isFunction(encoding)) { + cb = encoding; + encoding = null; + } + + if (!util.isNullOrUndefined(chunk)) + this.write(chunk, encoding); + + // .end() fully uncorks + if (state.corked) { + state.corked = 1; + this.uncork(); + } + + // ignore unnecessary end() calls. + if (!state.ending && !state.finished) + endWritable(this, state, cb); +}; + + +function needFinish(stream, state) { + return (state.ending && + state.length === 0 && + !state.finished && + !state.writing); +} + +function prefinish(stream, state) { + if (!state.prefinished) { + state.prefinished = true; + stream.emit('prefinish'); + } +} + +function finishMaybe(stream, state) { + var need = needFinish(stream, state); + if (need) { + if (state.pendingcb === 0) { + prefinish(stream, state); + state.finished = true; + stream.emit('finish'); + } else + prefinish(stream, state); + } + return need; +} + +function endWritable(stream, state, cb) { + state.ending = true; + finishMaybe(stream, state); + if (cb) { + if (state.finished) + process.nextTick(cb); + else + stream.once('finish', cb); + } + state.ended = true; +} + +}).call(this,require('_process')) +},{"./_stream_duplex":53,"_process":51,"buffer":43,"core-util-is":58,"inherits":48,"stream":63}],58:[function(require,module,exports){ +(function (Buffer){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +function isBuffer(arg) { + return Buffer.isBuffer(arg); +} +exports.isBuffer = isBuffer; + +function objectToString(o) { + return Object.prototype.toString.call(o); +} +}).call(this,require("buffer").Buffer) +},{"buffer":43}],59:[function(require,module,exports){ +module.exports = require("./lib/_stream_passthrough.js") + +},{"./lib/_stream_passthrough.js":54}],60:[function(require,module,exports){ +exports = module.exports = require('./lib/_stream_readable.js'); +exports.Stream = require('stream'); +exports.Readable = exports; +exports.Writable = require('./lib/_stream_writable.js'); +exports.Duplex = require('./lib/_stream_duplex.js'); +exports.Transform = require('./lib/_stream_transform.js'); +exports.PassThrough = require('./lib/_stream_passthrough.js'); + +},{"./lib/_stream_duplex.js":53,"./lib/_stream_passthrough.js":54,"./lib/_stream_readable.js":55,"./lib/_stream_transform.js":56,"./lib/_stream_writable.js":57,"stream":63}],61:[function(require,module,exports){ +module.exports = require("./lib/_stream_transform.js") + +},{"./lib/_stream_transform.js":56}],62:[function(require,module,exports){ +module.exports = require("./lib/_stream_writable.js") + +},{"./lib/_stream_writable.js":57}],63:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +module.exports = Stream; + +var EE = require('events').EventEmitter; +var inherits = require('inherits'); + +inherits(Stream, EE); +Stream.Readable = require('readable-stream/readable.js'); +Stream.Writable = require('readable-stream/writable.js'); +Stream.Duplex = require('readable-stream/duplex.js'); +Stream.Transform = require('readable-stream/transform.js'); +Stream.PassThrough = require('readable-stream/passthrough.js'); + +// Backwards-compat with node 0.4.x +Stream.Stream = Stream; + + + +// old-style streams. Note that the pipe method (the only relevant +// part of this class) is overridden in the Readable class. + +function Stream() { + EE.call(this); +} + +Stream.prototype.pipe = function(dest, options) { + var source = this; + + function ondata(chunk) { + if (dest.writable) { + if (false === dest.write(chunk) && source.pause) { + source.pause(); + } + } + } + + source.on('data', ondata); + + function ondrain() { + if (source.readable && source.resume) { + source.resume(); + } + } + + dest.on('drain', ondrain); + + // If the 'end' option is not supplied, dest.end() will be called when + // source gets the 'end' or 'close' events. Only dest.end() once. + if (!dest._isStdio && (!options || options.end !== false)) { + source.on('end', onend); + source.on('close', onclose); + } + + var didOnEnd = false; + function onend() { + if (didOnEnd) return; + didOnEnd = true; + + dest.end(); + } + + + function onclose() { + if (didOnEnd) return; + didOnEnd = true; + + if (typeof dest.destroy === 'function') dest.destroy(); + } + + // don't leave dangling pipes when there are errors. + function onerror(er) { + cleanup(); + if (EE.listenerCount(this, 'error') === 0) { + throw er; // Unhandled stream error in pipe. + } + } + + source.on('error', onerror); + dest.on('error', onerror); + + // remove all the event listeners that were added. + function cleanup() { + source.removeListener('data', ondata); + dest.removeListener('drain', ondrain); + + source.removeListener('end', onend); + source.removeListener('close', onclose); + + source.removeListener('error', onerror); + dest.removeListener('error', onerror); + + source.removeListener('end', cleanup); + source.removeListener('close', cleanup); + + dest.removeListener('close', cleanup); + } + + source.on('end', cleanup); + source.on('close', cleanup); + + dest.on('close', cleanup); + + dest.emit('pipe', source); + + // Allow for unix-like usage: A.pipe(B).pipe(C) + return dest; +}; + +},{"events":47,"inherits":48,"readable-stream/duplex.js":52,"readable-stream/passthrough.js":59,"readable-stream/readable.js":60,"readable-stream/transform.js":61,"readable-stream/writable.js":62}],64:[function(require,module,exports){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var Buffer = require('buffer').Buffer; + +var isBufferEncoding = Buffer.isEncoding + || function(encoding) { + switch (encoding && encoding.toLowerCase()) { + case 'hex': case 'utf8': case 'utf-8': case 'ascii': case 'binary': case 'base64': case 'ucs2': case 'ucs-2': case 'utf16le': case 'utf-16le': case 'raw': return true; + default: return false; + } + } + + +function assertEncoding(encoding) { + if (encoding && !isBufferEncoding(encoding)) { + throw new Error('Unknown encoding: ' + encoding); + } +} + +// StringDecoder provides an interface for efficiently splitting a series of +// buffers into a series of JS strings without breaking apart multi-byte +// characters. CESU-8 is handled as part of the UTF-8 encoding. +// +// @TODO Handling all encodings inside a single object makes it very difficult +// to reason about this code, so it should be split up in the future. +// @TODO There should be a utf8-strict encoding that rejects invalid UTF-8 code +// points as used by CESU-8. +var StringDecoder = exports.StringDecoder = function(encoding) { + this.encoding = (encoding || 'utf8').toLowerCase().replace(/[-_]/, ''); + assertEncoding(encoding); + switch (this.encoding) { + case 'utf8': + // CESU-8 represents each of Surrogate Pair by 3-bytes + this.surrogateSize = 3; + break; + case 'ucs2': + case 'utf16le': + // UTF-16 represents each of Surrogate Pair by 2-bytes + this.surrogateSize = 2; + this.detectIncompleteChar = utf16DetectIncompleteChar; + break; + case 'base64': + // Base-64 stores 3 bytes in 4 chars, and pads the remainder. + this.surrogateSize = 3; + this.detectIncompleteChar = base64DetectIncompleteChar; + break; + default: + this.write = passThroughWrite; + return; + } + + // Enough space to store all bytes of a single character. UTF-8 needs 4 + // bytes, but CESU-8 may require up to 6 (3 bytes per surrogate). + this.charBuffer = new Buffer(6); + // Number of bytes received for the current incomplete multi-byte character. + this.charReceived = 0; + // Number of bytes expected for the current incomplete multi-byte character. + this.charLength = 0; +}; + + +// write decodes the given buffer and returns it as JS string that is +// guaranteed to not contain any partial multi-byte characters. Any partial +// character found at the end of the buffer is buffered up, and will be +// returned when calling write again with the remaining bytes. +// +// Note: Converting a Buffer containing an orphan surrogate to a String +// currently works, but converting a String to a Buffer (via `new Buffer`, or +// Buffer#write) will replace incomplete surrogates with the unicode +// replacement character. See https://codereview.chromium.org/121173009/ . +StringDecoder.prototype.write = function(buffer) { + var charStr = ''; + // if our last write ended with an incomplete multibyte character + while (this.charLength) { + // determine how many remaining bytes this buffer has to offer for this char + var available = (buffer.length >= this.charLength - this.charReceived) ? + this.charLength - this.charReceived : + buffer.length; + + // add the new bytes to the char buffer + buffer.copy(this.charBuffer, this.charReceived, 0, available); + this.charReceived += available; + + if (this.charReceived < this.charLength) { + // still not enough chars in this buffer? wait for more ... + return ''; + } + + // remove bytes belonging to the current character from the buffer + buffer = buffer.slice(available, buffer.length); + + // get the character that was split + charStr = this.charBuffer.slice(0, this.charLength).toString(this.encoding); + + // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character + var charCode = charStr.charCodeAt(charStr.length - 1); + if (charCode >= 0xD800 && charCode <= 0xDBFF) { + this.charLength += this.surrogateSize; + charStr = ''; + continue; + } + this.charReceived = this.charLength = 0; + + // if there are no more bytes in this buffer, just emit our char + if (buffer.length === 0) { + return charStr; + } + break; + } + + // determine and set charLength / charReceived + this.detectIncompleteChar(buffer); + + var end = buffer.length; + if (this.charLength) { + // buffer the incomplete character bytes we got + buffer.copy(this.charBuffer, 0, buffer.length - this.charReceived, end); + end -= this.charReceived; + } + + charStr += buffer.toString(this.encoding, 0, end); + + var end = charStr.length - 1; + var charCode = charStr.charCodeAt(end); + // CESU-8: lead surrogate (D800-DBFF) is also the incomplete character + if (charCode >= 0xD800 && charCode <= 0xDBFF) { + var size = this.surrogateSize; + this.charLength += size; + this.charReceived += size; + this.charBuffer.copy(this.charBuffer, size, 0, size); + buffer.copy(this.charBuffer, 0, 0, size); + return charStr.substring(0, end); + } + + // or just emit the charStr + return charStr; +}; + +// detectIncompleteChar determines if there is an incomplete UTF-8 character at +// the end of the given buffer. If so, it sets this.charLength to the byte +// length that character, and sets this.charReceived to the number of bytes +// that are available for this character. +StringDecoder.prototype.detectIncompleteChar = function(buffer) { + // determine how many bytes we have to check at the end of this buffer + var i = (buffer.length >= 3) ? 3 : buffer.length; + + // Figure out if one of the last i bytes of our buffer announces an + // incomplete char. + for (; i > 0; i--) { + var c = buffer[buffer.length - i]; + + // See http://en.wikipedia.org/wiki/UTF-8#Description + + // 110XXXXX + if (i == 1 && c >> 5 == 0x06) { + this.charLength = 2; + break; + } + + // 1110XXXX + if (i <= 2 && c >> 4 == 0x0E) { + this.charLength = 3; + break; + } + + // 11110XXX + if (i <= 3 && c >> 3 == 0x1E) { + this.charLength = 4; + break; + } + } + this.charReceived = i; +}; + +StringDecoder.prototype.end = function(buffer) { + var res = ''; + if (buffer && buffer.length) + res = this.write(buffer); + + if (this.charReceived) { + var cr = this.charReceived; + var buf = this.charBuffer; + var enc = this.encoding; + res += buf.slice(0, cr).toString(enc); + } + + return res; +}; + +function passThroughWrite(buffer) { + return buffer.toString(this.encoding); +} + +function utf16DetectIncompleteChar(buffer) { + this.charReceived = buffer.length % 2; + this.charLength = this.charReceived ? 2 : 0; +} + +function base64DetectIncompleteChar(buffer) { + this.charReceived = buffer.length % 3; + this.charLength = this.charReceived ? 3 : 0; +} + +},{"buffer":43}],65:[function(require,module,exports){ +module.exports = function isBuffer(arg) { + return arg && typeof arg === 'object' + && typeof arg.copy === 'function' + && typeof arg.fill === 'function' + && typeof arg.readUInt8 === 'function'; +} +},{}],66:[function(require,module,exports){ +(function (process,global){ +// Copyright Joyent, Inc. and other Node contributors. +// +// Permission is hereby granted, free of charge, to any person obtaining a +// copy of this software and associated documentation files (the +// "Software"), to deal in the Software without restriction, including +// without limitation the rights to use, copy, modify, merge, publish, +// distribute, sublicense, and/or sell copies of the Software, and to permit +// persons to whom the Software is furnished to do so, subject to the +// following conditions: +// +// The above copyright notice and this permission notice shall be included +// in all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN +// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, +// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE +// USE OR OTHER DEALINGS IN THE SOFTWARE. + +var formatRegExp = /%[sdj%]/g; +exports.format = function(f) { + if (!isString(f)) { + var objects = []; + for (var i = 0; i < arguments.length; i++) { + objects.push(inspect(arguments[i])); + } + return objects.join(' '); + } + + var i = 1; + var args = arguments; + var len = args.length; + var str = String(f).replace(formatRegExp, function(x) { + if (x === '%%') return '%'; + if (i >= len) return x; + switch (x) { + case '%s': return String(args[i++]); + case '%d': return Number(args[i++]); + case '%j': + try { + return JSON.stringify(args[i++]); + } catch (_) { + return '[Circular]'; + } + default: + return x; + } + }); + for (var x = args[i]; i < len; x = args[++i]) { + if (isNull(x) || !isObject(x)) { + str += ' ' + x; + } else { + str += ' ' + inspect(x); + } + } + return str; +}; + + +// Mark that a method should not be used. +// Returns a modified function which warns once by default. +// If --no-deprecation is set, then it is a no-op. +exports.deprecate = function(fn, msg) { + // Allow for deprecating things in the process of starting up. + if (isUndefined(global.process)) { + return function() { + return exports.deprecate(fn, msg).apply(this, arguments); + }; + } + + if (process.noDeprecation === true) { + return fn; + } + + var warned = false; + function deprecated() { + if (!warned) { + if (process.throwDeprecation) { + throw new Error(msg); + } else if (process.traceDeprecation) { + console.trace(msg); + } else { + console.error(msg); + } + warned = true; + } + return fn.apply(this, arguments); + } + + return deprecated; +}; + + +var debugs = {}; +var debugEnviron; +exports.debuglog = function(set) { + if (isUndefined(debugEnviron)) + debugEnviron = process.env.NODE_DEBUG || ''; + set = set.toUpperCase(); + if (!debugs[set]) { + if (new RegExp('\\b' + set + '\\b', 'i').test(debugEnviron)) { + var pid = process.pid; + debugs[set] = function() { + var msg = exports.format.apply(exports, arguments); + console.error('%s %d: %s', set, pid, msg); + }; + } else { + debugs[set] = function() {}; + } + } + return debugs[set]; +}; + + +/** + * Echos the value of a value. Trys to print the value out + * in the best way possible given the different types. + * + * @param {Object} obj The object to print out. + * @param {Object} opts Optional options object that alters the output. + */ +/* legacy: obj, showHidden, depth, colors*/ +function inspect(obj, opts) { + // default options + var ctx = { + seen: [], + stylize: stylizeNoColor + }; + // legacy... + if (arguments.length >= 3) ctx.depth = arguments[2]; + if (arguments.length >= 4) ctx.colors = arguments[3]; + if (isBoolean(opts)) { + // legacy... + ctx.showHidden = opts; + } else if (opts) { + // got an "options" object + exports._extend(ctx, opts); + } + // set default options + if (isUndefined(ctx.showHidden)) ctx.showHidden = false; + if (isUndefined(ctx.depth)) ctx.depth = 2; + if (isUndefined(ctx.colors)) ctx.colors = false; + if (isUndefined(ctx.customInspect)) ctx.customInspect = true; + if (ctx.colors) ctx.stylize = stylizeWithColor; + return formatValue(ctx, obj, ctx.depth); +} +exports.inspect = inspect; + + +// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics +inspect.colors = { + 'bold' : [1, 22], + 'italic' : [3, 23], + 'underline' : [4, 24], + 'inverse' : [7, 27], + 'white' : [37, 39], + 'grey' : [90, 39], + 'black' : [30, 39], + 'blue' : [34, 39], + 'cyan' : [36, 39], + 'green' : [32, 39], + 'magenta' : [35, 39], + 'red' : [31, 39], + 'yellow' : [33, 39] +}; + +// Don't use 'blue' not visible on cmd.exe +inspect.styles = { + 'special': 'cyan', + 'number': 'yellow', + 'boolean': 'yellow', + 'undefined': 'grey', + 'null': 'bold', + 'string': 'green', + 'date': 'magenta', + // "name": intentionally not styling + 'regexp': 'red' +}; + + +function stylizeWithColor(str, styleType) { + var style = inspect.styles[styleType]; + + if (style) { + return '\u001b[' + inspect.colors[style][0] + 'm' + str + + '\u001b[' + inspect.colors[style][1] + 'm'; + } else { + return str; + } +} + + +function stylizeNoColor(str, styleType) { + return str; +} + + +function arrayToHash(array) { + var hash = {}; + + array.forEach(function(val, idx) { + hash[val] = true; + }); + + return hash; +} + + +function formatValue(ctx, value, recurseTimes) { + // Provide a hook for user-specified inspect functions. + // Check that value is an object with an inspect function on it + if (ctx.customInspect && + value && + isFunction(value.inspect) && + // Filter out the util module, it's inspect function is special + value.inspect !== exports.inspect && + // Also filter out any prototype objects using the circular check. + !(value.constructor && value.constructor.prototype === value)) { + var ret = value.inspect(recurseTimes, ctx); + if (!isString(ret)) { + ret = formatValue(ctx, ret, recurseTimes); + } + return ret; + } + + // Primitive types cannot have properties + var primitive = formatPrimitive(ctx, value); + if (primitive) { + return primitive; + } + + // Look up the keys of the object. + var keys = Object.keys(value); + var visibleKeys = arrayToHash(keys); + + if (ctx.showHidden) { + keys = Object.getOwnPropertyNames(value); + } + + // IE doesn't make error fields non-enumerable + // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx + if (isError(value) + && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) { + return formatError(value); + } + + // Some type of object without properties can be shortcutted. + if (keys.length === 0) { + if (isFunction(value)) { + var name = value.name ? ': ' + value.name : ''; + return ctx.stylize('[Function' + name + ']', 'special'); + } + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } + if (isDate(value)) { + return ctx.stylize(Date.prototype.toString.call(value), 'date'); + } + if (isError(value)) { + return formatError(value); + } + } + + var base = '', array = false, braces = ['{', '}']; + + // Make Array say that they are Array + if (isArray(value)) { + array = true; + braces = ['[', ']']; + } + + // Make functions say that they are functions + if (isFunction(value)) { + var n = value.name ? ': ' + value.name : ''; + base = ' [Function' + n + ']'; + } + + // Make RegExps say that they are RegExps + if (isRegExp(value)) { + base = ' ' + RegExp.prototype.toString.call(value); + } + + // Make dates with properties first say the date + if (isDate(value)) { + base = ' ' + Date.prototype.toUTCString.call(value); + } + + // Make error with message first say the error + if (isError(value)) { + base = ' ' + formatError(value); + } + + if (keys.length === 0 && (!array || value.length == 0)) { + return braces[0] + base + braces[1]; + } + + if (recurseTimes < 0) { + if (isRegExp(value)) { + return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp'); + } else { + return ctx.stylize('[Object]', 'special'); + } + } + + ctx.seen.push(value); + + var output; + if (array) { + output = formatArray(ctx, value, recurseTimes, visibleKeys, keys); + } else { + output = keys.map(function(key) { + return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array); + }); + } + + ctx.seen.pop(); + + return reduceToSingleString(output, base, braces); +} + + +function formatPrimitive(ctx, value) { + if (isUndefined(value)) + return ctx.stylize('undefined', 'undefined'); + if (isString(value)) { + var simple = '\'' + JSON.stringify(value).replace(/^"|"$/g, '') + .replace(/'/g, "\\'") + .replace(/\\"/g, '"') + '\''; + return ctx.stylize(simple, 'string'); + } + if (isNumber(value)) + return ctx.stylize('' + value, 'number'); + if (isBoolean(value)) + return ctx.stylize('' + value, 'boolean'); + // For some reason typeof null is "object", so special case here. + if (isNull(value)) + return ctx.stylize('null', 'null'); +} + + +function formatError(value) { + return '[' + Error.prototype.toString.call(value) + ']'; +} + + +function formatArray(ctx, value, recurseTimes, visibleKeys, keys) { + var output = []; + for (var i = 0, l = value.length; i < l; ++i) { + if (hasOwnProperty(value, String(i))) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + String(i), true)); + } else { + output.push(''); + } + } + keys.forEach(function(key) { + if (!key.match(/^\d+$/)) { + output.push(formatProperty(ctx, value, recurseTimes, visibleKeys, + key, true)); + } + }); + return output; +} + + +function formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) { + var name, str, desc; + desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] }; + if (desc.get) { + if (desc.set) { + str = ctx.stylize('[Getter/Setter]', 'special'); + } else { + str = ctx.stylize('[Getter]', 'special'); + } + } else { + if (desc.set) { + str = ctx.stylize('[Setter]', 'special'); + } + } + if (!hasOwnProperty(visibleKeys, key)) { + name = '[' + key + ']'; + } + if (!str) { + if (ctx.seen.indexOf(desc.value) < 0) { + if (isNull(recurseTimes)) { + str = formatValue(ctx, desc.value, null); + } else { + str = formatValue(ctx, desc.value, recurseTimes - 1); + } + if (str.indexOf('\n') > -1) { + if (array) { + str = str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n').substr(2); + } else { + str = '\n' + str.split('\n').map(function(line) { + return ' ' + line; + }).join('\n'); + } + } + } else { + str = ctx.stylize('[Circular]', 'special'); + } + } + if (isUndefined(name)) { + if (array && key.match(/^\d+$/)) { + return str; + } + name = JSON.stringify('' + key); + if (name.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)) { + name = name.substr(1, name.length - 2); + name = ctx.stylize(name, 'name'); + } else { + name = name.replace(/'/g, "\\'") + .replace(/\\"/g, '"') + .replace(/(^"|"$)/g, "'"); + name = ctx.stylize(name, 'string'); + } + } + + return name + ': ' + str; +} + + +function reduceToSingleString(output, base, braces) { + var numLinesEst = 0; + var length = output.reduce(function(prev, cur) { + numLinesEst++; + if (cur.indexOf('\n') >= 0) numLinesEst++; + return prev + cur.replace(/\u001b\[\d\d?m/g, '').length + 1; + }, 0); + + if (length > 60) { + return braces[0] + + (base === '' ? '' : base + '\n ') + + ' ' + + output.join(',\n ') + + ' ' + + braces[1]; + } + + return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1]; +} + + +// NOTE: These type checking functions intentionally don't use `instanceof` +// because it is fragile and can be easily faked with `Object.create()`. +function isArray(ar) { + return Array.isArray(ar); +} +exports.isArray = isArray; + +function isBoolean(arg) { + return typeof arg === 'boolean'; +} +exports.isBoolean = isBoolean; + +function isNull(arg) { + return arg === null; +} +exports.isNull = isNull; + +function isNullOrUndefined(arg) { + return arg == null; +} +exports.isNullOrUndefined = isNullOrUndefined; + +function isNumber(arg) { + return typeof arg === 'number'; +} +exports.isNumber = isNumber; + +function isString(arg) { + return typeof arg === 'string'; +} +exports.isString = isString; + +function isSymbol(arg) { + return typeof arg === 'symbol'; +} +exports.isSymbol = isSymbol; + +function isUndefined(arg) { + return arg === void 0; +} +exports.isUndefined = isUndefined; + +function isRegExp(re) { + return isObject(re) && objectToString(re) === '[object RegExp]'; +} +exports.isRegExp = isRegExp; + +function isObject(arg) { + return typeof arg === 'object' && arg !== null; +} +exports.isObject = isObject; + +function isDate(d) { + return isObject(d) && objectToString(d) === '[object Date]'; +} +exports.isDate = isDate; + +function isError(e) { + return isObject(e) && + (objectToString(e) === '[object Error]' || e instanceof Error); +} +exports.isError = isError; + +function isFunction(arg) { + return typeof arg === 'function'; +} +exports.isFunction = isFunction; + +function isPrimitive(arg) { + return arg === null || + typeof arg === 'boolean' || + typeof arg === 'number' || + typeof arg === 'string' || + typeof arg === 'symbol' || // ES6 symbol + typeof arg === 'undefined'; +} +exports.isPrimitive = isPrimitive; + +exports.isBuffer = require('./support/isBuffer'); + +function objectToString(o) { + return Object.prototype.toString.call(o); +} + + +function pad(n) { + return n < 10 ? '0' + n.toString(10) : n.toString(10); +} + + +var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', + 'Oct', 'Nov', 'Dec']; + +// 26 Feb 16:19:34 +function timestamp() { + var d = new Date(); + var time = [pad(d.getHours()), + pad(d.getMinutes()), + pad(d.getSeconds())].join(':'); + return [d.getDate(), months[d.getMonth()], time].join(' '); +} + + +// log is just a thin wrapper to console.log that prepends a timestamp +exports.log = function() { + console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments)); +}; + + +/** + * Inherit the prototype methods from one constructor into another. + * + * The Function.prototype.inherits from lang.js rewritten as a standalone + * function (not on Function.prototype). NOTE: If this file is to be loaded + * during bootstrapping this function needs to be rewritten using some native + * functions as prototype setup using normal JavaScript does not work as + * expected during bootstrapping (see mirror.js in r114903). + * + * @param {function} ctor Constructor function which needs to inherit the + * prototype. + * @param {function} superCtor Constructor function to inherit prototype from. + */ +exports.inherits = require('inherits'); + +exports._extend = function(origin, add) { + // Don't do anything if add isn't an object + if (!add || !isObject(add)) return origin; + + var keys = Object.keys(add); + var i = keys.length; + while (i--) { + origin[keys[i]] = add[keys[i]]; + } + return origin; +}; + +function hasOwnProperty(obj, prop) { + return Object.prototype.hasOwnProperty.call(obj, prop); +} + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"./support/isBuffer":65,"_process":51,"inherits":48}],67:[function(require,module,exports){ +/* See LICENSE file for terms of use */ + +/* + * Text diff implementation. + * + * This library supports the following APIS: + * JsDiff.diffChars: Character by character diff + * JsDiff.diffWords: Word (as defined by \b regex) diff which ignores whitespace + * JsDiff.diffLines: Line based diff + * + * JsDiff.diffCss: Diff targeted at CSS content + * + * These methods are based on the implementation proposed in + * "An O(ND) Difference Algorithm and its Variations" (Myers, 1986). + * http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.4.6927 + */ +(function(global, undefined) { + var objectPrototypeToString = Object.prototype.toString; + + /*istanbul ignore next*/ + function map(arr, mapper, that) { + if (Array.prototype.map) { + return Array.prototype.map.call(arr, mapper, that); + } + + var other = new Array(arr.length); + + for (var i = 0, n = arr.length; i < n; i++) { + other[i] = mapper.call(that, arr[i], i, arr); + } + return other; + } + function clonePath(path) { + return { newPos: path.newPos, components: path.components.slice(0) }; + } + function removeEmpty(array) { + var ret = []; + for (var i = 0; i < array.length; i++) { + if (array[i]) { + ret.push(array[i]); + } + } + return ret; + } + function escapeHTML(s) { + var n = s; + n = n.replace(/&/g, '&'); + n = n.replace(//g, '>'); + n = n.replace(/"/g, '"'); + + return n; + } + + // This function handles the presence of circular references by bailing out when encountering an + // object that is already on the "stack" of items being processed. + function canonicalize(obj, stack, replacementStack) { + stack = stack || []; + replacementStack = replacementStack || []; + + var i; + + for (i = 0; i < stack.length; i += 1) { + if (stack[i] === obj) { + return replacementStack[i]; + } + } + + var canonicalizedObj; + + if ('[object Array]' === objectPrototypeToString.call(obj)) { + stack.push(obj); + canonicalizedObj = new Array(obj.length); + replacementStack.push(canonicalizedObj); + for (i = 0; i < obj.length; i += 1) { + canonicalizedObj[i] = canonicalize(obj[i], stack, replacementStack); + } + stack.pop(); + replacementStack.pop(); + } else if (typeof obj === 'object' && obj !== null) { + stack.push(obj); + canonicalizedObj = {}; + replacementStack.push(canonicalizedObj); + var sortedKeys = [], + key; + for (key in obj) { + sortedKeys.push(key); + } + sortedKeys.sort(); + for (i = 0; i < sortedKeys.length; i += 1) { + key = sortedKeys[i]; + canonicalizedObj[key] = canonicalize(obj[key], stack, replacementStack); + } + stack.pop(); + replacementStack.pop(); + } else { + canonicalizedObj = obj; + } + return canonicalizedObj; + } + + function buildValues(components, newString, oldString, useLongestToken) { + var componentPos = 0, + componentLen = components.length, + newPos = 0, + oldPos = 0; + + for (; componentPos < componentLen; componentPos++) { + var component = components[componentPos]; + if (!component.removed) { + if (!component.added && useLongestToken) { + var value = newString.slice(newPos, newPos + component.count); + value = map(value, function(value, i) { + var oldValue = oldString[oldPos + i]; + return oldValue.length > value.length ? oldValue : value; + }); + + component.value = value.join(''); + } else { + component.value = newString.slice(newPos, newPos + component.count).join(''); + } + newPos += component.count; + + // Common case + if (!component.added) { + oldPos += component.count; + } + } else { + component.value = oldString.slice(oldPos, oldPos + component.count).join(''); + oldPos += component.count; + + // Reverse add and remove so removes are output first to match common convention + // The diffing algorithm is tied to add then remove output and this is the simplest + // route to get the desired output with minimal overhead. + if (componentPos && components[componentPos - 1].added) { + var tmp = components[componentPos - 1]; + components[componentPos - 1] = components[componentPos]; + components[componentPos] = tmp; + } + } + } + + return components; + } + + function Diff(ignoreWhitespace) { + this.ignoreWhitespace = ignoreWhitespace; + } + Diff.prototype = { + diff: function(oldString, newString, callback) { + var self = this; + + function done(value) { + if (callback) { + setTimeout(function() { callback(undefined, value); }, 0); + return true; + } else { + return value; + } + } + + // Handle the identity case (this is due to unrolling editLength == 0 + if (newString === oldString) { + return done([{ value: newString }]); + } + if (!newString) { + return done([{ value: oldString, removed: true }]); + } + if (!oldString) { + return done([{ value: newString, added: true }]); + } + + newString = this.tokenize(newString); + oldString = this.tokenize(oldString); + + var newLen = newString.length, oldLen = oldString.length; + var editLength = 1; + var maxEditLength = newLen + oldLen; + var bestPath = [{ newPos: -1, components: [] }]; + + // Seed editLength = 0, i.e. the content starts with the same values + var oldPos = this.extractCommon(bestPath[0], newString, oldString, 0); + if (bestPath[0].newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + // Identity per the equality and tokenizer + return done([{value: newString.join('')}]); + } + + // Main worker method. checks all permutations of a given edit length for acceptance. + function execEditLength() { + for (var diagonalPath = -1 * editLength; diagonalPath <= editLength; diagonalPath += 2) { + var basePath; + var addPath = bestPath[diagonalPath - 1], + removePath = bestPath[diagonalPath + 1], + oldPos = (removePath ? removePath.newPos : 0) - diagonalPath; + if (addPath) { + // No one else is going to attempt to use this value, clear it + bestPath[diagonalPath - 1] = undefined; + } + + var canAdd = addPath && addPath.newPos + 1 < newLen, + canRemove = removePath && 0 <= oldPos && oldPos < oldLen; + if (!canAdd && !canRemove) { + // If this path is a terminal then prune + bestPath[diagonalPath] = undefined; + continue; + } + + // Select the diagonal that we want to branch from. We select the prior + // path whose position in the new string is the farthest from the origin + // and does not pass the bounds of the diff graph + if (!canAdd || (canRemove && addPath.newPos < removePath.newPos)) { + basePath = clonePath(removePath); + self.pushComponent(basePath.components, undefined, true); + } else { + basePath = addPath; // No need to clone, we've pulled it from the list + basePath.newPos++; + self.pushComponent(basePath.components, true, undefined); + } + + oldPos = self.extractCommon(basePath, newString, oldString, diagonalPath); + + // If we have hit the end of both strings, then we are done + if (basePath.newPos + 1 >= newLen && oldPos + 1 >= oldLen) { + return done(buildValues(basePath.components, newString, oldString, self.useLongestToken)); + } else { + // Otherwise track this path as a potential candidate and continue. + bestPath[diagonalPath] = basePath; + } + } + + editLength++; + } + + // Performs the length of edit iteration. Is a bit fugly as this has to support the + // sync and async mode which is never fun. Loops over execEditLength until a value + // is produced. + if (callback) { + (function exec() { + setTimeout(function() { + // This should not happen, but we want to be safe. + /*istanbul ignore next */ + if (editLength > maxEditLength) { + return callback(); + } + + if (!execEditLength()) { + exec(); + } + }, 0); + }()); + } else { + while (editLength <= maxEditLength) { + var ret = execEditLength(); + if (ret) { + return ret; + } + } + } + }, + + pushComponent: function(components, added, removed) { + var last = components[components.length - 1]; + if (last && last.added === added && last.removed === removed) { + // We need to clone here as the component clone operation is just + // as shallow array clone + components[components.length - 1] = {count: last.count + 1, added: added, removed: removed }; + } else { + components.push({count: 1, added: added, removed: removed }); + } + }, + extractCommon: function(basePath, newString, oldString, diagonalPath) { + var newLen = newString.length, + oldLen = oldString.length, + newPos = basePath.newPos, + oldPos = newPos - diagonalPath, + + commonCount = 0; + while (newPos + 1 < newLen && oldPos + 1 < oldLen && this.equals(newString[newPos + 1], oldString[oldPos + 1])) { + newPos++; + oldPos++; + commonCount++; + } + + if (commonCount) { + basePath.components.push({count: commonCount}); + } + + basePath.newPos = newPos; + return oldPos; + }, + + equals: function(left, right) { + var reWhitespace = /\S/; + return left === right || (this.ignoreWhitespace && !reWhitespace.test(left) && !reWhitespace.test(right)); + }, + tokenize: function(value) { + return value.split(''); + } + }; + + var CharDiff = new Diff(); + + var WordDiff = new Diff(true); + var WordWithSpaceDiff = new Diff(); + WordDiff.tokenize = WordWithSpaceDiff.tokenize = function(value) { + return removeEmpty(value.split(/(\s+|\b)/)); + }; + + var CssDiff = new Diff(true); + CssDiff.tokenize = function(value) { + return removeEmpty(value.split(/([{}:;,]|\s+)/)); + }; + + var LineDiff = new Diff(); + + var TrimmedLineDiff = new Diff(); + TrimmedLineDiff.ignoreTrim = true; + + LineDiff.tokenize = TrimmedLineDiff.tokenize = function(value) { + var retLines = [], + lines = value.split(/^/m); + for (var i = 0; i < lines.length; i++) { + var line = lines[i], + lastLine = lines[i - 1], + lastLineLastChar = lastLine && lastLine[lastLine.length - 1]; + + // Merge lines that may contain windows new lines + if (line === '\n' && lastLineLastChar === '\r') { + retLines[retLines.length - 1] = retLines[retLines.length - 1].slice(0, -1) + '\r\n'; + } else { + if (this.ignoreTrim) { + line = line.trim(); + // add a newline unless this is the last line. + if (i < lines.length - 1) { + line += '\n'; + } + } + retLines.push(line); + } + } + + return retLines; + }; + + var PatchDiff = new Diff(); + PatchDiff.tokenize = function(value) { + var ret = [], + linesAndNewlines = value.split(/(\n|\r\n)/); + + // Ignore the final empty token that occurs if the string ends with a new line + if (!linesAndNewlines[linesAndNewlines.length - 1]) { + linesAndNewlines.pop(); + } + + // Merge the content and line separators into single tokens + for (var i = 0; i < linesAndNewlines.length; i++) { + var line = linesAndNewlines[i]; + + if (i % 2) { + ret[ret.length - 1] += line; + } else { + ret.push(line); + } + } + return ret; + }; + + var SentenceDiff = new Diff(); + SentenceDiff.tokenize = function(value) { + return removeEmpty(value.split(/(\S.+?[.!?])(?=\s+|$)/)); + }; + + var JsonDiff = new Diff(); + // Discriminate between two lines of pretty-printed, serialized JSON where one of them has a + // dangling comma and the other doesn't. Turns out including the dangling comma yields the nicest output: + JsonDiff.useLongestToken = true; + JsonDiff.tokenize = LineDiff.tokenize; + JsonDiff.equals = function(left, right) { + return LineDiff.equals(left.replace(/,([\r\n])/g, '$1'), right.replace(/,([\r\n])/g, '$1')); + }; + + var JsDiff = { + Diff: Diff, + + diffChars: function(oldStr, newStr, callback) { return CharDiff.diff(oldStr, newStr, callback); }, + diffWords: function(oldStr, newStr, callback) { return WordDiff.diff(oldStr, newStr, callback); }, + diffWordsWithSpace: function(oldStr, newStr, callback) { return WordWithSpaceDiff.diff(oldStr, newStr, callback); }, + diffLines: function(oldStr, newStr, callback) { return LineDiff.diff(oldStr, newStr, callback); }, + diffTrimmedLines: function(oldStr, newStr, callback) { return TrimmedLineDiff.diff(oldStr, newStr, callback); }, + + diffSentences: function(oldStr, newStr, callback) { return SentenceDiff.diff(oldStr, newStr, callback); }, + + diffCss: function(oldStr, newStr, callback) { return CssDiff.diff(oldStr, newStr, callback); }, + diffJson: function(oldObj, newObj, callback) { + return JsonDiff.diff( + typeof oldObj === 'string' ? oldObj : JSON.stringify(canonicalize(oldObj), undefined, ' '), + typeof newObj === 'string' ? newObj : JSON.stringify(canonicalize(newObj), undefined, ' '), + callback + ); + }, + + createTwoFilesPatch: function(oldFileName, newFileName, oldStr, newStr, oldHeader, newHeader) { + var ret = []; + + if (oldFileName == newFileName) { + ret.push('Index: ' + oldFileName); + } + ret.push('==================================================================='); + ret.push('--- ' + oldFileName + (typeof oldHeader === 'undefined' ? '' : '\t' + oldHeader)); + ret.push('+++ ' + newFileName + (typeof newHeader === 'undefined' ? '' : '\t' + newHeader)); + + var diff = PatchDiff.diff(oldStr, newStr); + diff.push({value: '', lines: []}); // Append an empty value to make cleanup easier + + // Formats a given set of lines for printing as context lines in a patch + function contextLines(lines) { + return map(lines, function(entry) { return ' ' + entry; }); + } + + // Outputs the no newline at end of file warning if needed + function eofNL(curRange, i, current) { + var last = diff[diff.length - 2], + isLast = i === diff.length - 2, + isLastOfType = i === diff.length - 3 && current.added !== last.added; + + // Figure out if this is the last line for the given file and missing NL + if (!(/\n$/.test(current.value)) && (isLast || isLastOfType)) { + curRange.push('\\ No newline at end of file'); + } + } + + var oldRangeStart = 0, newRangeStart = 0, curRange = [], + oldLine = 1, newLine = 1; + for (var i = 0; i < diff.length; i++) { + var current = diff[i], + lines = current.lines || current.value.replace(/\n$/, '').split('\n'); + current.lines = lines; + + if (current.added || current.removed) { + // If we have previous context, start with that + if (!oldRangeStart) { + var prev = diff[i - 1]; + oldRangeStart = oldLine; + newRangeStart = newLine; + + if (prev) { + curRange = contextLines(prev.lines.slice(-4)); + oldRangeStart -= curRange.length; + newRangeStart -= curRange.length; + } + } + + // Output our changes + curRange.push.apply(curRange, map(lines, function(entry) { + return (current.added ? '+' : '-') + entry; + })); + eofNL(curRange, i, current); + + // Track the updated file position + if (current.added) { + newLine += lines.length; + } else { + oldLine += lines.length; + } + } else { + // Identical context lines. Track line changes + if (oldRangeStart) { + // Close out any changes that have been output (or join overlapping) + if (lines.length <= 8 && i < diff.length - 2) { + // Overlapping + curRange.push.apply(curRange, contextLines(lines)); + } else { + // end the range and output + var contextSize = Math.min(lines.length, 4); + ret.push( + '@@ -' + oldRangeStart + ',' + (oldLine - oldRangeStart + contextSize) + + ' +' + newRangeStart + ',' + (newLine - newRangeStart + contextSize) + + ' @@'); + ret.push.apply(ret, curRange); + ret.push.apply(ret, contextLines(lines.slice(0, contextSize))); + if (lines.length <= 4) { + eofNL(ret, i, current); + } + + oldRangeStart = 0; + newRangeStart = 0; + curRange = []; + } + } + oldLine += lines.length; + newLine += lines.length; + } + } + + return ret.join('\n') + '\n'; + }, + + createPatch: function(fileName, oldStr, newStr, oldHeader, newHeader) { + return JsDiff.createTwoFilesPatch(fileName, fileName, oldStr, newStr, oldHeader, newHeader); + }, + + applyPatch: function(oldStr, uniDiff) { + var diffstr = uniDiff.split('\n'), + hunks = [], + i = 0, + remEOFNL = false, + addEOFNL = false; + + // Skip to the first change hunk + while (i < diffstr.length && !(/^@@/.test(diffstr[i]))) { + i++; + } + + // Parse the unified diff + for (; i < diffstr.length; i++) { + if (diffstr[i][0] === '@') { + var chnukHeader = diffstr[i].split(/@@ -(\d+),(\d+) \+(\d+),(\d+) @@/); + hunks.unshift({ + start: chnukHeader[3], + oldlength: +chnukHeader[2], + removed: [], + newlength: chnukHeader[4], + added: [] + }); + } else if (diffstr[i][0] === '+') { + hunks[0].added.push(diffstr[i].substr(1)); + } else if (diffstr[i][0] === '-') { + hunks[0].removed.push(diffstr[i].substr(1)); + } else if (diffstr[i][0] === ' ') { + hunks[0].added.push(diffstr[i].substr(1)); + hunks[0].removed.push(diffstr[i].substr(1)); + } else if (diffstr[i][0] === '\\') { + if (diffstr[i - 1][0] === '+') { + remEOFNL = true; + } else if (diffstr[i - 1][0] === '-') { + addEOFNL = true; + } + } + } + + // Apply the diff to the input + var lines = oldStr.split('\n'); + for (i = hunks.length - 1; i >= 0; i--) { + var hunk = hunks[i]; + // Sanity check the input string. Bail if we don't match. + for (var j = 0; j < hunk.oldlength; j++) { + if (lines[hunk.start - 1 + j] !== hunk.removed[j]) { + return false; + } + } + Array.prototype.splice.apply(lines, [hunk.start - 1, hunk.oldlength].concat(hunk.added)); + } + + // Handle EOFNL insertion/removal + if (remEOFNL) { + while (!lines[lines.length - 1]) { + lines.pop(); + } + } else if (addEOFNL) { + lines.push(''); + } + return lines.join('\n'); + }, + + convertChangesToXML: function(changes) { + var ret = []; + for (var i = 0; i < changes.length; i++) { + var change = changes[i]; + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + + ret.push(escapeHTML(change.value)); + + if (change.added) { + ret.push(''); + } else if (change.removed) { + ret.push(''); + } + } + return ret.join(''); + }, + + // See: http://code.google.com/p/google-diff-match-patch/wiki/API + convertChangesToDMP: function(changes) { + var ret = [], + change, + operation; + for (var i = 0; i < changes.length; i++) { + change = changes[i]; + if (change.added) { + operation = 1; + } else if (change.removed) { + operation = -1; + } else { + operation = 0; + } + + ret.push([operation, change.value]); + } + return ret; + }, + + canonicalize: canonicalize + }; + + /*istanbul ignore next */ + /*global module */ + if (typeof module !== 'undefined' && module.exports) { + module.exports = JsDiff; + } else if (typeof define === 'function' && define.amd) { + /*global define */ + define([], function() { return JsDiff; }); + } else if (typeof global.JsDiff === 'undefined') { + global.JsDiff = JsDiff; + } +}(this)); + +},{}],68:[function(require,module,exports){ +'use strict'; + +var matchOperatorsRe = /[|\\{}()[\]^$+*?.]/g; + +module.exports = function (str) { + if (typeof str !== 'string') { + throw new TypeError('Expected a string'); + } + + return str.replace(matchOperatorsRe, '\\$&'); +}; + +},{}],69:[function(require,module,exports){ +(function (process){ +// Growl - Copyright TJ Holowaychuk (MIT Licensed) + +/** + * Module dependencies. + */ + +var exec = require('child_process').exec + , fs = require('fs') + , path = require('path') + , exists = fs.existsSync || path.existsSync + , os = require('os') + , quote = JSON.stringify + , cmd; + +function which(name) { + var paths = process.env.PATH.split(':'); + var loc; + + for (var i = 0, len = paths.length; i < len; ++i) { + loc = path.join(paths[i], name); + if (exists(loc)) return loc; + } +} + +switch(os.type()) { + case 'Darwin': + if (which('terminal-notifier')) { + cmd = { + type: "Darwin-NotificationCenter" + , pkg: "terminal-notifier" + , msg: '-message' + , title: '-title' + , subtitle: '-subtitle' + , priority: { + cmd: '-execute' + , range: [] + } + }; + } else { + cmd = { + type: "Darwin-Growl" + , pkg: "growlnotify" + , msg: '-m' + , sticky: '--sticky' + , priority: { + cmd: '--priority' + , range: [ + -2 + , -1 + , 0 + , 1 + , 2 + , "Very Low" + , "Moderate" + , "Normal" + , "High" + , "Emergency" + ] + } + }; + } + break; + case 'Linux': + cmd = { + type: "Linux" + , pkg: "notify-send" + , msg: '' + , sticky: '-t 0' + , icon: '-i' + , priority: { + cmd: '-u' + , range: [ + "low" + , "normal" + , "critical" + ] + } + }; + break; + case 'Windows_NT': + cmd = { + type: "Windows" + , pkg: "growlnotify" + , msg: '' + , sticky: '/s:true' + , title: '/t:' + , icon: '/i:' + , priority: { + cmd: '/p:' + , range: [ + -2 + , -1 + , 0 + , 1 + , 2 + ] + } + }; + break; +} + +/** + * Expose `growl`. + */ + +exports = module.exports = growl; + +/** + * Node-growl version. + */ + +exports.version = '1.4.1' + +/** + * Send growl notification _msg_ with _options_. + * + * Options: + * + * - title Notification title + * - sticky Make the notification stick (defaults to false) + * - priority Specify an int or named key (default is 0) + * - name Application name (defaults to growlnotify) + * - image + * - path to an icon sets --iconpath + * - path to an image sets --image + * - capitalized word sets --appIcon + * - filename uses extname as --icon + * - otherwise treated as --icon + * + * Examples: + * + * growl('New email') + * growl('5 new emails', { title: 'Thunderbird' }) + * growl('Email sent', function(){ + * // ... notification sent + * }) + * + * @param {string} msg + * @param {object} options + * @param {function} fn + * @api public + */ + +function growl(msg, options, fn) { + var image + , args + , options = options || {} + , fn = fn || function(){}; + + // noop + if (!cmd) return fn(new Error('growl not supported on this platform')); + args = [cmd.pkg]; + + // image + if (image = options.image) { + switch(cmd.type) { + case 'Darwin-Growl': + var flag, ext = path.extname(image).substr(1) + flag = flag || ext == 'icns' && 'iconpath' + flag = flag || /^[A-Z]/.test(image) && 'appIcon' + flag = flag || /^png|gif|jpe?g$/.test(ext) && 'image' + flag = flag || ext && (image = ext) && 'icon' + flag = flag || 'icon' + args.push('--' + flag, quote(image)) + break; + case 'Linux': + args.push(cmd.icon, quote(image)); + // libnotify defaults to sticky, set a hint for transient notifications + if (!options.sticky) args.push('--hint=int:transient:1'); + break; + case 'Windows': + args.push(cmd.icon + quote(image)); + break; + } + } + + // sticky + if (options.sticky) args.push(cmd.sticky); + + // priority + if (options.priority) { + var priority = options.priority + ''; + var checkindexOf = cmd.priority.range.indexOf(priority); + if (~cmd.priority.range.indexOf(priority)) { + args.push(cmd.priority, options.priority); + } + } + + // name + if (options.name && cmd.type === "Darwin-Growl") { + args.push('--name', options.name); + } + + switch(cmd.type) { + case 'Darwin-Growl': + args.push(cmd.msg); + args.push(quote(msg)); + if (options.title) args.push(quote(options.title)); + break; + case 'Darwin-NotificationCenter': + args.push(cmd.msg); + args.push(quote(msg)); + if (options.title) { + args.push(cmd.title); + args.push(quote(options.title)); + } + if (options.subtitle) { + args.push(cmd.subtitle); + args.push(quote(options.subtitle)); + } + break; + case 'Darwin-Growl': + args.push(cmd.msg); + args.push(quote(msg)); + if (options.title) args.push(quote(options.title)); + break; + case 'Linux': + if (options.title) { + args.push(quote(options.title)); + args.push(cmd.msg); + args.push(quote(msg)); + } else { + args.push(quote(msg)); + } + break; + case 'Windows': + args.push(quote(msg)); + if (options.title) args.push(cmd.title + quote(options.title)); + break; + } + + // execute + exec(args.join(' '), fn); +}; + +}).call(this,require('_process')) +},{"_process":51,"child_process":41,"fs":41,"os":50,"path":41}],70:[function(require,module,exports){ +(function (process){ +var path = require('path'); +var fs = require('fs'); +var _0777 = parseInt('0777', 8); + +module.exports = mkdirP.mkdirp = mkdirP.mkdirP = mkdirP; + +function mkdirP (p, opts, f, made) { + if (typeof opts === 'function') { + f = opts; + opts = {}; + } + else if (!opts || typeof opts !== 'object') { + opts = { mode: opts }; + } + + var mode = opts.mode; + var xfs = opts.fs || fs; + + if (mode === undefined) { + mode = _0777 & (~process.umask()); + } + if (!made) made = null; + + var cb = f || function () {}; + p = path.resolve(p); + + xfs.mkdir(p, mode, function (er) { + if (!er) { + made = made || p; + return cb(null, made); + } + switch (er.code) { + case 'ENOENT': + mkdirP(path.dirname(p), opts, function (er, made) { + if (er) cb(er, made); + else mkdirP(p, opts, cb, made); + }); + break; + + // In the case of any other error, just see if there's a dir + // there already. If so, then hooray! If not, then something + // is borked. + default: + xfs.stat(p, function (er2, stat) { + // if the stat fails, then that's super weird. + // let the original error be the failure reason. + if (er2 || !stat.isDirectory()) cb(er, made) + else cb(null, made); + }); + break; + } + }); +} + +mkdirP.sync = function sync (p, opts, made) { + if (!opts || typeof opts !== 'object') { + opts = { mode: opts }; + } + + var mode = opts.mode; + var xfs = opts.fs || fs; + + if (mode === undefined) { + mode = _0777 & (~process.umask()); + } + if (!made) made = null; + + p = path.resolve(p); + + try { + xfs.mkdirSync(p, mode); + made = made || p; + } + catch (err0) { + switch (err0.code) { + case 'ENOENT' : + made = sync(path.dirname(p), opts, made); + sync(p, opts, made); + break; + + // In the case of any other error, just see if there's a dir + // there already. If so, then hooray! If not, then something + // is borked. + default: + var stat; + try { + stat = xfs.statSync(p); + } + catch (err1) { + throw err0; + } + if (!stat.isDirectory()) throw err0; + break; + } + } + + return made; +}; + +}).call(this,require('_process')) +},{"_process":51,"fs":41,"path":41}],71:[function(require,module,exports){ +(function (process,global){ +/** + * Shim process.stdout. + */ + +process.stdout = require('browser-stdout')(); + +var Mocha = require('../'); + +/** + * Create a Mocha instance. + * + * @return {undefined} + */ + +var mocha = new Mocha({ reporter: 'html' }); + +/** + * Save timer references to avoid Sinon interfering (see GH-237). + */ + +var Date = global.Date; +var setTimeout = global.setTimeout; +var setInterval = global.setInterval; +var clearTimeout = global.clearTimeout; +var clearInterval = global.clearInterval; + +var uncaughtExceptionHandlers = []; + +var originalOnerrorHandler = global.onerror; + +/** + * Remove uncaughtException listener. + * Revert to original onerror handler if previously defined. + */ + +process.removeListener = function(e, fn){ + if ('uncaughtException' == e) { + if (originalOnerrorHandler) { + global.onerror = originalOnerrorHandler; + } else { + global.onerror = function() {}; + } + var i = Mocha.utils.indexOf(uncaughtExceptionHandlers, fn); + if (i != -1) { uncaughtExceptionHandlers.splice(i, 1); } + } +}; + +/** + * Implements uncaughtException listener. + */ + +process.on = function(e, fn){ + if ('uncaughtException' == e) { + global.onerror = function(err, url, line){ + fn(new Error(err + ' (' + url + ':' + line + ')')); + return !mocha.allowUncaught; + }; + uncaughtExceptionHandlers.push(fn); + } +}; + +// The BDD UI is registered by default, but no UI will be functional in the +// browser without an explicit call to the overridden `mocha.ui` (see below). +// Ensure that this default UI does not expose its methods to the global scope. +mocha.suite.removeAllListeners('pre-require'); + +var immediateQueue = [] + , immediateTimeout; + +function timeslice() { + var immediateStart = new Date().getTime(); + while (immediateQueue.length && (new Date().getTime() - immediateStart) < 100) { + immediateQueue.shift()(); + } + if (immediateQueue.length) { + immediateTimeout = setTimeout(timeslice, 0); + } else { + immediateTimeout = null; + } +} + +/** + * High-performance override of Runner.immediately. + */ + +Mocha.Runner.immediately = function(callback) { + immediateQueue.push(callback); + if (!immediateTimeout) { + immediateTimeout = setTimeout(timeslice, 0); + } +}; + +/** + * Function to allow assertion libraries to throw errors directly into mocha. + * This is useful when running tests in a browser because window.onerror will + * only receive the 'message' attribute of the Error. + */ +mocha.throwError = function(err) { + Mocha.utils.forEach(uncaughtExceptionHandlers, function (fn) { + fn(err); + }); + throw err; +}; + +/** + * Override ui to ensure that the ui functions are initialized. + * Normally this would happen in Mocha.prototype.loadFiles. + */ + +mocha.ui = function(ui){ + Mocha.prototype.ui.call(this, ui); + this.suite.emit('pre-require', global, null, this); + return this; +}; + +/** + * Setup mocha with the given setting options. + */ + +mocha.setup = function(opts){ + if ('string' == typeof opts) opts = { ui: opts }; + for (var opt in opts) this[opt](opts[opt]); + return this; +}; + +/** + * Run mocha, returning the Runner. + */ + +mocha.run = function(fn){ + var options = mocha.options; + mocha.globals('location'); + + var query = Mocha.utils.parseQuery(global.location.search || ''); + if (query.grep) mocha.grep(new RegExp(query.grep)); + if (query.fgrep) mocha.grep(query.fgrep); + if (query.invert) mocha.invert(); + + return Mocha.prototype.run.call(mocha, function(err){ + // The DOM Document is not available in Web Workers. + var document = global.document; + if (document && document.getElementById('mocha') && options.noHighlighting !== true) { + Mocha.utils.highlightTags('code'); + } + if (fn) fn(err); + }); +}; + +/** + * Expose the process shim. + * https://github.com/mochajs/mocha/pull/916 + */ + +Mocha.process = process; + +/** + * Expose mocha. + */ + +global.Mocha = Mocha; +global.mocha = mocha; + +}).call(this,require('_process'),typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +},{"../":1,"_process":51,"browser-stdout":40}]},{},[71]); diff --git a/recursos/open-sans.zip b/recursos/open-sans.zip new file mode 100644 index 0000000000000000000000000000000000000000..45385d661740293b01d20a5b98034d541294ebc6 GIT binary patch literal 1215743 zcmV(>K-j-fO9KQH000080OVGjN&O`y!(ie80L)|q01^NI08embZc|}yb1h71XJ~XT zbaZB{{Rey$)%rgG&zYH>?R__!zPs5JLI{C`B=jsT1QJ3B0kZ)@NFeksAWc9(nutg* zA|Rq7Vn9U11_E|OFV}*~1?&a87ZtLT_j}Ilrl9`r|9w9%I+-oAr#|QDg(Dot+3`o@ z+VvjXuWv!0f1Tolf#n?MyuEMlKKWd-@FXV`cEnTheM<%o*5{gY@gCoE9s3R*($kdI z?HRnkkK=?_1`f{1-2L8;K^#YpF@^Bm<$#JIb6UWS$QkJH@lOy9ca^zUf zq^UKdx>a1e3saed{)SE-b;mT-1o8)dzZJjtOc^zKjOWX{_Hjb|TO22)Pn$aPcD~n- zlQ$2%kZ1d99=sSwf)17YJVAN?)qO&tHB2x_j*sq$L#)f z;cqwJ3trT^HPv{l<#_fre#3E^wZTX6k^AO*^0QhuYpK~k;UW5oaDZFQMR4Vu3cs{) z8QgIEG@JXJ6Y#Adt{`pjjYhRym4(mU%3XMut0mVoJg*ldK_&9Mc!lGC^mCqJXr8Vr z*S^Q#UbuN0f|6TyaLY7n`En0O9;Dxid8%XdJG6d|JHXuF1IO;+jgI$5ljMhcBU$>!fz!cjq`xC35G*Ke#2T{kTuSh4-r0@%|Kdo}bE9 zkQ)sJBK2O@6O^L$1M>Lh3JH)E?qp%9V6$tN6GnyUBYGd z`k30n9iyL%b?o_L^fy8ret&{1;}2m?j&lcugP7CnoLi{pa_MWK4*g%iI+l@o+zaR$ zgw}pPUSGgfjB63DH2RF_#oTt066sNHG}-yw%7Dd=TG~;^^Uo-{{P|5U=({!=g;7Ut`QyU z|F~0lrZDx7cM8LRE36lXdkjCd;VaB@6V^Hr_kTCLS704d*tq~a;%rt3y8xp&BNR^Q zIiavhFM3|^%*xPxROqgJeu;e_hwn9XA6ehG-bIdtKV#<&YkKQloxv?pZ^ryFetHf< z_sOCAL-btIv+<92oLP2mZn?8_jQ#t6z0>nf&m4s@w!fisPtP7b|IP3GOpJ3q+CSIu z8-)Q1^AzsFb88&yE|P|Gl_t(2Nx0{d&$uJF&m^O{Jltb&@!~GthI=-JBYN({vkf0g zF%2IIUffd~K2+h73K~A-XEnUti0df6ThBQd%wTL3&(Xf=o-#a#w!(N$%;QqoSvrQ# z>Dd_vJc6~N^OK?g=fH9Je!i3i9D{So=6xJEX*cjO_LQH+?FXFhr=N+~bKwL0c0V_Z zelI-F&d4!w9dI6=V=yCOO@K$lmr26n>@zw?)q3<9!tr!%LwKY!g;{keaPvQKF1+rI@0Oz- z^da1M#?7kvg}U@%Yn#ahwdgwMmR_r~+Vai!pD*hOg}Nd+#T*J-Xd zy;B-UFM;EFV_fsu#dBW)@9ovbfW}b%0DJ>)0Nfe40%0?^kGn1(bTP=29UbqV-) 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 z z>gGyY*64<|$6NLuH;xH^ozcza(aQ;5tS<&LRqV6Iw zU6%)_a|?pWcE_gWS;pm*lh-=|(Q0xk-H1rm?(X;%lm5=`_o%8=l%Ru1?Txv+qPOjg z!GnvVi(G&HSK#UdXlO}j)ojreh~b;E;46b9W~IpXtJTQ(1Q{+2w? zu3B&I%~|VUd}xZ*ufgNTe>!!1KtUq41ub+Qx8SY5T7rSa`8OOm_dZN7{^Ibko4f!U z&sVjPlw6$Pgc12I4_U2;kgth+rh%#3tjY~NFTeHsYy2vH#izgXiZ;F$=%q2I81Wg- zN_0NTI(n+_D8?8HN3YK9^FRA9p)zzM@WZRt!q%llX{CAlx>{g7I!P!TeE`2ZKQq1$ ztzU3*6k{#?nXvpB5?78;Q zV&-@+_#9UojhG*Fmu_9xPMCm^j1sn|k^Ro2J|#b@99lOq5E0vCv4aoYqydrQiz-yE z-#pfgD&N(nS0u)@k37_)bFFHFYAHqltbKtNAyp#fB12rAo*L*ZT*IE%S!fn&BVwTq zM{6*ePzxeWf(3PME-P~*38Rs)a+qs85jb5ns**7uD7FYDxT_cSUS4~8Cpt45&kTCp z--p8-(k}~N8)Rpa?_*~H#B^;V`3MF}SQuHT)`l3E(zMmmW0Owog=p`Wvals35gfqn zS(sd*cV+yVZ-Dl)F?&~^vo+gZL;R-#goMX|re^a#@Lg{lnp~k* zY(@KFB#k!7?aI zwPbVBn@2vZ^}}<@rJCQd$9;}jC0PI<$X1)C(`5xDzk1mvHVS=gvcQh-Pft49_Z58^ zZBgshtQCstlX%#C!9mPL(e_Pyu+NskHe0`al&xIL&ILv^h)!x@vb&_N)|ZgN15xH zXOkt6k#rGCejA?b;Y3KbY*?6*U4`HHT;#;#6xQ1Ha7C(1X{Ea>u1mdZyoI)UymVw@&%Y7Z5UYj* zNk_w8n$$mUPqZQ+sR*0yBF~yiw3)MxB|Z*Q$r?zszZLG(&chTYyTZHTvhrX>VTEnQ zqHDfOL^7_dMay!|MvW{q3?9}g8D7?r#}iKq=(_6ST)DBb-sQ9+zCzT+9&Shi;-%!I zQ=>q-Fn(gO^m1BqeOHYqX22tD@`iihxPs zVPo0glwIT7F*2dBJ1Y`2rj4dM+%6>SWTnKVq@^UKWcI`j;e6pWVKw2dVXol|q@H0- zU7{-@E8Z&@E3RFEUHjo;#J=33oJdozcV5Oje8_h__+4R&;ovY3DUeLQ>qgczza=^6 z12RM6BU-{0sxGl`_HbVkLlUX5tk1$}ZI(O{WVT&cE7^xt!**UK?}-;k7f2S!(!OXAHMC=wZg$48GMH}eKiw}pE8M+fd-fd61Lgwrv2(C< zvvcAP(sE5VPQ7`~{# z0v(7bfiXmxdyadYdzHWdxm^T@RC3n9@EXrr)f%yLk-!kS{aW&5lKa}}+O6X|Tnnj| zj}!Tl`I2G=QU-h16yMaH+bQt)S}Snj3~sL7bN;4nI>c#_;yhsNT;g7+Z9K#!H^}MS zOv2qSKUu`VJUBZrJ18_DG}tfzOma;*PgGyK>HO8bRNIz~bDxVSg=g(i#e|;qMACUm z{{ZFyFr|MGbI>pm#O-T_obl@Mn)2$ol1pW4@BI}7ctlN2XLXk>g94q8X-p!BZvf8oG=`kCp^EBC=6Pv zMZ82|!E#PYp{`}1C_{1N1Y!tb;4?dBLUME*7mtWGj79jTvVx2!2Ax)GD!ndKWG+)) z9>IA;py$#ay`|QvS)il0X*Ox}AU_8`FI*HgjLj|Diwb58Q`mWS)HEOmZSYIzJs)LD z*q7FSx-h!Qyg+!^e@=MWn+!uv{GweYDyfu1_b9tT@H=s%Nk~bA`UVYx%ME>4BQUCm=F4X5xxbCB_`Cx+fkW-R=-gloe-L6n6NJvnJ};c zo~EBRpZc8&ZNJ(+pP(ud)1lJ#Ef=j8Ej!cottKr7X#sVB+P+nyHOWO78Wn&af~FMJ z&EJvcSM!&Fr;6Kh+lCXG6L{Nsjp*DS$RXD{tE>-32X*iJA%5iF1wI$rYZ) zZ<9wJP0A3<(%tYwmt#SQRw^61lLiHE*H<~7OclB4BzztKn zEBedDr);Ma?)&F#$D)f@b*^>i;`{84pc7;t+-Cn3B(N#cP1B9)wB)4ZNOVnq*Lx2B z$u<03X5YTirfIuzyNRrktVz+G&z;W`SPhSlS07+WhO!p3Fm5XAXcV}6IBxD7Wrp+} zjWB3Fn#uG-d6eq{%1TZyvtby(+H?kt7fhff?9<$^u}ccT0VDa~P~$+?Q-6P<*f#d?FrE zl9k_x;)M_rw1LuuoSe)fvZ-td`Bl=V0!v#d+Af~?n#_!n!RXI>Cgy7Ka)5!_(fW!! zwFmkxHp=IRc+|=hgSx(Mf-+_<8q|P3OS3-6J`B$gxHfo)z8{2oO(uf{J zq2byEg9d=v_s8f>*3{$G2*B)hT!Of9l0=`xbRHrtTS+W59k#fJ`Hs!UIt0w1IYT>{ zNA4p8_oxPwW#;Nyn-nu+&MZ!K=FpDE!H^if3AU z!U*T5U~uW$EO+e~D97Hv=eL2!g$-RC=4xZ7X=mqByizyN(83c@Z6nf{%A#I>I?C)J ziavMi${nFxvJW&E#u7C6CG;gc)mC>xs4e)IycVeqj7tSpcFcjTP@W|k@LH#5c>4Cc z8w))AuKXePXC%HI2A*9}YpITDlOf%1>v_K6UwzajhK=?^DDayf%$pJg_74%i{Cu8C zEJWwEw$#)H-7~3YQ{wCHF|>wv4x4msEtnt9O_f=sg6Brf7HYXl7bmC?Up3TqsO#C& z@kB)Rf}b^BbOGxOdr5p>N8*lZw}rYkK2pz&6BK2sk3Q%JEM>)gj&zw%l42G)www%z z)F3TM9chD^*-5x3okUOMjZAAOZ@v>^r}irkx^>h>sNN-~2TAQ4nGS%)9m`@fGcWfI zA^Hc%%;E_p79NV?Z_1w3+wmX2=>rSLkhNK;Q2O-Z`u5$I6GYv!&Y>AWD$Lrv@yVX< z?m>_%P^3{IYx_g(my?E>hQfHCHyTPLb_O#gVf$_PJEWAZcCrQOd77=x;IvH|^vbFE z)hosh(8Lc#Fkjrjjk7?S5xpjTZFa$P_KmA#?To9B52)OH{Jw5>P~Yykz(AjVBY%t{ zAE==|WH_c>(}jp#IT|?Nl4TJW+p8^jLcIiDP9@kiS`zJG3rjSgYHRNZOk>dlz$~H} zgC#X9-YWoY)cD;JOBgJ-CIHq3;UpAvPqF>IEshA(l{IwMy3*>kkWQcD27s#4Wx8Ka zuA);2h%O}uT|=R5Q{-F))CiwB;^#EHRv%BGGA?wtzPD;RbYZ48x=U2F3w06oOZhxx z4{?JmNe~7oPZIPIM!z$~-Lsc6_Mq?A9g%q~3woAAe81o@vx{&DXvh%m202LzFt^Kb z*Uu5i*CNHWFfuTFH_wsF!US?VYkX;AY?MPGK(l=*&^d7z=Gvr7{($G51Fpzge#M9h zkZ>9{#+&;+l)!K}Nv#JfAb(^#bF7dPfy8Bx27BgiOAJkfh9zsOsVG}YMLZ)Z)5~mT z#2+UNFc8riE7nUl-E?wa!lw{zV=3m|XQ=L{p5zBjF#%N{vs%F$+g=c`YXs<7uM!l& zoRYX!fvL)BNfUniZ!W=?HC(3>56DVddQyz!50--H%n6D5i~W73=ds&!Zupg`fJ#O- zUE$qnGxi@iXHO?zTou}&#PxGhOGXw|bNrAcDw;)pxyH9IarsZ}GPW7~O0sU%M~swi zGhF>F!r-T3fLI^>?rpyBHoB8hZ~#S};bc@rLqzI4V0EX2#=_MxYMzj$fmzZ;Gi;}X zcv}B?d4uuEe#kJ0SrS!3eD%|DOin=RKfiSC+*lyYLRqCZ3|YUOq`%|hZTwrIG^u@m zOE5uPf1NXLTkj5l!d+=H3iEG;K<;*rfc|94C?QQQv!sG%SZWEefc|r*dgImiojsc& z&uf{x7E6dfHW=UA`=cZ3O_3Yv#Pqo`Ht6$Br0V`1g#OGaFa+=5zrE@sKA;Dj!Q8d! zOzChruN4!5!!tt?Goz!89eMdQK7WZG)ZC(#sEl~=?0Lcsd+p6PcPa<8Ebo1e zKuCPCixNLMiB8mxX4<@{)wP$BtX~NoX|*h~fuW z(s`JzX|FmFN99RzTuk+KaU+2nBvQ|ptD!DM55`SG?4+ znSzHQdN}jkk>6HB2hu;~s>t^3MW0ki3#AOVU-|XefNDvcR`7SqsPEkyxyYb67_g)lV`}3PN2gvi8~<@G@(0)M`Z=7Y zG_?*f&wi9l;l4}dPVvy4g4mscz)ssr|kaVJzsAk5lr( z04@dH{LWKwkL4F;!uF^(sS}I9NQTmBh=7?{jdh$nI}>9=TGOS}+15U8_qNy*FXR>G zYa}Hx%=7Jq;3e)oLn)MBY5)lJ!Yx)4jS@wJCFMV%UHFvBjft|c$HndNoQfb=jNy^5 z5-l=A8X+Ea@sauvQ(_r6q~o79fP*{!AqImx{yQkhgSq%0NvXWOApTjia99<@lv=(Y z(LqKY%*X%8-hmdfDBai^<@S;0@UujTv(~C$AUc0&2i4rdi+1Y6 zf6%amZlE~~lv>7(?4Y6y788Et>qd(_kVgEmA+oX?`J0N00;iM)@rLhHf0Q#Zob`dl96dP zrKH4iWQYR?Q(J4EG(tJ*B8&P^N`jx5Fj$P~k*^vp@((Op*g-`YOmzrGX3-oVZ95fz(yyZqdr(K z^E!R$pPU2qZ^v~b`kn2$$%GSOWXZnITC3r_70x{FIgy^d#>`&&AXyEUpX zAr;)8S+}0fDM0t7MLu08&kuAEiUZM{KKy+QcO(O5^BX1Ie)ed4bv-CNO7w9eBgTF@ zQNPA=y80Qb1iknkbid~`aMtRr8d__!>e0Tdf{f6!uhmBnbNhZxzYkIx^ktVS&B5a` zL_CN#bQC<*_5D@Nsc;i;?K!HN>{z?LSSZ+PGOEqjg@QK1Rnc1%VLmD4nc8Q2>P1r@L% z419kbf1W=@YZ}x*Z=gYaewNzpA~p0x2Xfl0oeJID6qp_DcJ^6KW6*}}xGk@~^K^T( z+6azwuKk|v=JM5oxfWwiox1I?@kTRFv!M!aRtI_=3$Ph_%a#NCMPRAF~dSz`&)hdufm=#jxSoazB3Va!{E<<8OckSdON-?vLpuibmpA^zR6T3 zLx1h3LX?+?y5e%=P9aq%stMA&d?=rVKpQ*tbh;&6P7B)&n;h#6`5+?P~A4`V55Auv#M1GOiO!|x$bm|%! z(YIljv@YR}2pCq7tYi@@rZgpm@W7B*Namp_r&fD59XCG<2Gn}5psA)t%a*LIzMoeP za$iw&DPSi+aN|~ZP1^LX{V)1;TsB?sqZ(mRWLN!^ysD($fxo> z1}r&8Qu!W)%59^#VKlyalli2|PAag}EcL~31rD4ejHWA#Z7PMAuG*yrEUsL#rP8FT zf?4)Y+JPnZT3AFt4;m}u!^X^P1h#e=O^lulOafZdi|xW^)xm+1Xj(yhL||YM;#kiw*rU)~E^ zYeEdx4F!wCHPsNy9qcvlib1qI3iBvi*gB!E1WN%LyRu0%dcAaCVn3-fwWnxm9sDNrQEN{2eH z>b!XqbPn)EZ4eK?Qj4`EhV&y6F4+Z6YZmf0@nI1!rti6;w^?annW$2^?7Rh1B(CFV z=8Nf^^3hb@L3MN@gP6}ADmEC|lxc9G5}uktnpNGs+1SpZ+E`ZU4b;2 zE*au>=^u4jtc#$sVXL3F-YjHR>{G0&xq^(hS0MqXz}Mb}vr|W*hVMX!jfH%Oe(PK!QX%HSnS*)S<5~%5jtmXZv3eHu_B0!QcTq&3{9y=1>PxgZc#Q+1;ucg8+@+FVX9 zj?Py;m}I{pp?bd#uZJOuGgTEn{HKr;?+)W^Pw%ueijvTq8kr{{oK@`W$k0Ia^= zS4El@M9qyZYqxzN)6MkoO*lf1UY*sZ@pRNL5_q~5Xb5rKIlHfJ_R8>T+}V+RP{815 zTZDb#3+$vy%x?B@m{m+_vSr8{bX@ zoV{2(vym(k-p{pR^Eg->t1jKMt6SgP>^iERn*#f|9)>H5oIv7dW~;qURrI!7=dNr7 z*NUb`wxwnh8k@P6iNleeVldGAd*cdI&y5koBlYs_D^%ZRA2q!~2q67zE=xBxowwv< zP)lS+#i@*OcRSQ%sF(oa;bkkWAO`38IwU0b#P-=m$II820!e-YH>Oc`w9BI= z_O__*Y(7bYhgu%%StPh1ovX0JT%0aYO_iO>rlHBmq=L6Axb#u;0py|UYH}ru;?TrL z(A7AA8Rd3(QlV(T!ysVq^VX>UNg){M$nT-s)XU45(E-kTXw;x9TqItN|s zBJ+WJ16p2YS6i1?@_c~iqc&Z2TdE66vCE!w65osA`|ChpjLT6$8Pa;c=BSimBqG$V zw$e&>K~$a(7}tD}6bec_+TXp%MfE?h{o?zgHsFlnY2n6P_D=RTb8dfeMD}(+^qV{^ zP3&EnOgj@`I&tppS1F1esvnAW2Wi&Hm$`F9xaWE2dl!c3;vKh)@rMNFbK*7Y31ub; zdmYLV6D^U5kL|fr_L)Uf&ZlIqadyfoMiS9yEOx7KCkq!DZRjyh3|mUn9u>N#M-j+`3fJQD!RR_cnjV; zL{|u8j$!}JwTdjmzD9P~*N;@9E>{;33xpDOScCEpvx%1cESdu7 zEvi31GLZFRUY`%f<&6XKyJ|q^ek2M|t*}!b zC5`f;okJ9cOB!vN)cg6`_Z~LWR)NAOVz^8n=lUX#~ zSwZV5e=-|oIyGwp`zn^Ic|3q21_GR8;;bVNXGAp-J9Ev*F=rL(>CmFvY;dDXr<8tP zk?1pHW8w7+PXLt7T(kEQ#NGRWl6#ohD%Nl$kB4aTiK{Z)mv|XL5-?4iLD#WtO9YRZ z&|d{TaYzR#YQYbsMLl09wBEl9baI91h?h$FxNfT^4Edh-7W$+S$H3M;sBfn?ZcOOm3-9;<(C~-6?TQ9sI_krfd-TnqU&9+fcMcWQD#>l#+9+6yWhV? z*lQdQPrL33z*F5P*AvFmJt3LC=OEO=OyosD;zWkeM@4u+5zoQ;d)U^#&qg7W;G@b~ zy?hhcUWuEDM1Us~Q3ZacJyQzXg6G{J>i1H)lhbwOZ{$GFQ)%(_E5;GTiu#*W1^eA} z_ZCAZ1D?s4NYbSp^$ld}>8r2B4;D!G5!LE9pL}_5VkA@M#iI-2@YV&rpelE>e^**T zw^atk8C@zhX~?D4Mai$C9NkW~qiiUdnj4<%xrVO`|FC~Cf3cIBOD7_LTZt)}`J=F2rjuCL#uO<+4dnRjNBWwL4`WakbOq8CMEqsrOmyEHrGkn5)rFyU?#z;J)Lm_4ADbfg_che~;vRYxqoWiQ zl#uW-5%R}lUk3>ZDDrhvCP8VQ$&#-v&*AWVn|_A_380SyJp1a?dk=$UFLr@UsgVv} z*Jtuwr9xhZ(V!tp7ngku5UQX64!0M+%q3x`Dn^Zet%HuH%=n0LuNUU}kROjGl+@K+ z=8BQsNefA+7(JXSlu$16X6e)>Z%G`{f1KmTp@ zum`KYzbCZrm;Wq1c5&U?w-3y%n;e@T75GEOWzXHv^uS%W*55wzW#6;MZ%MtP`Mo;- zmE)|(?%cECx-GG9?7PH{ef`(fCwjEJ^x%$FD?gbsG@<1mW^|vl+@VX$vg`g(^V#1g zWmo?ApT8ShIeXHH~^&z+V}Y@oYLP@Mkz zY=6q>4|)UA{~i1$=c;qAy63aU-iWTfqT`c`Jhxr=?Z1uxy!S4=_03W1KR)l0si_y| z-{YM1#0@`6dU-&`@F%{y=Ff}9th;FJuGZuKvdov?m_MNW`;6W%eEa%)GtMiB9Y5lN zgZ8&oAAfvXzt1zq9RK+rU)VOSdCP~5`6qWBynEM2OP<)#_s4HP z{kzqlzWUtAhkpIxg4D6EKl9L$UYUlSVSRb^SG&J^QthYO_}S@`j}BBDC9-LbR{iY% zC(~yC#bn(XwQ`H37pEo}r4C|G&o~-V1zqn%1X02lxO08embZc|}y zb1h71XJ~XubYX01V=i=bW~}`QTvX-$KY*X-oHGmSYz+H80wN*`0wN+K0zyJUB zr^cB%=ghNyKA-2ae>lQ%oB{ucT=(=L*#pK*51q*gQ63y;oIW5uBa;gkUgm`GyLc*a zK*69PE{U2%PKdyLuGfGeL(|-&QeMONJdP923>p#>yW`f=8jd5!aKB=7?Wie{FUHhx zoc0Jh@EzSSJ=lGq=aU>4un+h5S5FyRJ9pGk9mjcm!f~o2V@K6Z;Q~1m`uh&|wPPpF ztbQ%ygo@+B4saxJZq1lcRlon|K_J@igZl|JxS)AY`#HW($M;S(wbN%5JaOv~$MN1A z=e~8qm}!%WqMYV(B)uy~jwVc;JbKjCs3#s^Dn;n8xOUWxDT-2pv5+nJeek4FwPSYq z-M-2352`p$Ie5zCy6Jr4PZK$T!+gS{rc4_%#lwAG4#)W~#&0@tbnS@G)_(^7zI3Ff z&wn{5H7;=6+0og~?EU+^fQJ{Y_nZ!@$8kL8gqQq>->KJF(XUhS!;4ZP?sMc7`#tt1 z?51rC`?-~zCpUsq;Fnr1hATsNVO%rDLpVW9CtYzzt=OuF!}TEfUHFu%<~cRby9i1_ zA@aQVHOK#C=7NW#+0L}>9{q;&$M1t}R%MXn!7Wy=;Y)%!@+`e4rYer&Ef}qz=T5OJ z*l8Xwa*r$EKjrQ#qPRk_hFhcb;MSwxe6o>~cz3RbcehoEQ@LBXw~M@M+soH;h2#cT z$S<&M!?jgn4XMO?1YU`FdEr%p*M7Y2;zjS(;rVKE!*&jzSKzge-WP(n{mPSElW4N7 z7Y}pQ;(BhsA`|aXT(xkCt5%fbdokvmX}dzMN+-oiT;I=CE0=J!iZa|k#vKr6w!aIl zT$u0$cS=#pwTOw_S>;~tj&RO4Q#j3?5^HRCc^}*R`~vP%ycdXGT&56W%MmA&n_?~c zoX6z}jd;grVF&t5vw4YH+di?8%Oh9lOS&br$e)#$xh#5Jtis%yY}dpkTqXZAmn9@~ zK70)~758d|d0dTRDmPQuYC9%uu|)`twr}~FBWmN;$%Ku+-Un& zk-}ZZdS4)WZ1lRsH*;^|_aTb2+ycd6E*`G|SbL7G`(M12HMUiBFX%pWe9?XA_)=tX zrH*}|d(rWQab3mtRdg>pzSv%1&%{hgUU$0okG+&>*aPeZ-G`1Zc^@46!PdXJZ6D}f zbbL`5tKy>RUUYoXy%1N~uCaGIciQ*k@0dG-g}-@cFpA&N`HQRMHKOBWaQi>rDLhk{ z`rCKFI-L)Nd2s=k$Kd`7mu7!=e7C>b);O+X{ND;kxonCf6iykQ09M%x_(IoBez(2+ z$oE}bhOm{3AO|^Tx{s{y$KQEwnS!n}#>4OpYy9}T@+Nmcc?|21eWiFHzuR7Ld}nwG z-1yt~FSwn+n_P;!6o2r(hfm?686IQ*{$JlIzB8Nyj4_F2R`2+$4I8Qo$o=)Y%}q_6tDB*Dt?u?iloxEDBg)V zoJDbuvtZ716hCug#S5H88N-d?W4M_PT1V-dm~Oks@C#$3drsGt?kU|rG0)cQpmSn~ z?GD4Oa$Kjl<6*l+*NV_U##xo(@Y4n3R z+HSGAQoJm|JI)67+cmZ_*49PaKB3iiU4eV_#eVav?EqUZ`#QF*73~je#oBbNRWqL7 z$DLPUJyd90yu+PRa(JhGuIJoUx9Dfvc}5$;Fpo&gcRiO+$3pR28Erc+1ljI5=!&oh zYa!aUDtth1j&V6`?(}@1bOv;Uo)?VXT<0q3d4N7@vHsg|ygQb}>Bod!y`6qjsUmC1OPK7%o^KIqwlIq@gBEC)V3{@#Wk zm$@|6K`x!Xa2EC?QQQLdde^oM@8|hOZUKD>YTF9o4tE4Eli&kB;ZrU{eSurg_yh0_ zybo85SD3JXizRxg2Y;123EWDhXPP37om&OU9Gr0+SEriEH*+z`bUJiC``rg)*a3Ou^c72~&*j)y6>0zPkHeR1Al{U+nJ0B8JrWEyf zts>*uIemin5KeFh@a~NBuMV$xyh`y}h1XVkR?_Pj4@bE=$2-3t{1CpAVqBYv&#w5q z6&KD^Zb|;b^F{PU`=M(kx^k|<1>oT^u8zVV;|=WRi89&tJii}2k2_hVEU+n+r8Xs_ zor^$2KgGEyaxQ#oPha zQLf5ypY``{hkhOB;5DrGW>PP{Nj8da^38Z11g=D?_HvO5N*5?x1BWOaGdcy{2yjVZ z(MxRRia|TFl!>-|%1Yo5@R#AxK0JRGYX%$^it(O^_d4LtCE#of@Pgv%MJ`9tiaCzw za#Y}fm8D!J8|z8dCp)Vtjw|m22Po~Ihco0fw+Qck!aeYR2W`icv$02MToG{aJm6^? z#edN0ZJ=LOViU%t+%2h@Baty^?&hZkMUS~ z2QK{o^iJ{Hf#-ks{y1-Arw0zY@OSSWc^e0hW9Mn_a@@mBgCL-|l;s3ue&>Khsu8Woxq zS`j)X?8AqmWV2aqHjF$NBhKM=a367>kj^BIRAR(C$jcb<1KyjB_zXt;IY!L2jd(Fe zyjIvPyeNE%5p$xuSRhu2%f$`i+u|pITwve8`GGqEKL|V*_$x-t1sj6Bf`i$JV}q0I zBc6^C@5YEHk%EnknLOBJNVb}YT@4E4s)Yy*>q!Uo24bv zVyVGaV;gO&w2k1#+R_1A7wA3fd1;|E5AQfHC7hd*6McPG@}2j$v%YKMIQsh5?VGgg zKV83b{m1J+T)%$(>+4spe|i1l^>f!hxc=1jhU?Qg?z;DNm+Ma7O!`{-`r+4izy9Fs zu&+bE_Wj!DYyH=nuZ3$juYGdu{J+LQdoqY0!eHbe?VH27%|5-&zR7<-clg}#e`E^2Piz1F*PlqmUtfRxD${7;PuMIxDQpp*61ECYbN>;x zaX$*ra6bv#xnG25x!;5xLbI@rgaf)elStBqM3Jr}nsg&Eq&w*Wh>s&ZNjym)iKG`v zBE3m6=|fUTUy@49q#wy9IiwQ_BSmB=DJH{639$$}Nf{YI%E?Gl0eq<>qe&GRL#l;c zq=t+GuQY*7B(-D`nM|gTsbm_dBhyJeX%KevHDnukhHNL#k{!Yx;W@IK>>kB+lOG`s{RCM4h5Sl>BX`Mv`3dA6`JLa$Kf!O}H}g;OTllB=t>ixWL)goI z$e-gs;?MIR^B4F}_)qzN@E7@i@|XC}_{+lc!agBWc!B45B1{&h2vdb=LY**OsOSBK zHGEG#o*%)NbDVj=@KQ_3(4rxQg9`@b56sKW$<7*(nUUT9`q7Bil#e(XuJ{G_?_`D|FWC?Ehk$oP>K8xY(iyOX#gy0u!RCKh#87-L&H7heJ zFh+97#ks$!{}|`!uG}GK7kqTVr65Tbs#odIKaEt5Dnru<_Z&9%(gU4Z3E!?W$LtWoqx%!xvtE`A}tuj@ODl2Ib zM&Y+Bg^ZOem$m4kS|Uy9Es?Xn^TryDY3XW8&uEFFt>zZC^^@D)C23KFX-&Z^|I1-I zrXO$9PTQ}HvR_e#Y5&X7n=O3*7E)LeLjU|Su`4TAW}1RCS5~YXb<8%u(iE&UtvuxF zx^hYemYXXmX(70NVwGP@=4wlewxWjg#!%VRGYfND41!8N0B1^=g-LVEdy z=-Qq^1Al#+!?Iv;u)-lBbQxA1Gjo;r(lUQ=iTpj7tMog}nPZ|XEqn#N^S0xTaVWhr z-*Kny=M^UGZSIhgl`Udec9kguE52$}%lt|}*Lb=yCT)xRJ--msO1&;PDF$Q2v%wg2 zcGbAx7DafAlK!gW4*)mxCoAy}w#5CO{Pv?CItbV4gOf~XhPIPo%BZma-%#U?9)q#a zSy3_|6qU4?)3IXaQFb87IMh7`zZg}44I4-Ib#O^bjA=@Xhbc{lB3z)u${07Kg#ARm zn$hCXzXcWo`>$GJG8kS3XRM@NCud2=S6j#xPnUgEPjY+n=M~A88a{gs}cuj@Fd)E86Lw7r&i zZh=hUwi@u+pI(#K(whQ(aEWP*$zrMrZZQ{>&?TbF!&ce87;Me$dsS4@@mq(*!uoL` zxkd8I*%z}VGpcP3>EgBwVBZ~U4VZcKcDCbo@Jh8QcgRY*6DGD5lrr&Q*)1FeVRJ7X zrVY%e2yFuG4b}ps8A7i-WHwV|uIUYETxrU#T4@?m(uX|_deY=Ki}tPOa!GDcT69;C zwzNYgvV8C%Gg&^QwB)#!}Wy6HMM+g zKD);L4smov&CUw5+U#U@<=uF{Ll`ys!Icx>YMco7iYsv=euwZYj1iZQk@<(5%zp9{ z^YMgP9^vw#?OhKoEqTS2!_U~i=qQc;0bIOmfEhSeGJ>lppvbMv^Dxt};u%aQq>L;(fwx+_HZN$!j&eq>UU5{>LEA*RMlluF!ByLC({JtnN*?qxer0HV!gfpADCI~y zz`^UKlk~a&@Bg6HqJPC)DL0ra=L)$J_HQ1plyUEHMO+nR8Ttnyg#DMnRdUC`ajqi| zd3U}$KZIY-zreo(p6(8$nSMeA_}trKm^eW^C0houD4B-mU&n{a+_vr*x-srzf1=aI!kbIL~oD;i7hla4B(_?eezE_pWN!?ydt} zN4d^*eaf}P^{ktRTZP*bZeO{FxleGvr=c6YN^?Th|ca>wWae z`kDG&`Y#Q@FuE8^j19(bJe@q}d%oxShnL>V*XtRtLtfu` z>%FtRpYlH9{hLp)Poz)2&orMGe7^Fz>+9qj1pgP(oF^pD zX(5Y4HibMFax~;j$Uj293i&C-7OD*m4($<|7CIz!bm;WZC829Ve=+eUy~$*X!(lnp zG|E(Knrm8Xde-!^>21>|rt79(O;RWKPC=czcWUhPQKze&?sT$+X~ROoV#E4|Wrvl9 zO$ciYTNL(0*mGemVXudMANEJMbGR`)Bs?}eEj&NGG<;R~tKnzDKMVgR{Ks%9!aX7| zqB7#eh?5Z?MO=;eF~Zha+qtIm)y{W1OOeizo{(s74MC+nMqvN8}ql=A=EPm>8QF7s&z5*T zzH@x{_{H(7<69Dp2>}Vi6P``DmKc&)lDH)C^IlQC>UzD`>$6@rd;OlIO7c$Xk~AY} zMbi1COG#IgeoFeicV6#}y)X3sy7w>1zR97<<;m5_lagObel_{WJ}G^w`!x1>rq4h7 z{HxD*eQx);+ov@}OmR)=my(?_IAwN9OUjph-TUVBUEcR(DwjGebyMmysdvq}<}K#m z%n$ob?)QGb3;nL8Dbvhpv(k2_y_oh&+UsfWrkzW>*gvX&T>rWKkEgq(Pfvd{!zm*- zV?)L_nTeTMnFlgYW?Ba*2Dl9f8W1sH&4B9zZVmV&%PFfMYiic|tX)}$v);}6XV$;7 ze$Q5C`((#tXJik|F3p~v-JHEI`|a%ikPL&3!Y>)=s? zcMLu|_}4M;4_%*fi2XDW;pxfM+n%@sQx6;{8z+1@(RpI;iIXPon)uIJp>}ZXvy(badV13HlU|wh z)#Uui#gm&RzdHH$l+Y=|rmUHAV`})+iBsR4rkyrm+M;Pc)MeM5m~NULHNDUDfzvln zzf$j4Us3;T{g(~y4QUOF8qPL4Hx6tZ+F0G#(73$usm7g+FEpNL{BVZ%jFB^@&R96( zi5Yum9GmgsOqZFtGs|X9oH=)9^UR$y56?U?^PQRhoOxsB@3Wj{`OfMxtIw?bSrxOU z&RR6sASRjMROLdU9@A-;YIH+y0YlzqTd#ai;auJ7bh&vT3ot#;^MiB*Dc<)_{icj zi?1yHX$iMPwdMwty;iMU_3mn? z)wr#~vHL=_PT7ZamTg7DU(yCFmu zl8DzSA-nap8h)mAnd0b!oEq`p^tT1JpGhnGtsCcUb|J)-7hF|?Ev}wiY82<4s!yUV zm<-S%CB(%VJ(Q-<`+d(fN=30<(_*9glbK@5gGIgiWyNRE*6s^?1+9G~Zby{7N)Wiz zxbv|+x)Z@<2*HcIzagc7e6T)ckm9KIXI@KR^p}O;NOJH?KQ4%iGkd!S!C48vR_Hx_ zeKr1me%?+B!NXgR)>7jzrntB`9sYNGK>G&F(GVxFmnww4Y4Sb`OkE8{Gt@n{uEf)GZ*=7&*}5ZFIwbUJ5VA zZs_8obR34x{?&UWVc;H0mCBSD9v%_z=^1C}#>e+eNKA}Vd3veBBZNSnBqYT54397< zl|~OwFJZ^k*W(N025s-%?@-pHNyRZ2pN}kv+%(@bX+!OtQL)m@wYw{7dn{d>Q$;R5 zdCcYKpZQ?F^3VvLi_aU~|LM2Hx8GKz=BGGWr9OiyrK754)AJ^D<%^uw*5!}s#wob< zuyy|oZy$lvflrI#lDGh~dz`6j7nNS)qxJ#w>&>O6rpCP&OJ5i~F%g3Y51izR*zAWj<-~fI|=lb;_$;Y}LV3#N+iolTz#Th-ACBju&Awf_xJPu4_EBiU)j=`(ATHYyB*wYqSmF#a z&@;gI0`_2rp;&h>wg)6OA(6P#*$LR92+WvH7$~7sVUrT$lqxS%gp#fWf4gaA?YXC> zN~0`+(0{JtP=jr!|=Pn!7|CCs`lP zE7(BX$uK^hxJkFI$D|X|yV4B;?*?M4f_KnqwBd?2oCQ&CgJ^kT;`F+nd_+1 zjU&XGlv%JrsFI$yo{)YgdOn*Bc!G4=Aw9rIZt->EDy0|a&IOy@p;2`fUESP8LX5?c;2w|!)gGzu#J1kLQ5YlSNQMFX@YTYvF+kDbjnh`-(#wbN;f_g%L zG&zjyl=k3qQ}sUTvPs};s1+l{Ets?ZH7CN8Ar>Xi#W0*h+ad8Gx;R~kF+^wL059=x-DjIx$35s3&K&;n1C)z10v26nYC$n9q`^SR-V*e=G3CXP&CJ8YzUQi0U%640f z1C+aS{+yTD)lHLYaZ@Qgb1m>LVWb=#0U;T(>U!#dt-*?Rl+^VM7vl<_{CsK4AUpeoh{=$U2n2~BalFsC>xRTG{Xg$XHkXP)WoJ9ZF3-m*6D|Vh zSG3|B=fee>H7cUfIOkgM?wx0$?XaQi^c>(KBqWja1%V7Vg{mUjkWA>HT?4&mZbh^vSfHuZf#?eG@2pzqV}YnaarE zF~zU!Ucas4t=-dREz0em`yAa-FRV+t;xtxO&xM$^SQ3R^k!x|%>jjlcpi4|oLis?U zfK3m)M1u1#M6XXYfhvhH(*1&p0&9VXFty<_agsI-D(EJrrCRGrowSD3RS3VfDq+Bx z{oL?es}ZYG!eEG=!ZBuV4_{x7(+{-3>)F%OC(q)kRJ!I`l#ee9JWxEZY=eZ_DILdE6*O?_F(m$&Gi@NZg?hja^ti;N3m|Opo@#JZc5J6?96#9 zc!AHe2uc7iXpT29HjaP|QIWfXzm@kAN|mt>2V}82{IrG^x*Q8PcHuY?lYL5=pUhpqqu->4`n^Xe z236bckUe5C=&ga$L_s~+B53t)gDrYHdrN6z8}Y@lZf9|c7#Bt9@b0af8V8SanAMm@r=jr(lJFbxs(XVxq zu%Y#u5JHq>dk(ogR+=j9!hH9^r!)qh7E}`OGP@|mAr=K8+z@sgVPI$InG_#lBzWx; zmbK0lmI?J$RZ>Z1C3@bEo>S~SD}`W%NZNZg$X)LjLeTBT)>=@Fa?(6jip-Hf{3*8n zD%63V`f*`gq}fBQL+FLBQ_x^bCr>w>&ZWSj6CK#VD5*E36M8;^acZaNc1%^dLvUzY zv|p70<7*nGB`>R6wJ&1mOJkmWZSiwMN5&cV;Hc~ol}^S7EZ&q|G<$LG#5rS%d-Q%` z{k+c_Q$~)gkUs6zZ$Lr@#@1xZQf`6odJ>n(^)rX4`z7dmXIk|7ZV94GKbK64Z@+%s z61qhWuyjiZ9bicSD}}X^3BI?TzUn)k05ZR8VkZEw4x{!GWYA^Q1>{BKjSvrF6ODMJ z6CV$H6cQ`yaopM;OEiQlw@f)bwQ{PM@J#8H#dH6?Vb;Q;h>W!2Cx$J&yZ=AZl7GTp z?|tFYKfXLCo!j>tTtE0Xh~Kl;lBus%56&L*Y;=B_Q2L5=?YT*oQPmq3Y?GRMN~c#3 z9x!<0AM>{Ty7UWa=3VJ)>CM8@!skfRXT*cN^3!_hW@^Kw#bsj-?e9!6XRb;Bdj7Nt|@OUP$PFcHH2IAa!7d z^fRxv-dCJ_kj_^T)2};Hmr7bdVKwODcF;u)s9Ol76DqBb)+ZZO9PvQj*%nUF_-0!) z=&bFOZ$D{6WHQH2ThSCkLgbS+L=fzs;A$}Y&9g`LG|iK4K9CZLfp~uW*|sO8pI0s; z#b>`ba$IqA-!o6W?JovBH|zY5Le#Ej8fRPUtt(!BVf|XlC(;wOF~-renSQympXkc{U}VfN+Um29F@L!c2r1S`lE7a!TG!R{`9|xJWjxv{w_Yx{ zuCcdW!DbO)*2r!1VDwqz^0HB&!GULTGLFH3WNx^XWCp-S@16lHAH ze9dlZA={!>E1Z=AcrJ(10n-9M3pR`LScW(;qUuSjdK0Esy^6oTqKdy@?E$%~kzWA` z;tCM#Fl#N?taTEVVh(oO84hMS^7=ErKt?WbwTUDG?174Sk$F;?`yOK4?o9SL?~s0Y zD%C|1?9#8F%Y(07I3k^twvfAM)s54=<|J@RELy0%>OHy(;Jp&*TEO2&sXWrXK^s&6Tz&T%0WJ ze{&I??Di%6zLnMt!Q(0G63jPxCSPjZZeKxxTB8&g9f4;WMrQ{#$^d}{QdQ&U(lx%; z3u4Ru3i=!P8!8*|8w2NKcIC9hRVC;IXHiQRJucOY@s?rut;qnEmY4*SQlMip2qJ%V zvvhIHTZ4?s*1K_EDLs0>S3%;N&z~1>J;)K3kg53(PAby3N({y<>Qxs6<~H z$c2KtT5usMxtlm9sSr?f+BS(xNW|_&7h7A^Ua@bCBnbt)v)U`}WVu4zbiZ{4#{O%| z&%z|&^Z{rVW&?)ZaP9%8UECS;8aqI*9j6_%g9~F6MIT4e8(NUrC#Cl;Jdl1pLDDb& zPE^*r2c_S3T=~ZfM7jM_q1h%SUxPoF4^H`)Z%UWXeJC~j>%TVcG}(CL=lhJm0nW^1 z*r=oU=!_+Ic2+9%GI8mMj|8*?lLJj9lt08bai(?q*#+28lKkQ4tvB9k{Y`r9qL?qa zTK6iB9=9Gp^(hDioujme%~1!#@3)ls!6`=Sh5L0=!CTx>xekrlh~5sX=<%#KXN7^5D@3-cCz z_jJh%!*(A(c{y~z zYiVeBWwa@(ymPnbmXBSUHmG_I#zytQy8sm`Dvc1m3I{qyMc2YEjR4lEI1)mRR+A73 z(&2f7l%*&shpQanS^(4Z^e}K9W+#J_AZpsDLDJ+24!F>`FP?B(i_j`=erO^O5W2C_k(==@m%pY2ZZUZ8>D;dinog1(nf11X`>jo zc3=!>{Y=cKiOt7oc2e`A6HW~}45q4Pgj4|ggaJ@GI(dR*{dFE+A^kl5XYy^M^%B3= zTFOiOG3#1>nzaXAAG&{3np9(bI0c9>J%VUkm=bNmWDw%W9X=SW%*1hxKUVQegdVMB z);oNNunE7nQE8Ow{G2Fk@@kc+5W!^#MBVZ1m&JCfQDKs4h_JqOw5J$t6}^N;!^4Y0 zP?^|TUIK=K*xrW@@iv1e_g5j>DhV`zm>WHj=^>AQr%J_S26@RK9hDA{9Ot*zpBVFYe+2SxRo!N;fcq1PMk)4Yf!6ua$!cT4eLN7!}SBudH;(Wj0C1nWq!}+js zK13;BDvFt?%0AB1iaFEHJx5Y%U05mg%ivVTfIag7mGID;I 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%0Dmx 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%0DVEpTf8Do!Q-QU}*+qX?Qqd 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⁢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�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 C&b}uA literal 0 HcmV?d00001 diff --git a/seeder.sh b/seeder.sh new file mode 100644 index 0000000..36abbb5 --- /dev/null +++ b/seeder.sh @@ -0,0 +1,3 @@ +#!/usr/bin/env sh + +FORCE=true node index.js && sequelize db:seed:all --url postgres://${DB_PASSWORD}:${DB_USUARIO}@${DB_HOST}:${DB_PUERTO}/${DB_NOMBRE} --seeders-path src/seeders diff --git a/src/auth.js b/src/auth.js new file mode 100644 index 0000000..c15da36 --- /dev/null +++ b/src/auth.js @@ -0,0 +1,39 @@ +const passport2 = require("passport"); +const Strategy = require("passport-jwt").Strategy; +const ExtractJwt = require("passport-jwt").ExtractJwt; + +module.exports = app => { + + const Funcionarios = app.src.db.models.Funcionarios; + + const cfg = app.src.config.config; + const params = { + secretOrKey: cfg.jwtSecret, + jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(), + }; + + + const strategy = new Strategy(params, (payload, done) => { + Funcionarios.findByUid(payload.id) + .then(funcionario => { + if (funcionario) { + return done(null, { + id: funcionario.uid, + }); + } + return done(null, false); + }) + .catch(error => { + console.log("Error stategy ldap", error); + done(error, null); + }); + }); + + + passport2.use(strategy); + + return { + initialize: () => passport2.initialize(), + authenticate: () => passport2.authenticate("jwt", cfg.jwtSession), + }; +}; diff --git a/src/bl/monitor/monitorBL.js b/src/bl/monitor/monitorBL.js new file mode 100644 index 0000000..6aeea46 --- /dev/null +++ b/src/bl/monitor/monitorBL.js @@ -0,0 +1,90 @@ +const Promise = require('bluebird'); +const Uuid = require('uuid'); +const moment = require('moment'); +module.exports = { + /** + * Método que realiza la creación o actualización de los registros monitor, + * cuando un usuario visita un determinado documento + * @param {Modelos} pModelo Modelos de la base de datos. + * @param {Objeto} pLog Objeto con información sobre la visita en curso. + * @return {Promesa} + */ + registrarVisita:(pModelo, pLog) => { + // Agrega a la informacion de visita la fecha actual. + pLog.fecha_visita = moment().tz("America/La_Paz").format("YYYY-MM-DD"); + + // Almacena un clon del vector ip. + const ip = pLog.ip; + + // Agrega a la informacion de visita el vector de ip's en modo texto. + pLog.ip = JSON.stringify(pLog.ip); + + // Instancia el modelo monitor, responsable de registrar visitas. + const Monitor = pModelo.monitor; + + // Instancia un nuevo objeto. + const datos={}; + + // Instancia una nueva promesa. + return new Promise((resolve, reject) => { + + // Realiza la busqueda, con relacion a la visita actual. + Monitor.findOne({ + where:{ + fid_usuario:pLog.fid_usuario, + fid_documento:pLog.fid_documento, + }, + }) + .then(pMon => { + // Si se encuentra registrada la visita. + if(pMon){ + + // Transforma las ip regitrada en modo texto a vector. + const ips= JSON.parse(pMon.ip); + + let c=0; + + // Itera las IP's obtenidas en la visita actual. + for(let i=0; i0){ + // Actualiza la información de la visita. + pLog._usuario_modificacion=pLog.fid_usuario; + pLog.contador=pMon.dataValues.contador+1; + + // Actualiza la información de la visita + return pMon.update(pLog).then(() => resolve()); + }else { + + // Actualiza la información de la visita a registrar. + pLog.contador=1; + pLog._usuario_creacion=pLog.fid_usuario; + + // Registra la visita. + return Monitor.create(pLog).then(() => resolve()); + + } + + } + // Si no se encuentra registrada la visita. + else{ + + // Actualiza la información de la visita a registrar. + pLog.contador=1; + pLog._usuario_creacion=pLog.fid_usuario; + // pLog['fecha_visita']= moment().tz("America/La_Paz").format("YYYY-MM-DD"); + + // Registra la visita. + return Monitor.create(pLog).then(() => resolve()) + } + }) + .catch(pError => { + console.log("Error al crear el registro del monitor", pError); + resolve() + }) + }) + }, +}; diff --git a/src/bl/plantillasFormly/catalogoBL.js b/src/bl/plantillasFormly/catalogoBL.js new file mode 100644 index 0000000..7088e6c --- /dev/null +++ b/src/bl/plantillasFormly/catalogoBL.js @@ -0,0 +1,222 @@ +require('colors'); +const _ = require('lodash'); +const util = require('../../lib/util'); +const hash = require('object-hash'); + + +module.exports = { + filtrarDocumentosRelacionados: (modelos, lista, id_usuario, tr) => { + const Documento = modelos.documento; + + return new Promise((resolve, reject) => { + + }); + }, + + obtenerInfoDocumentos: (modelos, lista) => { + const Documento = modelos.documento; + const documentosRespuesta = []; + const promesas = lista.map(item => new Promise((resolve) => Documento.findOne({ + attributes: ['id_documento', 'nombre', 'fecha'], + where: { + id_documento: item.fid_documento, + }, + }) + .then(respDocumento => { + if (!respDocumento) throw Error ('El documento no existe'); + const temp = JSON.parse(JSON.stringify(item)); + temp.nombre = respDocumento.dataValues.nombre; + temp.nombre_pdf = `${util.formatoNombreDoc(temp.nombre)}.pdf`; + documentosRespuesta.push(temp); + return resolve(); + }) + .catch(() => resolve()))); + + return Promise.all(promesas) + .then(() => Promise.resolve(documentosRespuesta)) + .catch(error => Promise.reject(error)); + }, + + obtenerInfoUsuarios: (modelos, lista) => { + const Usuario = modelos.usuario; + const usuariosRespuesta = []; + const promesas = lista.map(item => new Promise((resolve) => Usuario.findOne({ + attributes: ['id_usuario', 'nombres', 'apellidos', 'cargo'], + where: { + id_usuario: item.fid_usuario, + }, + }) + .then(respusuario => { + if (!respusuario) throw Error ('El usuario no existe'); + const temp = JSON.parse(JSON.stringify(item)); + temp.nombres = respusuario.nombres; + temp.apellidos = respusuario.apellidos; + temp.cargo = respusuario.cargo; + usuariosRespuesta.push(temp); + return resolve(); + }) + .catch(() => resolve()))); + + return Promise.all(promesas) + .then(() => Promise.resolve(usuariosRespuesta)) + .catch(() => Promise.reject('No se pudo obtener resultados')); + }, + + tieneRelacion: (documento, usuario) => { + const de = JSON.parse(documento.de) || []; + const via = JSON.parse(documento.via) || []; + const via_actual = documento.via_actual; + const para = JSON.parse(documento.para) || []; + const id = usuario.id_usuario; + return new Promise((resolve) => { + if ((de.indexOf(id) > -1) || (via.indexOf(id) > -1) || (para.indexOf(id) > -1) || (via_actual == id)) return resolve(true); + else return resolve(false); + }); + }, + + validarMultiple: (lista, usuario) => { + let existeRelacion = false; + const promesas = lista.map(item => module.exports.tieneRelacion(item, usuario) + .then(resp => { + if (resp == true) existeRelacion = true; + }) + .catch(error => {})); + + return Promise.all(promesas) + .then(() => Promise.resolve(existeRelacion)); + }, + + validarRelacionDocumento: (modelos, documento, usuario) => { + const Documento = modelos.documento; + return new Promise((resolve, reject) => module.exports.tieneRelacion(documento, usuario) + .then(resp => { + console.log('Revisando la relacion', resp); + + if (resp == true) return resolve(resp); + return Documento.findAll({ + attributes: ['id_documento', 'nombre', '_usuario_creacion', '_usuario_modificacion', 'firmaron', 'via_actual', 'de', 'via', 'para', 'grupo'], + where: { + grupo: documento.grupo, + }, + }); + }) + .then(respDocumentos => module.exports.validarMultiple(respDocumentos, usuario)) + .then((respMultiple) => resolve(respMultiple)) + .catch(() => reject('Error en la busqueda de documentos'))); + }, + + crearActualizarDocumentos: (modelos, lista, catalogo, tr) => { + const promesas = lista.map(item => new Promise((resolve, reject) => { + if (!item.id_catalogo_documento) { + return module.exports.crearCatalogoDocumento(modelos, item, catalogo, tr) + .then(() => resolve()) + .catch(error => reject(error)); + } + return module.exports.actualizarCatalogoDocumento(modelos, item, catalogo, tr) + .then(() => resolve()) + .catch(error => reject(error)); + })); + + return Promise.all(promesas) + .then(() => Promise.resolve()) + .catch(() => Promise.reject()); + }, + + crearCatalogoDocumento: (modelos, datos, catalogo, tr) => { + const Documento = modelos.documento; + const CatalogoDocumento = modelos.catalogo_documento; + const opcionesDocumento = { + attributes: ['id_documento', 'nombre', '_usuario_creacion', '_usuario_modificacion', 'firmaron', 'via_actual', 'de', 'via', 'para', 'grupo'], + where: { + id_documento: datos.fid_documento, + }, + }; + return new Promise((resolve,reject) => Documento.findOne(opcionesDocumento, tr) + .then(respDocumento => module.exports.tieneRelacion(respDocumento, catalogo.audit_usuario)) + .then(respRelacion => { + console.log('revisando la relacion'.white, respRelacion) + if (respRelacion == false) throw Error('El documento no presenta relacion con el usuario'); + datos.fid_catalogo = catalogo.id_catalogo; + if (!datos._usuario_creacion) datos._usuario_creacion = catalogo.audit_usuario.id_usuario; + return CatalogoDocumento.create(datos, tr); + }) + .then(() => resolve()) + .catch(error => reject(error))); + }, + + actualizarCatalogoDocumento: (modelos, datos, catalogo, tr) => { + const CatalogoDocumento = modelos.catalogo_documento; + return new Promise((resolve, reject) => CatalogoDocumento.findOne({ + where: { + id_catalogo_documento: datos.id_catalogo_documento, + fid_catalogo: catalogo.id_catalogo, + _usuario_creacion: catalogo.audit_usuario.id_usuario, + }, + }, tr) + .then(resp => { + if(!resp) throw Error('El catalogo a actualizar no se encuentra disponible'); + return resp.update(datos, tr); + }) + .then(() => resolve()) + .catch(error => reject(error))); + }, + + crearActualizarUsuarios: (modelos, lista, catalogo, tr) => { + const promesas = lista.map(item => new Promise((resolve) => { + if (!item.id_catalogo_usuario) { + return module.exports.crearCatalogoUsuario(modelos, item, catalogo, tr) + .then(() => resolve()) + .catch(() => resolve()); + } + return module.exports.actualizarCatalogoUsuario(modelos, item, catalogo, tr) + .then(() => resolve()) + .catch(() => resolve()); + })); + return Promise.all(promesas) + .then(() => Promise.resolve()) + .catch(error => Promise.reject(error)); + }, + + crearCatalogoUsuario: (modelos, datos, catalogo, tr) => { + const opcionesUsuario = { + attributes: ['id_usuario', 'nombres', 'apellidos'], + where: { + id_usuario: datos.fid_usuario, + }, + }; + const CatalogoUsuario = modelos.catalogo_usuario; + const Usuario = modelos.usuario; + return new Promise((resolve, reject) => Usuario.findOne(opcionesUsuario, tr) + .then(respUsuario => { + const usuarioEntrante = hash({ + id_usuario: datos.fid_usuario, + nombres: datos.nombres, + apellidos: datos.apellidos, + }); + const usuarioBuscado = hash(respUsuario.dataValues); + if (usuarioEntrante !== usuarioBuscado) return resolve(); + datos._usuario_creacion = catalogo.audit_usuario.id_usuario; + datos.fid_catalogo = catalogo.id_catalogo; + return CatalogoUsuario.create(datos, tr) + }) + .then(() => resolve()) + .catch(error => reject(error))); + }, + + actualizarCatalogoUsuario: (modelos, datos, catalogo, tr) => { + const CatalogoUsuario = modelos.catalogo_usuario; + return new Promise((resolve, reject) => CatalogoUsuario.findOne({ + where: { + id_catalogo_usuario: datos.id_catalogo_usuario, + fid_usuario: datos.fid_usuario, + _usuario_creacion: catalogo.audit_usuario.id_usuario, + }, + }, tr) + .then(resp => { + if (!resp) throw Error('El usuario a actulizar para el catalogo no se encuentra disponible'); + return resp.update({estado: datos.estado}, tr) + }) + .then(() => resolve()) + .catch(error => reject(error))); + }, +}; \ No newline at end of file diff --git a/src/bl/plantillasFormly/documentoBL.js b/src/bl/plantillasFormly/documentoBL.js new file mode 100644 index 0000000..8a1c120 --- /dev/null +++ b/src/bl/plantillasFormly/documentoBL.js @@ -0,0 +1,1835 @@ +require('colors'); +const Promise = require('bluebird'); +const Uuid = require('uuid'); +const Archivo = require('../../lib/archivos'); +const sequelize = require('sequelize'); +const moment = require('moment'); +const _ = require('lodash'); +const Util = require('../../lib/util'); +const notificar = require('../../lib/notificacion'); +const config = require('../../config/config')(); +const dirDocumento = config.ruta_documentos; +const blm = require('../monitor/monitorBL'); +const libAlmacen = require('../../lib/almacen'); +const libActivos = require('../../lib/activos'); +const Op = require('sequelize').Op; + +module.exports = { + + + actualizarDocumento: (pDocumento, pDatos, pModeloHistorial, tr) => + new Promise((resolve, reject) => + pDocumento.update(pDatos, tr) + .then(pDoc => { + const flag=(pDatos.estado == 'DERIVADO' && pDatos.via_actual == pDatos._usuario_modificacion)? false:true; + + if(flag ){ + pModeloHistorial.create({ + id_documento:pDoc.id_documento, + accion:pDatos.estado, + observacion:(pDatos.observaciones)?pDatos.observaciones:'', + _usuario_creacion:pDatos._usuario_modificacion, + }, tr) + .then(pResultado => resolve(pResultado)) + } + else resolve(); + + }) + .catch(pError => reject(pError)) + ), + + /** + * Función que realiza el cierre de un documento y el flujo. + * @param {Object} pModeloDocumento Objeto Sequelize del modelo de datos documento + * @param {Object} pModeloHistorial Objeto Sequelize del modelo de datos historial_flujo + * @param {Object} pDocumento Objeto con informacion sobre el documento + * @param {Number} pUsuario Identificador del usuario que realiza el cambio + * @return {Promise} Promesa. + */ + cerrarDocumento: (pModelos, pDocumento, pUsuario, tr, Sequelize) => { + + const datosActualizar = { + estado:'CERRADO', + _usuario_modificacion:pUsuario, + }; + // if(pDocumento.firmante_actual === null) datosActualizar.firmante_actual = pDocumento.firmante_actual; + return new Promise((resolve, reject) => { + if(pDocumento.grupo){ + pModelos.documento.findAll({ + where: { + grupo: pDocumento.grupo, + estado: { + [Op.notIn]: ['ELIMINADO', 'CERRADO'], + }, + }, + order: [['_fecha_creacion','ASC']], + }) + .then( pRespuesta => { + if(!Array.isArray(pRespuesta)) pRespuesta = [pRespuesta]; + return resolve(Promise.each(pRespuesta, (it) => { + const remitentes = JSON.parse(it.de); + delete datosActualizar.firmante_actual; + if(it.firmante_actual === null && it.firmaron === null) { + datosActualizar.firmante_actual = remitentes[0]; + } + return module.exports.actualizarDocumento(it, datosActualizar, pModelos.historial_flujo, tr); + })); + }) + .catch( pError => reject(pError)) + }else { + resolve(true) + } + + }) + }, + + buscarHijos:(pModeloDocumento,pDocumento) => + new Promise((resolve, reject) => pModeloDocumento.findAll({ + where:{documento_padre:pDocumento.dataValues.id_documento}, + }) + .then(pResultado => {(pResultado.length > 0)?resolve(true):resolve(false)}) + .catch(pError => reject(pError)) + ), + + eliminarDocumento: (pIdUsuario, pIdDocumento, pModelo, pModeloHistorial) => { + const condicion={}; + if(pIdUsuario!=null || pIdUsuario!=undefined) condicion._usuario_creacion=pIdUsuario + if(pIdDocumento!=null || pIdDocumento!=undefined) condicion.id_documento=pIdDocumento + return new Promise((resolve, reject) => pModelo.findOne({where:condicion}) + .then(pResultado => { + + if(pResultado != null){ + if(pResultado.estado=='NUEVO' || pResultado.estado=='RECHAZADO'){ + return module.exports.actualizarDocumento(pResultado, + { + estado:'ELIMINADO', + _usuario_modificacion: pIdUsuario, + documento_padre: -pResultado.documento_padre, + }, pModeloHistorial) + } + else throw new Error("La modificacion no esta disponible en este momento."); + } + else throw new Error("El documento solicitado no existe"); + }) + .then(() => resolve()) + .catch(pError => reject(pError))) + + }, + + documento_enviar: (modeloHistorialFlujo, doc, tr, pDirector) => + new Promise( (resolve, reject) => { + const via = JSON.parse(doc.via); + const para = JSON.parse(doc.para); + let viaActual = 0, i; + const form = JSON.parse(doc.plantilla); + + let aprobarPorDireccion = false; + for (let f = 0; f < form.length; f++) { + if (form[f].type == "datosGenerales" && form[f].templateOptions) { + aprobarPorDireccion = form[f].templateOptions.aprobarPorDireccion; + break; + } + } + + if (aprobarPorDireccion && via.length==0) { + viaActual = pDirector; + } else { + if (via.length>0) { + viaActual = via[0]; + } else { + viaActual = para[0]; + } + } + + doc.update({ + via_actual: viaActual, + estado: 'ENVIADO', + usuario_modificacion: doc._usuario_creacion, + }, tr) + .then(doc => + modeloHistorialFlujo.create({ + id_documento:doc.id_documento, + accion: 'ENVIADO', + observacion: '', + estado: 'ACTIVO', + _usuario_creacion: doc._usuario_creacion, + }, tr) + ) + .then( resu => resolve(resu)) + .catch( e => reject(e)); + }), + + /** + * Función que crea el registro en el historial + * @param {Modelo} modeloHistorialFlujo Instancia del modelo de datos del historial + * @param {Número} idDocumento Identificador del documento + * @param {Número} idUsuario Identificador del usuario que realiza la acción + * @param {Objeto} tr Instancia de la transacción en curso + * @return {Promesa} Retorna una promesa + */ + documento_crear: (modeloHistorialFlujo, idDocumento, idUsuario, tr) => + new Promise( (resolve, reject) => { + modeloHistorialFlujo.create({ + id_documento:idDocumento, + accion:'CREADO', + observacion:'', + _usuario_creacion:idUsuario, + }, tr) + .then( resu => resolve(resu)) + .catch( e => reject(e)); + }), + + /** + * Función que actualiza el identificador del grupo de un documento. + * @param {Modelo} modeloDocumento Modelo de datos del documento + * @param {Objeto} doc Instancia del documento + * @param {Objeto} tr Instancia de la transacción en curso + * @return {Promesa} Retorna una promesa. + */ + actualizarGrupo: (modeloDocumento, doc, tr) => + new Promise( (resolve, reject) => { + if(doc.documento_padre){ + modeloDocumento.findByPk(doc.documento_padre) + .then( doc_padre => doc.update({grupo: doc_padre.grupo}, tr)) + .then( resu => resolve(resu)) + .catch( e => reject(e)); + }else { + doc.update({grupo: doc.id_documento}, tr) + .then( resu => resolve(resu)) + .catch( e => reject(e)); + } + }), + + /** + * Método que crea fisicamente los base64 que se le envien. + * @param {VECTOR} pVector Contiene un vector de objetos, los cuales traen consigo un base64. + * @param {TEXTO} pRuta Cadena de texto con la ruta destino. + * @return {VECTOR} Retorna el vector de objetos actualizados, sin base64. + */ + crearExternos: (pVector, pRuta) => { + + const externos = pVector.map(pItem => { + + const data = pItem.base64; + + if(data!== undefined){ + const tipo = pItem.filetype.substr(pItem.filetype.indexOf('/')+1,pItem.filetype.length); + + pItem.nombre_privado= `${Uuid.v4()}.${tipo}`; + pItem.nombre_publico=`${pItem.filename}`; + pItem.url= `${pRuta.substr(1,pRuta.length)}/${pItem.nombre_privado}`; + delete pItem.base64; + + return Archivo.crearArchivo(pRuta, new Buffer(data, "base64"), pItem.nombre_publico, tipo, pItem.nombre_privado, true) + .then(pRespuesta => Promise.resolve()) + .catch(pError => Promise.reject(pError)); + } + else { + return Promise.resolve(); + } + + }); + + return Promise.all(externos) + .then(() => Promise.resolve(pVector)) + .catch(pError => Promise.reject(pError)); + }, + /** + * Función que verifica la existencia de archivos externos, + * si hay los crea fisicamente en el servidor. + * @param {OBJETO} pDatos Objeto que contiene los datos de un documento. Entre los cuales se encuentran documentos externos. + * @param {TEXTO} pRuta Cadena de texto que contiene la ruta donde se almacena los documentos. + * @return {TEXTO} Retorna un objeto transformado en texto en caso de que existan, de lo contrario nada. + */ + verificarExternos: (pDatos, pRuta) => { + + let tieneAdjuntos=false; + let documentos=[]; + + return new Promise((resolve, reject) => { + + if(pDatos.plantilla_valor){ + const valores= JSON.parse(pDatos.plantilla_valor); + + for (const i in valores) { + if(i.search('archivo') > -1){ + tieneAdjuntos=true; + documentos=documentos.concat(valores[i]); + } + } + if(tieneAdjuntos){ + module.exports.crearExternos(documentos, pRuta) + .then(pRespuesta => resolve(JSON.stringify(valores))) + .catch(pError => reject(pError)); + } + else{ + resolve(); + } + } + else { + resolve(); + } + + }); + + }, + + /** + * Función que verifica la existencia del componente cajachica, + * si hay los crea físicamente en la base de datos del servidor. + * @param {ENTERO} idUsuario Identificador del usuario de sesión. + * @param {MODELO} pPartida Modelo sequelizede partida.. + * @param {OBJETO} valores Retorna un objeto transformado en texto en caso de que existan, de lo contrario nada. + * @return {TEXTO} Retorna un objeto transformado en texto en caso de que existan, de lo contrario nada. + */ + + crearModificarPartidas: (idUsuario, pPartida, valores, tieneCite) => { + + let partidas = [], par; + + return new Promise((resolve, reject) => { + // solo se creara si el documento tiene el componente cajachica y no tenga cite + // la creacion sera para todos los tipos de partidas + if (!tieneCite && valores['cajachica-0']) { + + // llevamos las filas en un array con formato de la tabla partida + valores['cajachica-0'].rows.forEach( it => { + par = { + cite: valores['cite-0']['cite'], + numero: typeof it.partida=='object'? it.partida.numero : it.partida, + descripcion: it.descripcion, + monto: it.monto, + gestion: moment().tz("America/La_Paz").year(), + tipo: valores['cajachica-0']['tipo'], + _usuario_creacion: idUsuario, + }; + if (valores['cajachica-0'].tipo=='PAGADO') { + par.fid_partida = it.id_comprometido; + par.cite_ref = it.cite.nombre; + if (it.pago_multiple) { + par.fid_partida = (toFloat(it.monto)==toFloat('0.00'))? it.id_comprometido : null; + par.multiple = it.id_comprometido; + } + } + partidas.push(par); + }); + + // el parametro reurning hace que nos devuelva los ids de las partidas creadas + pPartida.bulkCreate(partidas, {returning: true}) + .then(pRespuesta => { + // asignamos el id a los valores del documento + for (let i = 0; i < pRespuesta.length; i++) + valores['cajachica-0'].rows[i].id = pRespuesta[i].id_partida; + + if (valores['cajachica-0'].tipo=='PAGADO') { + // si la creacion es de pagados actualizaremos el fid_partida de su comprometido + + // ordenar pagos de mayor a menor y hacerlos de uno en uno + partidas = _.sortBy( valores['cajachica-0'].rows, row => -toFloat(row.monto) ); + Promise.each(partidas, it => { + // si no es pago_multiple o es monto 0.00 actualizaremos el fid_partida de su comprometido + if ( !it.pago_multiple || toFloat(it.monto)==toFloat('0.00')) + pPartida.update({ fid_partida: it.id }, { + where: { + id_partida: it.id_comprometido, + tipo: 'COMPROMETIDO', + }, + }); + // si es pago_multiple y es ultimo pago 0.00 actualizaremos todos loa pagos + if ( it.pago_multiple && toFloat(it.monto)==toFloat('0.00')) + pPartida.update({ fid_partida:it.id }, { + where: { + id_partida:{ [Op.ne]:it.id }, + multiple: it.id_comprometido, + tipo: 'PAGADO', + }, + }) + }) + + } else if (valores['cajachica-0'].tipo=='COMPROMETIDO') { + // si la creacion es de comprometidos, + // se verifica que el comprometido es de pago_multiple multiple, si es true => se actualiza su columna multiple con su id + partidas = valores['cajachica-0'].rows.map( it => { + if (it.pago_multiple) { + pPartida.findByPk(it.id) + .then( comp => comp.update({ multiple: comp.id_partida})) + .then( comp => Promise.resolve()) + .catch( err => Promise.resolve()) + } else + Promise.resolve() + }); + Promise.all(partidas); + } + + }) + .then( pRespuesta => { + resolve(valores); + }) + .catch(pError => { + resolve(); + }); + + } else return resolve(); + }); + + function toFloat(string) { return parseFloat(parseFloat(string).toFixed(2)); } + }, + + /** + * Función que se encarga de verficar estado de las partidas para cada caso, si existe el componente caja chica + * @param {MODELO} pPartida Modelo sequelizede partida.. + * @param {OBJETO} valores Retorna un objeto transformado en texto en caso de que existan, de lo contrario nada. + */ + verificarPartidas: (pPartida, valores) => { + let + partidas = [], + modificados = [], + pagados = [], + comprometidos = [], + saldo, num; + const + xnumeros = [], + partidas_obj = {}, + modificados_obj = {}, + pagados_obj = {}, + comprometidos_obj = {}, + xnumeros_obj = {}, + saldos= {}, + anioActual = `${moment().tz("America/La_Paz").year()}`; + + return new Promise((resolve, reject) => { + if (valores['cajachica-0']) { + + if ( typeof valores['cajachica-0'] == 'object' ){ + if (valores['cajachica-0'].tipo == 'INICIAL') verificarExistenciaIniciales(); + else if (valores['cajachica-0'].tipo == 'COMPROMETIDO' || valores['cajachica-0'].tipo == 'MODIFICADO') verificarMontosPartidas(); + else if (valores['cajachica-0'].tipo == 'PAGADO') verificarExistenciaPagados(); + else reject("Los datos enviados de partidas, son incorrectos"); + } else reject("Los datos enviados de partidas, son incorrectos"); + + } else return resolve(); + + // verificamos que los montos no excedan de las partidas + function verificarMontosPartidas () { + valores['cajachica-0'].rows.forEach( row => { + + if (!xnumeros_obj[row.partida.numero]) { + xnumeros.push(row.partida.numero); + xnumeros_obj[row.partida.numero] = { numero:row.partida.numero, monto:toFloat(row.monto) }; + } else { + xnumeros_obj[row.partida.numero].monto += toFloat(row.monto); + } + }); + + pPartida.findAll({ + attributes: ['id_partida', 'numero', 'monto'], + where: { + numero: {[Op.in]:xnumeros}, + tipo: 'INICIAL', + gestion: anioActual, + estado: 'ACTIVO', + }, + raw: true, + }) + .then( resp => { + partidas = resp; + return pPartida.findAll({ + attributes: ['numero', [sequelize.fn('SUM',sequelize.fn('COALESCE', (sequelize.col('monto')), 0)), 'monto']], + where: { + numero: { [Op.in]:xnumeros }, + tipo: 'MODIFICADO', + gestion: anioActual, + estado: 'ACTIVO', + }, + group: 'numero', + raw: true, + }) + }) + .then( resp => { + modificados = resp; + return pPartida.findAll({ + attributes: ['numero', [sequelize.fn('SUM',sequelize.fn('COALESCE', (sequelize.col('monto')), 0)), 'monto']], + where: { + numero: { [Op.in]:xnumeros }, + tipo: 'COMPROMETIDO', + gestion: anioActual, + fid_partida: null, //los comprometidos que no fueron paagados + estado: 'ACTIVO', + }, + group: 'numero', + raw: true, + }) + }) + .then( resp => { + comprometidos = resp; + return pPartida.findAll({ + attributes: ['numero', [sequelize.fn('SUM',sequelize.fn('COALESCE', (sequelize.col('monto')), 0)), 'monto']], + where: { + numero: { [Op.in]:xnumeros }, + tipo: 'PAGADO', + gestion: anioActual, + fid_partida: {[Op.ne]:null}, + estado: 'ACTIVO', + }, + group: 'numero', + raw: true, + }) + + }) + .then( resp => { + pagados = resp; + arrToObj(partidas, partidas_obj, 'numero'); + arrToObj(pagados, pagados_obj, 'numero'); + arrToObj(comprometidos, comprometidos_obj, 'numero'); + arrToObj(modificados, modificados_obj, 'numero'); + + xnumeros.forEach( num => { + if(!saldos[num]) saldos[num] = {}; + saldo = toFloat( getMonto(partidas_obj, num) - getMonto(comprometidos_obj,num) - getMonto(pagados_obj,num) + getMonto(modificados_obj,num) ); + saldos[num].saldoInicial = saldo; + if( valores['cajachica-0'].tipo == 'COMPROMETIDO') { + if ((saldo-getMonto(xnumeros_obj,num))<0) { + newError(`La partida número ${num} no cuenta con saldo suficiente para el requerimiento.
      + Saldo actual < monto total requerido
      + ${saldo} < ${getMonto(xnumeros_obj,num)}`); + } + else { + saldos[num].saldoFinal = saldo - getMonto(xnumeros_obj, num); + saldos[num].montoComprometido = getMonto(xnumeros_obj, num); + } + } else if( valores['cajachica-0'].tipo == 'MODIFICADO') { + if (getMonto(xnumeros_obj,num)<0){ + + if ((saldo+getMonto(xnumeros_obj,num))<0) { + newError(`La partida número ${num} no cuenta con saldo suficiente para la modificación.
      + Saldo actual < monto total a cambiar
      + ${saldo} < ${getMonto(xnumeros_obj,num)}`); + } + } + } + }) + // throw new Error('---------Error generado manual --------------------'); + + resolve(saldos); + }) + .catch( err => { console.log(err); reject('Ocurrio un error al verificar el presupuesto')}) + } + + // verifica que no se inicien dos partidas con el mismo numero para una gestion + function verificarExistenciaIniciales() { + valores['cajachica-0'].rows.forEach( row => { + if (!xnumeros_obj[row.partida]) { + xnumeros.push(row.partida); + xnumeros_obj[row.partida] = true; + } + }); + + pPartida.findAll({ + where: { + numero: {[Op.in]:xnumeros}, + tipo: 'INICIAL', + gestion: anioActual, + estado: 'ACTIVO', + }, + limit:3, + raw: true, + }) + .then( resp => { + // throw new Error('---------Error generado manual --------------------'); + if (resp.length==0) { + resolve(); + } + newError(`La partida número ${resp[0].numero} ya existe.
      Partida: ${resp[0].numero} - ${resp[0].descripcion}`); + }) + .catch( err => { console.log(err); reject('Ocurrio un error al verificar las partidas')}) + } + + function verificarExistenciaPagados() { + valores['cajachica-0'].rows.forEach( row => { + + if (pagados_obj[row.id_comprometido] && !row.pago_multiple) { + newError(`El pago:
      + -cite: ${row.cite.nombre}
      + -partida: ${row.partida.num_des}
      + No debe repetirse, por favor verifique los datos enviados.`); + } + + if (row.pago_multiple) { + if (!pagados_obj[row.id_comprometido]) { + pagados.push(row.id_comprometido); // pagados multiples + pagados_obj[row.id_comprometido] = row; + pagados_obj[row.id_comprometido].pago_total = 0; + } + pagados_obj[row.id_comprometido].pago_total += toFloat(row.monto); + } + + comprometidos.push(row.id_comprometido); // todos + + if (toFloat(row.saldo? row.saldo : row.comprometido) + -cite: ${row.cite.nombre}
      + -partida: ${row.partida.num_des}
      + -detalle: ${row.descripcion}.
      + Excede el ${row.saldo? 'saldo' : 'monto comprometido'}.
      + ${row.saldo? 'saldo' : 'comprometido'} < pagado
      + ${row.saldo? row.saldo : row.comprometido} < ${row.monto}.`); + } + }); + + // buscamos a los compromeidos que fueron pagados + pPartida.findAll({ + where: { + fid_partida: {[Op.in]:comprometidos}, + tipo: 'PAGADO', + estado: 'ACTIVO', + }, + raw: true, + }) + .then( resp => { + if (resp.length!=0) { + newError(`La partida número ${resp[0].numero} con:
      + -cite: ${resp[0].cite_ref}
      + -detalle: ${resp[0].descripcion}
      + Ya fue pagada en el documento ${resp[0].cite}.`); + } + + // buscamos el total pagado de cada comprometido + return pPartida.findAll({ + attributes: ['multiple', [sequelize.fn('SUM',sequelize.fn('COALESCE', (sequelize.col('monto')), 0)), 'monto']], + where: { + multiple: {[Op.in]:pagados}, + tipo: 'PAGADO', + estado: 'ACTIVO', + }, + group: 'multiple', + raw: true, + }) + }) + .then( pagos => { + if (pagos) { + pagos.forEach( it => { + if (!xnumeros_obj[it.multiple]) { + xnumeros_obj[it.multiple] = it; + } + }); + for (var k in pagados_obj) { + num = pagados_obj[k]; + saldo = toFloat(num.comprometido); + if (xnumeros_obj[num.id_comprometido]) { + saldo -= toFloat(xnumeros_obj[num.id_comprometido].monto); + } + if ( toFloat(num.pago_total) > toFloat(saldo) ) { + newError(`El pago:
      + -número: ${num.partida.numero}
      + -cite: ${num.cite.nombre}
      + -detalle: ${num.descripcion}
      + Excede el saldo del comprometido.
      + Saldo actual < Pago total
      + ${saldo} < ${toFloat(num.pago_total)}`); + } + } + + } + resolve(); + }) + .catch( err => { console.log(err); reject('Ocurrio un error al verificar las partidas')}) + + } + + function newError(msg) { reject(msg); throw new Error(msg); } + + function arrToObj(arr, obj, key) { arr.forEach( row => { if (!obj[row[key]]) { obj[row[key]] = row; }}); } + + function toFloat(string) { return parseFloat(parseFloat(string).toFixed(2)); } + + function getMonto(obj, num) { return (obj && obj[num] && obj[num].monto)? toFloat(obj[num].monto) : 0; } + }); + }, + + /** + * Función que valida la relación de un usuario con un documento. + * @param {Modelo} pModeloDocumento Instancia del modelo de datos para documento + * @param {Modelo} pModeloHistorial Instancia del modelo de datos para historialFlujo + * @param {Objeto} pDocumento Instancia del documento + * @param {Objeto} pUsuario Instancia del usuario solicitante + * @return {Promesa} Retorna una promesa. + */ + validarPeticionGet:(pModeloDocumento, pModeloHistorial, pDocumento, pUsuario) => { + return new Promise((resolve, reject) => { + + if(pDocumento.estado !== 'NUEVO'){ + + const via = JSON.parse(pDocumento.via); + const para = JSON.parse(pDocumento.para); + const de = JSON.parse(pDocumento.de); + module.exports.obtenerDocumentos(pModeloDocumento, pModeloHistorial, pDocumento) + .then(pDocumentos => { + + if(pDocumentos.length > 0 ){ + return pDocumentos.forEach((pDoc, pIndice) => { + + switch (pDocumento.estado) { + case 'CERRADO': + pUsuario.roles.forEach(pRol => { + switch (pRol.rol.nombre) { + case 'OPERADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'CONFIGURADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'JEFE': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario || + pDoc._usuario_creacion == pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'SECRETARIA': + resolve(true); + break; + case 'CORRESPONDENCIA': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario || + pDoc._usuario_creacion == pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + } + }); + break; + case 'ENVIADO': + pUsuario.roles.forEach(pRol => { + switch (pRol.rol.nombre) { + case 'OPERADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'CONFIGURADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'JEFE': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario || + pDoc._usuario_creacion == pUsuario.id_usuario ){ + resolve(true); + } + else resolve(false); + break; + case 'SECRETARIA': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'CORRESPONDENCIA': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario || + pDoc._usuario_creacion == pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + } + }); + break; + case 'RECHAZADO': + pUsuario.roles.forEach(pRol => { + switch (pRol.rol.nombre) { + case 'OPERADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual == pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'CONFIGURADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'JEFE': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario || + pDoc._usuario_creacion == pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'SECRETARIA': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'CORRESPONDENCIA': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + } + }); + break; + case 'DERIVADO': + pUsuario.roles.forEach(pRol => { + switch (pRol.rol.nombre) { + case 'OPERADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'CONFIGURADOR': + if(pDoc._usuario_creacion == pUsuario.id_usuario || + de.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'JEFE': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'CORRESPONDENCIA': + if(via.indexOf(pUsuario.id_usuario) > -1 || + para.indexOf(pUsuario.id_usuario) > -1 || + pDocumento.via_actual==pUsuario.id_usuario){ + resolve(true); + } + else resolve(false); + break; + case 'SECRETARIA': + resolve(true); + break; + } + }); + break; + + } + }); + } else { + resolve(false); + } + + }) + .catch(pError => { + console.log("Error en la obtención de los documentos desde el global", pError); + resolve(false); + }); + + } + else if(pDocumento.estado == 'NUEVO'){ + resolve((pDocumento._usuario_creacion == pUsuario.id_usuario)? true:false); + } + else resolve(false); + }); + + }, + + /** + * Función que obtiene documentos y su historial. + * @param {Modelo} pModeloDocumento Instancia del modelos de datos para documento + * @param {Modelo} pModeloHistorial Instancia del modelos de datos para historial + * @param {Objeto} pDocumento Instancia del documento base + * @return {Promesa} Promesa + */ + obtenerDocumentos: (pModeloDocumento, pModeloHistorial, pDocumento) => + new Promise((resolve, reject) => + module.exports.obtenerIdDocumentos(pModeloDocumento, pDocumento.grupo) + .then(pIds => pModeloHistorial.findAll({where:{id_documento:{[Op.in]:pIds}}}) + .then(pDocumentos => resolve(pDocumentos)) + ) + .catch(pError => { + console.log("Error al buscar en el historial", pError); + reject(pError); + }) + ), + + /** + * Función que obtiene los identificadores de un determinado grupo. + * @param {Modelo} pModeloDocumento Instancia del modelo de datos para documento + * @param {Número} pGrupo Identificador del grupo + * @return {Promesa} Promesa + */ + obtenerIdDocumentos:(pModeloDocumento, pGrupo) => { + const documentos=[]; + + return new Promise((resolve, reject) => + pModeloDocumento.findAll({ + attributes:['id_documento'], + where:{grupo:pGrupo}, + }) + .then(pDocumentos => { + + if(pDocumentos.length > 0){ + return pDocumentos.forEach((pDoc, pIndice) => { + documentos.push(pDoc.id_documento); + if(pIndice === pDocumentos.length-1) resolve(documentos); + }); + } else { + resolve(documentos); + } + }) + .catch(pError => { + console.log("Error al buscar los ids del grupo", pError); + reject(pError); + }) + ); // fin iteracion. + + }, + buscarAnuladores: (datos) => { + let documentosAnular=[]; + let plantilla = datos; + if(typeof datos === 'string') plantilla = JSON.parse(plantilla); + if(Util.verificarJSON(plantilla) === false) return []; + _.mapKeys(plantilla, (valor, llave) => { + if(llave.indexOf('documentosAnular')>-1) documentosAnular.push(plantilla[llave]); + }); + documentosAnular = _.flattenDeep(documentosAnular); + return documentosAnular; + + }, + + anularDocumentos: (pModelos, pDocumento, pRuta, idUsuario, tr) => { + const paraAnular = module.exports.buscarAnuladores(pDocumento.plantilla_valor); + return Util.generarAnulador({cite:pDocumento.nombre}) + .then(bufferAnulador => module.exports.ejecutarAnulacion(paraAnular, pRuta, pModelos, idUsuario, pDocumento,bufferAnulador, tr)); + }, + + ejecutarAnulacion: (documentos, ruta, pModelos, idUsuario, pDocumento, pBuffer, tr) => { + const modeloDocumento = pModelos.documento; + const modeloHistorial = pModelos.historial_flujo; + + const promesas = documentos.map(documento => { + const rutaDocumento = `${ruta}${Util.formatoNombreDoc(documento.nombre)}.pdf`; + return Archivo.anular(rutaDocumento, pBuffer, tr) + .then(() => { + const condicion = { + where: { id_documento: documento.id_documento} + }; + const datos = { + anulado: true, + _usuario_modificacion: idUsuario, + }; + return modeloDocumento.update(datos, condicion, tr); + }) + .then(() => { + const origen = JSON.parse(pDocumento.de)[0]; + const historico = { + id_documento: documento.id_documento, + accion: 'ANULADO', + observacion: pDocumento.nombre, + _usuario_creacion: origen, + _usuario_modificacion: idUsuario, + }; + return modeloHistorial.create(historico, tr); + }) + .then(() => Promise.resolve()) + .catch(error => { + return Promise.reject(); + }); + }); + + return Promise.all(promesas) + .then(() => Promise.resolve()) + .catch((e) => { + console.log("Revisando el error desde la anulación de documentos", e); + return Promise.reject(e); + }); + }, + + validarYaFirmo: (firmantes, firmaron, firmanteActual) => { + const respuesta = {}; + let cont = 0; + const noFirmaron = []; + _.map(firmantes, item => { + if(firmaron.indexOf(item) > -1) cont++; + else noFirmaron.push(item); + }); + if(cont === firmantes.length) respuesta.firmado = true; + else respuesta.firmante_actual = noFirmaron[0]; + + return respuesta; + }, + + crearCodigoFirma: (pModelos, documento, req) => { + let codigo = `${config.prefijo}-${Util.generarCodigo(6, 'A#')}`; + return pModelos.firma.create({ + fid_documento: documento.id_documento, + _usuario_creacion: req.body.audit_usuario.id_usuario, + codigo, + }) + .then(respuesta => { + return respuesta.codigo; + }) + .catch(error => { + console.log("Revisando el error al crear el codigo", error); + }); + }, + + generarCodigo: (pModelos, pDocumento, idUsuario, tr) => { + const codigo = `${config.prefijo}-${Util.generarCodigo(8, 'A#')}`; + const Firma = pModelos.firma; + return new Promise((resolve, reject) => { + return Firma.findOne({ + where: { + codigo, + } + }, tr) + .then(firma => { + if (!firma || firma.length === 0) { + return Firma.create({ + fid_documento: pDocumento.id_documento, + _usuario_creacion: idUsuario, + codigo, + }, tr); + } + }) + .then((firmaResp) => { + + return resolve(firmaResp); + }) + .catch(error => { + console.log('Error en la busqueda de firmas', error); + return reject(error); + }); + }); + + }, + + obtenerCrearHash: (pDocumento, auditUsuario, tr) => { + + const nombreDocumento = Util.formatoNombreDoc(pDocumento.nombre); + const existe = Util.existePdf(nombreDocumento); + const rutaDocumentos = Util.rutaDocumentos(); + if(!existe || existe === false) { + const datos = { + doc: { + nombre: nombreDocumento, + plantilla: pDocumento.plantilla + }, + form_actual: Util.dataToView(JSON.parse(pDocumento.plantilla), JSON.parse(pDocumento.plantilla_valor)), + model_actual: JSON.parse(pDocumento.plantilla_valor), + audit_usuario: auditUsuario, + host: 'hla', + grupo: pDocumento.grupo, + codigo: pDocumento.codigo, + }; + datos.model_actual['cite-0'].fecha = Util.formatearFecha(datos.model_actual['cite-0'].fecha); + + return Util.generarDocumento(datos, true, tr) + .then(() => { + return Util.obtenerHash(nombreDocumento); + }); + } + const hash = Util.obtenerHash(nombreDocumento); + return hash; + }, + + actualizarFirmaHash: (pModelos, pHash, pDoc, idUsuario, tr) => { + return pModelos.firma.update({ + hash: pHash, + _usuario_modificacion: idUsuario, + }, + { + where: { + fid_documento: pDoc.id_documento, + } + }, tr) + .then(() => { + return; + }) + .catch(error => { + console.log("Error en la actualizacion del hash", error); + return; + }); + }, + + + aprobarVia: (modelos, documento, datos) => { + + const via = JSON.parse(documento.via) || []; + const plantilla = JSON.parse(documento.plantilla); + const para = JSON.parse(documento.para)[0]; + const compDatosGenerales = _.find(plantilla, ['type', 'datosGenerales']); + + let viaActual = documento.via_actual; + let aprobarPorDireccion = false; + + if (compDatosGenerales.templateOptions) { + const opcionesComponente = compDatosGenerales.templateOptions; + aprobarPorDireccion = opcionesComponente.aprobarPorDireccion || false; + } + let indiceVia = null; + _.findIndex(via, (item, indice) => { + if (item == viaActual) { + return indiceVia = indice + 1; + } + + }); + + if ((viaActual == via[via.length - 1]) && aprobarPorDireccion) { + viaActual = (viaActual == datos.director)? para: datos.director; + } + else if (via.length == 0 && aprobarPorDireccion) { + if (viaActual == datos.director) viaActual = para; + } + else if ((viaActual == datos.director) && aprobarPorDireccion) { + viaActual = para; + } + else { + viaActual = (indiceVia < via.length)? via[indiceVia]: para; + } + const datosActualizar = { + via_actual: viaActual, + estado: 'ENVIADO', + _usuario_modificacion: datos.usuarioModificacion, + }; + const condActualizar = {where: { id_documento: datos.idDocumento}}; + const datosHistorial= { + id_documento: datos.idDocumento, + accion: 'APROBADO', + observacion: '', + _usuario_creacion: datos.usuarioModificacion, + }; + let datosActualizados = null; + + return documento.update(datosActualizar, condActualizar) + .then(respActualizar => { + datosActualizados = respActualizar; + return modelos.historial_flujo.create(datosHistorial); + }) + .then(() => { + if(datosActualizados.estado == 'ENVIADO') { + // console.log('REALIZAR NOTIFICACION'); + + } + else if (datosActualizados.estado== 'APROBADO') { + // console.log('RETORNANDO OBJETO'); + } + }) + .then(() => datosActualizados) + .catch(error => { + console.log('Error en la aprobacion de VIAS', error); + return error; + + }); + }, + + aprobarParaMultiple: (modelos, documento, datos, req) => { + const datosPlantilla = JSON.parse(documento.plantilla_valor); + const contactos = datosPlantilla['listaContactos-0']; + const documentos = []; + let listaContactos = []; + if (!contactos || contactos.lista) listaContactos = contactos.lista; + _.map(listaContactos, (item, index) => { + const clon = JSON.parse(JSON.stringify(documento)); + const contacto = { + contacto: item.id_contacto, + lista: listaContactos, + }; + const tempValor = JSON.parse(clon.plantilla_valor); + tempValor['listaContactos-0'] = contacto; + clon.plantilla_valor = JSON.stringify(tempValor); + if (index > 0) clon.id_documento = null; + console.log('[documentoBL] Revisando valores para no romper el flujo'.green, clon.grupo, clon.documento_padre ); + documentos.push(clon); + }); + const contador = 0; + return new Promise((resolve, reject) => { + return module.exports.crearAprobarDocumentos(modelos, documentos, datos, req, contador) + .then(resp => resolve()) + .catch(error => { + console.log('Error en la creación y aprobación de documentos', error); + return reject(error); + }); + }); + }, + + crearAprobarDocumentos: (modelos, listaDocumentos, datos, req, indice) => { + + if(indice < listaDocumentos.length) { + + const item = listaDocumentos[indice]; + if (item.id_documento !== null && item.id_documento) { + const datosTemp = JSON.parse(JSON.stringify(datos)); + let documentoBase; + return modelos.documento.findByPk(item.id_documento) + .then(respDoc => { + datosTemp.id_documento = respDoc.id_documento; + documentoBase = respDoc; + return respDoc.update({plantilla_valor: item.plantilla_valor}, {where: {id_documento: item.id_documento}}); + }). + then((r) => module.exports.aprobarPara(modelos, documentoBase, datosTemp, req)) + .then(() => { + indice++; + return module.exports.crearAprobarDocumentos(modelos, listaDocumentos, datos, req, indice); + }); + } + else { + delete item.id_documento; + delete item.grupo; + return modelos.documento.create(item) + .then(documentoResp => { + const datosTemp = JSON.parse(JSON.stringify(datos)); + datosTemp.idDocumento = documentoResp.id_documento; + datos.grupo = documentoResp.id_documento; + return module.exports.aprobarPara(modelos, documentoResp, datos, req); + }) + .then(() => { + indice++ + return module.exports.crearAprobarDocumentos(modelos, listaDocumentos, datos, req, indice); + }); + } + } + else { + return new Promise(resolve => resolve()); + } + + }, + + aprobarPara: (modelos, documento, datos, req) => { + return new Promise((resolve, reject) => { + + const datosPlantilla = JSON.parse(documento.plantilla_valor); + const fecha = moment().tz('America/La_Paz').format(); + const datosActualizar = { + via_actual: datos.viaActual, + _usuario_modificacion: datos.usuarioModificacion, + estado: 'APROBADO', + fecha, + }; + let certificacion = {}; + let firmanteActual = null; + if(datos.derivar == true) datosActualizar.observaciones = datos.observaciones; + if (documento.multiple && documento.multiple != null && documento.multiple.length>5) { + datosActualizar.grupo = documento.id_documento; + } + return module.exports.verificarPartidas(modelos.partida, datosPlantilla) + .then(saldos => { + certificacion = saldos; + return module.exports.obtenerCrearCite(modelos, documento, datos.usuarioModificacion) + }) + .then(citeResp => { + datosActualizar.nombre = citeResp.cite; + datosActualizar.plantilla_valor = JSON.stringify(citeResp.datosPlantilla); + return module.exports.crearModificarPartidas(datos.usuarioModificacion, modelos.partida, citeResp.datosPlantilla, datos.tieneCite); + }) + .then(partidasResp => { + // TODO: Considerar la respuesta de la creación de partidas + if (partidasResp) { + partidasResp['certificacionComprometido-0'] = certificacion; + datosActualizar.plantilla_valor = JSON.stringify(partidasResp); + } + // else { + // // // datosActualizar.plantilla_valor = documento.plantilla_valor; + // } + return module.exports.crearSolicitudAlmacen(modelos, datosActualizar, documento.id_documento); + }) + .then(() => { + console.log('[documentoBL] verificando si tiene el componente para ingreso de materiales'); + return module.exports.crearIngresoAlmacen(modelos, datosActualizar, documento.id_documento); + }) + .then(() => { + return module.exports.notificarEntregaAlmacen(modelos, datosActualizar, documento.id_documento); + }) + .then(() => { + console.log('[documentoBL] +++++++++++++++++++++++++++++++++++++++++++++++++++++++'.red); + console.log('[documentoBL] +++++++++++++++++++++++++++++++++++++++++++++++++++++++'.red); + console.log('[documentoBL] +++++++++++++++++++++++++++++++++++++++++++++++++++++++'.red); + console.log('[documentoBL] +++++++++++++++++++++++++++++++++++++++++++++++++++++++'.yellow); + console.log('[documentoBL] +++++++++++++++++++++++++++++++++++++++++++++++++++++++'.yellow); + return module.exports.asignarActivo(modelos, datosActualizar, documento.id_documento); + }) + .then(() => { + console.log('[documentoBL] +++++++++++++++++++++++++++++++++++++++++++++++++++++++'.white); + console.log('[documentoBL] antes de actualizar', datosActualizar); + return module.exports.actualizarDocumento(documento, datosActualizar, modelos.historial_flujo); + }) + .then(actualizacionResp => { + return module.exports.generarCodigo(modelos, actualizacionResp, datos.usuarioModificacion); + }) + .then(codigoResp => { + documento.codigo = codigoResp.codigo; + + const remitentes = JSON.parse(documento.de); + if (Array.isArray(remitentes) && remitentes.length > 0 && documento.dataValues.firmaron === null) { + firmanteActual = remitentes[0]; + } + + if(datos.derivar === true) { + const datosDerivar = { + estado: 'DERIVADO', + via_actual: datos.usuarioDerivar, + observaciones: datos.observaciones, + _usuario_modificacion: datos.usuarioModificacion, + firmante_actual: firmanteActual, + }; + return module.exports.actualizarDocumento(documento, datosDerivar, modelos.historial_flujo) + .then(() => { + // TODO: registrar la visita en los logs de monitoreo + const rmip = req.connection.remoteAddress; + const miIp = rmip.substr(rmip.lastIndexOf(':') + 1, rmip.length); + const log = { + fid_usuario: datos.usuarioModificacion, + fid_documento: documento.id_documento, + cite: true, + ip: [miIp], + }; + return blm.registrarVisita(modelos, log); + }) + .then(() => notificar.enviar(modelos, documento, 'derivado', {})) + .then(() => notificar.enviar(modelos, documento, 'aprobado', {})); + } + + return module.exports.cerrarDocumento(modelos, documento, datos.usuarioModificacion) + // TODO: Falta el registro de la visita + .then(() => notificar.enviar(modelos, documento, 'aprobado', {})); + }) + .then(() => module.exports.anularDocumentos(modelos, documento, dirDocumento, datos.usuarioModificacion)) + .then(() => module.exports.obtenerCrearHash(documento, datos.auditUsuario)) + .then(hashResp => { + return module.exports.actualizarFirmaHash(modelos, hashResp, documento, datos.usuarioModificacion) + }) + .then(() => { + return resolve(); + }) + .catch(error => { + console.log('Error en la aprobacion para', error); + // return error; + return reject(error); + }); + }); + + }, + + obtenerCrearCite: (modelos, documento, idUsuario) => { + const citeGuia = config.sistema.cite_principal; + const plantilla = JSON.parse(documento.plantilla); + const datosPlantilla = JSON.parse(documento.plantilla_valor); + const fechaActual = moment().tz('America/La_Paz').format(); + let citeSinNumero = null; + let tieneCite = false; + return modelos.usuario.findOne({ + where: { id_usuario: documento._usuario_creacion }, + include: { model: modelos.unidad, as: 'unidad' }, + }) + .then(usuarioResp => { + const compCite = _.find(plantilla, ['type', 'cite']); + const esCiteGeneral = (compCite.templateOptions.tipo == 'general'); + const unidad = usuarioResp.unidad; + if (!compCite.templateOptions.tipo) throw Error('La plantilla no cuenta con el control de "CITE"'); + if (!unidad) throw Error('El usuario que envió el documento no tiene unidad, solicite al administrador del sistema que le asigne su unidad'); + if (documento.fecha !== undefined && documento.fecha !== null) { + tieneCite = true; + return documento.nombre; + } + if (esCiteGeneral) return (`${citeGuia}/${documento.abreviacion}`); + if (unidad) return `${citeGuia}-${unidad.abreviacion}/${documento.abreviacion}`; + }) + .then(citeResp => { + citeSinNumero = citeResp; + return modelos.correlativo.findOne({ + where: { + abreviacion: citeResp, + anio: `${moment(fechaActual).year()}`, + }, + }); + }) + .then(correlativoResp => { + if(correlativoResp) return correlativoResp; + return modelos.correlativo.create({ + abreviacion: citeSinNumero, + anio: `${moment(fechaActual).year()}`, + valor: 1, + _usuario_creacion: idUsuario, + }); + }) + .then(correlativoResp => { + const cantCeros = config.sistema.cite_ceros - parseInt((`${correlativoResp.valor}`).length); + let correlativoCeros = ''; + for(let i =0; i< cantCeros; i++) correlativoCeros += '0'; + correlativoCeros += correlativoResp.valor; + datosPlantilla['cite-0'] = { + cite: (tieneCite == true) ? citeSinNumero : `${citeSinNumero}/${correlativoCeros}/${correlativoResp.anio}`, + }; + if (datosPlantilla['cite-0'].fecha == undefined) datosPlantilla['cite-0'].fecha = fechaActual; + return correlativoResp.update({ + valor: correlativoResp.valor + 1, + _usuario_modificacion: idUsuario, + }); + }) + .then(correlativoAct => { + const respuesta = { + cite: datosPlantilla['cite-0'].cite, + datosPlantilla, + }; + if(tieneCite === true) respuesta.cite = citeSinNumero; + return respuesta; + }) + .catch(error => { + console.log('revisando el error en la obtencion o generacion del cite'.yellow, error); + + return error; + }); + + }, + + verificarObtenerMultipleX: (datos, tr) => { + // partidasResp['certificacionComprometido-0'] = certificacion; + const respuesta = { + multiple: false, + documentos: [], + }; + return new Promise((resolve, reject) => { + const plantillaValor = JSON.parse(datos.plantilla_valor); + let listaContactos = plantillaValor['listaContactos-0']; + if (plantillaValor['listaContactos-0']) { + listaContactos = listaContactos.lista + } + else { + respuesta.documentos.push(datos); + return resolve(respuesta); + } + if(!listaContactos || listaContactos.length ==0) { + listaContactos = plantillaValor['listaContactos-0'].lista; + respuesta.documentos.push(datos); + return resolve(respuesta); + } + respuesta.multiple = true; + if (!datos.multiple || datos.multiple == null) { + datos.multiple = Util.generarUiid(); + } + _.map(listaContactos, (item) => { + const clon = JSON.parse(JSON.stringify(datos)); + const contacto = { + contacto: item.id_contacto, + lista: listaContactos, + }; + + const tempValor = JSON.parse(clon.plantilla_valor); + + tempValor['listaContactos-0'] = contacto; + // tempValor['listaContactos-0'] = JSON.stringify(contacto); + // console.log('Revisando el tempValor', typeof tempValor); + // tempValor['listaContactos-0'] = tempValor; + clon.plantilla_valor= JSON.stringify(tempValor); + respuesta.documentos.push(clon); + // const tempValor = clon['listaContactos-0'] + }); + return resolve(respuesta); + }); + }, + verificarObtenerMultiple: (datos, tr) => { + const respuesta = { + esMultiple: false, + }; + return new Promise((resolve, reject) => { + const plantillaValor = JSON.parse(datos.plantilla_valor); + const listaContactos = plantillaValor['listaContactos-0']; + if (listaContactos && Array.isArray(listaContactos.lista)) { + respuesta.multiple = Util.generarUiid(); + respuesta.esMultiple = true; + } + return resolve(respuesta); + }); + }, + + crearMultiple: (modelos, datos, tr) => { + const promesas = datos.documentos.map(item => { + let xdoc; + const model = JSON.parse(item.plantilla_valor); + return modelos.documento.create(item, tr) + .then(respDoc => { + xdoc = respDoc; + return module.exports.actualizarGrupo(item, respDoc, tr); + }) + .then(() => { + if(datos.sw.xenviar) { + return module.exports.verificarPartidas(modelos.partida, model); + } + return; + }) + .then(() => { + if (datos.sw.xenviar && datos.sw.es_respuesta) { + return module.exports.documento_crear(modelos.historial_flujo, xdoc.documento_padre, xdoc._usuario_creacion, tr); + } + return; + }) + .then(() => { + if (datos.sw.xenviar) { + return module.exports.documento_enviar(modelos.historial_flujo, xdoc, tr, datos.director) + // .then(() => t.commit()) + .finally(() => datos.notificar.enviar(modelos, xdoc, 'enviado', tr)); + } + }) + .then(() => { + // if (!datos.sw.xenviar) t.commit(); + }); + }); + + return Promise.all(promesas) + .then(respPromesas => { + return Promise.resolve(respPromesas); + }) + .catch(error => { + return Promise.reject(error); + }); + }, + + obtenerDatosUsuario: (modelos, id) => { + return modelos.usuario.findOne({ + attributes: ['id_usuario', 'nombres', 'apellidos', 'email', 'fid_unidad', 'numero_documento', 'cargo'], + where: { + id_usuario: id, + }, + include: [{ + model: modelos.unidad, + as : 'unidad', + attributes: ['nombre'], + }], + }); + }, + + crearSolicitudAlmacen: (modelos, datosActualizar, id) => { + console.log('[crearSolicitudAlmacenBL] Iniciando', id); + console.log('[crearSolicitudAlmacenBL] ================================================================='.red); + console.log('[crearSolicitudAlmacenBL] datosActualizar'.yellow, datosActualizar); + console.log('[crearSolicitudAlmacenBL] datosActualizar'.yellow, typeof datosActualizar.plantilla_valor, datosActualizar.plantilla_valor); + return new Promise((resolve, reject) => { + // TODO: Buscar todos los componentes consultaAlmacen + + // Obtiene los datos del solicitante + const solicitante = {}; + const responsable = {}; + let componente = null; + let cite = null; + const datosPlantilla = JSON.parse(datosActualizar.plantilla_valor); + // Obtiene los items solicitados + let itemsSolicitados = []; + for (const key in datosPlantilla) { + if (key.indexOf('consultaAlmacen-') > -1) { + itemsSolicitados = datosPlantilla[key].filas; + componente = key; + } + if (key.indexOf('cite-') > -1) { + cite = datosPlantilla[key].cite; + } + + if (key.indexOf('datosGenerales-') > -1) { + // TODO: Solicitudes grupales en el sistema de almacenes + const datosGenerales = datosPlantilla[key]; + solicitante.id_usuario = datosGenerales.de[0].id_usuario; + + responsable.id_usuario = datosGenerales.para.id_usuario; + } + } + + if (componente == null) return resolve(datosActualizar); + + return module.exports.obtenerDatosUsuario(modelos, solicitante.id_usuario) + .then(respUsuario => { + if (!respUsuario || !respUsuario.dataValues.nombres ) { + throw Error('Los datos del solicitante no son correctos'); + } + if (!respUsuario || !respUsuario.unidad || !respUsuario.unidad.dataValues.nombre) { + throw Error('El solicitante no pertenece a una unidad'); + } + + console.log('[crearSolicitudAlmacen] revisando datos solicitante', respUsuario.dataValues); + solicitante.nombres = respUsuario.nombres; + solicitante.apellidos = respUsuario.apellidos; + solicitante.numero_documento = respUsuario.numero_documento; + solicitante.cargo = respUsuario.cargo; + solicitante.email = respUsuario.email; + solicitante.unidad = respUsuario.unidad.dataValues.nombre; + delete solicitante.id_usuario; + return module.exports.obtenerDatosUsuario(modelos, responsable.id_usuario); + }) + .then(respUsuario => { + if (!respUsuario || !respUsuario.dataValues.nombres ) { + throw Error('Los datos del solicitante no son correctos'); + } + if (!respUsuario || !respUsuario.unidad || !respUsuario.unidad.dataValues.nombre) { + throw Error('El responsable no pertenece a una unidad'); + } + responsable.nombres = respUsuario.nombres; + responsable.apellidos = respUsuario.apellidos; + responsable.numero_documento = respUsuario.numero_documento; + responsable.cargo = respUsuario.cargo; + responsable.email = respUsuario.email; + responsable.unidad = respUsuario.unidad.dataValues.nombre; + delete responsable.id_usuario; + + return libAlmacen.crearSolicitud(solicitante, responsable, itemsSolicitados, id, cite); + }) + .then(respCreacion => { + console.log('[documentoBL] respuesta a la creacion', respCreacion); + if (!respCreacion || !respCreacion.id) { + throw Error(respCreacion.mensaje); + } + // TODO: Corregir los valores en la integracion con el servicio + datosPlantilla[componente].solicitud = respCreacion.id + // return resolve(); + datosActualizar.plantilla_valor = JSON.stringify(datosPlantilla); + return resolve(datosActualizar); + }) + .catch(error => { + console.log('[documentoBL] error al crear la solicitud del almacen', error); + return reject(error); + }); + }); + }, + crearIngresoAlmacen: (modelos, datosActualizar, id) => { + console.log('[crearIngresoAlmacenBL] Iniciando', id); + return new Promise((resolve, reject) => { + const datosIngresoEnviar = { + reingreso: 0, + responsable: {}, + cabecera: {}, + detalle: { + items: [], + descuento: "0.00", + total: "", + }, + id, + }; + let idSolicitante = 0; + let idResponsable = 0; + + const datosPlantilla = JSON.parse(datosActualizar.plantilla_valor); + // Obtiene los items solicitados + let datosIngreso = null; + let componente = null; + for (const key in datosPlantilla) { + if (key.indexOf('ingresoAlmacen-') > -1) { + datosIngreso = datosPlantilla[key]; + componente = key; + } + + if (key.indexOf('datosGenerales-') > -1) { + // TODO: Existen solicitudes grupales en el sistema de almacenes + const datosGenerales = datosPlantilla[key]; + idResponsable = datosGenerales.de[0].id_usuario; + } + } + + if (componente == null) return resolve(datosActualizar); + if (datosIngreso !== null) { + datosIngresoEnviar.cabecera.proveedor = datosIngreso.proveedor.id; + datosIngresoEnviar.cabecera.c31 = datosIngreso.c31; + datosIngresoEnviar.cabecera.c31_fecha = datosIngreso.c31_fecha; + datosIngresoEnviar.cabecera.nota_entrega_numero = datosIngreso.nota_entrega_numero; + datosIngresoEnviar.cabecera.nota_entrega_fecha = datosIngreso.nota_entrega_fecha; + datosIngresoEnviar.cabecera.factura_numero = datosIngreso.factura_numero; + datosIngresoEnviar.cabecera.factura_autorizacion = datosIngreso.factura_autorizacion; + datosIngresoEnviar.cabecera.factura_fecha = datosIngreso.factura_fecha; + datosIngresoEnviar.detalle.items = datosIngreso.items; + datosIngresoEnviar.detalle.descuento = datosIngreso.descuento; + datosIngresoEnviar.detalle.subtotal = datosIngreso.subtotal; + datosIngresoEnviar.detalle.total = datosIngreso.total; + datosIngresoEnviar.reingreso = datosIngreso.reingreso == true || datosIngreso.reingreso == 'true' ? 1 : 0; + } + + return module.exports.obtenerDatosUsuario(modelos, idResponsable) + .then(respResponsable => { + if (!respResponsable || !respResponsable.dataValues.nombres) { + throw Error('Los datos del solicitante no son correctos'); + } + if (!respResponsable || !respResponsable.unidad || !respResponsable.unidad.dataValues.nombre) { + throw Error('El responsable no pertenece a una unidad'); + } + datosIngresoEnviar.responsable.nombres = respResponsable.nombres; + datosIngresoEnviar.responsable.apellidos = respResponsable.apellidos; + datosIngresoEnviar.responsable.numero_documento = respResponsable.numero_documento; + datosIngresoEnviar.responsable.email = respResponsable.email; + datosIngresoEnviar.responsable.cargo = respResponsable.cargo; + datosIngresoEnviar.responsable.unidad = respResponsable.unidad.dataValues.nombre; + console.log('[crearIngresoAlmacenBL] Revisando los datos obtenidos', datosIngresoEnviar); + return libAlmacen.crearIngreso(datosIngresoEnviar); + }) + .then(respIngreso => { + console.log('[documentoBL] respuesta a la creacion', respIngreso); + if (!respIngreso || !respIngreso.id) { + throw Error(respIngreso.mensaje); + } + datosPlantilla[componente].id_ingreso = respIngreso.id + datosActualizar.plantilla_valor = JSON.stringify(datosPlantilla); + return resolve(datosActualizar); + }) + .catch(error => { + console.log('[documentoBL] error al crear ingreso al almacen', error); + return reject(error); + }); + }); + + }, + + notificarEntregaAlmacen: (modelos, datosActualizar, id) => { + console.log('Iniciando la notificacion al sistema de almacenes'); + return new Promise((resolve, reject) => { + const datosNotificar = { }; + let componente = null; + const datosPlantilla = JSON.parse(datosActualizar.plantilla_valor); + for (const key in datosPlantilla) { + if (key.indexOf('cite-') > -1) { + datosNotificar.cite_ems = datosPlantilla[key].cite; + } + if (key.indexOf('recuperarEntregaAlmacen-') > -1) { + componente = key; + datosNotificar.cite_sms = datosPlantilla[key].cite_sms; + datosNotificar.id = datosPlantilla[key].id_solicitud; + } + } + + if (componente == null) return resolve(datosActualizar); + return libAlmacen.notificar(datosNotificar) + .then(() => resolve()) + .catch(error => reject(error)); + }); + }, + + asignarActivo: (modelos, datosActualizar, id) => { + + console.log('[asignarActivo] Iniciando la asignacion de activos'); + return new Promise((resolve, reject) => { + const datosEnviar = { + estado_usr_nuevo: false, + solicitante: {}, + id_documento: id, + + }; + const idPersonas = { + solicitante: null, + admin: null, + }; + + const datosPlantilla = JSON.parse(datosActualizar.plantilla_valor); + let componenteActivos = null; + let componenteGenerales = null; + for (const key in datosPlantilla) { + if (key.indexOf('tablaActivos-') > -1) { + const datosActivo = datosPlantilla[key] + console.log('[asignarActivo] check data'.green, datosActivo ); + componenteActivos = datosActivo; + // existeComponente = true; + datosEnviar.asset_ids = _.map(datosActivo.filas, 'id'); + datosEnviar.estado_usr_nuevo = datosActivo.usuario_nuevo; + idPersonas.solicitante = datosActivo.documentoDe.id_usuario; + + } + if (key.indexOf('datosGenerales-') > -1) { + const datosGenerales = datosPlantilla[key]; + componenteGenerales = datosGenerales; + console.log('[asignarActivo] datos generales'.green, datosGenerales); + idPersonas.admin = datosGenerales.de[0].id_usuario + } + if (key.indexOf('cite-') > -1) { + datosEnviar.cite = datosPlantilla[key].cite; + datosEnviar.fecha = datosPlantilla[key].fecha; + } + } + console.log('[asignarActivo] Revisando los datos a enviar para la asignacion'.yellow, datosEnviar); + + // TODO: Si el usuario es nuevo obtener los datos + if (componenteActivos === null ) return resolve(); + if (componenteActivos !== null && componenteActivos.tipoFormulario == 'SOLICITUD' ) return resolve(); + + if (componenteActivos.tipoFormularioSeleccionado == 'DEVOLUCION') { + idPersonas.admin = componenteGenerales.para.id_usuario; + idPersonas.solicitante = componenteGenerales.de[0].id_usuario; + } + return modelos.usuario.findOne({ + attributes: ['id_usuario', 'numero_documento'], + where: { + id_usuario: idPersonas.admin, + }, + }) + .then(respAdmin => { + if (!respAdmin) return reject('Los datos del administrador de activos no son correctos'); + console.log('Revisando los datos del admin', respAdmin.dataValues); + datosEnviar.admin_ci = respAdmin.numero_documento; + return modelos.usuario.findOne({ + attributes: ['id_usuario', 'nombres', 'apellidos', 'numero_documento', 'cargo', 'email'], + where: {id_usuario: idPersonas.solicitante }, + include: [ + { + model: modelos.unidad, + as: 'unidad', + }, + ], + }); + }) + .then(respSolicitante => { + if (!respSolicitante) return reject('Los datos del solicitante no son correctos.'); + datosEnviar.user_ci = respSolicitante.numero_documento; + datosEnviar.solicitante.numero_documento = respSolicitante.numero_documento; + datosEnviar.solicitante.nombres = respSolicitante.nombres; + datosEnviar.solicitante.apellidos = respSolicitante.apellidos, + datosEnviar.solicitante.email = respSolicitante.email; + datosEnviar.solicitante.cargo = respSolicitante.cargo; + if (!respSolicitante.unidad) throw Error('El solicitante no pertenece a una unidad.') + datosEnviar.solicitante.unidad = respSolicitante.unidad.dataValues.nombre; + if (datosEnviar.estado_usr_nuevo == true) datosEnviar.user_ci = null; + console.log('[asignarActivo] revisando data', datosEnviar); + console.log('Alto!!!! '.red, componenteActivos); + + if (componenteActivos.tipoFormularioSeleccionado == 'ASIGNACION') return libActivos.asignar(datosEnviar); + if (componenteActivos.tipoFormularioSeleccionado == 'DEVOLUCION') return libActivos.devolver(datosEnviar); + }) + .then(resp => { + console.log('Respuesta de activos', resp); + return resolve() + }) + .catch(error => { + console.log('Error en activos', error); + return reject(error); + }); + + }); + }, +}; diff --git a/src/bl/plantillasFormly/firmadoBL.js b/src/bl/plantillasFormly/firmadoBL.js new file mode 100644 index 0000000..692f586 --- /dev/null +++ b/src/bl/plantillasFormly/firmadoBL.js @@ -0,0 +1,49 @@ +const _ = require('lodash'); + +module.exports = { + procesarFirmas: (usuarios, firmas) => { + return new Promise((resolve,reject) => { + try { + const firmaUsada = []; + const validas = usuarios.map(usuario => { + const nombreUsuario = `${usuario.nombres} ${usuario.apellidos}`.toUpperCase(); + const buscado = _.findIndex(firmas, item => item.nombreComunSubject.toUpperCase() === nombreUsuario); + const obj = { + firmante: nombreUsuario, + firmo: false, + registradoSistema: true, + }; + if (buscado > -1) { + obj.revocado = !firmas[buscado].no_revocado; + obj.fechaFirma = firmas[buscado].fechaFirma; + obj.fechaFinValidez = firmas[buscado].finValidez; + obj.firmo = true; + firmaUsada.push(firmas[buscado]); + } else { + obj.revocado = null; + obj.fechaFirma = null; + obj.fechaFinValidez = null; + } + return obj; + }); + + const firmaNoUsada = _.differenceWith(firmas, firmaUsada, _.isEqual); + const noValidas = firmaNoUsada.map(firma => ({ + firmante: firma.nombreComunSubject.toUpperCase(), + firmo: true, + registradoSistema: false, + revocado: !firma.no_revocado, + fechaFirma: firma.fechaFirma, + fechaFinValidez: firma.finValidez, + })); + let respuesta = validas.concat(noValidas); + respuesta = _.orderBy(respuesta, 'fechaFirma', 'desc') + return resolve(respuesta); + } catch (error) { + console.log('Revisando el error al filtrar las firmas',error); + + return reject(error); + } + }); + }, +}; \ No newline at end of file diff --git a/src/bl/plantillasFormly/plantillasBL.js b/src/bl/plantillasFormly/plantillasBL.js new file mode 100644 index 0000000..5b70970 --- /dev/null +++ b/src/bl/plantillasFormly/plantillasBL.js @@ -0,0 +1,46 @@ +const _ = require('lodash'); +const hash = require('object-hash'); + +module.exports = { + + + validarPlantilla: (plantillas, plantillaValidar) => { + const hashAValidar = hash(JSON.parse(plantillaValidar)); + const estadosValidos= ['ACTIVO']; + let respuesta = false; + let cont = 0; + + _.map(plantillas, item => { + const objTemp = item.dataValues; + if(estadosValidos.indexOf(objTemp.estado) > -1) { + const hashTemp = hash(JSON.parse(objTemp.plantilla)); + if(hashAValidar === hashTemp) cont++; + } + }); + + if(cont > 0) respuesta = true; + return respuesta; + }, + + /** + * Función que actualiza el identificador del grupo de un documento. + * @param {Modelo} modeloDocumento Modelo de datos del documento + * @param {Objeto} doc Instancia del documento + * @param {Objeto} tr Instancia de la transaccion en curso + * @return {Promesa} Retorna una promesa. + */ + actualizarGrupo: (modeloDocumento, doc, tr) => + new Promise( (resolve, reject) => { + if(doc.documento_padre){ + modeloDocumento.findByPk(doc.documento_padre) + .then( doc_padre => doc.update({grupo: doc_padre.grupo}, tr)) + .then( resu => resolve(resu)) + .catch( e => reject(e)); + }else { + doc.update({grupo: doc.id_documento}, tr) + .then( resu => resolve(resu)) + .catch( e => reject(e)); + } + }), + +}; diff --git a/src/bl/seguridad/autorizacion.controller.js b/src/bl/seguridad/autorizacion.controller.js new file mode 100644 index 0000000..b0448ab --- /dev/null +++ b/src/bl/seguridad/autorizacion.controller.js @@ -0,0 +1,308 @@ +const crypto = require('crypto'); +const url = require('url'); +const jwt = require("jwt-simple"); +const util = require('../../lib/util'); +const bl = require('../../bl/seguridad/usuarioBL'); +const Uuid = require('uuid'); +const moment = require('moment'); +const activeDirectory = require('activedirectory'); +const _ = require('lodash'); + +module.exports = (app) => { + const _app = app; + let cliente; + + // configuracion para authenticacion por base de datos + // TODO: Realizar varios archivos de autencicacion para diferentes tecnoclogias OAUTH , OAUT2 que estee encapsulado en este archivo + const usuarios = app.src.db.models.usuario; + const UsuariosRoles = app.src.db.models.usuario_rol; + const Roles = app.src.db.models.rol; + const RolesMenus = app.src.db.models.rol_menu; + const Menus = app.src.db.models.menu; + const cfg = app.src.config.config; + const Unidad = app.src.db.models.unidad; + const AuthUser = app.src.db.models.auth_user; + const ConfNotificacion = app.src.db.models.conf_notificacion; + + + _app.controller = {}; + _app.controller.autorizacion = {}; + const autorizacionController = _app.controller.autorizacion; + + /** + * El método permite obtener el state y nonce para iniciar el flujo oauth 2.0 + * @param {object} req + * @param {object} res + * @returns {JSON} + */ + async function codigo(req, res) { + cliente = cliente || await app.src.openid; + // parámetros necesarios para iniciar el flujo de autenticación + const _state = crypto.randomBytes(16).toString('hex'); + const _nonce = crypto.randomBytes(16).toString('hex'); + + try { + const authorizeUrl = await cliente.authorizationUrl({ + redirect_uri: app.src.config.config.client.redirect_uris[0], + scope: `${app.src.config.config.client_params.scope}`, + state: _state, + nonce: _nonce, + }); + await app.dao.autorizacion.guardarState(_state, { + nonce: _nonce, + }); + return res.status(200).json({ + finalizado: true, + mensaje: '', + datos: { + url: authorizeUrl, + codigo: _state, + }, + }); + } catch (err) { + res.status(412).json({ + finalizado: false, + mensaje: err.message, + datos: {}, + }); + } + } + + /** + * El método permite realizar el intercambio del code por el id_token y access_token + * @param {object} req + * @param {object} res + * @returns {JSON} + */ + async function autorizar(req, res) { + + cliente = cliente || await app.src.openid; + if (req.query.error) { + res.status(412).json({ + finalizado: false, + mensaje: req.query.error, + datos: {}, + }); + } else { + let postUrl = cliente.post_logout_redirect_uris[0]; + try { + const parametros = cliente.callbackParams(req); + if (!parametros.state) throw new Error('Parámetro state es requerido.'); + if (!parametros.code) throw new Error('Parámetro code es requerido.'); + const resultadoState = await app.dao.autorizacion.buscaState(parametros.state); + + if (resultadoState) { + const respuestaCode = await cliente.callback(cliente.redirect_uris[0], parametros, { + nonce: resultadoState.parametros.nonce, + state: resultadoState.state, + }); + resultadoState.tokens = respuestaCode; + const claims = await cliente.userinfo(respuestaCode); + const id_token = respuestaCode.id_token; + + const _user = { + nombre: claims.profile.nombre.nombres, + apellido: `${claims.profile.nombre.primer_apellido} ${claims.profile.nombre.segundo_apellido}`, + email: claims.email, + uid: claims.profile.documento_identidad.numero_documento, + cargo: 'Sin cargo', + numero_documento: claims.profile.documento_identidad.numero_documento, + }; + + postUrl = cliente.endSessionUrl({ + id_token_hint: id_token, + post_logout_redirect_uri: cliente.post_logout_redirect_uris[0] + }); + + const datosJwt = await obtenerJwt(claims.profile.documento_identidad.numero_documento, _user); + const data = util.formatearMensaje("EXITO", "Acceso al sistema correcto", datosJwt.datosTemporal, datosJwt.token); + resultadoState.id_usuario = datosJwt.datosTemporal.user.id; + await app.dao.autorizacion.actualizarTokens(resultadoState); + + res.status(200).json(data); + } else { + console.log('---------------------------State NOT MATCH'); + res.status(412).json({ + finalizado: false, + mensaje: 'El state no coincide', + datos: postUrl, + }); + } + } catch (err) { + console.log('--------------------error autorize ', err); + res.status(412).json({ + finalizado: false, + mensaje: err.message, + datos: postUrl, + }); + } + } + } + + /** + * La función retorna la url para logout del proveedor de identidad + * @param {object} req + * @param {object} res + * @returns {JSON} + */ + async function salir(req, res) { + cliente = cliente || await app.src.openid; + try { + // busqueda para obtener el id_token + const resultadoTokens = await app.dao.autorizacion.buscaToken(req.body.audit_usuario.id_usuario.toString(), req.query.codigo); // validar requerid + if (!resultadoTokens) { + console.log('--------------------------------errpr'); + } + // construcción de la url para la redirección + const postUrl = cliente.endSessionUrl({ + id_token_hint: resultadoTokens.tokens.id_token, + post_logout_redirect_uri: cliente.post_logout_redirect_uris[0] + }); + res.status(200).json({ + finalizado: true, + mensaje: '', + datos: postUrl, + }); + } catch (err) { + res.status(412).json({ + finalizado: false, + mensaje: err.message, + datos: postUrl, + }); + } + } + + async function obtenerJwt(ci, user) { + let menu, rol, usuario; + let roles = []; + const condicion = { + numero_documento: ci, + }; + try { + // const esValidoLdap = await validarConLdap(user); + // if (esValidoLdap.valido == false) throw new Error('Usted no esta autorizado para ingresar al sistema.'); + let pUsuario = await usuarios.findOne({ where: condicion }); + if (!pUsuario) { + // console.log('////////////////// user', user); + + const pRespuesta = await bl.procesaUsuario(user, UsuariosRoles, Unidad, AuthUser, usuarios); + const pConf = await ConfNotificacion.create({ + fid_usuario: pRespuesta.id_usuario, + _usuario_creacion: pRespuesta.id_usuario, + }); + pUsuario = pRespuesta; + } + // Verifica si el usuario existe y esta activo. + usuario = pUsuario; + if (pUsuario.estado !== 'ACTIVO') + throw new Error("Este usuario esta inactivo."); + else { + const pRespuesta2 = await bl.obtenerRoles(UsuariosRoles, Roles, usuario.id_usuario); + const pRespuestaMenu = await bl.obtenerMenus(RolesMenus, Menus, pRespuesta2); + menu = pRespuestaMenu.menu; + roles = pRespuestaMenu.rol; + + const cifrar = { + id_usuario: usuario.id_usuario, + usuario: usuario.usuario, + secret: jwt.encode({ + fecha: moment().tz('America/La_Paz').add(cfg.tiempo_token, 'minutes').format(), + clave: Uuid.v4(), + }, cfg.jwtSecret), + clave: Uuid.v4(), + tiempo: cfg.tiempo_token, + roles, + } + + const usuarioEnviar = { + id: usuario.id_usuario, + username: usuario.usuario, + first_name: usuario.nombres, + last_name: usuario.apellidos, + cargo: usuario.cargo, + doc: usuario.numero_documento, + email: usuario.email, + date_joined: usuario._fecha_creacion, + ldap: true, + } + + const datosTemporal = { + user: usuarioEnviar, + menu: menu.menu, + menuEntrar: menu.menuEntrar, + roles, + } + const token = jwt.encode(cifrar, app.src.config.config.jwtSecret); + const sesion = app.get("sesion"); + + sesion[usuario.id_usuario] = { + fecha: moment(moment().tz('America/La_Paz').format()).add(1, 'minutes'), + backup: null, + token, + } + return { datosTemporal, token }; + } + + } catch (e) { + console.log('**************************** ', e) + throw new Error(e); + } + } + async function validarConLdap(user) { + const respuesta = { + valido: false, + mensaje: '' + }; + const configLdap = { + url: cfg.ldap.server.url, + // baseDN: cfg.ldap.server.baseDn || 'ou=usuarios,dc=agetic,dc=gob,dc=bo', + baseDN: cfg.ldap.server.searchBase, + bindDN: cfg.ldap.server.bindDn, + bindCredentials: cfg.ldap.server.bindCredentials, + attributes: { + user: ['mail', 'givenName', 'sn', 'employeeNumber'] + } + }; + let mensajeError = 'Usted no esta autorizado para ingresar al sistema.'; + let ad; + return new Promise((resolve, reject) => { + try { + ad = new activeDirectory(configLdap); + const query = `employeeNumber=${user.numero_documento}`; + return ad.find(query, (error, respLdap) => { + if (error) { + respuesta.mensaje = 'El servicio de autenticacion única no responde.' + respuesta.valido = false; + return resolve(respuesta); + }; + if (!respLdap) return resolve(respuesta); + // console.log(`Buscando query ${query}`, respLdap); + + _.each(respLdap.other, usuario => { + const email = usuario.mail; + const validar = email.split('@'); + if (validar[1].indexOf('agetic.gob.bo') == -1) { + respuesta.mensaje = 'Usted no esta autorizado para ingresar al sistema.'; + respuesta.valido = false; + return resolve(respuesta); + } + else { + respuesta.valido = true; + } + }); + return resolve(respuesta); + + }); + } catch (e) { + console.log('Error en la validacion LDAP', e); + respuesta.mensaje = e; + respuesta.valido = false; + return resolve(respuesta); + } + }); + } + + autorizacionController.codigo = codigo; + autorizacionController.autorizar = autorizar; + autorizacionController.salir = salir; +}; diff --git a/src/bl/seguridad/autorizacion.dao.js b/src/bl/seguridad/autorizacion.dao.js new file mode 100644 index 0000000..df513dd --- /dev/null +++ b/src/bl/seguridad/autorizacion.dao.js @@ -0,0 +1,73 @@ +module.exports = (app) => { + const _app = app; + _app.dao = {}; + _app.dao.autorizacion = {}; + + const AuthModel = app.src.db.models.auth; + + /** + * Función para guardar los parametros de inicio de flujo para autenticación + * @param {string} _state + * @param {string} _parametros + * @returns {JSON} + */ + async function guardarState(_state, _parametros) { + const datos = await AuthModel.create({ state: _state, parametros: _parametros }); + return datos; + } + + /** + * Función de actualización en el objeto auth + * @param {object} auth + * @returns {JSON} + */ + async function actualizarTokens(auth) { + const authActualizar = { + tokens: auth.tokens, + id_usuario: auth.id_usuario, + estado: 'ACTIVO', + }; + const query = { + where: { + state: auth.state, + estado: 'INICIO', + }, + }; + const datos = await AuthModel.update(authActualizar, query); + return datos; + } + + /** + * Función de busqueda del objeto oauth a partir del parametro codigo=id_usuario + * @param {string} _id_usuario + * @param {string} _state + * @returns {JSON} + */ + async function buscaToken(_id_usuario, _state) { + const datos = await AuthModel.findOne({ + where: { + id_usuario: _id_usuario, + state: _state, + estado: 'ACTIVO', + }, + // order: [['id', 'DESC']], + }); + return datos; + } + + /** + * Función de busqueda del objeto oauth a partir del parametro state + * @param {string} estado + * @returns {JSON} + */ + async function buscaState(estado) { + const datos = await AuthModel.findOne({ where: { state: estado, estado: 'INICIO' } }); + return datos; + } + + + _app.dao.autorizacion.guardarState = guardarState; + _app.dao.autorizacion.buscaState = buscaState; + _app.dao.autorizacion.buscaToken = buscaToken; + _app.dao.autorizacion.actualizarTokens = actualizarTokens; +}; diff --git a/src/bl/seguridad/roles_menusBL.js b/src/bl/seguridad/roles_menusBL.js new file mode 100644 index 0000000..bd530c8 --- /dev/null +++ b/src/bl/seguridad/roles_menusBL.js @@ -0,0 +1,80 @@ +/** + * Archivo pra la lógica de negocio para roles_menus + * - relacionar permisos de menús y acciones + */ + + const Q = require('q'); + +module.exports = { + /** + * Función que relaciona permisos (ver, crear, modificar y eliminar) a un + * rol + * @param {Array} menus Array de objetos de tipo menus + * @param {Array} roles_menus Array de objetos de tipo roles_menus + * @return {Array} Array de objetos de tipo menus con permisos + */ + establecerMenusPermisos: (menus, roles_menus) => { + + const deferred = Q.defer(); + let menu, submenus, submenu; + for(let i = 0; i < menus.length; i++){ + menu = menus[i]; + if(menu.submenu.length > 0){ + submenus = menu.submenu; + for(let j = 0; j < submenus.length; j++){ + submenu = submenus[j]; + for(let k = 0; k < roles_menus.length; k++){ + if(submenu.id_menu == roles_menus[k].fid_menu){ + if(roles_menus[k].method_get) + menus[i].submenu[j].dataValues.get = true; + if(roles_menus[k].method_post) + menus[i].submenu[j].dataValues.post = true; + if(roles_menus[k].method_put) + menus[i].submenu[j].dataValues.put = true; + if(roles_menus[k].method_delete) + menus[i].submenu[j].dataValues.delete = true; + } + } + } + + } + if(i+1 == menus.length){ + deferred.resolve(menus); + } + } + + return deferred.promise + }, + + /** + * [function description] + * @param {Object} rol_menu Objeto rol_menu + * @param {Object} menus Objeto menu + * @return {Object} rol_menu Objeto rol_menu + */ + crearMenusPermisos: (rol_menu, menus) => { + let menu = false; + if(menus.hasOwnProperty('get') && menus.get){ + rol_menu.method_get = true; + menu = true; + } + if(menus.hasOwnProperty('post') && menus.post){ + rol_menu.method_post = true; + menu = true; + } + if(menus.hasOwnProperty('put') && menus.put){ + rol_menu.method_put = true; + menu = true; + } + if(menus.hasOwnProperty('delete') && menus.delete){ + rol_menu.method_delete = true; + menu = true; + } + if(menu){ + return rol_menu; + }else{ + return null; + } + }, + +}; diff --git a/src/bl/seguridad/roles_rutasBL.js b/src/bl/seguridad/roles_rutasBL.js new file mode 100644 index 0000000..3dd1e0b --- /dev/null +++ b/src/bl/seguridad/roles_rutasBL.js @@ -0,0 +1,74 @@ +/** + * Archivo pra la lógica de negocio para roles_rutas + * - relacionar permisos de roles_ruta con acciones de ver, crear, modificar y + * eliminar + */ + + const Q = require('q'); + +module.exports = { + + /** + * Función que relaciona permisos (ver, crear, modificar y eliminar) a un + * rol + * @param {Array} rutas Array de objetos de tipo rutas + * @param {Array} roles_rutas Array de objetos de tipo roles_rutas + * @return {Array} Array de objetos de tipo rutas con permisos + */ + establecerRutasPermisos: (rutas, roles_rutas) => { + const deferred = Q.defer(); + let ruta; + for(let i = 0; i < rutas.length; i++){ + ruta = rutas[i]; + for(let k = 0; k < roles_rutas.length; k++){ + if(ruta.id_ruta == roles_rutas[k].id_ruta){ + if(roles_rutas[k].method_get) + rutas[i].dataValues.get = true; + if(roles_rutas[k].method_post) + rutas[i].dataValues.post = true; + if(roles_rutas[k].method_put) + rutas[i].dataValues.put = true; + if(roles_rutas[k].method_delete) + rutas[i].dataValues.delete = true; + } + } + + if(i+1 == rutas.length){ + deferred.resolve(rutas); + } + } + + return deferred.promise + }, + /** + * [function description] + * @param {Object} rol_ruta Objeto rol_ruta + * @param {Object} rutas Objeto ruta + * @return {Object} rol_ruta Objeto rol_ruta + */ + crearRutasPermisos: (rol_ruta, rutas) => { + let ruta = false; + if(rutas.hasOwnProperty('get') && rutas.get){ + rol_ruta.method_get = true; + ruta = true; + } + if(rutas.hasOwnProperty('post') && rutas.post){ + rol_ruta.method_post = true; + ruta = true; + } + if(rutas.hasOwnProperty('put') && rutas.put){ + rol_ruta.method_put = true; + ruta = true; + } + if(rutas.hasOwnProperty('delete') && rutas.delete){ + rol_ruta.method_delete = true; + ruta = true; + } + if(ruta){ + return rol_ruta; + }else{ + return null; + } + }, + +}; diff --git a/src/bl/seguridad/usuarioBL.js b/src/bl/seguridad/usuarioBL.js new file mode 100644 index 0000000..24c7ba1 --- /dev/null +++ b/src/bl/seguridad/usuarioBL.js @@ -0,0 +1,371 @@ + +const hash = require('object-hash'); +const Promise = require('bluebird'); +const Op = require('sequelize').Op; + +module.exports={ + + /** Función que procesa los datos ldap del usuario. + @param {Objeto} pDatos Objeto que contiene los datos del usuario ldap. + @param {Modelo} pModeloUsuarioRol modelo de datos de la tabla usuario_rol. + @param {Modelo} pModeloUnidad modelo de datos de la tabla unidad. + @param {Modelo} pModeloAuth modelo de datos de la tabla auth_user. + @param {Modelo} pModeloUsuario modelo de datos de la tabla usuario. + */ + procesaUsuario:(pDatos, pModeloUsuarioRol, pModeloUnidad, pModeloAuth, pModeloUsuario) => { + let resultado; + return new Promise((resolve,reject) => { + const insertar={ + // fid_unidad:pUnidad, + usuario:pDatos.uid, + contrasena:'', + numero_documento: pDatos.numero_documento || '11111111', + nombres:pDatos.nombre || 'Nombres', + apellidos:pDatos.apellido, + cargo:pDatos.cargo, + email:pDatos.email || 'email@email.gob.bo', + _usuario_creacion:1, + } + + // Inserta el usuario ldap en la tabla usuario. + return pModeloUsuario.create(insertar) + .then(pRespuesta => { + resultado=pRespuesta; + const insertarUsuarioRol={ + fid_rol:module.exports.obtenerRol(pRespuesta.cargo), + fid_usuario:pRespuesta.id_usuario, + _usuario_creacion:pRespuesta._usuario_creacion, + }; + + // Crea el rol del usuario. + return pModeloUsuarioRol.create(insertarUsuarioRol) + .then(pRol => resolve(resultado)) + .catch(pErrorRol => reject(pErrorRol)) + }) + .catch(pError => reject(pError)) + + }) + }, + + /** Función que obtiene la unidad. + @param {Modelo} pModeloUnidad modelo de datos de la tabla unidad. + @param {Modleo} pModeloAuth modelo de datos de la tabla auth_user. + @param {Texto} pUsuario nombre del usuario. + @return retorna una promesa, con la unidad. + */ + obtenerUnidad: (pModeloUnidad, pModeloAuth, pUsuario) => { + + let unidad=''; + let unidadAux=''; + return new Promise ((resolve, reject) => { + pModeloAuth.findOne({ + attributes:['unidad_dependencia'], + where:{username: pUsuario}, + }) + .then(pRespuestaAuth => + unidadAux=module.exports.quitarAcentos(pRespuestaAuth.dataValues.unidad_dependencia) + ) + .then(() => + pModeloUnidad.findAll({attributes:['nombre', 'id_unidad']}) + .then(pRespuestaUnidad => pRespuestaUnidad.forEach((pItem, pIndice) => { + unidad = module.exports.quitarAcentos(pItem.dataValues.nombre); + if(unidadAux == unidad) resolve(pItem.id_unidad); + else resolve(null); + })) + .catch(pErrorUnidad => reject(pErrorUnidad)) + ) + .catch(pErrorAuth => reject(pErrorAuth)) + }); + + }, + + /** Función que obtiene el rol basado en una cadena de texto que es su cargo. + @param {Texto} pCadena cadena de texto que es el cargo del usuario. + @return {Número} retorna un numero identificador del rol en base a su cargo. + */ + obtenerRol:(pCadena) => { + const texto = pCadena.toLowerCase(); + if(texto.search("responsable") > -1 || texto.search("jefe") > -1 || texto.search("director") > -1) return 2 + else if(texto.search("secretaria") > -1) return 4; + else return 3; + }, + + /** Función que limpia una cadena de texto de acentos + @param {Texto} pCadena cadena de texto con tildes. + @return {Texto} retorna la cadena de texto sin tildes. + */ + quitarAcentos: (pCadena) => { + let cadena = pCadena.toLowerCase(); + + // Quita los acentos. + cadena = cadena.replace(/á/gi,"a"); + cadena = cadena.replace(/é/gi,"e"); + cadena = cadena.replace(/í/gi,"i"); + cadena = cadena.replace(/ó/gi,"o"); + cadena = cadena.replace(/ú/gi,"u"); + + return cadena; + }, + + /** Función que ordena el menu. + @param {Vector} pRolesMenu Vector de objetos, con informacion sobre roles y + menus. + @return {Objeto} Objeto con informacion de los menus y el menu de ingreso. + */ + ordenarMenu:(pRolesMenu) => { + const respuesta={}; + const menusDevolver=[],menusDevolverAux=[]; + let menuEntrar=null; + + for(const r in pRolesMenu){ + const menu = pRolesMenu[r].menu; + const padre = pRolesMenu[r].menu.menu_padre; + const objPadre = JSON.stringify(padre); + let existe = false; + for(let g = 0; g < menusDevolverAux.length; g++){ + if(JSON.stringify(menusDevolverAux[g]) == objPadre){ + existe = true; + break; + } + } + + if(!existe){ + delete padre.estado; + menusDevolverAux.push(padre) + } + else if(menu.fid_menu_padre == null ){ + const menuDatos = JSON.parse(JSON.stringify(menu)); + delete menuDatos.menu_padre; + menusDevolverAux.push(menuDatos); + } + } + + for (const i in menusDevolverAux) { + + const padre = JSON.parse(JSON.stringify(menusDevolverAux[i])); + if(padre != null){ + padre.submenu = []; + for (const j in pRolesMenu) { + + if(padre.id_menu == pRolesMenu[j].menu.fid_menu_padre && + pRolesMenu[j].menu.fid_menu_padre != null){ + + const hijo = JSON.parse(JSON.stringify(pRolesMenu[j].menu)); + delete hijo.menu_padre; + delete hijo.estado; + padre.submenu.push(hijo); + + if(!menuEntrar){ + menuEntrar=`/${hijo.url}`; + } + + } + } + + delete padre.estado; + menusDevolver.push(padre); + } + } + respuesta.menu=menusDevolver; + respuesta.menuEntrar=menuEntrar; + return respuesta; + }, + + /** Función que hace una busqueda en la db para obtener los menus de un rol. + @param {Modelo} pModeloRolMenu modelo de datos de la tabla rol_menu + @param {Modelo} pModeloMenu modelo de datos de la tabla menu + @param {Número} pIdRol identificador del rol, para el cual se obtiene los + menus. + @return Retorna una promesa, la cual retorna el menu del rol. + */ + obtenerMenu:(pModeloRolMenu, pModeloMenu, pIdRol) => + new Promise((resolve, reject) => { + pModeloRolMenu.findAll({ + where:{ + fid_rol:pIdRol, + estado:'ACTIVO', + }, + include:[{ + model:pModeloMenu, + as:'menu', + attributes:[['nombre','label'],['ruta','url'], + ['icono','icon'],'fid_menu_padre','estado'], + where:{estado:'ACTIVO'}, + include:[{ + model:pModeloMenu, + as:'menu_padre', + attributes:['id_menu',['nombre','label'],['ruta','url'], + ['icono','icon'],'estado'], + where:{estado:'ACTIVO'}, + }], + }], + }) + .then(pRolesMenu => resolve(module.exports.ordenarMenu(pRolesMenu))) + .catch(pError => reject(pError)) + }), + + /** Función que busca el rol de mayor peso. + @param {Modelo} pModeloUsuarioRol modelo de datos de la tabla usuario_rol. + @param {Modelo} pModeloRol modelo de datos de la tabla rol. + @param {Número} pIdUsuario identificador del usuario. + @return retorna una promesa, con el rol. + */ + buscarRol: (pModeloUsuarioRol, pModeloRol, pIdUsuario) => + new Promise((resolve, reject) => { + pModeloUsuarioRol.findOne({ + // attributes:['fid_rol'], + where:{ + fid_usuario: pIdUsuario, + estado: 'ACTIVO'}, + include:[{ + model: pModeloRol, + as: 'rol', + order: [['peso','ASC']]}], + }) + .then(pRespuesta => { + if(pRespuesta) resolve(pRespuesta) + else throw new Error("Este usuario no tiene un rol asignado, contacte con el administrador.") + }) + .catch(pError => reject(pError)) + }), + + /** Función que obtiene los roles de un usuario. + @param {Modelo} pModeloUsuarioRol modelo de datos de la tabla usuario_rol. + @param {Modelo} pModeloRol modelo de datos de la tabla rol. + @param {Número} pIdUsuario indentificador del usuario. + @return retorna una promesa, con los roles. + */ + obtenerRoles:(pModeloUsuarioRol, pModeloRol, pIdUsuario) => + new Promise((resolve, reject) => { + pModeloUsuarioRol.findAll({ + attributes:['fid_rol'], + where:{fid_usuario:pIdUsuario, estado:'ACTIVO'}, + include:[{ + attributes:['peso', 'nombre'], + model:pModeloRol, + as:'rol', + where:{estado:'ACTIVO'}, + }], + }) + .then(pRespuesta => resolve(pRespuesta?pRespuesta:[])) + .catch(pError => reject(pError)) + }), + + /** Función que obtiene los menus basado en los roles. + @param {Modelo} pModeloRolMenu modelo de datos de la tabla rol_menu. + @param {Modelo} pModeloMenu modelo de datos de la tabla menu. + @param {Vector} pVector vector de datos, con informacion sobre menus por rol. + */ + obtenerMenus: (pModeloRolMenu, pModeloMenu,pVector) => { + + const condicion=[] + const peso=0; + let rol; + for(const i in pVector){ + const obj={ fid_rol: pVector[i].dataValues.fid_rol} + condicion.push(obj) + const pesoActual = pVector[i].dataValues.rol.dataValues.peso + if(peso<=pesoActual){ + rol = pVector[i]; + } + + } + console.log('Revisando la condicion', condicion); + // const Op = Sequelize.Op; + return new Promise((resolve, reject) => + pModeloRolMenu.findAll({ + where:{ + [Op.or]:condicion, + estado:'ACTIVO', + }, + include:[{ + model:pModeloMenu, + as:'menu', + attributes:[['nombre','label'],['ruta','url'], + ['icono','icon'],'fid_menu_padre','estado'], + where:{estado:'ACTIVO'}, + include:[{ + model:pModeloMenu, + as:'menu_padre', + attributes:['id_menu',['nombre','label'],['ruta','url'], + ['icono','icon'],'estado'], + where:{estado:'ACTIVO'}, + }], + }], + }) + .then(pRespuesta => { + console.log('Revisando la respuesta', pRespuesta.length); + const menuOrdenado = module.exports.ordenarMenu(pRespuesta) + + const menu=menuOrdenado.menu; + + for(const i in menu){ + const submenusIterar=menu[i].submenu; + const submenuFinal=[]; + for(const j in submenusIterar){ + let contador=0; + if(submenuFinal.length>0){ + for(const k in submenuFinal){ + if(hash(submenusIterar[j]) == hash(submenuFinal[k])) contador ++; + } + if(contador ==0) submenuFinal.push(submenusIterar[j]); + } + else submenuFinal.push(submenusIterar[0]); + } + menu[i].submenu=submenuFinal; + } + menuOrdenado.menu = menu; + const respuesta={ + menu:menuOrdenado, + rol:pVector, + } + resolve(respuesta) + }) + .catch(pError => { + console.log('Errorzango', pError); + reject(pError) + }) + ) + + }, + + buscarRolUno: (id, UsuarioRol, Rol, Usuario, Oficina) => Usuario.findOne({ + where: { + id_usuario: id, + }, + include: [{ + model: UsuarioRol, + as: 'usuario_rol', + attributes: ['fid_rol', 'estado'], + required: false, + where: { + estado: 'ACTIVO', + }, + include: [{ + model: Rol, + as: 'rol', + attributes: ['id_rol', 'nombre', 'estado'], + required: false, + }], + }], + }), + buscarRolTodos: (UsuarioRol, Rol, Usuario, Oficina, condicion) => Usuario.findAll({ + where: condicion, + order: 'estado ASC, usuario ASC', + include: [{ + model: UsuarioRol, + as: 'usuario_rol', + attributes: ['fid_rol', 'fid_usuario', 'id_usuario_rol', 'estado'], + where: { + estado: 'ACTIVO', + }, + order: 'nombre', + include: [{ + model: Rol, + as: 'rol', + attributes: ["id_rol", "nombre", 'estado'], + }], + }], + }), + +} diff --git a/src/bl/seguridad/virtualBL.js b/src/bl/seguridad/virtualBL.js new file mode 100644 index 0000000..6acbc28 --- /dev/null +++ b/src/bl/seguridad/virtualBL.js @@ -0,0 +1,75 @@ +const blu = require('./usuarioBL'); +const moment = require('moment'); +const Uuid = require('uuid'); +const jwt = require('jwt-simple'); + + +module.exports = { + obtenerToken: (modelos, usuarioActivar, usuarioTitular, app) => { + const cfg = app.src.config.config; + return new Promise((resolve, reject) => { + if(!usuarioActivar) return reject('No existen datos del usuario a activar.'); + return blu.obtenerRoles(modelos.usuario_rol, modelos.rol, usuarioActivar.id_usuario) + .then(rolesResp => { + if(!rolesResp) throw Error('No se pudo obtener los roles del usuario a activar.'); + return blu.obtenerMenus(modelos.rol_menu, modelos.menu, rolesResp); + }) + .then(menuRolesResp => { + const cifrar = { + id_usuario: usuarioActivar.id_usuario, + usuario: usuarioActivar.usuario, + secret: jwt.encode({ + fecha: moment().tz('America/La_Paz').add(cfg.tiempo_token, 'minutes').format(), + clave: Uuid.v4(), + }, cfg.jwtSecret), + clave: Uuid.v4(), + tiempo: cfg.tiempo_token, + virtual: usuarioActivar.virtual, + roles: menuRolesResp.rol, + }; + const token = jwt.encode(cifrar, cfg.jwtSecret); + const respuesta = { + user: { + id: usuarioActivar.id_usuario, + username: usuarioActivar.usuario, + first_name: usuarioActivar.nombres, + last_name: usuarioActivar.apellidos, + cargo: usuarioActivar.cargo, + doc: usuarioActivar.numero_documento, + email: usuarioActivar.email, + date_joined: usuarioActivar._fecha_creacion, + }, + menu: menuRolesResp.menu, + menurEntrar: menuRolesResp.menurEntrar, + roles: menuRolesResp.rol, + // virtual: usuarioActivar.virtual, + token, + }; + + const sesion = app.get('sesion'); + sesion[usuarioActivar.id_usuario] = { + fecha: moment(moment().tz('America/La_Paz').format()).add(1, 'minutes'), + backup: null, + token, + }; + + if ( usuarioActivar.virtual === true ) { + const sesionVirtual = app.get('virtual'); + sesionVirtual[usuarioActivar.id_usuario] = { + titular: usuarioTitular.id_usuario, + docTitular: usuarioTitular.numero_documento, + token, + } + app.set("virtual", sesionVirtual); + } + + return resolve(respuesta); + }) + .catch(error => { + console.log('Error en la obtencion del token', error); + return reject(error) + + }); + }); + }, +}; \ No newline at end of file diff --git a/src/config/config.js.sample b/src/config/config.js.sample new file mode 100644 index 0000000..facb4c4 --- /dev/null +++ b/src/config/config.js.sample @@ -0,0 +1,123 @@ +const params = require('./config.json'); +const logger = require('../lib/logger'); + +module.exports = () => { + let env = process.env.NODE_ENV; + + if (!env) { + env = 'development'; + } + + if (!params.hasOwnProperty(env)) { + env = 'development'; + } + const config = { + database: { + name: process.env.DB_NOMBRE || params[env].database, + username: process.env.DB_USUARIO || params[env].username, + password: process.env.DB_PASSWORD || params[env].password, + timezone: process.env.TZ || '-04:00', + lang: process.env.DB_LANGUAGE || 'es', + params: { + dialect: params[env].dialect || 'postgres', + port: process.env.DB_PUERTO || params[env].port, + host: process.env.DB_HOST || params[env].host, + sync: { + force: process.env.FORCE || false, + }, + logging: (sql) => { + if (env === 'development') { + // logger.log('info', `[${new Date()}] ${sql}`); + } + }, + define: { + freezeTableName: true, + }, + }, + }, + ruta_externos: process.env.RUTA_ARCHIVOS_EXTERNOS || "./public/externos", // ".public/externos" + ruta_documentos: process.env.RUTA_DOCUMENTOS || "./public/documentos/", + host: process.env.HOST_BACKEND || 'localhost:8001', // Host backend sobre dominio + front: process.env.HOST_FRONTEND || 'localhost:3000', // Host frontend sobre dominio + urlVerificar: process.env.URL_VERIFICACION || 'https://mi.dominio.net/verificar', + prefijo: 1, // Prefijo en los documentos para su verificación + tiempo_token: process.env.TIEMPO_TOKEN || 60, // Tiempo en minutos, tiempo de vida del token. + validacion: {}, + sistema: { + // remover el [], dejar solamente el numero identificador. + director: process.env.IDENTIFICADOR_DIRECTOR || 1, // id_usuario del usuario con cargo de MAE + direccion: process.env.IDENTIFICADOR_DIRECTOR_UNIDAD || 1, // id_unidad de la unidad Dirección General Ejecutiva + cite_ceros: process.env.CITE_DIGITOS || 5, // Cantidad de digitos que posee el cite. + cite_principal: process.env.CITE_GUIA || 'PLANTILLAS', // Descripción guia del cite, miCiteGuia/IT/0001/2020 + }, + correo: { + port: process.env.CORREO_PUERTO || 25, // 25 + host: process.env.CORREO_HOST || 'localhost', // localhost + remitente: process.env.CORREO_REMITENTE || 'Sistema de plantillas', // Sistema de ... + origen: process.env.CORREO_ORIGEN || 'plantillas@entidad.net', // example@abc.de + secure: process.env.CORREO_SECURE || false, + ignoreTLS: process.env.CORREO_IGNORETLS || false, + tls: { + rejectUnauthorized: process.env.CORREO_TLS_RECHAZAR || false, + }, + }, + notificacion: { + sms_url: process.env.NOTIFICACION_SMS_URL || 'http://localhost/miApiSms', + sms_token: process.env.NOTIFICACION_SMS_TOKEN || '[miTokenSms]', + correo_url: process.env.NOTIFICACION_CORREO_URL || 'http://localhost/miApiCorreo', + correo_token: process.env.NOTIFICACION_CORREO_TOKEN || '[miTokenCorreo]', + }, + ldap: { + server: { + url: process.env.LDAP_URL || 'ldaps://ldap.example.abc:123', + bindDn: process.env.LDAP_BIND_DN || 'uid=usuarioLDAP...', + bindCredentials: process.env.LDAP_BIND_PASSWORD || 'pwdLDAP', + searchBase: process.env.LDAP_SEARCHBASE || 'ou=usuarios...', + searchFilter: process.env.LDAP_SEARCHFILTER || '(uid={{username}})', + }, + }, + // configuracion con jwt poner una palabra secreta segura + jwtSecret: process.env.JWT_SECRET || 'AGETIC-2020', //Se recomienda una llave alfanumerica generada min de 20 caracteres + jwtSession: { + session: process.env.JWT_SESSION || false, + }, + puerto: process.env.BACKEND_PUERTO || 8001, // Puerto donde se expone el api + almacen: { + url_estado: process.env.ALMACEN_ESTADO || 'http://localhost:3000/', + url_consulta: process.env.ALMACEN_CONSULTA || 'http://localhost:3000/api/v2/almacenes/articulos', + url_crear_solicitud: process.env.ALMACEN_CREAR_SOLICITUD || 'http://localhost:3000/api/v2/almacenes/solicitud', + url_recuperar: process.env.ALMACEN_RECUPERAR || 'http://localhost:3000/api/v2/almacenes/solicitud', + url_notificar: process.env.ALMACEN_NOTIFICAR || 'http://localhost:3000/api/v2/almacenes/solicitud', + url_proveedor: process.env.ALMACEN_PROVEEDOR || 'http://localhost:3000/api/v2/almacenes/proveedores', + url_ingreso: process.env.ALMACEN_INGRESO || 'http://localhost:3000/api/v2/almacenes/ingreso', + token: process.env.ALMACEN_TOKEN || 'Bearer TOKEN_ACCESSO', + }, + activos: { + url_estado: process.env.ACTIVOS_ESTADO || 'http://localhost:3000/', + url_consulta: process.env.ACTIVOS_CONSULTA || 'http://localhost:3000/api/v2/activos/buscar', + url_asignacion: process.env.ACTIVOS_ASIGNACION || 'http://localhost:3000/api/v2/activos/asignacion', + url_devolucion: process.env.ACTIVOS_DEVOLUCION || 'http://localhost:3000/api/v2/activos/devolucion', + url_consulta_por_usuario: process.env.ACTIVOS_CONSULTA_POR_USUARIO || 'http://localhost:3000/api/v2/activos/usuario', + token: process.env.ACTIVOS_TOKEN || 'Bearer TOKEN_ACCESO', + }, + // Configuracion de cliente, para ciudadania digital + issuer: process.env.ISSUER || 'https://account-idetest.agetic.gob.bo/', + client: { + post_logout_redirect_uris: [ + 'http://localhost:3000/oauth/logout.html', + ], + client_id: '4b64b225-52b1-4d66-9ba8-27e33ca56a7c', + client_secret: '2W3D5JFXfL3NRoKZ1CthJQoWDraiTt9+v6MBhE8g+TkMwp0ySqiKfsaL00fRLwJy', + redirect_uris: [ + 'http://localhost:3000/oauth/login', + ] + }, + // parameters registry client + client_params: { + scope: ['openid nombre documento_identidad email celular'] + }, + + }; + + return config; +}; diff --git a/src/config/config.json.sample b/src/config/config.json.sample new file mode 100644 index 0000000..faadf04 --- /dev/null +++ b/src/config/config.json.sample @@ -0,0 +1,42 @@ +{ + "development": { + "username": "postgres" , + "password": "postgres", + "database": "name_database", + "host": "127.0.0.1", + "port": 5432, + "dialect": "postgres", + "pool": { + "max": 15, + "min": 0, + "idle": 10000 + }, + "timezone": "America/La_Paz" + }, + "test": { + "username": "postgres", + "password": "postgres", + "database": "name_database", + "host": "127.0.0.1", + "port": 5432, + "dialect": "postgres", + "pool": { + "max": 15, + "min": 0, + "idle": 10000 + } + }, + "production": { + "username": "postgres", + "password": "postgres", + "database": "name_database", + "host": "127.0.0.1", + "port": 5432, + "dialect": "postgres", + "pool": { + "max": 15, + "min": 0, + "idle": 10000 + } + } +} diff --git a/src/db.js b/src/db.js new file mode 100644 index 0000000..67e2e64 --- /dev/null +++ b/src/db.js @@ -0,0 +1,87 @@ + +const fs = require("fs"); +const path = require("path"); +const Sequelize = require("sequelize"); +let db = null; +module.exports = app => { + + if (!db) { + const config = app.src.config.config.database; + const Op = Sequelize.Op; + const alias = { + $eq: Op.eq, + $ne: Op.ne, + $gte: Op.gte, + $gt: Op.gt, + $lte: Op.lte, + $lt: Op.lt, + $not: Op.not, + $in: Op.in, + $notIn: Op.notIn, + $is: Op.is, + $like: Op.like, + $notLike: Op.notLike, + $iLike: Op.iLike, + $notILike: Op.notILike, + $regexp: Op.regexp, + $notRegexp: Op.notRegexp, + $iRegexp: Op.iRegexp, + $notIRegexp: Op.notIRegexp, + $between: Op.between, + $notBetween: Op.notBetween, + $overlap: Op.overlap, + $contains: Op.contains, + $contained: Op.contained, + $adjacent: Op.adjacent, + $strictLeft: Op.strictLeft, + $strictRight: Op.strictRight, + $noExtendRight: Op.noExtendRight, + $noExtendLeft: Op.noExtendLeft, + $and: Op.and, + $or: Op.or, + $any: Op.any, + $all: Op.all, + $values: Op.values, + $col: Op.col + }; + config.params.operatorsAliases = alias; + const sequelize = new Sequelize( + config.name, + config.username, + config.password, + config.params + ); + + db = { + sequelize, + Sequelize, + models: {}, + }; + + const dirModels = path.join(__dirname, "models"); + // Obtiene los modelos del directorio "models". + fs.readdirSync(dirModels).forEach(dir => { + if(fs.statSync(`${dirModels}/${dir}`).isDirectory()){ + const subDirModels = path.join(dirModels, dir); + if(dir !== "ejemplos")//TODO: commentar si es que se quieren cargar los modelos de ejemplos + fs.readdirSync(subDirModels).forEach(file => { + const pathFile = path.join(subDirModels, file); + const model = sequelize.import(pathFile); + // Almacena los objetos modelo en un JSON. + db.models[model.name] = model; + }); + } + }); + console.log("cargando asociaciones...."); + Object.keys(db.models).forEach(key => { + console.log(`---->${key+db.models[key]}`); + // Control de relaciones(associate) de los modelos. + if(db.models[key].associate!=undefined){ + db.models[key].associate(db.models); + + } + }); + + } + return db; +}; diff --git a/src/lib/FirmaPkcs11PdfLib.jar b/src/lib/FirmaPkcs11PdfLib.jar new file mode 100644 index 0000000000000000000000000000000000000000..40d2519b07949f28a1f810593eb5c4d2a1220e36 GIT binary patch literal 5326588 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
      niO~?xiqxb4=4BYNVsb%M4p6+73 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⪚wobfhv`56JakO+k%{6=R(my>7V*&u$leAfcQsxU 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%0A9@l&*>(5WXwvw>IPs9-z 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 z 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 yXR>s5>TQxFjGRe=j`-hnFWM#*+Ai@i z0*gFH{Jd%#vr#ZT9s|O06Ii01Omv+=FTCkvBTrG*B(l`WRm8WVl ztd^Z|OwlR|2S^FUp_Xi*@Pt&JXV%do`xB>SER%gI!0*-DwzaLa#Sb8GSwh?8xKDlQ zS&c8`JRd-C6asJW01KO#PBCscy9uzRNYT|Uap(2V0#nUHjmdYID`0FL97 zyp&o@l+&JDCw;nlb7pTHLiUpql6#Abrtk55bN;wNll*c$BE#L?)GmJQ!aH^YMWOt! zIvV_M60%_Rf<8FHl9gk%a9u&owQyDn)N)Q85_}V~tSJ$$g0Ch{K{E?S0N&>*ywTzDemFV$zaD!Qpc82Lq+zXnyIAy*RqZ_OAQZD)v2y&Cx5W4VFJ zBKc$Q%pS>^ZmySNFI^~*-j@>zpOz+FC{SEv1!1Jh{yF(&6>C`yhoW-f*z%H=Ji=`f z3cE{7@cnk-SQFln+c4)V`&+wrEgFV(rtnFz!zayRO!)`MxJLXFT+C0x<^KgN#Q6UP z3z7q1{9ge9hYT>0)`UIi zQTE5D2@k^Mn#PXO47c_1u{%|Jul+Vj&yOx}m zD?jWc-9K3hZxp$5+eL+vMrqMeDmaTX4;qS$5J*-5w=iv6M=8fBp$&12jXEr|lRy_r zsFIn{uY?4C$EDhg5^oaW-1+_O?zE=kkz1(eNIEUco0_*eZ(2{Wc7^}K**<%Ybu$;z zYK}i2p_Lq^%wscd*S$ZJYJ!l1T}A!X+97&G<3xy?XlbVx+>qPS4XQmB807c4oo1lG zEQJ-cwLB*$-Nj~*hmxpQtdGbq@dS*zNq0V-o{WfC>8sy0M@j6*9v{wpKKNtB-hDoG zb9_!+bF+Oc-IwlN|2R8cc(G}8u6g&mwZbaO)l*N=1qu;9iSdZ73by$8K@0Dqb%AvR zE9w-i@x#vc11Yg*p`x^mTF^lJ{n)y;`s}C>(IO93b{3|GsJ@Mtw2wI>iVn7`bobQG zAH0;yzkI?|dV*W`A!B?_e5Y+XbLP72Dc#)M^s9JLS_eT3o+J-{r_|T>ws^7mTXtv4 zqf_)w(`@lV^C!r~i`@Q?GC_%nZHsuMxmdXcXQ%dE1(Yg0#M~37;^=8Fc&Z==+N&A&<(*MrzuMpzI*;rKL`U^4U)1A6>jw>1r-BkKVHP+`r$GPF{a7 zJZJOltACLRBxA@+UFt(Kva8-6e#AOHAf9xN(C6e#-#cDB7iqdU8hKZ*NSz+;8`X!j zM@En(yfLNYMZeA;N+0c)&X1e=;BddBw8GtF1OnhG){dkeQ{Y#;IYiwej@!jka90te zk^q{5XMR?Ag@_~^v7O&cNanwC;_b|WH<({z-vgO-5mVP)CHByM0S33BiL5qmER>70ov zR=OP1^G=g3XT;*?kvsx{o8s^vKKty4D`%x#8X$_%r2<zV zJO3I*ki0NRx^MTz7N%d5eI#GslrfnsxpCser&`@z2?>1Xj1M~LTvVlsy~)BGsg#FM)>Nhb5^mxH6FrUDX0oJ;NToxUUmSyF~j ztfL;>FqNvUrV-I23snU?{ z9`J2qyHCFnPue}XKT0R2kKbKU5nq*FR3AY`b(Yri1N)@T9Izgax#7W5EcNF;e<%Bf zx2byQH6KIe5L3+k-r!E^fu&bi4q{}YMWly9=^|)_0yqjQ<&?cNh@28~yVC&+u0nod z#%P%mX-0Y&@oqN6z!HB@h$NE_NIzu6di$&5pQZ&AX}V&5>My@PGxI*>dFP@xn)wT% zE37wX7g4QI!+lrdqU4>uT;MDDL~qpXl0t&679wf{Vb%fZr{u6A>9-+~KS`(g2D=IHu7MrE1H5sX zfvNw1J=$ZfbCvt1(`DE~r%lY5wBk%g>@4X=Ona|{Y)aC@dg%hR-I3GCAQVZNe8BeZ zIe&Er3IWFp@!3cCo=Dz2{9kJziNnVqqss;?^q@?Lkn(cTDu@&H^!Ijm*9t16W<#Pn z0K|-u(F5KgM}gWp0MhE`YZM|>;yvF|>0VWUB%LA}>A^7R-Y>+Xf>cOk%!ksg@}NmH z{LArjgoN>p)Q6I922p_95zW98Na=yz;1nQ=$i*RwN-yN~S1SUQ%0PSiW=F`D11+E+ zK%Ql)6s9(8#BUj}Xuw!DOrWg*OIc}C#*QUd0>n-JQug$Tu14v+K@rnQT_=4uSDo0u z{SiKkh|*ZT-SWkL?|1uxP>kKC8KaK=$@ z;ae~1rJ`cbFv*}a23JUbj*3b0+eD7-moAgqx>iB0=fM-PfvsB5-fP=blyljlX}4w z#fd?@Q;eE|@lifMvtXbULr&DB*-6(P3iI#*%csdex8vtQz&Qv!F=pZ8FFJ|Pj|4k8 zxqA9>VC7UU?m~#GYe+6~_x-n7*oO{$VEzpZH=ckwS^H{KoFqBWb#J4$aLH48sc(@U z;8&P}21@s3@E`pE;Lk6Mv^%C}(KQHOyq>N>c8|x`fHXHsF=C_gE}{$yE$vM%E(P6_ zQhI69iIb3?WD%k|c8n^pcI+6CloVHB%}o*lJPND;jT zc!mWFuoyBbka_{%8QsP%U{Q)RZE$NU8W75Ol-*zf1zwDnqslu{)2!GswfWZEL6K8? zmGw`Y5va{gk`}%8VdYnsr>{s~v#m8#P3f-jaU-{mjVY=e+O=B;gx3%5^X!W)iEExa zFeyOm7a5qVP(Ars23CkVu;L6v_g@bUs5dxEiaiISppdJ89XAf zd;2g`Xkqu0h+&@k(~lGS_3ECvtVc$=#v{K=>1zYGY&~;jac!5fvNkczUGzmW0f6$H z2<>W@*zRc`$`Q^})|C0UMn^>%oxMD7c=)JaoWEv=uhx_j*QM(@s@2&Ix`=G)@JN}= zv^@6Qf%puO2wGHo)*6<*A&^Gd_#xMZpC3eA0~2v+LMI1fB72C@aE&$sZX8Gb+-QDW znA35@Cq60LHWMG4&z!Hi*k+0iBzD@VRDL@DH_2AI+SK#Jo`9s4tA$JNy=F#Y35<1Q&De77V?%`}t?2&uFn^4#Rg`76evFOs9I&atc!wmUB`sp?yGOsboh*1dM4HJL z9m$&+N@nHD0c5fid)rp>^i%CT2Mp!6&m12xd^F{XsFw0Dw3NQoqt#cZ7j!z7d8JiF zi2+~-vFxYzjlzN^pea=GzWQ8`A1bCS8eE*!CE8MMw%wC<&ms|U_#&}g-wz?zK3bLC z?t#91*dzEdH8l?HlhIw~|HZB1NURU~^!A`}G%BRxRN3P)aOl%M+jgmBT^dy6cyPA` z=_6;BE~PW26rkk_b5Bl6dPg#CJhmir*c5=VF@&M1h9MDHK203~9^*Kbz_g zg(>1ad+bD1OY8(B61nm>Pu))FGx@+J8avTiGi|2i>0Bmj4XHMftAIZr(=tMvbQ5dJ z@+s2$Vkxdv&oWnWMi~ppMuVI14)E*f+z|mRqH{=SxWUuIBODAeJ8P&i7RomJc}PW5 z8f-1Qcu=<~#9K4ZDHNtB&~Q*)O9ZxL1XI2k5)@}%mHu_qEgk-QUm^55{A2f?JyIVIsPkkmCHLi)VvYI;1$ z`+oZNu*_ab(ynv!w}+%-4&}|u#l1)t1=6KNl8G-h(U&=4h4bzNASy~U!{!^BN98C?(Kzx_2{tt{NRTlu8%J+jJ?*d zrb|$8TI9EMhcTI1y#zcQje{9t(fSw+Jwjbz0Y|kBoHZ^qawOPIn@uaUxc4c{PVCwv zBD+U+fi=2^*sri_VZOCX*S`zZOj}OPE>Uu78nYJ14^tzkOpfY6bV4W(M2{ob)afeO zQ=qf0Dkp)k=hU%F<0zK!q&Uv%3sFgYS){qwjHmGJ0r>G*^tP8II49XzyZ*LES%aeZv>*#-H}rKH~r^GbU%N#2{h^)nOY-;v%w zD4m}$v8;dGAyRgN%JFiI))G}QY{M4d{wRxkW=4ifQBriLPF=Vpl0+dL4oD{@b?Kr> z0qj#;e6`-Zi)hrkAk|8^i`L&;^oHH%$ zxks~y(9J>Z_Oc+%EA{`|@?ZhPh`pm5HXS_i{QcLKjx6n#lRG%3=QPESke zpYq(|J?}4j^j)MmdwP{MJgSTPA-Wz@rcAX+_g{ZGCrz*O4XVp7^&CI`+J&>E-y7Xe zN6xss_)1#g5)$yQag~v$yI(&0wY2R`{e7Wb_J(W&E&!lcWd{C0}|3VYwr~P+a9IbI8`y2iL z(h9-j&J+Rf3-(IuWRp=l0B^uSnhhwZ@3AvF;d!KRXa406PlR9Vu?&>k1yNkabsuDeN#3N5v8&wI2ibJu^k|CfZjh#@y zC4E7|S5Gf`e*B8f(wUJz+CC>0-#aqIZj%n|e{p@NjU)eZC*jSoNFKP!GQ^@^oKY;( zxPfJ9@psZ7v9gwj)`M>o8;*YEjLNh(yMlx1suTH<(z&r4cCI4sZ^@Cy{T3874j+w5 z7vFk*{T7OVd`P2=XJ46pIGWC~s`;Tf9mUo4oYQW1ntC+`O)C&H6`>D9xDNy`5JA3w8 z>+?M8v!1o~+H3jsZ{JnUIm5lr);+$?`{FX^{95nx;m*0QJ^Gq+{uSOA&f4V=rv zWo+-F5ks6moIkd2?-5!9cFUk%rPtolzsIoa^rRs=2TrG-tA|r8(!O20)|2${l`s7< zoz15+;EGa<9T`wqz|*xv?-I0JOrLH%df(H(y78WeTfOctyKwAJp1P$+e#WBG(rJ_W zbU**vF8N*F(kX2>roZK%l{rSG)G2Lk(+an%d@ZxiMA;Tz`)<5zRB3US?m6e)^ziJA z=gaOc4xbwdotb;~fKH=YJ)oxyN`KS;l%A5Mr)V7jPidcVN)Mx=`JeLETz;i>437*S zow4~~`F(Tq^Sku!-TuZKfAph3s8j3q>8^sC!oJ(I0&tsV;+q$Z zs88Ic)tIT3B+Y4E%d(3qsJgeVshKi;NO|f%ickAfu}w>#xbgq~Z>Rsv|CgI52d>E| zy|k<- zH{;nK-rTcie&Lp5M<(24iLrM%ohIDet4Cg+8}DlQum6+pUh&Sl^TwV%BfYmwxQScu z#7d6_9?AGXG^bAYP|T&i;3BR6KkI_7z5AYZURKAFL6IIk26a5Iug>%dwy{;E_Q^%d zX&0%bJz8$BQCwGB)n`lll(a#92aR_#G_}%SN&DzCPeG-lpvntp(39`CyZrpy`(;1rOAN33!T!gO-+1xnYxX~$e)!Utr;Yaw+jQJd;x`M1 zJ#^Lh(8%;X!_J=`9v{lPu}|v0<@(jW>0W1hiao9QslNS}+&gA`R^FI~B#E)%W8@B^R@0t_Z$iX&z)y|iE$DzaZ*aY_E5>I;#SfV|PZTDB#c7<(p`e>`v$L4Ke)7u{()p(V&s%5v>z>_Qs&FNV9OS5&_ zSI(cNox8MCM#qksoig=GBrQ{)=x1iO?v&PAn+vuaBb9o;aOy-6zMv28ntOs&&(Qo* z#DD4*626H}VZQg?4^Qsb^UEdq&lftquCUE|v~9$MjQ+J={>dGCd{5LKJib-C^_(~O zVs@!XF{r(8)pBz+Tbrxlu|GG&p0DXdq$oSJTp6(+k9sGDIeY0GOpBF3mP`4 z6>2SopjRpOYg`ucu(H^=*StqE5^p2@K$GD zv1;=_r~l)T8%IAd^3E&&>z=h1MVzZKxqZ{s+V-HZuSB&wY%9&;X1ki7u#e%Jzg=u` zK{NG<&p~~ioc;s6cOLORcyxZr+{ZcTvgO!&-yJPqfcn4HY%0&sbkB4z8>^S*ty^_y z?bG38&2teg)BJKJ-u1L(;s3V3ckI1)R8vj6H*5tJ0TmPx5ET)Trqa8Lp!8d+bSw~B z2pvKdQL!LM3sMrK282)pNDCke(h?v*Ady}|3jsn1BqVvcpYxn^?)N$8tnd8uedl@K z^{q9z=6C&O=Gr@Z&z`lfnb|YooaC`i&wh?u%35Q@u8pO-Au z9T)CJT=eYhWqT~2Amcv1|bH%#PK-X785hDvbS^^SGh9iRkT$!XzJpSG8ZnyX7>1GVDsZ+O)?aIamDbn<+ zOTe52k}NDJ!0)al!Uv_N~Ra z_yv?`RB$IHg9g-|fk69ACpUh30)&)4q!qT~>!oXA<|}f>8(zsHsr`b2g5!sPje#m~ z!yvYT$dB>;u>pt#EYs;rUcLE7Rdb43rAoJ>S&hnc%VgEymEDDiFAb3x*EDo1nSiWX z9ZbY|e5lTJMOOl)Knxs0c7F&OvyciEl2Em*XH&EBEt~4<4)}0Ol)_y`qi59TG$5** zT|~J+d8~Rt%q`o{A&ueZ-~^oNEY{p0^qZi)u-C-gI&bXs$Rnl7fN8BO4lCV{dq<(y zX4d^o-WcF)5-=g;$vp;nEdmW0g9Bg0rWiHX*GJs;-b9(PRs7eGX@!-BJU) zIdiw?pAylmJGdaEVbnXVU{I&YnviHWICSf9a)z>hcEr3qQFJ77t;JVi&Pn6zh8+RR zoaik1y4i$48Gn2V5sQl&}# zBOBe7_>@*+?Qs`)9WVX)Q0ewiRvzA@HajRH6@L6n5ZSC&@8wySJ_;1-=uq?Ndl~V{MI+NQsZI2C@nHAW9)?RD;@H>`|jJZ zW$E}&nqRu%0J{)uRq7v3E2}=^=wET*q)qg%fk-A>eliS0Im3+54jT!Mmu?ym z9#P^4ja6$Ki*~sz0)ubF#(mkg2*i4sT3VNX9A7Y*d(JcT&S;B%Gos&}QR2PnNSkQfva)VTylOcsll9U+-aVJL zWF*J_A=Ra+HhOjVJTUM@Ghdwp2qDfgr&d`WB#A(OxrAla4sSyc4c~0dUG1PSH`zLB~jKM7kR}_1KJSKje>XSjtHBFWfy8FnFHjCB-T{7O69$9oAMSd^5|b0 z<|_-gtC!R>8DT|UWsWy`78-WtuZ2#;V^`)g`zLE_0mFx>n@uSo*C6jT8bNiLDk8J% zK3;2C5#wZdPr<|#F)fw{c|SnTE`^lmCe(eUt7q0nCYGw%h{?&Udk+6XC9W;5_@r(d zXvh(NuTuCAz=*-rCNFQ6%q`O&Q_OnxT8`rZN|l8(P0d zb5Fdv?~zCNV_Q2o`{c1gjV~`+*>|c8eoo1Bc|ebEl<65UsgB{Rw+l#;+N42ZDNdlE6^p^nTuHgw$3!BjKk7mAaKt~)3*d30y>+2{~tTnSJrL&}8j zubJZNTOxBxaU!tjbHvRr&PsWH8*$a|-`EGDMRZ%B;RKzJ6VbMSRe+`W0|#p@W;18W z8ZS?JQ{K}7kMhoJ0+x4 z=Elw4O4-O3vT1@5Q=gVC z0NkZ`fdVjTWy^lkTS5&VAEgXv9R8}9Fl~`Cja@S;u5()j2-h;>>~hbT`+$&87J{me zFBzA?xjwPY%i(T5)R&n1G2bRncGpBdVG>_Fi`PHJ5)*gyvNPB+14M|+U0c_g3^+7l z0sT-Wugi=WY}j7zNA-YD|NL^=?x}r$ZH(ii0Jle~Jy(9T2^34d$u*I&Td5O9mTJr! zio?C++{KjbJg_#Jp_5P9mf2gsn&xl%yz}E{pqS8{WI(RxYZr=s zhg#<%6&Yv6lE-tXbUh}YH+EaSe>T;SjjN2IbT*+(Q1P;kesJqxoP20{#?n^yrq1NA zSvj{zYc8Tt_BROCKUB;E>~_(t`H!jIFCzAd=Xy`jUjp~;_O-&Mk(Qw6^{0^88VLLJ z^vH~tUnjA3GUm{1wLBrBiyD~Otoew{jGiDep_Kjp$)CZ%&1g!EVS?7GUpSFKlTj0Z z*DH~ba?t?|HKBRPxDk;dk#zepi7c6EWkth}gQc+rk)YrYh0Da}v<;Tk%rN(Q06p7O zk(9c&l^#+)yv0TS%(rtdFamff@1?}>?DBItYNSJKEtYfGq`@hcu~SV*fkVNA8>L^5 zc%PH|jJ>6Hx?HuSnbBm4%8BxSqea|%?AzXEon;lLhX(BprELM-yw+Wmw%65=are#@ z*A08)iud-?5!gXOp*oNduY!>Op9C zoH*$vT5WPF4sH8}8etcr3@E)gx(T^9R+{D~A8)fE#`@yY%c&HOmTV6~@V$k(@exOD* z&|6@^%~s>Zs_~5Rnu(EM_i*}~C#uSKKbKdzXm6n4Yw{)vL3TZ5Gi;SgY{-pE@^)h$ z#~CInIIBCZYN#zMsGr&n0SPK-2iw;8p}q5B{LFw^er^lkOLi|j=%%(f%bwX!cTWuI z=LJ;Tg}y^;ruz)LU|3%wdY1GO?9~`aiFJ!F#GJBU204D0)Btx3nA)j}HD#>AP;i8X zp<+@+^FvIH>Qp?inh@OW73i%e@%jr?t%e&`qU2}b?uC9oIHdqJK&p>*0db`2gD0$K zR>B{Ryw$2cA=g}7vhBz&p|yRwm@eSps8O}l{v|WXo4e6k zw#jut+v4KKvO)HhNCov`ktv1hG+3FbGR6xNVqkbk`jcn6p8^RkP;q|ETVy;B3!OO0 z`a!rgU=mC(puwQ06hephSUOZ0rv~WSP|@XJkFDpYmu(;q)Q{h33~C#({fvGqc~<)U z+5(UIsfu3~nnugqsq6@HOk2(nYBOA}ph2_Nh|#U?Ah(j|FdyvcA4ZNK-O#2b0c2Q% zUn#wJ-?s!@d$Ayc(NZRtDk#fgnnS%D9m85$GHvfR$fSC)p=ZtS3x?{HWilLp}&wvUObD>#{h3CU0YUDC=&wJ7wgIeG2i5iH_&n}R2iqNf! zDtAO_CXh%GScz==$;|}%=h8R`E-@3`CfapMa1+C4q)70AC|4N=4Efo;C)hVtG zy}fv5_->diAi&IN!cywAMXZ%t{1>33BRch~j%`p-ofOhp+_*EqO(7!#T=%`sD@aeo zE8UsxE%81Re{ePB#@LK^l%Ys?)EG6DrW+8Pu!n9l1FTP^c{W=&0V5)`8%S@Qm_C6U zpLGFLx^WXTJ9sXeHX$Mw%hOUZW!TAXbOMIMbr`r4xa#Lm{rRkMA=Cl zk`XQ`u;LM_is%%!SWqb0%{F*6sj}cyYPP#qlX1T!-FPSMmAPPz7#<#qO3GI zv}it2jj*HFo@>xR^L)~jF)@br{HlMUq>rG;LkVV1%mA;kyJ_;itNiBx0E!6j_1s|r zgh0*e!LsxxCOkuqJ~{+WduxhYG4?RFy1GX1RwLNUEjpz)3ttic@?;{^_cqOc)~DECbyq@lpX}0#ErRJ*dHnTUin}1y45Z zPocAyNS`JBG z1mT4-k<&KB&I5MsJdXl;Is=c~E37)VG{#2xUwGPaPsAIyr)SEjDgZ~Z(Oqxx;U94! zlfk!hcicklSOfzWVQeIx-uOJQY>MRu9A~$t)#{+H+p@dAis~#pP|%+a zR_VNuXX3gv%e6KBHuUKVX#Q;2TT4sYi;hSCzd;aC)KeX;U$r9rB-ql}r z^)#z??9JZcj0*1VNlxAyaAd%;E*k9Wel<4g_IcN-$T++1P}uG;i2mi4Igw*5pw6{- zUj^ckds1^Fk`YDWn8Yva%8D$tc4=ptYkkVNRFxNHMt<_{n}yDYZ*SEPt8rR`1HBM= z*Rfjzyda(4S-TmNo*Bkd(Pa~90)yZ1nY|Sla=#$r*N{a&GuZ(v&K;%QfM+ZG zG|}CBy;WAyLaZph6|q`c{0fbPD1=Xf&B<}TsE4Xuw5@xo?*~DZjt@P>7GDpp!38!8 zOyD)U{LMO`Iq3?+fY|LFT-_u+jJDvgwA;NJh;}0$SIdjIU6RX0l}T9X667I1L7bR= zSW0oVI=yC90%UsJ?P~GF#=9Zu_}nf;mP}51aO(F7-RFdwxzdY89qO8PO^@>An444}{RJ6k z!VS30&FxXRYh{frT5Og)RF)hfC%m^V1%OdLh{D<3C6SvkIb4&!A3<21FaZ_RZL%2I zv%ITuwIm~u9kx}vr`nS|j%(hm4l|Uq%)(lWW5m%p@Ws#GQv6kD6&?R#z~UbXQYP&C z4jZl>@)jpr9nJehi%NXx-&+gcBMW=<<7`s$b_R~G(R)D6a*h%8BlWg??U65gM4Rc` zGYn7*>l`}+Gcmq~h-3!0;MYx1M^m$DOWt1XsbfPl_iAHv_z^dq9zLZSvuuD8m8t52 zO)ybUn7{uj51xNT7^?Vb^JF%*d0w*EpS>zseEtE=t)e4zx5P9{(OI2VRx>ynrl(PA zO=)1PoGeXK0+)x1itbWV!^%Qfshx$|xE}DY z74w;v%2@W-pmzmMVIOfS(OjHbL6f9slY!oTgB}*h!g)ul2DE-vjb>;REHN>e&j{x& zAI}r-B{bw4+y;5)FJ!MEcdjnyi>rhQH^c<;la`-G=+su5RA(2|Ma?q7voHZ!LU(!ou|A6-G&blGvdCgx#dqjC2Q0a%61 zF?K`ksQ7^v(fLUUzseT#5ewNR zRx;diU6-3xI{Db9OE);{*K2v-;#*;r%aZPWk)w?JHl(=X`kkDh6UeZPGWTtwmISPQ zY1qdJNK>))6gB*&-I&f88WZ%1N>2S*Z%Yu$>ee* z)vcc0PJziFuyoIn#jGbQ@9k36LxYKn56R{W3&S@4Jb{#x6(%{ZGU)B0{HBqTt8!|p zV&ppI_+mhyZ$MIhGTwG0<*gm2O7VKHZy>vbjEQLOkRj?s&r1=P^wEZEzZ;f zbyUkIH54#R*R#}~eQbyruxHaMLK<4?gUwI+l;N9(Wv!+9Fr*?d;OAw8T_ezed+_&a z?S&MivE_D3nk&5ggD0-a-K6VXsy>VVY!-;#Q)4N5+8;ixRNJ zAI{>6qyY^}mZrF;<5WueZWq+5s-#M1!rMxzvO=O}w75Fi8j|+qd7hqAkF5kE)OJpD zv#{&kLSOY~WlSaQLr{ZW=*ntsq_y0g@sY6|UH@p4cQYBmq1gK({$saG|L{d_9}~HE z_x=Eg<#I3L-6M;Lm$_Kta8J{tOq>n)T-Qsba@aFKZA}UsxWeNdOMX_Q3Sr<5xqGJ_ z+J$_*6JznE|K7DxXpF?Q2~lnRI3rhi61*2h)@)0#g>LYj(Izo%g+F)D<7#cQ2k^t* zMKUF~%~sxJ;HqzUe(?K4kG@lSdb2@E-Lg2eHF|-&EgR$nF)oJ*qQPW8f zB~ad_XTFLes1QsKHFG-c0rDn(dLK8#?g5h+5Rh z-q-0dM8w4SGVtNX`iKD9bGxvuafS<_T7^5AF>dy%UN5kQd;m!)bV783K#y#T$C1L- zu#8?WoE)M$qb5(pFUul)q>k)NG$Xz|PV@Y<9bZQWaidhNEwz|=zSb&+s6WaH@agyC zXsP5#zjkV0qW58<6Sp;&NuS$=&RT5M(>Ihu-i`f7=_9gpwUlg;AnKSyL)hlwa>(vh z^{UWOj?!A1jYrFO?+DWRG-SY}F>ayiZ0d8Zo2aQ3AiMJR?X|I6D-#iD)i5Sd+y4Zu z?t+=$SdmHIh3sW^$!Kc9SqCOAv^fZ+x|%D+7%sCJx!H~*?o5{vd4(08R8fXRv%}}Q zPk*qqr8=dnMHu_1MJRkHeax`Q$7*^Ortnd+0mn#-GC zTeQMSKrEZSbDrze;ObUg7hVDhM_7PnwP{Th{(|ga$3`x>)kx|n7nb0jlsiuA71dFN zUkP44rLyrJp3bmn9TBb{<8;V)ZqhQh@90dVv8I0FV2a(6tOVG;>$AWUJfj(VB27AC zzQHqcw^5R;J|?7XoK5eI-;47XZKfqMo~Oclk9bB3p&D?C^Vxe|%b%(mwL%uSQ^8gg z?@OAcy@*Z3Nj163XDek6m}W08T6g<{r9jCHBok`ZVsGLa8aQe;eXw0f^R<3JdelMq# z*U!Z)7W~xYQX>>&g0%-^sy}p>q$V$s-_Ney0HMdy4-y*m_>PhqQtLbsmmh`N60zzI zR^^{(2y?HRU#XC0X+s9d{M4#D9^MNX{SvWs&E>s4h@BNMV`pn)mv`7?Z;m8!uCd;v z%xZmn&PaIBbAEC~FD`tM>D%5Z-9Y+TXA7@OXI4|nz@_stBT^a0Ar@k}-c}vI@03_Y zOKqXABXn@GB3l{dIvz2p=4ur49ycMS&DSi+>|*(qOf^OIRzpOI0sgmN58g2$E7W!S znfwSq>d;OPkUK3){%Jp_1f~bJbD!9Y;%Z2!{L)H)S*IWu78`K6wE1cE?+T7nPofr% z)+fEGrJq_!IR`O&Nxm@V=)vrAE2h$VC8`SMO+CncIw$$<5)jbWRQ#u^h z9MnYJqzD*q4}(Dp9*a?I8%M@vJmwd;eZX-hEBBk@-r3uH0Z$nFmAv>QB8I z7p(6VyVopij?Rrsn%l`BtKz@RA0dyeRm?oWK|el^++BmPPq>B}n!1M#wJYLkzZNz7E|TcKz*{?$j_LGvc==}v&c2g*>LNFAQu=lW2RRZ=SeI{p`6jqf1Ks$~{)oegE)Vtoq63t)xcJwitE_>YHxp@C|Fo zPV*V^*l2L(jDNAqv5yE=4OLQTH z{|NH7)J^-PJNX-`-c9&pv3zY7(Mam$13r{t?a#XPzsR29>bvzAs%V%DOGzS*2?bFV z5Y=TPOGZSuYsTJ*k@2?us*_lo?j!vZ-y5G+@o^k;30ljoOZzF#q;}V2wyfkaB3VPc zjxZluObeZwtOnhN+VGC=u@r@x=q>whwA~mX8!tut0DvNMKi@EQkwzwdlXtk4+MLv3Hf9WB_|GWhLIxUlNMKbQ&30b(^Cb z9`;y}Q26mYp;qVqMUk%V;cG|hMQ#TKxp&Y~Hq>?Z>aJwKNOKNQYoOSRg+~PTbVPje zl4cdy;cF9np(dVWxAIW~IEfc6U>AU8e*eO5BbblqjuV>rEK+hbNKyGy1{L}#vFGHE zrD~Mn?X+c{%u4Q^Yx$m8>~Zj9um53koklxb9`=NSBEr=ClPj-M1|aaAC?k0qCsp6kcrLJNP~vQdu<++$bUbJ)F5^v zi!(Hj?NofcHI@UeeK2X!W3Xx{U55RRPVJ2I^>U%rWR0INC)ard=RW6k8O?&uXJjDN zA64}#o2IN@UUj7fs3YDmOu*=NK`4u@MVtN;@1~(y*K6oga_;FV_YiAbt1JF~CZ5MJ zgSRDP*Yx`u84<;O6~)baz|%7F)W2PMl99*XVOHD;Ti0b(-mDOGmyN*MUM73hf^tnT|)rvWD?zU|q z%vFZ+N4Mz++-qb;qPRw6)WK7|!ecvlb;5z~gi{XufqC!_v0&3<*h>*{?tB;h6zmCV z0jH6Rq<>LPG9PZQ^@gk@Nj-6BW(yi` z@ezEtFBZh1_=u)(*H%QF62`mcVd_Az;|IW!V0!SZjfPG}6rkE~E_=ZSv#;sG3b;%D zh)?;H4k+k;3QG+|Bgs+m3$uOIW|;JCCZ?Nu=`IAs%xakllYy;Y{3y=*fd0)e^0sK(vZ&!rm4 zd*qzxE7ZsZXS-5svsf&wB!9^MJmbrSe zooGtv8-sPLuly1w8K%SSrMj9~iC3%(7Q=J-t03D-rkd0I+vIIMyw+^-4vkmK0~zM}&aHp-Hu2tBHr)l$O0YCX`b>eyIi^}CtJ)bg@ohIr z3QJQ%^*$IQ%K;YCLj_1-LxI0LZ=3O=>fM}kphrMq+d(9!+?-~=U)amV5rN0u{ zFK~vT=L)vo0XVq-#w{>XExK}k5ONjZnO6|~n($$?v(dq$eLI<0ndSIaoQt3_v@nna zOZ?tbCPd`cuIWw>Hd(>5QN2A4b?N&XysShRxMvs+Y~8(N7$y{8+UVyt(Da33pOM#m zs_NO87PO2|yT5G9c<80@L zRi7zOO2;G5=)iFVX-;{sh;#$qSn5FAak0SV{vCaqEWoNJY^veIwb;<@WxQrdF8k}6 z_VtTdQ319r26=C4$&8rmUANVnWid*Pc8@@-NR{ITN`L!1kk<&CfWR9OTg!>OkRSt! zVquR52!JXkL)8mvq8zx6RhjQ2sKN^5=cy|yDga9;ej#Jo^ULz8G`vkEia zQqEx&cz(0Jc{8r}q9Lvq7Ra(0)=Gk104?^P;)*^0KuuUG3x_Lg zuJNmi>Xf>+y;QR{06weC9Un?IT8v_}W^3J=pUw&tAsw#++n^_*_iA?JqsXqKA1n#J zOFzOKCQP0yVyxmcsK8>%_3{ViraSj4JK24FvViTp-H4Kjb@x!6&@%6ScGJS^+gLmZ z84No2!7ytRP8@3TQoY!acNYD&-UCgKi1hLT%PBeX2t^euk@!-?Y?Oe2kQ`+LubV&$XbXe-f*M*SS z5;g!`l#!WMy4mE!Z;zV!IN&0m9kw;y+%meAsNJyG?vKT=NQYA!*IGJMtBc5a$=2kk zorx#bzblyyqD9$Tip&AKbQo{-nC)Z zIq#athY0cVs2wD&PMI79SkJINSC;-&zIiPi6O8<^qTu?9{6=KOTEXIMK%gzVv;1Pi zJOu56V$u)IC)XCgRcXFQ*-Cd;)k-yxi10RPkz+bkATeN&1fYXXqB2% zNi!2`Ip*0BbON5eUp=?TwCJI`7p0f9DkmTbX{Io?x7@%WVAd1l#thFAw9wQ2|2kS2-aPZQa=OX4^ShS;RyAgY2YgsV4X5IvDGfCIe^dIMb zCKt6e@<>S;1i$LS$}msjIH^f%lz70L%u2Yb%7_BH4zU?AiL7klw^u!-H%OQeC*okx z!10d)+?wU4v^7oH)r<&ld^!=9UIIMI)ktS1{(8;yR}WYW%yA-5uEy2cSs4<&uMPP_YHphCkBxeZQF@l7q8><@RS7M{6cOj34kn%Q^?s5DBCQbe+-X+b!)$=5W zqOnucZfrFnaP_yxkMgpp&DUQ|qkLD&4eYr0ma~I}!)JVYPQ-Mu1k`PmS)Gd7u#g^0 zb`3a_(q32gZDVQH(lKZGUOLczAqw)4ZJ;}T;V}Fh8@kizdNPykSg2Ig0xzsI-E$B- z$hzoL=G*X|YkZ)^rF0!C9R7&3UC=^XAe$ZQ^WKFNaSjRgw%`Vp87E_?-nJoH`x|U` zg&?L+JcBa4;@ssQW}H615RrVL<~cHs91zQfny>A+V>^aK+RVuz8*?J)RO2-GnvZGo zGZZ4+6Ft9HxDpWCcR6SVvaoxXZ6YLIxaO;; z&cZHuWsiIlsBkcu@`$E-iyF_Em;n zCm`IbDz3^nsho;?SwQDe)B*A1j>%y&-^3xOr;e?^FRXiodx?t{tB=%NdX(RzpTN=i z0^3z`DC?lrOZm1NH}z0*>#rsg8D>6$--PWCmK|}LLt9Q6PI=tqDLd?R)akGjCoV>) z^<#?6L93X|R+$u{j9>9(rqYt_pq)NDQKIQEiVMYw;*C78#zA`#)@ItuoVvS7=ifWI zcgX8z!0k3GXU_@*v-@~7sg=iBf|YR?#udcTn63!DIT|C?+y-A{uS=Cx37Xhqns$If0IL#so+6`VeFGzf<9j)+Tn(?s=$L-)I$dKC8mDCmzgt zubzF4d2+{dUDZd@<*}}#=fh_%03p-Swm`4x)oaYt?w^BsUO2@>9cAk|KKNFBkR#~} zpeV#xW5>H9Ed1H(#mUD~F=QnM0;GW>U(dqV$xn%zp##WxzsTCAaO6R?bg)CDdQ=bOCwv)jM*YnN7hZ& zz1J_UJNhJnUq{_mIU8;}F_T*qbfU7r_>lwuuiREjTCG=A-CcB*AM@E0#?k_ z86gOln#6c!23>x9Wc#q8MR~3J;pcyf)Mo^Rl1G33><}HbVGA$(+rU%dJ_o;@+T%8T zd_(5egE-oTlHO};vE=O=#wEE*o}6UEcLYZwuAcJZjNhuU7I6lT`ev)}R}S#7E5 zQ+!i$txhlHY}Zhh`A!^Byr^y}?x9@^c7(=Rk+G8b4V5lDIi(i30o-rdzMb9sv@()_ zq%wJ1=$s+^UUTI`=*bH|G9p(b@$|~#mcyf6o78Mwy5G9Ny2tv3b+z@-3gM=M!d&r( zK^#voykRW%fv97wV@+Ipw^UAN-3MQbF>ixgUKDwERo%4=f}Z8<|VgQ=iTPM)IM{k$U^V_&^+uy^Y&1DGvd)uJUr?|{P!mSIWl03 zXdgWHGthkH=I?{Hz1V%V|0&GdL*!l!PrLL@AunFrl|{Xk#cLRA@cN#2NTf0tHI8ki zUR@NNi5?F>$VkP^6nJmyj7xqv?|9si+wrg?rz0;UM)}3FHs7f}=VjFnf8~%h4$Sye zeVDD?{Dh{=ksvH{{3p@wd-VIujUP?IHxXBp9XU@FF$dh}gzn>gRG z@;$`id^y)_;FBiVINa-vhMTN&9h2X8?9NAV&4Qln$;7q1-l+R4`N&qp^=;j&4am)j zGaYu{Lk!P@j?c54mZtJBLCuhh=w znCKRn{|g+Tzjuq!MWU|QI-N$8za6pOPafd-;1;8cY`Zd4d@S(BzZCro#C!b*EBgkK zi&ty|PRlgBJ?C)$gKVy@z(DQ?w}F44|J~Md=Ew-c>inTbNs|>W!-#2k`A((O*)O`a z5kC`he%9^F>2nnvrHc7$5yfFn%M;dtxIibVo}Yg{X=jJg>){phqi0un7NU2Zc`F1S zAKO02IKgp$Fc|duUq+tH$48lTQA);S)Z>le)Z(-T+bBSDH z!AW2l>Qz1cj7@jHLj4hA*}KVx{c~sj6)I$dXzch+xua>(J#A;F4Ej4f#WOI<;m7T{ zJK6%jd>l8}&#|NS?c(nPcopQ;KOGjO3@Lqrk-nEz%l&FPB<-V-p+X7hZ?21-=%d{F zh{mUyy6;?fWPnWFcMH2Rz-GO7t_&Hb*3Ln<>OS!dk}}ff_nE$Jp*2oKnxww^Lp(hr z32CZtmtdZ|8)X<}LgyOfw(@H}deiG@EeFE-hA$qkxn(RKD(39Il4G#t*g8nk556@1 z&T0MyF@txJ^dhHO@!Jo3&IaJ zKNR>>JGOMD&&2M}j0);N_sqX#F8H9&dmztQQiZ?ieA5vms`0-65CoO9Wtoo!KxzKI*s_Gj| z?1NBzrBqe%^sY0YLTXfGsBZKgsZe6|;PxS|HZ5nT={u?ZIX91FH1JrsQG zn_268=;JW3rX7W*y7;k1`Mt@BeSe8hLId^_>?`ZiTENTcR+Zv*Neozwf0_&Rool z5xL%n43JquFW`kc?u9wK6L*&K z|3zL#NkA2ZU3(w$l2mt6xBAOwtp{}q=GmL3yDih)_JYq^l4h1JO2QoKKW>E>mIN-A zn`t;a5~|!fny;R`cCSHdY3<9;Glz#gq(v@6P4T%OqCM_H{x_!-Kl3Tt!v?bUpy9mm z0lhXepX(vF9*!4;SZzu@bke8a7_?576^r0@$EWe{Z@+`e4}la$=x<1K8=7etCWr$E zdhSTV3S>eBum7yxlF6U`<2~TdTHxbyC`2MeIfOT){O0@6`;QW?FQ3-c%q@DrPkozv z@zIdj|4n572;ocd|CRsjKin(Zv(9dRy^}HL+qj<|QGR>+_a!}_nDbKHPfHcvRt{e3 zF!+n2CmM4;_~g?cx87EET9qQN3EA;*mv)uz2912h`;Zc|pq;4V{RYT-G+FQ&i*1#K_f!~18Zh$@MlWxi6V=P z;uZt>K-~=YC9a2r(Rz!0P?p~q^Q3GpG5!-;BI5GW#r&|OHQk060hgC1@)@6GuZ*V! zXb=9JI&kv@XYyQH_y|BQT(_o)f zQoR0WMunXH!?>Hj`7^;ib^nywbM^~L@&LsxC8dfDZ1gR=4ZfOLnWa`GdE87KcD_>5 zcHb)IT`312@#HnMpi!3mXBEIrU$pZ~R@)ENn0KNae5xm}xt=#d-uyffb(6_*4&7_p zqQ)%sabgpA3pquNCN)1t2Hk8XI)`SrZK=mB`Ep=!Ckx93jpXD%vs`X!_Bhj1+P1F6 zEIr`B#@PP|tuWl;n5*bl+&bDS|2oZ&X;$Xc9rwGS_m{)pqZ{MZE#9>X@;B4E*@3z& zkP5#BnyRM*i*jGyjhmFio?wROcrJ3i0GxR6iE+$N^zNG2uZSb{372T6=d@n_{;$aS zZsz42&!XSl7=B0nHR~is>fW+Jq@|v;!{5W4yt$K#ZCUE=FMRVKLzcPTD|0HRR% zD>c(g@skO6kQVYo0u!$E)oz~y0uty@quRbJ}` zAlw4IQz?ZV*Rgs> z=Hrfb3m#43W2f=$rtwkI_(*Ad#I)Jn`H)Cem{a_J6SBA$3I7%zH$9bhyaiFVdIo-` z2pJ8O4ixQC|5ADLrd4Iz1*jRQr6JL2{8zd6oVD_1iO}xw$Gv5}$Uw1{3$ZO9+b27w zL9^>f-w?ct22j{hfk*B_tiZ?i4;|CGv+KFOApdR4+*g|*~) zvIS!?aqa&`cc_Fv6Gq+QnLHn>9oJ5utr%DFQsyCiY!CYH!C*eG$s+{Y&KuWip7JQv zf?kp`of+3gQO9dRIo42FV7fGt>W&qRF#?>t4gC|nGXh-w8?wn(`jhxGO8g$6cLFOY zX#~i>`R@uYOuw-ueoM(m{o7%U1FYkF@;mjHA8iE8OfTL4j(rymuhs&ptzZlP5>>7Q zG}j|7l3N zACCe|YP$Z+zX}_WSbb+m*(<=uuB|MCeL(yl5wPPJ`DySq4a_TI`nm=m4Dg*|6!K3) z-UumsN&Kf15|3@vxZVKT)}_BekJeRB`J59*zihYhQQ_hNv`tH^WE~Bwb_ShW?R(j5 zQ=!bY?bU-^Z8zkCYjyzN!h%=3PK z+VzBB{jHZ74NNaP>#*k4?EgM;+Skq8vPqUf|_AOTa|Mr z7!yVa6^ze|k=KgOjr|)ysqyxk%udOuBqk7}CaY;FlP$q%snv(~Rs0F+hJ|cZE|_3U z8eOembT9T;E4n!LXM)wZCZ~^*vQNaKh!np4wi+WC)Ify$q|?4Ea^I|;Bq~q%LK=eu zEJbh~t>wK%`P*Y8s^-#{=1d7uzO-}yJge1Q`qrE&CCZm>?w@BbHJ7@ZGsQe=4utHjVlV=(j=s*RyF&KUxYQ!L znvLoS`G8B)*0`Ay-9VW686h4BGjlp6+yh}2PNxKUK+)9cl;962nmOUGrYNo(+y6aX zhen7!|7wZ`Ran@End|0u-m2<<2ix~4KSEU@s72pgS&Av+qYis%=8dpF058#mah1OR zcwL&w%-lOjB1(1Y)2|`L4>S1Yb{?wgSHu1eR)@SalRC`mQ+|MIe_+cUbLD$Xiy!_7 ztPp3)dDD{d>C4U1zl#m@ZGVfx7&h=>hTYuGUsav@ud&KGs+elRM}2FOlPKoncUMS1 zI3bmqT-m|;RP|zn^Yy_Wfvu5KZ54E5t)HQ+iK%TO%8^dnDYmTBfu~^FC#>de6deb* z{7S*0u{c8$*&Kte9NTT zqeRQM(a)L>4Guv5#9NAasT$sV^(xEK_MaG!>1#7;4elNw1ZQTk1fg`60ZZ?c#8y$FlxJHOjHUe;OJ0JSm<$G1_$@JvNxECiu@I z#dRkNyW{95DwEaN?TZr?*hPy^%CQv|pA`N?CJM0m7ypnv$;9SZc#`;6NReE*QLiy+ z;jq~9pU5uv8uJtmOD`A6m;Z?@YT>ZpvbAhEd9U%G$Ubn-4Z5I7V^Pf$elYrRWL0|B z+2(fDFvyA7{fO<92bGRTLmxl!<0*cfjbMQFgZ`P!@4U_JOCulen}XiHeJ*>tVnegu zDoqt0-FmbF3{o4tJ)>*0pV-{OX+?E-{&kIN)YA@KK=CvSr&!uWr-aO%9#^OgM!BBj zt}|S=J51l{>CS_R}`PrVcYwIULiWgi8r!eyKe)R_lhsH&pZEh6C z9KKJ9zrbbG4?Y?Q*e%oK9DOQ`t=JCwBXIwX zYSpzc=Do$R!$OM3IrsV&<+kh}RsMObKqLB^cILU$4oY1sH-RzXJ8^UEx+yym>cEQ} z*PItQZi}^86O^?!H8!<7H9NI9HKP+0rp&u&CF8Oi9iCTn$p;aVTC0XJl@Xl%@F$v- z&N{Y8eOne=G+Sg_d?l2J1_FiKuTZ1{1NPc_0`d?KiRf!yWjZ>r$i!VQ7&YnmsoR;qFqAxllX~ zqyI|qDMw%JQxfkB?3Zx$uTd=_0;Ko8NLt`aS!&#PF)AT{5qCg(q6H-db1s+;Z69Na^!7ZTaO8uFfOcB=dEn8| z__Isyb8f%C2LPg&-Ud~AZk9?jD5@*3g(90+-*~CUIhH@ci19bb5)7A*@^9$;&W#l6 zJ-0>`f(o75-;*Kk8z$UCYoS;sr{syfR8bKgg?#5(YQz15oJiQA^!C5WnMRTr`mH4qiu%uLC5Z|;(ut=OwVuEH`# zKDki!tM`fYH|chXcRk{J`j7RsRWx~WkuI9b<$gu9&Cr4zNv2I%yxz5=A9ku)1N&={hbN_q5hW%0{0m8*Ots~XUSl=y+JZGl< zj{h~_c$js>>|tql1$yp;}jnfWf9=6ASBIoNgu~Le!GM~y)n98aM_Hp0*_!*--GYZ zHcKw{QY;BA*E0RGQ$?;ie;V}(;kOs*faJi{g7E7#`lfg#;cxWLT=&23r&y|kfbo@@ zq5)dszsZwS90a1|N#oR6e1je!N;-lBIGm)31JVIbSw($t;td1X<8Y8Ve_e~3HNyd} zMI9dG)8{Gkl6%Nmctt|@)YWzp&+C=A_(;TVX_Xnr`5{P^#Hcr?OjlgSLi@5 zv{x9UWS9(3p1o>Mt(|rj_@zsF8%acjm3&L#qT=fTvurk!eHdzaCk{BherJrrZ53O$ znPgkZ>cpRaF{6M1eVLqds;ziBLxcMosNFuqYSuw@O29iqdfl9_J+C)L zjwW#ft5GHF7@SzaFz&+dUMI_wjUfc#)$r7o*E-ZV)W)vSFW0VEDt73kMF&K!Jk%Cm zw!F5=B88C%)nsGzOY!JpYyWsDBE?KPwDW8XyA?qo)>EekA^Jh-?*+~5!#dggd&=EY zpiyJj*`%g7nc|`UkSC9>U&J))e+#(BYXaT#+yLFP{L(#FmZV-pW4Mk`51TX-9xyxS z@SkSKH44g!bwT+ZP(Jpv9GJb*9#I5PonIvJ8%Q#jiMB5DSIWlLZh!}I!2Dk8zv}Jp zFB8dJ8yYkVyh77U-0@Hnnocw+;EIvVb)rEVPGQMAR~h1gE9}2957z1-4N$AhJ6FjP zpqfq{T6({`!ZYzuJ3RgmnEScyG?d!*%hEof7t6Vm8Go(*OW zr}ObtkmeEX>THIl(t;+JMM0AU+rc~wl${G%QP%BoYI){xVpmX4xD(LRy#VTM-Uang zXp^F>$6|rV?FX!YJ3ALpZM6eXn>!)~)G7o(wH;l(83qOJ!c@;@sGgj7o_M(!(QFQ( ztLPJfwM!xKZ5G6_ z?ZyCn?>iQuLm%#8tpb+wI%u$}k!PllI3Yc+GTeG}4l?o1lX* zLr1xca$d{y91*faZTv*T6)VM0Pp((HZiXb~P&u*B-|ilGo#Mpepqlxiwj0JQiXBQJ zMH2cJn8>FmP*UW}^yaynQb{H^oG_qVPh(1z0^O2V&(S=$akX*VdA@@#VM{4jcW{B{ zs-=JD*n&AnntWYmdGzZv`qs)}Zf^rJo>wyEE(_Aa94u;(Qx`K?=H zThu#!G-ro0;tuXXV$yT+Fx_kON>EyNWm9$W?%52n0hqE61Ds5EczEv2c@Zn0C&AW zY@r`A%DRr-Nz~K{PmErp%{ENMy?We8r28E90kC|Zw?S$3ig)M-ZIi--WYN%mCgOl- zY+zBjucavDDHQMu>l!)-4NU$z%X(FCh8I9V#cLQ)+3jmtKt++0Fu+M`Qg(|b0h+nr zepm!SJ))!)KP{B|z6?f*ZxOnwB!+39fmsZ^uEI_lW$_`t!k7>9|4|`Q3+FX~GF*%W zDM>Um<*~Rg1C|$Hm&ygqP#g&J!-WN|ukIBH+eOCwAhv-EQodXddWc^V3=Mgdxe^Sa zc>+H>>@p4)6GfvUXxJF@5pE_CdM_oMO)=m}2VuJOzmKSaeeHNXhKPiCRa*BxjKiLG8gf zsq^3rqr=OJI ze%Xm<*s3@2>;KCT$r6 zbT~rudNwhQ{GI?-@RAxJ5!i)skfx1E_uyU18wPX;l254wK!vCzK|cxNAf0*uQmy-^ zyx1u($|JR!TVJXultDhHj+SK|ApkrvVZEleGvl)?!6s(yVEY2;W1rl`mpmRKR>li_s|%Jtk)yHB~+ zKbkg>I=B}hT657q@hbSKqnFO5$DhE=y%dF}@PcJ!M5qjSvG^(SlBq%sw(hSw#Z~Ro z2c3Fnu1b{HVS4&pX1%6cJY^b3zTaM{Y(?6rrFg=edvOVA8<}QkLm4>B6+gGWVL_!` zufm3Hj0YYb$8(PdulA#AIMwkz9{E!9YH@aW_%p@aW4%lPIH$N`W9IbDtaDB5N@#E07)NPeHge@*kZkz=uK+KLb*KpV74!6v@IlQccSlu=ybJ3%a zkKgdPAoFAKBel=wRNvqW+vGJx*d-evd~@u7HPAC!^QoQ%52tSspV0KDXSOBbkZ~%~ zW!y4PtubIxO4i_tf}st)Rdont+-KRi!Ma$hTqSSxD_m5LKRoKWY+P?$tXV#sJ8Cqz z!jWlB%29^pJK`y7+(b~kA-!$QU|#O*5OkWo)Bdu(YckE7n41*FVWJF2&znul8MG8B z5GjjNKT?GrbGtZ6?u`Yg8HcGY?PGS%vYLdcG4Np=BHJ9l(FnIP4zpr7!sLpiufAa< z?oe*{RB`qNM$O#rqEL4=%jOVi@vzf&db=T`mhUMM_+myzD4l z+REiaP4sjgjfx1CEWHA-`E$It^%rLa~MS3)_YN@Bl^%j~&`yR6GYnq;830u3jr>#a~;3zF>! z&&m|d9B8mEz>2*~kxPdT8hl6padsU;h9j8a*%X-mb-(*;?3y{6xqNms zPVF3KU)ARMLgsqQ_~?0SB|V*@pmxlx){vVYDKtOG>fFLaUvAB07s_anT(})nHu&yg znUGpKttS5U%ml;7!RbB^AIrtuY~FB>QJ}NL+RCV}i*-v8l8L(|^BK*$L4U_RMtffO zZpJ8{eME9B>m%Y#vXJ=hJ!Hva#2YRMLDkPcYSesUezyg-kBecSwj_vluVWtiI5;=( zRZqoen04fo%qfm+_?fd{5-;p|3Qp$iE&trIqANB+Z%GU+ACf0ef~)##^DUm3U@x`3 zsN~M&MBSeK5aH>3iyUUh$b&k^s9V*XdruD+?l@xrP>bMY?&fVW9fyE?zI#J4iH5#; zU$inS29+8333*y-L&_}jf?m%tSf@XzegJ=VLcnuSl1~YI%p*JOzlfvk=f$u+iotJK zy~QU6hpcFgJFam~ps$HKArwq^IJ#@R?e&ZmkAi5eZIe$qP zwIi=kUm_}cWRJhZw;G-~f2m2o`2A2@^oc0^nQRyr<$6YCk^qVk-|!{nHuE7Iiiu{y zm_3@6y{{i-ZJY)7FYaF7aS`2Tp3?N*VDI2=4XJ)}Ogh7jNHMd|IZ@2J?DBw;^%{zj z5N57BQH`{4XHMtv^{Vn^XceW!9A9Wo$G-3ND&YUOIt?TDs`oYmiq0qyoc#B?X6=_^ z3v;el-7D>Z3|-Pd=0eK+v@hBHIEnF+%2cE%9MXJgJSeWP?Rr&eiLqSUrC8D15{?oz zb9;*zR|s|(Q5EG9`;zjiOc-}>+f>!{ILp8l?lY}d>c?D(E!N0F<$R8|QY-vva@(Ep z3Dz!$9{ts@T|)|I@0@^5oxTi`;`r1Tyk_r$Qf^l*!8 zlsM6-QO}J9{zNjXqtlYXGqqtYipcp=y|C7<7-r7PNgS3XqIy@BU>eWa_fK)_v*PGv zFhjN0@Z7?Q(DCHSv7|Dz)5GGoa9Q-%c@<;ke3k{O#q@4gUJgW<5MQM zL0*Vu-Az=8yH78hgs<0&?h>H&A>_RPy|<%6x^Gmnt9>Nn1s$@cnv5o2H{p|V=>u(BYenIZp8mF;z>b@BbFkOkl6{gbs% z)j`Lo^VCVN-W=0F3*h4R9U%*Rz!o!e;#)DHMHCjv_L4K#F%}dT=$H40;$Y@;U!tfPjJDnO8q>i-vERL^ ze{Z9GKz7}ml>%&u9bmRVgIx!*`>_SQX(E30{;YLvb4>?wp;PMeUb;6o4J4oD6t#Yz ztnJmAlfO=TY(Ovbf`4PuuyQa)7W4NU0;U?iC-60m8ZHu|dq`jcf6+E|z&Y5%Ko>_4 zAh*BL$VC0YiKl&?IAGVyeil@knHZSiS-S@X!t`@hOC0nnPai-Ga|G@BN?=W#s7AX1WuTDu*w{l~2co1?$B@y?(U zD(T`AZF0j*H-D?#ynhjhL%OJ`U1_hR7RbMf%S2Q82Dat4nB3=SAn421FHy{Bw7A)i zXOd%+d3dV#v|N{7kN$DLL=e_1qPj!-w;IfS-A4}@%a5<Mi%!Ee) zX%2jtIXk+~`-iieg!`wjF81wX7AzMp}{pY(m?Yfej2Tj65CilLBqah0Wm=OjocG?5C&;vkFA^ukeXr*V|N z0aF3Jtv+Yr7|6hc47H)wmtwFXv3& zZ*WfSk***5+a8PYx=`~2@8yl(cgzpmeM;?Ig)1=rGS=jM2j|oz>H3<#?XDQFBQ-@8 zE{@E_7uR0iy(Dr4O+4lb;)Cxa{opt;G^*F~V0 z=!;@-GP{yM&M)RpSs9QeynZ&tpY48jhiD=R0Baxr>Wp7#(Ey%4TmK_9iK_$?f<=G< zih};ZdcNDf|I@YTgZ1mfq3qK;AYFzP~G1PvU>)CCztte1>w$itVds-?a#DrwnTQlXcLJsxiw|$ zhTB9svVpQw(Xdrqa!fEVK2;ViT_UDeP{rQ5-+yaSMc5BQEuc)xCee3``cZwR2^Omm zD5-gfwE;5lAs2fRKskc^w&S34%aSZsf$&#LP#JWC-3Pd-2PNNpev@48yCwe!se`@s za$k)FXlSY;+^P&p19d^|_pzt03?3m3fAvY-ICcr1Y2t5N0BZx%Gk8janT<>0RcNY& z@yEp4IW`96kHvr8`0tgfbiuOp;0nMVJpkkPwy5rt0-F(iL=nE!aPv#(8H3&d3Sm>A z{I(X{C*MePs3^fuMXo4|c32_Uh`zZf1h+>4a-^_nM898z?{sQPos#u=7<5d`VkA0# zYKUl-L^uoCVg2k{^+pJijn9} zQG$a?S0xz!l({pQ?Y8_MNXBkB-GUX~8Sc%-GIDCSo@0JEZKLDsAtVoUxXBH}Dnj%d z~5jiRvl8zbK_!yOM$aRN+d(S(f zJ0h#1Ry7^DP#xKHF70Md5yxv0)n9pQWOGw1Z*ypZyDZB5(={!f@ILyz7mqil%_Y2*YuFO=y~n z@T7*{-S5c7X44sdaJe{W*N7%?SX!$n`tzW4LSgiKD35ou^`(%?SI7cMt&|UEap*R@ zg7<`*53lMRzrO8qKm4D9aa&!^Z&0%IAK&K-Ox|%rE&W0_-%)FVmDhD|@H2JebINyN zd7B1LTtW4_S1M|2f!>a@qcWvI+2gaJGMals-TazxT;GMEPa=>b<$03`6S% z_y=dcwl%Uz1Vj6CkrXv4sJZk1DmE#Z@=s_dXr3qM>s?%n1!{+NRZsjDW6h3Ovt6bE%JEroi;~>X@9gVAw4k%w2p|+rciNt<-@>QgiL|5Z~as z#nNu+QW{N5fTu1Rj$Ds$@8(5zJ`t%uo1F=kj33&U(BHqFwIl%<3hUhjDJ-8Es-rQ5 zAC*c6BXN2_fAB_O`+DInNYB)Q4?(pvdZygnT$R+S@o*M21o;pr(eUboRt>q?9NG=V z;63{0LwucMpW80~B+L#RUUS<;>Oob?wUf53li7V2i=%4!fh~8wc9%sohp76^%U<(z z*gf*J;%}Vr@#c>KU;*ucip*7Z#A=kRR4z#wv$ru*xA+<~?R~y0lck&r1{KjDe?|Oj zJ0TSwpt-WY>g*2y+LJbFSm7TwrM(MA%fB@Ofivsx)O8DV^W^9+9qiWNI!=7Iqh;q4 zmwNTEC$V?)&t_ew`cB?woOmmq;N=|Cs2|Bx?33;{n|!9Pj?X#ttori1!KWb4enn?t zjXf-<8P3g+@y_pq-gVN2-QS@%7k)?y}Xl>aCbhk3~ zvyQ9hbZtJJBSWmMb^X=PE&x`?V z0S!gyva|!ULWe`1J&Q?o{uvmCzvNR%m=PvJ0tay30#G+UARd4~hmL(Khpw=*0UzMf zj#+`(0B(V8(QxKjeTf(}0|qT~%h2ubp+MV5EuCYyy}m}mUt>PgT7*)cW|}2f$)II3 z)`9<30+_SvsxYtS^JMAt_2e&vH)MrX4{e1fEmtb>v6gLp;gdLVg%#G?KeJh!@wXoR zZC0?(AEu~Zpa4E==Lhl(zn&eYI1D~*|C*=Kh_lXF{xYOFiloJxq`b9X-Rym`FGO~5 zZM!*;A*uw2IGxTjOpdvlJ$sDC|0J!CXo|IBG;MBKjL(E~p)UeciUq6#SjMj&lo#y_ zxym;v&+;AI(sv3y4h5?g1}6f`Qz*{&;;h>D>=xu=?8icSGulYt@UBI z*}1W$@10HvrjC=NxLCvkOuZ6blDteVUI{Tsw(#TMA#z$_*&or~EN%L1@v3W%BC&%{ zEY{)A6Og81I0bTjM-&{U*2WQ;gH?zIPW3Cw^Q6S<4dF zCe4}j_}lh7kWtdX_~ffbOk6loI85gVUHel=2I*i|jegiTHKQi1rtb+EtjcYp+yi_w zHl;ploN?qnxZDx;GVf~Jehz@}q7WEIjE{fhPPqKMkROQB6>p}Uvf57xc zN#`sLH=b$2|tL7`P(w7t0)VnXj~K5~}~W(=s8C2S@I`i>WXSsK#+ulIBMN&rPLn&NmeI z_HT4^232{mk>vxqTffiW{NaqC_;$yE7>7F>wSJ!w4g?r&@mG=RBn*3La*5_dsble0VDRW=Hv zAxV}Dof!(Dt-vJ14mj5kvIYkai2LDqxEtdvNhY(3Js2(?foOVl z7t!tryLZIHlsJtTbMkac{4~4!lM->yINX63I@5+2 zlC{th${HkGLB(04Z*xQYai9EN$9K$9&D!9f?V`MDal1{)VSM?tss~^HaPt65%iq_L z$!4jiaWE~_hN#C`UnKy}({Mc!EEJg(je{qezBRkfm=El3-Az>$=nY+Qo$2&Jhy)1F(tC9`^nNU!l%jI4sLs!RqXafz@*DSw?k#o%ne?H?uSYVas zrqz|@_HA7J?iFBhF@@AVO1JiXi9C<5f52hlK)A_HAnO!hwXue{%(>O`t0=1otN3?P zM1`P%vXE=R1ZYy4WIa^zu=})(mm&!Ey2UXIHPSSRqA-DjxZKcWD@#pdn`e9cvSkd z{|_Q>&##=udhCu=ORE&ouWpOBqk5yGH8_Se;9SmYa@MX5$xU8)d*cDA4%XzkP!7Hh zKok+9EB=u&2i+7UjTky9Da+bjN3>T}gXes2MWR+Gj^#C72!|?~K7N`h{_dr(Tdda( z)C|;aO`vo>x`P+eE|SbDH!t}P7V`C=LTDQ=M)8|tY8hKpN5bByf;Fc#Bv})BcZZtF z37QG#wJUZ`=*}q42oVd<63W8UjBlhz(pC25B*8p^0}JEc8QfTiptE9M!dwXEi}m(Ovc^qd#?2sn+RntDQSei z+cPQ;V2m0~5}?A`h#2QMBsrwt<^0kuS(STsj3K`)Z>QVSbkr`s1;IxsTjcwUPWMut zRWoMUu+_brpqBFTcx66H6)M^0PTGzbi>QIH4t!UAtM`C8eoX3uKvCHsDSCY2rlf<+ zRTu@Yyv3|_^%gvwU;epdTkJ4?rPrn7p3X743tOQIX*TFWi&(5%6t%Y^>B%3&V$HhF znI5UG@n*cU7nabt3rQtIFMr)n=T)~7H~%;V!0z3j3#xi;iPO#ZV24WW?B?dqjI5Ff zs0#dgq&z~Zp;bc1MrKA~M#wprgV=J{@&RA;q+X}ibIC0OPtF&`&y|AI8RT&bgpZ{r|>)4mHy&{-~uN+BklygSo(vu&Xp{3mXKXx%|(`t{>X zVY=WhX-w_~RZJ!XZQj%XhoTq5f>}%#DbAgo2M%``k)75OuFN5P=C&-jNC=@z=d9?A zS=~I3akoth&4?*Eqz8wMw9vd&EQ@R*88@3x*Og&V+yR?Zf6jFB^6{OJ>Mo)$#XRZJ%~g2HyGh`z!4mnbPlG9mqn3CKr-zXSh6v6jOsIBTA1~5NSzOZ{cPc zVtIBxV}(GkB|Eae$={rr2$|@cU38eGE`s*S2|GIIuz%^ zG8xwRR>Y)>1kvr@%qmS;E*~4;MB8Gn=JtV$;O!L6XJ}&YffD=+`E|;koT%7^@Wft9 z#>@P)9mL7UAF>57`4J;V?{#tdKOBF$^Vtz=^7Qo(0D5O~+mXZ(C8|xsMarIO-fjYM zjXRt9+7YSn7@Pl;R1a{I>PgoPnKEF_P z_YSV-wy_@OYHH)!Gkwg}q{cN4eN2cRO%eO_#gew20)nu|L(RCG;Hyx*9Z!nJ=$~Qg30-&7o0C5v7%S3Uj?Ct zn$BV00+9dJ6TjjUC{JQB#O-jAg^@-wY4kGfKU03&M(nzl73lL?sqXjWm)){4Z~ zwEl@JhOCMHUj6Yz+XSQMCoXkv5`O9mQqNV-$#TtIW1=cl&(#-`4oMqj3ADzqOu6Sn zk`!MU)D%v%9Bw`CCP*IFKDc>-)6K+{eWU=tcY$Qmc|icOl23BiIp{R83k}F_cjGHJ->MDatR=}-vb4{!SC41NUd%6Uu=zI=l!5wOn5z4c93A{sm+%F^Eb_^z}pGS zkyqjyP=cb4?7v)_yQ0Y7hj#;)MzWibvn>1eqI1ZQX~L-Xc-;jf_uC(fAQ}SR zF-~usbZ(5CyRniW7HbcK>R(hT9fzt(fDfknYnpmz1Nv zadcRW(1uIoul!&i+O@Tfy^iDe;c#oeAcU7?`G(rAeV=;5&9AQvR#+Zq(PGvmADnWD%bZG5Kx%f(|_LN?w zh@_G!aG-TtUZZA1Ng2cz5SrHXapJoMW9N|n^un{T@$#^Y$}aKX2PsY>)_z!jvy;l}-R|C_g9KSUXa2|2@)9{n zZF8y3bBvV;Y$mZc8yR*ORQ3-7KXf+hYR5GC}Qhv(FgJ0JgPq%XQ|P0@7@ZA@ydxW8REQhpNHBbFm5@SXUg0XliTM#IA8oRZ|8x)y%uSkt_Mg_S)~w<~S65Oi%QeiCRGvEJKXIu=-_3b`f^Po`f0Kg# zGoM1ILuTBLlHh8d>zFojWz*jhe6T_;&Hl-NP4)%K%^w{h8a;~h|66{3H26j2yFvJR z`G0{kiCo2y`yg~V|Dp%OzlMFuuWbGEA#rh%nicc zp<~fT6WVHKWp#I5rb}3Q%F!0M?WGrrRYfrJFT|=QxwJi&9W@VZy}C#&Z618ct|%XC zK&MzoW*N9S1j|$}yKip{QAbEm zWa_S-y-5qY>#Mq8qjrt&4r4|WQ^JXW2JS2p? zXV|2gjU{B+sJJkocJ1gcUxEE9)jXEI@{xYvCR$-8f5l4<1Kf=c-?cH(RsrU^7lhv1 z*FyDVv>q_a1=M*FPS*H}cISY0vk(a9EDA@csnHup4r)_=L%fuha zdEdM#Cwe_SO$0wAE#cDRM+rXvrJxpCx{~Y7&^Vv#X}@Aox$2RkCK1}#>4dXXULS zrkKFQG4=cg$H}}JWlGakY9q);cGAlm)XMs$RE3l@2Tc}c- zIg0*lS>Zl?4sZj8FoIl#U4>SKtdCLUx^4f13S{z|gAFwLw-1y6GwOZ9uC{xd%n6aN z*5;`l_i3#@$t`?Hq&<-ft`;vcA?z)kdfbYiqm^wNk|t4Hfv}?65?h<-V~#S!q$^v2 zqk1h}sX=x9=B$q*OHaNJs0_;ll<_SZGTzdwH%PXeiWDnOMff>y4zqE;xr}*QsJih` zFq&Rn%1NVbq^#PeR;wiAU5U-UyCnALpKGm}EY4)@I)z&A1+!kHeHl z5~jqs_l8xX>ax|dX%;7x*Kxc^9~>nQHQ&Xl4{J}MK@?Pwvr2RWb}n%+rjYE8Qrj#{n`fIL8RRQQ7RrB74+p+5vYY_wZzay(gPX#N?FK=v|H^i#bh~ zaGT2%jIzuyd9j^qV_cFCuQwe>FCO|Zo;+z82!1SQFtZv1-Mf4Md&rMeL>G|~(+0cC zN%ZcXclpiszJibAd_8=9tOF7IMoSR66w{Zt2Ov=Z2^+uG9xLgyVoBP zS(`d!LBGqOVmW4#b(qB}YW1b?_MINqjM$uzuJF(qlW4Sb{(*=bS?A~jd%Tg3yoGH8 z;=-(kje*QH%l9tiO9I6Q8q_aRJ3(hWYJ0F|ge!y|(b^m`r#eZbB$CVjn$4n0>K~ z?3@5)7(9OW1=&`~XN?w0`D|1H<@Dki=_P_< zn~OSq%y|I>*3l)ghJ-uvy#&_ej7xVQgI3*jH}x^f1C9s3 z4p3?p2eZ#ao1Fb!?b(R~c>(>_cRrt@cK#0yVI zuZha4z_ws|i_n&SUlM$o=kOp6X8lLKMTV7n5A#sd6w6~W)R>!l841z(MJadb_G@Ii zrk#8!R^>OhV-t!`E?4fSe(n?SK#8F`sP3mhd`tRa7A3#*g`x44$bUJzJ9JLq%xR#Z z@wG_OkF#R=rT;klNuSfa@XU#~sv#9dIG- zc-o;-e##tX_aaLYrPiuHmfc;^W96?V_8RxAH))*Yv|x^0-)q}Fe5UHe>Rd%EFzy#? z(%8W{Jr}vY(YCwyY(d$B^b4rx=nR_2j<<%GG%j;aZ=abH?2aRzs7$zE z9Gbj1VN~7tdAwGQd|X^}@*PyH0>-9C-}OftzKae`CYg$UPzC(C#ON@m9d2B95S)ok z9mKeK!dpG|32n=@S)e11@X@i|N=4k4j-VOj5SJJ_=CpwvnIJ^~wFXhvDG#? zTu2X1++1R0fwWEBPK?&7v5t#tPdIkRe-N?*sh;8j9bv#MzR7uY#zwwto#^Tz$7se( z60dv)n({n8@L3ppn}NDSm$-HwZ*1Vg0{_0d4IOLD6!)s@of!Lo^TbtWRSMt(3_;XS@^Bty^vYW;J{otm9YIz=!{% zTJdMw1@1=qeO?a(=0{3gu6(fdyA6U+Msi`?7Vil=m~OMVCwG3*cMwKn|JKKn{FOXF{M(1@M8l z!|!aqHsZ%dsl^4+a(&kOyux4&yAvzH;?BcJofrR|B#RL&WQ9Y zJ)Y^zqCgqQmoqMyVRGXy-2LebHfJU87WHSaemV^}f*XJcdy!AuL+G)4EZ4 zc>csN^`s!$tbb#QL;id@eSYYYU88bGLBf(9v922PuIHz9fSC^!z+ml|PV11MeB3-G zXP#*rJmplDy6NTQx*ypzr_8!tv3cLB1Hu=%DO#x7w0$Mb064pD?47ZTKWjzyT$q9| zaP!d7Bkx49>J$^Ru)(#q(e3(~f1$oZ!XaMAYIH7nl`-$yfw}bj3xiTZ9W_S4pJH(& z&!;gb*D{D9>P9S2Ne+3d-OB5OH_PT4z}+ZMK{U_X<&j#$IqX?(n_C^FZdR&1N==1s z#O>rG4cOT(sESo?24l5-D-(BYKHxX+&A=~PHGV;!eXa2Xdk?v>l=+s!A!4E*A(2i+ z&EXn`pNhtl_v?t%0fcYyoL`tVVfgW=Kk2ujF>02E2S=CeOV8ri+;%C!(;cJR$<~P$ z82NZODGiB@hVk>5B}KPVt~@<9rE$&=+N+N?PxXNdjC*S@1v~WS_wRobZg}y`j3K|P z<^h@q>S#Ac?_Rwc%%EJa)Vj-jIl(30mu$H%!)CIkd~HmvWQFO_noznNBX!h+ex(k_ zCNNO#=~KdhVvL;O|Bt=*fNE;()<(CYB3-3-5fKmsq(}!50j2j|R0v&qZ`q<0=}7Or zNC^VcNoZ1}N{y7zAwVE>LLekJ?ERH}&OPV9`;2k^`|UHv8Dsin&SySz&UdXaNV2kc zRZ#R=QfP6>GdmsObNdE%0PY1vCKJN?c#SD=6SF1oB-A0yXq>ifvyk$usl6C$S) zQ<5#_NjIgsuibTS7H$<^JI^-#bBEcW5nUVA=~c$YOU8B~$Kwm{o84;kF-j;54++6WrYVPmE${hZyqFHVlp&B29*~Sj`MaQExQ(4A#?=Rn%ikjjY7QJ)p*Xu4tl)9p&-DLJfJ>RRxg1E~F@Ta=? zXM*(cd6x0i;DmC^15^>dVWEsNV~KxR7gSlL1Yjns!?Od^b{DNgI~gCszOJ{}4SA2J z?-q+Js5w9~rUL%&C7??Ro{gH!e7e1jxiPopnAw9R6tDe_G0asDk_F9r@@n=P=EhV% z%@Qamy}(JF;XIFUhz%Tc6jxP%v*2vqq}ll`pd|MkD9Js+AimiMN8lee(9qGtssgx$ zQcjzCt3uV5O3YX`kXafhv1HK@Fhu_qpBZV3`JM8^dLCgAdkGSlLUqA==i?()T^d^( zaOmhrRY8u0l5AT{P!RJ4M#A;Zqw<7_mn@$69a1H}7bj0jZ{063)<=~l4B8vP3dk2q z6L=9cJAW*M1TqJnOPrl}9&I5uCZVI{Rb7v_o^$%Kct%NRMJ9W)RH@HB)jHqvTqZCM zqP_qA=qF;M8airORnTkB>1olBAmX>}c@XIj%fC30KzDrm#LZH@R(9k)GeWNpz2U!Wz<4n2LIWtAGB3^Yn9$sCOE_r@hwtnD6i`5ky3ts+jzzp7L5aR~ej!e9PQX$%j{6tFt-y zw4oGdG?((6EuuMMg=0xsGoQi>2B@12Kcfm{|7N>#C%IeF0TeZao;yqaald&N+j8RmKL%MQ zY6!Eorw5iEU9w@&X;xkfgiy~_fEzlf2#1m;b*S^A90+FrTkQpea$cZ0ep1pWK9023dJ9S z0Wk;ul?rgwmyY4@M{wc$GTMxFX8t1T$lQ?f1##Yth5Zi4U_4rSj&f=)Y^|0Qb zUO7>3Q-~pKsz}QZJR_7hJXM=1K&ziC9Y;q?F+)Pq1PgKfRlY}DkddUMncSFgRJ`kE z(N@~`y03Tg4M#;v3swTHfUFB}_}2hF5mejsa=?9vGzvnFAIW9uRMUi#*bdn7zCBs#TNF_xOCAGd;N*KOs7K>5@#GscgJu ziob$!{Lk#cqb@n*@?9wK7QaL|3G-?{#U+Cu-`7C;Tb)7BWs`rBVWokWmO3r@+?paj zM1BGypRanMTZN0`(&?Y5lgFDN605A~Fvm9few)3(4yOImmuQW!P>OD`lg1B^F~o(0Yo)?7Hnk3+%@G{F%@@&w0xj*Gbf z_F~&?a0|7#-Dw=$jmsRzF{+-ubuuJ=%l3x>;idU>RfWtVvo6XR& zgU-GQdfF-pAhE~gV{mgm2 zty2%|Khc=Ra?kqmwdOj(oA!d6!SAr<1Q*~N`ZJ(L1Eql2To?gu< zV-$YDcS2-;KKrWFQgjhV_USeZ&aCPGiR|b;WvjzrxHjAVaN&kj*%fd5OZH;v?<z}_z{~U+iMr{2th7PP{CfE0 zCb)ooaFR98+v7t3Gn<7{YJya!>Ba5!tyqCbpASuE>_@&aKW4={rIv2{Nh+lxB%kHL zZw6-no!*|iZ4HkJ-||r5*Mx5|YQ115wtLPN%~g0iL^wZAk!mdb8N*+PWKv*L((2Qq za-$0Q?{XiXz3bf|WGP_vA+?cFOpaaZxeVDI{zgUxEnX@H8C-cQRTg4j_CsnA{)ybSLs%I=9>w6EaVaSADQe1LMx z3|e%>H{K*63!Rne$l&mow)?(p2;J7S@Vwu!%3|8nty16>@zL3IXg=4nLm_YBTy6gTf5S7 zA~TVHOaT3(>hHb&(N-7wdjo-mYlr`4J?%t-ZoyHR?S$%!1e|;CC{Npo0v4~yxLjow zlS8VYyFkTajsQiV)5u_>IHHCT`oJZ(ZkY(>8$wdlHYHMnG~~mPHhajZm~Qr zoja_YwZxy38NcmJi+MT>R20r#i{<7ywAt9q$}8~>&7P;n9(<=i^S3!2;Iw%zL zUwc_!=v*;dXW*;o*Jm6Qe}Kq6c{K9n>Q>Z|z#7Pi&{Od&&3I~;Yb1Q@s0`cZWyb2J zs9REskRSd*BFzrAl|CfuA4;rK@>BGiFqTn3`zz>sWafGMg;F!yY!qbQ-g(J8n*Ht5 zd>xZQ)iEh}N+@6c;^+Xozmz9L_UNlP%q?1{GA?+ zc{rn`AX#RsM7>j*&#d>gAi_)ce<~Re_7EaZy^t5NtJ&>cx-6-?&s=s&uJ?DEI1q`y zN#Md-EeFdBuojT`p-4Eh@syF-w%~nQG`aN?3B$>0HsW~8X!(FMmeO(wN&F>~ZRhDj z`91G|vhsu9(gx-JTV=!K`kr3l`A1x4lhYmeNGrt&Eu`h4XA{Py))3Gm?&&EPR;s># z^Rh=_^pte0)|6frbHD?J;+%f3Z^*;POD@!sXcZSKEyd|^_BzqV*(;OX_HtoA*= zq8PL_!3h}9+GvtL;+GTlK zKKbYC&ESX{5Ps}bsl5HWWCt$Uo1kAje_sQB^5xR~c>l1jLW%X5&H|gL+{TBKXTV zrI%};Xdxf1{Ov*`yQk*uAx%oj(vQp&-^f3IjF_q2`rC>4+aj!cBnq>)vWF5c*H&xA ztgTV^+f~Lk{MzFnY0D_T8~77`c~n8hgco1Qw>-lp926>{%-U7d{xvrInh2k;iRVrH zc#!~nicQ1}wOyrE2yrk%_=inQ6(!5~2S&fDiiy3pMw+a$H6tUpDNcfoKj=+FbZB(& zcL0Co^kg-g7}NA0Z~7H+ckh%`l45TU%If| zKF8n8uIbuZibZf3*Ff_FIjzK8v8LR{giEW?rc4x353W&G(-eNdRX%YI08Uu!W#YK> zlG1ZA2P%6ym#wGDh$7gD`i(_86!+-3944=IM_vPTr!S^3@!*5DH<6c0hyI$Y%3nfi zD)cBFi+J%opfVj0uNLWOY&Cu_gJ$~c{S3D!X5a^0=J&bEq1OP%>A4l=l%!wQ_+*kM z9fA)A_~l&LIzlq#GL>Ao0j?}^=(UtwvDnL1Xl5#DN-1dup*j9g8E};fej9IzNshra zpVTz`(rRN=QnX~W!UjjO3}r))Jm@lXNJa?%xq=QP&Ea+U@yPswEG9_?Q%isj@2 zOUi9RiOO;s6`UiapKcBimH9W;!5?r1K9Sq3BvO`D(>${d#%tdHmLTNtxtb^wm3x%J z+i((pt;qX+DROCwB|i5k{Mw{+r^`nHv#`6RPPalCKP(ZvK6~5v>iwK&Y7nDSh!$<9 zM`hOH#qzV)rP8EXVR?H3UztP8x-{`=3cgYaQu%k6`o;3xiaN>w$^ey>Efhm=O|$%- zS^tf3t&|0%5u>k50p(QU391TDKnN93 zAKP~|83$T_b<&cJy-R!BiY=J;`3oAVg)AbuU+noST+pZr5Kl-(EXLehlzrBAz4qRc z>>VuoB^=wOM)U*kW0X4o-+-v)rcMF|-YCjHU?sxE@8RK$R9Wsc_5(2R&YDuNU)^t< z7D(XrUFG$fYk+l^mPPA5yV2K)U$Y~&O0@*#Hz)%_4jdL47lTf4m6_toTQN@PsG4;? zW&1eC_$Geww!uK||w{(PN`oT}Dtc^D{% z3PXb-pOD<@03R*#`NX8=9w}TuPA_O$w*`qa3_UMMvlXU{w$2|_6;A)CC^TyO;CB)! zntmR=u3peIZi^I7_m5g}!rGW446M3njz0?T& zU2_>c`9ttp3?Fp4&hbP1e~UGDrL_gg``310XPjISaH`$r4IXna2xM!fcw7`|z{`=w^* zQUm{oMwmvP?;m4qc|)VV;b$LQ_U}{2%h^cq%23na$Vo=5e;3eMY?~|$JZk8ix=oe< zeqAHVfFR2OFV%{g9)}jq?~OA)@#~UzrrQ_-qt-$G?rq?vs(ITAyehiK&s_=Jlrlf3 z;4D1F7=65+ZrQYM2ok3m`j($&C`=h?{bp2^H~pi6P_^xY-$|rs@_F={x@FV2AyPQm zKWdG|^508*!tweqxADbG_y69BMCGyr=(1f@H@>$|;5C4k5?oAVd&f2wEPd5n|0~hls zNRO80&t0H_jSDh!2CTy4ghNMiLV=A1GIJ`d$b5?Q&G*)4E<=Hy=DM0n@_`C$7DUK6 z>GOzZR2DiD(^_)O^2bS012Sh>#jiL{@1IWuA4nJH2E=kVhCL!|?{XZSe`WDKeEBg9 zv>;2Ycr%-So7>BP>I8CULVARDo@!0xMRe4e_#o+Xg z!|!IY9~<%aihR5%g!JtS7ectU`ifYkjwo3?A`gDV%J|BDW^Y~_N%Rbu&;Th9-!&*Q z98NxOS9rxy%6pt(e79FQsLoWyS9DE6;O0Z;i|4qr&GN*L>bqdpfRlpWc@0Co3PL^0 zi&u55(kDSKvlLF}dGkRV^*LPn!@SeDzOC3d=LJ8pT=lXMJO52CNn)9auc&|fuba4m@s;XNXb)LuSvLLtyVy0^C;s!3I19%U^+4+|P+}a*c z9AiO_OX&jM!Eko`n}KhMc^-(k}jacUl05j z7YJ}Hr>OQeS}b^PHw4I!@n2dX!I__;I{%dv#RuHGJ=t4W!cO1~j7|Gr4sdr*S+C*V zF9L62Y?{YRQO57l9s)V!UYluzEf3!NVLL$Fi#q{l>B-S-i!QJ?QNJh!?>OR0?rGhi z1bh*(s3&F9r>U+9Pg1DheFM176KQDlt^eMCOoiTYpsNnO{pSG0Hs$h$jPuXIMYth* zxJdAy1J6g*igz6D|4E>#R-|+g{*ypj-E+r*_fNvr1%B1V^AIA?z_j3VYgf+j*gy_3 z($>%&zjY!I>$@aJqpLE%@Lex&2P`IRqaUnYEY3zOtGEU2b98q!$DV$=R~_Z>G@lL{ zY$;|hz2^MeUkP_tQ5`eJ5d{zkcC@OY8u+fPv|kgrt$H<~gGzu}m0(p^_h zODmf@(|^Ww>r*G6{>~;TZp9h4y&9LrRFfd@^{*gl=iQbb{Y!yj{$TOZzZ6*K50)PN zE1~k2dE&)?DeOFfUW2LyHw4Ri4c*Bk#a_$23Msa|zbT_ADE8se&Y~>!kX$ot@R~DW z$wTAAV;uxrKLv^UgJr9G{{^7Br_Q$gUjU9}-FxbP9)$0yvoHU7piz!Ke<5(A)s#w) ztL~*M5my@{wJEXwyMd=>u4Y`vFZSOme5MV~4-k*#ve4vQ={-Xdtmj#faPEOhR%Q5$gVYTwW*<*`*+>y+VTQ^J&^0if7{`#d)>3Rda$UC zfyezjK3Eei3kF`3y}Cv_6nwmB@iZ%q*FEq?5c!i|mD&~exO_-4`c>063E4YrHEje3 zNH2D*=nvBXp;)h)D5D`k_GCBK{y=Voa+Bc7)xA4IHSxa`*Kqvy<8ULDh#W4(-X6b5 zx7PpE`G%im%-6xE&OOhiYsJd8*<;Fl%CnUM^af<70ta)pu}RCBl}lTdp%^$K5YsrMj3icy0mB@;u*`R8uprUv96<@#^zpfI;fl>_an{+)mwa2~>hLEX`SQ!|Uwb z;Sg8<4CB#~f=p{)Z#EvnXwiH3Sj|_vA_IKlDfkb5%lt3-=T69XW$gG{-{&wLH0VQnpx*sZ!H|Z)8^vyJ;kP~q-BE$(Q1yIgP}wcu7zjM0gfCCn-!~) zSxEsUwV!r9^dn+7>-5|v{_#>U*{i>7$+KUbbox^{z>!0y{tl}Nw@mT5^WvFka7O#k z<;#H!kG~T^&Xt_&IRqBh96DgHm{0GV3O0td%#uK^LWm(fNv+>y&co|+4ongkiZSE> z&)TGA>t+R*V^L#T^5l?yM24Nw?}6+!{7wP4F*g(2p5Hg5=(o6cM_1H@+o|~X5@Y>8 z23Y+n(>c}0ccO0m*5bQNFj zxS;GR`;i05*&A{GecGihX*sAF&>Zv-$q8_kMeELK4D2UTa#<*f$GhF}xo+}_+v25o z$bnv>4!4Dxc=W+9{hNu>iQq&+?crRh@Pk+VMvDS2Vq$lg$YQQfUg$@h zKLQS9gZ7+8L+N=X6$*bqm*XFm{}u>(8sW!H;OG9GV8Yjn|M4}0TP&wQKjIk+jfT!P zh%398ZcW*B6G+RzZhC_w#i0~Kl0;@8>P!1D1H=WjEpcoDxvhx-8p^8>PfD29x0ad* zxWiiBn5kse_*5XYN|-jcR?f@DVWbZ-lF&( zD?}xZjeZ&6%$iM!h1NlC6HvwwZ^^co8DM@fvCH&gh+18I&NHNGlv}CsNjhPsTOmR@ z4MEZ!;RY~@l~`i|aZjDAi_eI32PWwtH=C!;MCyIKs@r_zMh8#RLa?2u^nk-%ZvJfP zUe-2|pxj=>OUgZSW}unT^!BIx)5n0d!-0O1i*7&>fg7AQsRvG*JX0{BY~7==N1IGF zLI)V(dYEOT%aTL0aO{c^&*_aNry3YGkA)}ayO|8%*=1fl-T?XK3&Vsw@@ti7XZJ() zu?L-L3Wvl4yW#v9lfI8aiiB3+)bo_GU@l0jtylF9|HG6FF23j-EnOskBDCq7l4@^q0KEy4OJ zJW2IoGGhZr(66(o5$*_9kv5mmRYuoI>c~YP6vYBO}DW4M07CNFxcZ*@MKk2Q4c7*rZz=?LsqvK-Ln9)AU zaFcuI!!FUEG_1eCRXg0!!fM!y^U-}=_kOeVT^r&oqpGQu<`ALj;ks`Fo)n8R5+gId z3U+32DO3bjXZww~iIge2Ndr9Pdti)gmak80vL?dD(SmKj1~3GRZx*@9T5vj{$#4Ob zuK)RCDQ=QA0ZKnv1Eh-3n*ra%&+1NZn=*hlJF;*&_stYlQum?(ocBKNmydh$!y>r! zt}9%xv$xT0(!>0yGGBwBMBKESO`a*~V&>s}jf6(Vp~js#;9}9eZFbdLxR+KGhbA9KU z=Nj)??fTL6^KF}Nj6^+vP>kZp3qg>;r)ZvNs+EWAlZ`Vkgl^DnhW73;5JZz&#>Lz9 z+3T|p(Akp;fgXo4$_gsdK^fSiwR&tVqaIJu*+hwggg~MX=qRHdEkDIu&b?Y?5M}V~ zQB#Dt)@r?)doyQ0XN~!p>WKN4`ex2aRV2t>Rfsrxvxn5OSj%cq(3;Ub>WwAHHB9Tx zppbI3pe1BUsGn?hkMYWi`U>BQ(+Z2_JJ%}L9M?9j*Sx|s^pVlZmLKHS6MOWVecvEd1zU;pIY5x=pf}(A(SnUjsLn>gTC#_ z6FSCdwH|BB$o;R?lRvGcETtTzY#c?iMZM_w=_I4gdLk7ot7l7v%mssc26|X5tM()I z%l6avoA*Qai>pU|I=2E^-?mz|I$(OlUNH%i)9=#nGP2UOiO2{C*Jv({GmLZ(Nyoy}jF+nQUMJDR^Sx9>^Yw+{AAOS3h1dXQ$2`h7jgI>I+8 z&EEWNaT>v($GD~6&^zl;@xDP}!VLLAUiVV*!PXuoCu|?nYjcMfVWqT!p~vfn?wR8A zt;4PJnXlA^YlmK1$N0WabC|bXPZLc;uMb(j^NsW^_su|Cy4Rp7bs(0aCF!yvC21k+ z9`2#yL0wa#~_ z;ETjK`C^Y$4qE3@*0@3bYfU9p{k5tVq6-2GiEuw;3a1t1kw!xR6ca6V`yf}!Vo%!l z$s*yp^AN>a8n8_i_X?|(y@rZMS4)ABl)fypIYVuIwc|1g@IsM3_Zo(^moIt;R}QXa zwe{D!LWFTnK>%zQ#yET5?OFD+t9JIdi!$~O&JG>9vCy~BhSkT;?0c`v4(+Zvr#AD- zV^xbdfYtn}SZ&h}n7SG#eQ$Jzk@S%>`{n}qr#78&6D;xtD;hx$M_9Oj;rqgu*yia{ zjhV-4qldg(G00Ov^bTU};Cz5*RrFVb{@ov-PYch?9<}w--)$q>@7uj|qkra9PQSQ9 zo%LRMPguV_(!na}IM(X;u&(BzZ(;=v3wyawuhB{+q5=Uh+j?$vA@*|WC+sew+bOY5 zL-e~ub_PJL|It)sjrwYDjoS)mP4cpr5o}M#$XU}?t-;z*sPY~fW3uTKKg>JL)Ic29#(`*-E*kcvwKv{@+H|=Z%VLy z#@K1nkiwX!BCI0kWzP9)1bm9W!os+%hNYUNPT#1!vbREH${6A5kahgwxUg>Cum7yB zu4BgbZOs!ClZukc%Bd#^dV~=|+@a;TwXVyrW5#Z$#{8>&B}_l-_!IS4^ZFA*|4M@j zgGy)xv{JM}v@&oi2=NH<7Qu`#Lx@gYLF9V&`HlE3oVA}-9_JlPB2ZJT6|%;_8kriI zdUBH-!{e!($~MCs;~b+L6SAq><)aez%(XEl7KXq&taYH>1?;T$(kkmqdS!xs zq-Vc%Idgh@H*JcM1$UBGA?`8_OFAwL5@o@;w&O3r63LI$%oAahx(kj|`a$XM1g zq(5s5GLyB=vZ(IuKWC15>K*DICpj+tQ~F!h8p{^TI;2N>?t&e46IF+dM`|HQk<p zNLS=O5-|sD;cVn=u7xGci6a^3nvjezUu4D{8kqsRjx?ETXm)nT{gj@*phQujc95Tu zIn5O&m$vuwU5b*7!1!6fidEtVc9tC1SPHCCwN0f88Uqwx znR|ya)RP)UbXup-&Kn)IZBlrQ*V5WOckp}d>pg$_vt&F*(3ofJzIw{+1n(yZGVf@J zx21fd@@0hXvdZdsAN@PGm%UN`75)**YZCx(s-%89_U(H&UdIbX0-~&GXJO5XXWbF^A1bu+2ID)4_Y+-@SPD zi4RWnQ|ptylP2;sC~wk73~$PZpLM_RM4k$$^~M#*X4?> zRgOTCvtA#EDS8T0Jt;Fi6;_IlWLh!RK5hKbvGR;CR?^?4!8J?CGpAkVVFQx#r$!`P zO{}E~5}W;_sSQ%wgNA=tczU`wrx|`}?jU|qkHDrZCBSMvx6@CG+k$wh?wKf8aL^uY<`;S@tBQstuPYh?HQ^@d15 z;)K}Rhm>$FK&^tg_j9UH^R8Z(PkZ!vPc4UUM5MdcZ?g#14(?{N-IB3Z%*&JtP}~4G zZUC&|EeAEvfTyZN78|j2aMQ5C`i-=*5XK? zc*!=J^ugTeW>%%JM?K@Pw8>_ZO$(bx{g|ekG6_6o8hapU$5H88R9l%pHhsG(=2|}! z(Q4=&y&e@0WaiV&?aqVt)=!=;Wh3$D0hagOEvcRL!3b zey9X(a7o_Z#JHCxg}#`TtgMPhtJlRQZc1cINXdFM4ynXuj6|=?ip~t>U0~Q~ob|t- zUhgD%<|)&z^8B6q?iKhv$uktoB1gqj7^iA6wTg`rE#}v-_NLu?#F@mmZ-NzJe#5Xi zPjz%JJaJdt1bMQ;*O1Ee25^NR#+g$YMA96wlpyb2|7(iCX3k)JmrYXQcRjBXY9i)H zckL)TYJ2&6#LVNQMn2)EaS0*XDL}rovC)mPWY~zggCUnsI7q;DYs%BkDVm<;9vf+} zf98NrYFowE!5Cz#(Yz_lauu<=W8BigHajxK|}7cHNoq;X5=O@e+O zOVgMn<<*}*3Kla7n&HDd>C7{aiw()qa;*Z(O-i(Ak}eQWqGVxh{9_Nz50vB5Mlzoi zYcyvbaVywsM$;yni2;N1beDa{ZD`WPuN;Q{>T6Q1%L3|bt^V0;r*32zw7=~eGBp(P z?j}56Yyj^)!DPH3BttzLV(_>ZZi%#xUGY&^EMYj154 z%O7m&MR)6?GizKn>qmHwLigXG*YvYgzN`~W}9H{A@irR^Vsjp=hS|KwphZ5<{u zU+JtIKWVd>V~?IaKM6}8>8!`C*~4_^8aAX=C5JMt*&w=k5S>kx_~AAf5VF9qMYBNd z*CaAg290wo{yE6oL@QGR!?0cT4t2 z@(7r#{OVBnFhkkqgVPg-jk{HesmwxF~^akeXjqljy&QEFGwbmigMc`Bm^Cv!fY?Y-m zrxSkYD!-h*x*0@cXDJl)wHMJ!9+k~z@qz>@v|;LT(gi=sUvX70xxba^HYmR4_Ld>i zZ=*s38fOmoABNn%DzWhVJ4OS#dd1NL{5~1<-lH@BFxq_cX>9LGtJ~T^Q0`&+QY*Qe zxlk6gV;FG@E;8WDyww`xX0C)loVu>`9!dmZ=-{3e5Wm)yj|h6P^quUe>Tf9q%L6>F ztt)~(;#HZwl6)TEgMRG%{`+TeMll)ruTHeI$uKk3F8-!P@>NewLlC)1SAY9efn2%> zDv1J4b`M40A(s(uo)&qXC*ab;ZN3wR)oqbJ$_P;|A&-mqf?25dc#}sxwsqN%xk0x6 zQ0o1Su7cLif>t-+0defVF@|NkAB)32d-rCSx`k}RDS`hLlO6b&v-WMoZP`YAzc%yK zNFBq=8I(*ZI`A=L?c0#svbDHtZDym9`W!DOQj>F7lQYKS-I8S~rOlA9A4ie;Y$bq#tL^47+!jnNeTR$b#;hwV*e9^tmM4!k=*b7Kbm~d4!!XF zN7?z0tOxEI#VcWHF%H(DGi1{&5jmSg-6KaImTml=?F&igou*}LVpKJ_f{Hn*WXCBl z(=cH1O2hB;2382nhX0p$K5`U_lpR+I*lpC5PBM^5!5egVq)Eni+d0@-<2%goa}iHEycf50$Xvjk|xaPxz;yy1E+ zxT8CWUDp7>3YX{+lfpk+?7AA@m1oDg=2=o7wm!FdAKb#vo&PRhn%(cuNs;G=Z}!K; zN7k~Ec~?ALMgCionFU`vFZoBw@3nBO{AB`#*B{I`;WVX>V@UAF;)xX1tUiHQEX;I4BnA= zDV*cQ!g}@v@xweT(B#6Dkm#{lmf7ap{`%m@xMsju>Wj@jid24!G)3DSucv9uAjVY% z$myq)7k()1@E_)URbw5KBSp^TIpdX+SEY?%a+0+N_QUB#+N>MQ8y{Pn-18@QsXDEN zggl2yA&^~`bO`iK;qbge9<(Xpq`4#Y7R%Y2hf+sHx)b6SFFX-vf)AyHeOZ?Ve};uw zZ?b28Mk8%XR)&ZuTRhb+n(8K2=7_!yzf2eeb+|p~|3L%w-Km(4dDas(M%`7+qm7+O zlzN|@)FQpQfIb+R@Sf6_Ly03I%xZ{z;~c&WaB&}{^t*yht<{l*K2Wsi+WNPFvR5gY zN?1wStb&#n<>&&O*IW{lXgYiI_pP}XMwQ!c#~$5%_A5aklIeLf&|OoR9X6<2c6mdE z339i&4}E`-nk`3ZVDjXX=K#EgFV3N{u+YaV&w;R!an9skzAKmrLISbSep2x5m~bya z5OyGbYOwbqV(^&k6r8_QFOmi8m|qO3-`QtKd1vsB;5s2g7yjM@pAJ&XJ3f>?85Sc? zs57r8cgBL^v22Q8)=Z^C8)h#T7~v z@Ju+wi}r-y(~J#4LD-_$*fS9E&BRnE%hK7yoK~!AHWS*A1+B`0>f{*|q#XJ|4kZK% zY9}0yO|t znQ@wOnw41TEjb#oa+Ra4u21#WFlyk92wQ=*idGFB(i7KwA)@ZO!!vnPZfm*vE`P-3A5gb#*_xf(vgfX%8 ziYvX?Y?I6{8K^8z^~fq_dc7r~_A0~22BrLiazilp-|beOQQ{Kk_uUZ>2v`$?bdFMyHt&!R((M-HUr&l5RcJr&=Mwx zha~PT%`4jKBcBi0-Iro;E2K<=2kZISyV*C+*v$~hCnaCW0Elq7=Ba7}{V}D5Ae~bTWeE#*8NX|$8n%G58KE65&{P@#8hz*z)|-AEJs*?}IV<*e z)G%r`=UuQ$G-sC0^XU1-xr|dm_RAZ71m-Swec4xGA01>=$xdmyk5*Xo?tkMY88pZ> zQgo3oEid&RJT@|kdw_~eUI%>f{?Q&an3pEc>0gYYcu#&nN_t)GqV4)5&l=}VDA^Hj z(7{}WaHr|ia+qm$_rOqhq}jQH#{7i0v*+a3#6wQ(ed%+!H}AQx%KA_PAPBv*_<7vj zsh@Gx|8U+Yg%^n8H`vLUy*P^ND!-7Gy@=eAwBHT*>WlbBzXD=(QJUa)>Qgt{KYmNe zijn^|N>YU_cAI@0w!jGcbmF%-9+vG3w@InsPNPEi73EBc4moiF-8(ZhR2k=8RwoZd z2OC=&N5CURX~{S3yOuAqyPbV*geXO@bavh&?FuY{6OXKA?Mf@^0pakg0HJL(fz?5c zA@t>@GnJI|hj^7YWCdMs`?t`ffwXYQjC&Hi|Jb0St#wNf-cG;9AuGlQbDp&mA|~wf z8bSMMe#*`dEAh9{(71%#4K56^8D>+cgijpi?XD>xcE#FWC{5Rf1j}+ z4(!V3ev67~1Y@vUK^msg>rldjg*Kd0NfpD1HnPezW8Krj&3|?RqjTX6^P9&6?o^IQ z*FbFAG*CHhwlmJdDvv7NL~$1ruVRKppy6Z-ptMxjKaK%6z!&yR(0Sr#^v5VUeA5rwBku$6X#6$Cr#|Ix6Bl= zqxY0W$&B?2wWQ7FVf%7tA&K%G9A#ChFyA?J%h)axexS<$Q`4K6B9Ihi@#Dv$ktlwk zm(k+4NKs+nNsn*U5MKbGYcNuFdfe;oN*bZmfOEN_7O>aihOFzn18a~c>U+x*gG4gm zPRfW7U9h)d2cWKhlsrm_ON)Yye)k zc?^tZb|Gfr6$|t5bhCl^pDSXDV4MA3oJz0eИ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 )WHTf&!uQ{OyJeIYE8uV4QAlhkR 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 z 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⪻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