@treeunfe/nfe 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/adapters/CTe.d.ts +12 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/adapters/CTe.js +18 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/adapters/CTe.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/adapters/CTeHandler.d.ts +12 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/adapters/CTeHandler.js +18 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/adapters/CTeHandler.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/index.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/index.js +23 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFe.d.ts +7 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFe.js +10 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFe.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFePorNSU.d.ts +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFePorNSU.js +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFePorNSU.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFePorUltNSU.d.ts +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFePorUltNSU.js +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/CTEDistribuicaoDFe/CTEDistribuicaoDFePorUltNSU.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/index.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/index.js +20 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/operations/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFePorNSU.d.ts +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFePorNSU.js +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFePorNSU.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFePorUltNSU.d.ts +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFePorUltNSU.js +8 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFePorUltNSU.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFeService.d.ts +18 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFeService.js +115 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/CTEDistribuicaoDFeService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/util/DistribuicaoHandler.d.ts +21 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/util/DistribuicaoHandler.js +131 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/CTEDistribuicaoDFe/util/DistribuicaoHandler.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/index.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/index.js +20 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/cte/src/services/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/danfe/src/index.d.ts +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/danfe/src/index.js +19 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/danfe/src/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/adapters/NFCe.d.ts +20 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/adapters/NFCe.js +18 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/adapters/NFCe.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/adapters/NFCeHandler.d.ts +20 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/adapters/NFCeHandler.js +18 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/adapters/NFCeHandler.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/index.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/index.js +23 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/NFCEAutorizacao/NFCEAutorizacao.d.ts +7 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/NFCEAutorizacao/NFCEAutorizacao.js +10 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/NFCEAutorizacao/NFCEAutorizacao.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/NFCERetornoAutorizacao/NFCERetornoAutorizacao.d.ts +17 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/NFCERetornoAutorizacao/NFCERetornoAutorizacao.js +10 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/NFCERetornoAutorizacao/NFCERetornoAutorizacao.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/index.d.ts +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/index.js +19 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/operations/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCEAutorizacao/NFCEAutorizacaoService.d.ts +32 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCEAutorizacao/NFCEAutorizacaoService.js +421 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCEAutorizacao/NFCEAutorizacaoService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCEAutorizacao/util/NFCEQRCode.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCEAutorizacao/util/NFCEQRCode.js +38 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCEAutorizacao/util/NFCEQRCode.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCERetornoAutorizacao/NFCERetornoAutorizacaoService.d.ts +52 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCERetornoAutorizacao/NFCERetornoAutorizacaoService.js +141 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/NFCERetornoAutorizacao/NFCERetornoAutorizacaoService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/index.d.ts +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/index.js +19 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfce/src/services/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/adapters/NFSe.d.ts +65 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/adapters/NFSe.js +93 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/adapters/NFSe.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/adapters/NFSeHandler.d.ts +65 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/adapters/NFSeHandler.js +93 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/adapters/NFSeHandler.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/index.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/index.js +23 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeAutorizacao/NFSeAutorizacao.d.ts +14 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeAutorizacao/NFSeAutorizacao.js +10 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeAutorizacao/NFSeAutorizacao.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeConsulta/NFSeConsulta.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeConsulta/NFSeConsulta.js +13 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeConsulta/NFSeConsulta.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeDistribuicao/NFSeDistribuicao.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeDistribuicao/NFSeDistribuicao.js +13 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeDistribuicao/NFSeDistribuicao.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeEventos/NFSeEventos.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeEventos/NFSeEventos.js +13 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeEventos/NFSeEventos.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeParametrosMunicipais/NFSeParametrosMunicipais.d.ts +14 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeParametrosMunicipais/NFSeParametrosMunicipais.js +28 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/NFSeParametrosMunicipais/NFSeParametrosMunicipais.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/index.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/index.js +22 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/operations/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeAutorizacao/NFSeAutorizacaoService.d.ts +35 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeAutorizacao/NFSeAutorizacaoService.js +261 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeAutorizacao/NFSeAutorizacaoService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeConsulta/NFSeConsultaService.d.ts +16 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeConsulta/NFSeConsultaService.js +38 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeConsulta/NFSeConsultaService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeDistribuicao/NFSeDistribuicaoService.d.ts +16 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeDistribuicao/NFSeDistribuicaoService.js +251 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeDistribuicao/NFSeDistribuicaoService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeEventos/NFSeEventosService.d.ts +36 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeEventos/NFSeEventosService.js +374 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeEventos/NFSeEventosService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeParametrosMunicipais/NFSeParametrosMunicipaisService.d.ts +20 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeParametrosMunicipais/NFSeParametrosMunicipaisService.js +104 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/NFSeParametrosMunicipais/NFSeParametrosMunicipaisService.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/index.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/index.js +22 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/nfse/src/services/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/GerarConsultaImpl.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/GerarConsultaImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/GerarConsultaImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/HttpClient.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/HttpClient.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/HttpClient.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/SaveFilesImpl.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/SaveFilesImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/SaveFilesImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/TreeunfeDFeImpl.d.ts +50 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/TreeunfeDFeImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/TreeunfeDFeImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/TreeunfeDFeServiceImpl.d.ts +57 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/TreeunfeDFeServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/TreeunfeDFeServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/index.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/index.js +22 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/common/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/cte/CTEDistribuicaoDFeServiceImpl.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/cte/CTEDistribuicaoDFeServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/cte/CTEDistribuicaoDFeServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/cte/index.d.ts +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/cte/index.js +18 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/cte/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/index.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/index.js +23 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/NFCEAutorizacaoServiceImpl.d.ts +11 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/NFCEAutorizacaoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/NFCEAutorizacaoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/NFCERetornoAutorizacaoServiceImpl.d.ts +13 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/NFCERetornoAutorizacaoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/NFCERetornoAutorizacaoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/index.d.ts +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/index.js +19 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfce/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEAutorizacaoServiceImpl.d.ts +11 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEAutorizacaoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEAutorizacaoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEDistribuicaoDFeServiceImpl.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEDistribuicaoDFeServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEDistribuicaoDFeServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEInutilizacaoServiceImpl.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEInutilizacaoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEInutilizacaoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFERecepcaoEventoServiceImpl.d.ts +9 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFERecepcaoEventoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFERecepcaoEventoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFERetornoAutorizacaoServiceImpl.d.ts +13 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFERetornoAutorizacaoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFERetornoAutorizacaoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEStatusServicoServiceImpl.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEStatusServicoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEStatusServicoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEconsultaProtocoloServiceImpl.d.ts +3 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEconsultaProtocoloServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/NFEconsultaProtocoloServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/index.d.ts +7 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/index.js +24 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfe/index.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeAutorizacaoServiceImpl.d.ts +10 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeAutorizacaoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeAutorizacaoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeConsultaServiceImpl.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeConsultaServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeConsultaServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeDistribuicaoServiceImpl.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeDistribuicaoServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeDistribuicaoServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeEventosServiceImpl.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeEventosServiceImpl.js +2 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeEventosServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeParametrosMunicipaisServiceImpl.d.ts +10 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeParametrosMunicipaisServiceImpl.js +18 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/NFSeParametrosMunicipaisServiceImpl.js.map +1 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/index.d.ts +5 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/index.js +22 -0
- package/.rollup.cache/home/juniortrojilio/github.com/treeunfe/treeunfe-dfe/packages/treeunfe-dfe/src/interfaces/nfse/index.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/adapters/NFe.d.ts +52 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/adapters/NFe.js +340 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/adapters/NFe.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/adapters/index.d.ts +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/adapters/index.js +18 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/adapters/index.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/index.d.ts +4 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/index.js +25 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/index.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEAutorizacao/NFEAutorizacao.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEAutorizacao/NFEAutorizacao.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEAutorizacao/NFEAutorizacao.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEConsultaProtocolo/NFEconsultaProtocolo.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEConsultaProtocolo/NFEconsultaProtocolo.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEConsultaProtocolo/NFEconsultaProtocolo.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFe.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFe.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFe.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/util/DistribuicaoHandler.d.ts +21 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/util/DistribuicaoHandler.js +130 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEDistribuicaoDFe/util/DistribuicaoHandler.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEInutilizacao/NFEInutilizacao.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEInutilizacao/NFEInutilizacao.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEInutilizacao/NFEInutilizacao.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECancelamento.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECancelamento.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECancelamento.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECartaDeCorrecao.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECartaDeCorrecao.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECartaDeCorrecao.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECienciaDaOperacao.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECienciaDaOperacao.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFECienciaDaOperacao.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEEpec.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEEpec.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEEpec.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEOperacaoNaoRealizada.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEOperacaoNaoRealizada.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFEOperacaoNaoRealizada.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFERecepcaoEvento.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFERecepcaoEvento.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERecepcaoEvento/NFERecepcaoEvento.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERetornoAutorizacao/NFERetornoAutorizacao.d.ts +17 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERetornoAutorizacao/NFERetornoAutorizacao.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFERetornoAutorizacao/NFERetornoAutorizacao.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEStatusServico/NFEStatusServico.d.ts +7 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEStatusServico/NFEStatusServico.js +10 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/NFEStatusServico/NFEStatusServico.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/index.d.ts +17 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/index.js +34 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/operations/index.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEAutorizacao/NFEAutorizacaoService.d.ts +30 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEAutorizacao/NFEAutorizacaoService.js +373 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEAutorizacao/NFEAutorizacaoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEConsultaProtocolo/NFEconsultaProtocoloService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEConsultaProtocolo/NFEconsultaProtocoloService.js +40 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEConsultaProtocolo/NFEconsultaProtocoloService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFeService.d.ts +17 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFeService.js +116 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFeService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/util/DistribuicaoHandler.d.ts +21 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/util/DistribuicaoHandler.js +115 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEDistribuicaoDFe/util/DistribuicaoHandler.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEInutilizacao/NFEInutilizacaoService.d.ts +21 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEInutilizacao/NFEInutilizacaoService.js +87 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEInutilizacao/NFEInutilizacaoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECancelamentoService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECancelamentoService.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECancelamentoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECartaDeCorrecaoService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECartaDeCorrecaoService.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECartaDeCorrecaoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECienciaDaOperacaoService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECienciaDaOperacaoService.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFECienciaDaOperacaoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEConfirmacaoDaOperacaoService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEConfirmacaoDaOperacaoService.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEConfirmacaoDaOperacaoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEDesconhecimentoDaOperacaoService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEDesconhecimentoDaOperacaoService.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEDesconhecimentoDaOperacaoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEEpecService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEEpecService.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEEpecService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEOperacaoNaoRealizadaService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEOperacaoNaoRealizadaService.js +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFEOperacaoNaoRealizadaService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFERecepcaoEventoService.d.ts +39 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFERecepcaoEventoService.js +282 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERecepcaoEvento/NFERecepcaoEventoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERetornoAutorizacao/NFERetornoAutorizacaoService.d.ts +48 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERetornoAutorizacao/NFERetornoAutorizacaoService.js +150 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFERetornoAutorizacao/NFERetornoAutorizacaoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEStatusServico/NFEStatusServicoService.d.ts +8 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEStatusServico/NFEStatusServicoService.js +44 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/NFEStatusServico/NFEStatusServicoService.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/index.d.ts +17 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/index.js +34 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/src/services/index.js.map +1 -0
- package/.rollup.cache/home/runner/work/treeunfe-dfe/treeunfe-dfe/packages/nfe/dist/tsconfig.tsbuildinfo +1 -0
- package/.turbo/turbo-build.log +15 -0
- package/CHANGELOG.md +36 -0
- package/LICENSE.txt +221 -0
- package/dist/index.cjs +10795 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.mjs +10753 -0
- package/dist/index.mjs.map +1 -0
- package/dist/src/adapters/NFe.d.ts +52 -0
- package/dist/src/adapters/index.d.ts +1 -0
- package/dist/src/index.d.ts +4 -0
- package/dist/src/operations/NFEAutorizacao/NFEAutorizacao.d.ts +7 -0
- package/dist/src/operations/NFEConsultaProtocolo/NFEconsultaProtocolo.d.ts +7 -0
- package/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFe.d.ts +7 -0
- package/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.d.ts +7 -0
- package/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.d.ts +7 -0
- package/dist/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.d.ts +7 -0
- package/dist/src/operations/NFEDistribuicaoDFe/util/DistribuicaoHandler.d.ts +21 -0
- package/dist/src/operations/NFEInutilizacao/NFEInutilizacao.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFECancelamento.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFECartaDeCorrecao.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFECienciaDaOperacao.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFEEpec.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFEOperacaoNaoRealizada.d.ts +7 -0
- package/dist/src/operations/NFERecepcaoEvento/NFERecepcaoEvento.d.ts +7 -0
- package/dist/src/operations/NFERetornoAutorizacao/NFERetornoAutorizacao.d.ts +17 -0
- package/dist/src/operations/NFEStatusServico/NFEStatusServico.d.ts +7 -0
- package/dist/src/operations/index.d.ts +17 -0
- package/dist/src/services/NFEAutorizacao/NFEAutorizacaoService.d.ts +30 -0
- package/dist/src/services/NFEConsultaProtocolo/NFEconsultaProtocoloService.d.ts +8 -0
- package/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.d.ts +8 -0
- package/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.d.ts +8 -0
- package/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.d.ts +8 -0
- package/dist/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFeService.d.ts +17 -0
- package/dist/src/services/NFEDistribuicaoDFe/util/DistribuicaoHandler.d.ts +21 -0
- package/dist/src/services/NFEInutilizacao/NFEInutilizacaoService.d.ts +21 -0
- package/dist/src/services/NFERecepcaoEvento/NFECancelamentoService.d.ts +8 -0
- package/dist/src/services/NFERecepcaoEvento/NFECartaDeCorrecaoService.d.ts +8 -0
- package/dist/src/services/NFERecepcaoEvento/NFECienciaDaOperacaoService.d.ts +8 -0
- package/dist/src/services/NFERecepcaoEvento/NFEConfirmacaoDaOperacaoService.d.ts +8 -0
- package/dist/src/services/NFERecepcaoEvento/NFEDesconhecimentoDaOperacaoService.d.ts +8 -0
- package/dist/src/services/NFERecepcaoEvento/NFEEpecService.d.ts +8 -0
- package/dist/src/services/NFERecepcaoEvento/NFEOperacaoNaoRealizadaService.d.ts +8 -0
- package/dist/src/services/NFERecepcaoEvento/NFERecepcaoEventoService.d.ts +39 -0
- package/dist/src/services/NFERetornoAutorizacao/NFERetornoAutorizacaoService.d.ts +48 -0
- package/dist/src/services/NFEStatusServico/NFEStatusServicoService.d.ts +8 -0
- package/dist/src/services/index.d.ts +17 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +61 -0
- package/rollup.config.js +231 -0
- package/src/adapters/NFe.ts +402 -0
- package/src/adapters/index.ts +18 -0
- package/src/index.ts +28 -0
- package/src/operations/NFEAutorizacao/NFEAutorizacao.ts +31 -0
- package/src/operations/NFEConsultaProtocolo/NFEconsultaProtocolo.ts +30 -0
- package/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFe.ts +30 -0
- package/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.ts +29 -0
- package/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.ts +30 -0
- package/src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.ts +29 -0
- package/src/operations/NFEDistribuicaoDFe/util/DistribuicaoHandler.ts +150 -0
- package/src/operations/NFEInutilizacao/NFEInutilizacao.ts +30 -0
- package/src/operations/NFERecepcaoEvento/NFECancelamento.ts +31 -0
- package/src/operations/NFERecepcaoEvento/NFECartaDeCorrecao.ts +31 -0
- package/src/operations/NFERecepcaoEvento/NFECienciaDaOperacao.ts +30 -0
- package/src/operations/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.ts +30 -0
- package/src/operations/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.ts +30 -0
- package/src/operations/NFERecepcaoEvento/NFEEpec.ts +29 -0
- package/src/operations/NFERecepcaoEvento/NFEOperacaoNaoRealizada.ts +30 -0
- package/src/operations/NFERecepcaoEvento/NFERecepcaoEvento.ts +30 -0
- package/src/operations/NFERetornoAutorizacao/NFERetornoAutorizacao.ts +41 -0
- package/src/operations/NFEStatusServico/NFEStatusServico.ts +31 -0
- package/src/operations/index.ts +34 -0
- package/src/services/NFEAutorizacao/NFEAutorizacaoService.ts +475 -0
- package/src/services/NFEConsultaProtocolo/NFEconsultaProtocoloService.ts +46 -0
- package/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.ts +28 -0
- package/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.ts +29 -0
- package/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.ts +29 -0
- package/src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFeService.ts +142 -0
- package/src/services/NFEDistribuicaoDFe/util/DistribuicaoHandler.ts +153 -0
- package/src/services/NFEInutilizacao/NFEInutilizacaoService.ts +113 -0
- package/src/services/NFERecepcaoEvento/NFECancelamentoService.ts +28 -0
- package/src/services/NFERecepcaoEvento/NFECartaDeCorrecaoService.ts +29 -0
- package/src/services/NFERecepcaoEvento/NFECienciaDaOperacaoService.ts +28 -0
- package/src/services/NFERecepcaoEvento/NFEConfirmacaoDaOperacaoService.ts +28 -0
- package/src/services/NFERecepcaoEvento/NFEDesconhecimentoDaOperacaoService.ts +28 -0
- package/src/services/NFERecepcaoEvento/NFEEpecService.ts +28 -0
- package/src/services/NFERecepcaoEvento/NFEOperacaoNaoRealizadaService.ts +28 -0
- package/src/services/NFERecepcaoEvento/NFERecepcaoEventoService.ts +353 -0
- package/src/services/NFERetornoAutorizacao/NFERetornoAutorizacaoService.ts +196 -0
- package/src/services/NFEStatusServico/NFEStatusServicoService.ts +52 -0
- package/src/services/index.ts +34 -0
- package/tsconfig.json +17 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../src/operations/NFEAutorizacao/NFEAutorizacao.ts","../../src/operations/NFEConsultaProtocolo/NFEconsultaProtocolo.ts","../../src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFe.ts","../../src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.ts","../../src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.ts","../../src/operations/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.ts","../../src/operations/NFEInutilizacao/NFEInutilizacao.ts","../../src/operations/NFERetornoAutorizacao/NFERetornoAutorizacao.ts","../../src/operations/NFEStatusServico/NFEStatusServico.ts","../../src/operations/NFERecepcaoEvento/NFERecepcaoEvento.ts","../../src/operations/NFERecepcaoEvento/NFECancelamento.ts","../../src/operations/NFERecepcaoEvento/NFECartaDeCorrecao.ts","../../src/operations/NFERecepcaoEvento/NFECienciaDaOperacao.ts","../../src/operations/NFERecepcaoEvento/NFEConfirmacaoDaOperacao.ts","../../src/operations/NFERecepcaoEvento/NFEDesconhecimentoDaOperacao.ts","../../src/operations/NFERecepcaoEvento/NFEEpec.ts","../../src/operations/NFERecepcaoEvento/NFEOperacaoNaoRealizada.ts","../../../node_modules/.pnpm/@babel+runtime@7.28.4/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/toInteger/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/requiredArgs/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/toDate/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/addMilliseconds/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/defaultOptions/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/getTimezoneOffsetInMilliseconds/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/isDate/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/isValid/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/subMilliseconds/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/getUTCDayOfYear/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/startOfUTCISOWeek/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/getUTCISOWeekYear/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/startOfUTCISOWeekYear/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/getUTCISOWeek/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/startOfUTCWeek/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/getUTCWeekYear/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/startOfUTCWeekYear/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/getUTCWeek/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/addLeadingZeros/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/format/lightFormatters/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/format/formatters/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/format/longFormatters/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/_lib/protectedTokens/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/en-US/_lib/formatDistance/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/_lib/buildFormatLongFn/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/en-US/_lib/formatLong/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/en-US/_lib/formatRelative/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/_lib/buildLocalizeFn/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/en-US/_lib/localize/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/_lib/buildMatchFn/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/_lib/buildMatchPatternFn/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/en-US/_lib/match/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/locale/en-US/index.js","../../../node_modules/.pnpm/date-fns@2.30.0/node_modules/date-fns/esm/format/index.js","../../src/services/NFERetornoAutorizacao/NFERetornoAutorizacaoService.ts","../../src/services/NFEAutorizacao/NFEAutorizacaoService.ts","../../src/services/NFEConsultaProtocolo/NFEconsultaProtocoloService.ts","../../../node_modules/.pnpm/xml2js@0.6.2/node_modules/xml2js/lib/defaults.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/Utility.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDOMImplementation.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDOMStringList.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/NodeType.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLAttribute.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLElement.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLCharacterData.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLCData.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLComment.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDeclaration.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDTDAttList.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDTDEntity.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDTDElement.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDTDNotation.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDocType.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLRaw.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLText.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDummy.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLNodeList.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/DocumentPosition.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLNode.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLStringifier.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/WriterState.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLWriterBase.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLStringWriter.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDocument.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLDocumentCB.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/XMLStreamWriter.js","../../../node_modules/.pnpm/xmlbuilder@11.0.1/node_modules/xmlbuilder/lib/index.js","../../../node_modules/.pnpm/xml2js@0.6.2/node_modules/xml2js/lib/builder.js","../../../node_modules/.pnpm/sax@1.4.4/node_modules/sax/lib/sax.js","../../../node_modules/.pnpm/xml2js@0.6.2/node_modules/xml2js/lib/bom.js","../../../node_modules/.pnpm/xml2js@0.6.2/node_modules/xml2js/lib/processors.js","../../../node_modules/.pnpm/xml2js@0.6.2/node_modules/xml2js/lib/parser.js","../../../node_modules/.pnpm/xml2js@0.6.2/node_modules/xml2js/lib/xml2js.js","../../src/services/NFEDistribuicaoDFe/util/DistribuicaoHandler.ts","../../src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFeService.ts","../../src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorChave.ts","../../src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorNSU.ts","../../src/services/NFEDistribuicaoDFe/NFEDistribuicaoDFePorUltNSU.ts","../../src/services/NFEInutilizacao/NFEInutilizacaoService.ts","../../src/services/NFEStatusServico/NFEStatusServicoService.ts","../../src/services/NFERecepcaoEvento/NFERecepcaoEventoService.ts","../../src/services/NFERecepcaoEvento/NFECancelamentoService.ts","../../src/services/NFERecepcaoEvento/NFECartaDeCorrecaoService.ts","../../src/services/NFERecepcaoEvento/NFECienciaDaOperacaoService.ts","../../src/services/NFERecepcaoEvento/NFEDesconhecimentoDaOperacaoService.ts","../../src/services/NFERecepcaoEvento/NFEEpecService.ts","../../src/services/NFERecepcaoEvento/NFEOperacaoNaoRealizadaService.ts","../../src/services/NFERecepcaoEvento/NFEConfirmacaoDaOperacaoService.ts","../../src/adapters/NFe.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","export default function toInteger(dirtyNumber) {\n if (dirtyNumber === null || dirtyNumber === true || dirtyNumber === false) {\n return NaN;\n }\n var number = Number(dirtyNumber);\n if (isNaN(number)) {\n return number;\n }\n return number < 0 ? Math.ceil(number) : Math.floor(number);\n}","export default function requiredArgs(required, args) {\n if (args.length < required) {\n throw new TypeError(required + ' argument' + (required > 1 ? 's' : '') + ' required, but only ' + args.length + ' present');\n }\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name toDate\n * @category Common Helpers\n * @summary Convert the given argument to an instance of Date.\n *\n * @description\n * Convert the given argument to an instance of Date.\n *\n * If the argument is an instance of Date, the function returns its clone.\n *\n * If the argument is a number, it is treated as a timestamp.\n *\n * If the argument is none of the above, the function returns Invalid Date.\n *\n * **Note**: *all* Date arguments passed to any *date-fns* function is processed by `toDate`.\n *\n * @param {Date|Number} argument - the value to convert\n * @returns {Date} the parsed date in the local time zone\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // Clone the date:\n * const result = toDate(new Date(2014, 1, 11, 11, 30, 30))\n * //=> Tue Feb 11 2014 11:30:30\n *\n * @example\n * // Convert the timestamp to date:\n * const result = toDate(1392098430000)\n * //=> Tue Feb 11 2014 11:30:30\n */\nexport default function toDate(argument) {\n requiredArgs(1, arguments);\n var argStr = Object.prototype.toString.call(argument);\n\n // Clone the date\n if (argument instanceof Date || _typeof(argument) === 'object' && argStr === '[object Date]') {\n // Prevent the date to lose the milliseconds when passed to new Date() in IE10\n return new Date(argument.getTime());\n } else if (typeof argument === 'number' || argStr === '[object Number]') {\n return new Date(argument);\n } else {\n if ((typeof argument === 'string' || argStr === '[object String]') && typeof console !== 'undefined') {\n // eslint-disable-next-line no-console\n console.warn(\"Starting with v2.0.0-beta.1 date-fns doesn't accept strings as date arguments. Please use `parseISO` to parse strings. See: https://github.com/date-fns/date-fns/blob/master/docs/upgradeGuide.md#string-arguments\");\n // eslint-disable-next-line no-console\n console.warn(new Error().stack);\n }\n return new Date(NaN);\n }\n}","import toInteger from \"../_lib/toInteger/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name addMilliseconds\n * @category Millisecond Helpers\n * @summary Add the specified number of milliseconds to the given date.\n *\n * @description\n * Add the specified number of milliseconds to the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be added. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds added\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Add 750 milliseconds to 10 July 2014 12:45:30.000:\n * const result = addMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:30.750\n */\nexport default function addMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var timestamp = toDate(dirtyDate).getTime();\n var amount = toInteger(dirtyAmount);\n return new Date(timestamp + amount);\n}","var defaultOptions = {};\nexport function getDefaultOptions() {\n return defaultOptions;\n}\nexport function setDefaultOptions(newOptions) {\n defaultOptions = newOptions;\n}","/**\n * Google Chrome as of 67.0.3396.87 introduced timezones with offset that includes seconds.\n * They usually appear for dates that denote time before the timezones were introduced\n * (e.g. for 'Europe/Prague' timezone the offset is GMT+00:57:44 before 1 October 1891\n * and GMT+01:00:00 after that date)\n *\n * Date#getTimezoneOffset returns the offset in minutes and would return 57 for the example above,\n * which would lead to incorrect calculations.\n *\n * This function returns the timezone offset in milliseconds that takes seconds in account.\n */\nexport default function getTimezoneOffsetInMilliseconds(date) {\n var utcDate = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds()));\n utcDate.setUTCFullYear(date.getFullYear());\n return date.getTime() - utcDate.getTime();\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isDate\n * @category Common Helpers\n * @summary Is the given value a date?\n *\n * @description\n * Returns true if the given value is an instance of Date. The function works for dates transferred across iframes.\n *\n * @param {*} value - the value to check\n * @returns {boolean} true if the given value is a date\n * @throws {TypeError} 1 arguments required\n *\n * @example\n * // For a valid date:\n * const result = isDate(new Date())\n * //=> true\n *\n * @example\n * // For an invalid date:\n * const result = isDate(new Date(NaN))\n * //=> true\n *\n * @example\n * // For some value:\n * const result = isDate('2014-02-31')\n * //=> false\n *\n * @example\n * // For an object:\n * const result = isDate({})\n * //=> false\n */\nexport default function isDate(value) {\n requiredArgs(1, arguments);\n return value instanceof Date || _typeof(value) === 'object' && Object.prototype.toString.call(value) === '[object Date]';\n}","import isDate from \"../isDate/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\n/**\n * @name isValid\n * @category Common Helpers\n * @summary Is the given date valid?\n *\n * @description\n * Returns false if argument is Invalid Date and true otherwise.\n * Argument is converted to Date using `toDate`. See [toDate]{@link https://date-fns.org/docs/toDate}\n * Invalid Date is a Date, whose time value is NaN.\n *\n * Time value of Date: http://es5.github.io/#x15.9.1.1\n *\n * @param {*} date - the date to check\n * @returns {Boolean} the date is valid\n * @throws {TypeError} 1 argument required\n *\n * @example\n * // For the valid date:\n * const result = isValid(new Date(2014, 1, 31))\n * //=> true\n *\n * @example\n * // For the value, convertable into a date:\n * const result = isValid(1393804800000)\n * //=> true\n *\n * @example\n * // For the invalid date:\n * const result = isValid(new Date(''))\n * //=> false\n */\nexport default function isValid(dirtyDate) {\n requiredArgs(1, arguments);\n if (!isDate(dirtyDate) && typeof dirtyDate !== 'number') {\n return false;\n }\n var date = toDate(dirtyDate);\n return !isNaN(Number(date));\n}","import addMilliseconds from \"../addMilliseconds/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\n/**\n * @name subMilliseconds\n * @category Millisecond Helpers\n * @summary Subtract the specified number of milliseconds from the given date.\n *\n * @description\n * Subtract the specified number of milliseconds from the given date.\n *\n * @param {Date|Number} date - the date to be changed\n * @param {Number} amount - the amount of milliseconds to be subtracted. Positive decimals will be rounded using `Math.floor`, decimals less than zero will be rounded using `Math.ceil`.\n * @returns {Date} the new date with the milliseconds subtracted\n * @throws {TypeError} 2 arguments required\n *\n * @example\n * // Subtract 750 milliseconds from 10 July 2014 12:45:30.000:\n * const result = subMilliseconds(new Date(2014, 6, 10, 12, 45, 30, 0), 750)\n * //=> Thu Jul 10 2014 12:45:29.250\n */\nexport default function subMilliseconds(dirtyDate, dirtyAmount) {\n requiredArgs(2, arguments);\n var amount = toInteger(dirtyAmount);\n return addMilliseconds(dirtyDate, -amount);\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_DAY = 86400000;\nexport default function getUTCDayOfYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var timestamp = date.getTime();\n date.setUTCMonth(0, 1);\n date.setUTCHours(0, 0, 0, 0);\n var startOfYearTimestamp = date.getTime();\n var difference = timestamp - startOfYearTimestamp;\n return Math.floor(difference / MILLISECONDS_IN_DAY) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var weekStartsOn = 1;\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nexport default function getUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var fourthOfJanuaryOfNextYear = new Date(0);\n fourthOfJanuaryOfNextYear.setUTCFullYear(year + 1, 0, 4);\n fourthOfJanuaryOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCISOWeek(fourthOfJanuaryOfNextYear);\n var fourthOfJanuaryOfThisYear = new Date(0);\n fourthOfJanuaryOfThisYear.setUTCFullYear(year, 0, 4);\n fourthOfJanuaryOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCISOWeek(fourthOfJanuaryOfThisYear);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCISOWeekYear from \"../getUTCISOWeekYear/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nexport default function startOfUTCISOWeekYear(dirtyDate) {\n requiredArgs(1, arguments);\n var year = getUTCISOWeekYear(dirtyDate);\n var fourthOfJanuary = new Date(0);\n fourthOfJanuary.setUTCFullYear(year, 0, 4);\n fourthOfJanuary.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCISOWeek(fourthOfJanuary);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCISOWeek from \"../startOfUTCISOWeek/index.js\";\nimport startOfUTCISOWeekYear from \"../startOfUTCISOWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCISOWeek(dirtyDate) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCISOWeek(date).getTime() - startOfUTCISOWeekYear(date).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeek(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var weekStartsOn = toInteger((_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n var date = toDate(dirtyDate);\n var day = date.getUTCDay();\n var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;\n date.setUTCDate(date.getUTCDate() - diff);\n date.setUTCHours(0, 0, 0, 0);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function getUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var year = date.getUTCFullYear();\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var firstWeekOfNextYear = new Date(0);\n firstWeekOfNextYear.setUTCFullYear(year + 1, 0, firstWeekContainsDate);\n firstWeekOfNextYear.setUTCHours(0, 0, 0, 0);\n var startOfNextYear = startOfUTCWeek(firstWeekOfNextYear, options);\n var firstWeekOfThisYear = new Date(0);\n firstWeekOfThisYear.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeekOfThisYear.setUTCHours(0, 0, 0, 0);\n var startOfThisYear = startOfUTCWeek(firstWeekOfThisYear, options);\n if (date.getTime() >= startOfNextYear.getTime()) {\n return year + 1;\n } else if (date.getTime() >= startOfThisYear.getTime()) {\n return year;\n } else {\n return year - 1;\n }\n}","import getUTCWeekYear from \"../getUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport toInteger from \"../toInteger/index.js\";\nimport { getDefaultOptions } from \"../defaultOptions/index.js\";\nexport default function startOfUTCWeekYear(dirtyDate, options) {\n var _ref, _ref2, _ref3, _options$firstWeekCon, _options$locale, _options$locale$optio, _defaultOptions$local, _defaultOptions$local2;\n requiredArgs(1, arguments);\n var defaultOptions = getDefaultOptions();\n var firstWeekContainsDate = toInteger((_ref = (_ref2 = (_ref3 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale = options.locale) === null || _options$locale === void 0 ? void 0 : (_options$locale$optio = _options$locale.options) === null || _options$locale$optio === void 0 ? void 0 : _options$locale$optio.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref !== void 0 ? _ref : 1);\n var year = getUTCWeekYear(dirtyDate, options);\n var firstWeek = new Date(0);\n firstWeek.setUTCFullYear(year, 0, firstWeekContainsDate);\n firstWeek.setUTCHours(0, 0, 0, 0);\n var date = startOfUTCWeek(firstWeek, options);\n return date;\n}","import toDate from \"../../toDate/index.js\";\nimport startOfUTCWeek from \"../startOfUTCWeek/index.js\";\nimport startOfUTCWeekYear from \"../startOfUTCWeekYear/index.js\";\nimport requiredArgs from \"../requiredArgs/index.js\";\nvar MILLISECONDS_IN_WEEK = 604800000;\nexport default function getUTCWeek(dirtyDate, options) {\n requiredArgs(1, arguments);\n var date = toDate(dirtyDate);\n var diff = startOfUTCWeek(date, options).getTime() - startOfUTCWeekYear(date, options).getTime();\n\n // Round the number of days to the nearest integer\n // because the number of milliseconds in a week is not constant\n // (e.g. it's different in the week of the daylight saving time clock shift)\n return Math.round(diff / MILLISECONDS_IN_WEEK) + 1;\n}","export default function addLeadingZeros(number, targetLength) {\n var sign = number < 0 ? '-' : '';\n var output = Math.abs(number).toString();\n while (output.length < targetLength) {\n output = '0' + output;\n }\n return sign + output;\n}","import addLeadingZeros from \"../../addLeadingZeros/index.js\";\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | |\n * | d | Day of month | D | |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | m | Minute | M | Month |\n * | s | Second | S | Fraction of second |\n * | y | Year (abs) | Y | |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n */\nvar formatters = {\n // Year\n y: function y(date, token) {\n // From http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_tokens\n // | Year | y | yy | yyy | yyyy | yyyyy |\n // |----------|-------|----|-------|-------|-------|\n // | AD 1 | 1 | 01 | 001 | 0001 | 00001 |\n // | AD 12 | 12 | 12 | 012 | 0012 | 00012 |\n // | AD 123 | 123 | 23 | 123 | 0123 | 00123 |\n // | AD 1234 | 1234 | 34 | 1234 | 1234 | 01234 |\n // | AD 12345 | 12345 | 45 | 12345 | 12345 | 12345 |\n\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return addLeadingZeros(token === 'yy' ? year % 100 : year, token.length);\n },\n // Month\n M: function M(date, token) {\n var month = date.getUTCMonth();\n return token === 'M' ? String(month + 1) : addLeadingZeros(month + 1, 2);\n },\n // Day of the month\n d: function d(date, token) {\n return addLeadingZeros(date.getUTCDate(), token.length);\n },\n // AM or PM\n a: function a(date, token) {\n var dayPeriodEnumValue = date.getUTCHours() / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return dayPeriodEnumValue.toUpperCase();\n case 'aaa':\n return dayPeriodEnumValue;\n case 'aaaaa':\n return dayPeriodEnumValue[0];\n case 'aaaa':\n default:\n return dayPeriodEnumValue === 'am' ? 'a.m.' : 'p.m.';\n }\n },\n // Hour [1-12]\n h: function h(date, token) {\n return addLeadingZeros(date.getUTCHours() % 12 || 12, token.length);\n },\n // Hour [0-23]\n H: function H(date, token) {\n return addLeadingZeros(date.getUTCHours(), token.length);\n },\n // Minute\n m: function m(date, token) {\n return addLeadingZeros(date.getUTCMinutes(), token.length);\n },\n // Second\n s: function s(date, token) {\n return addLeadingZeros(date.getUTCSeconds(), token.length);\n },\n // Fraction of second\n S: function S(date, token) {\n var numberOfDigits = token.length;\n var milliseconds = date.getUTCMilliseconds();\n var fractionalSeconds = Math.floor(milliseconds * Math.pow(10, numberOfDigits - 3));\n return addLeadingZeros(fractionalSeconds, token.length);\n }\n};\nexport default formatters;","import getUTCDayOfYear from \"../../../_lib/getUTCDayOfYear/index.js\";\nimport getUTCISOWeek from \"../../../_lib/getUTCISOWeek/index.js\";\nimport getUTCISOWeekYear from \"../../../_lib/getUTCISOWeekYear/index.js\";\nimport getUTCWeek from \"../../../_lib/getUTCWeek/index.js\";\nimport getUTCWeekYear from \"../../../_lib/getUTCWeekYear/index.js\";\nimport addLeadingZeros from \"../../addLeadingZeros/index.js\";\nimport lightFormatters from \"../lightFormatters/index.js\";\nvar dayPeriodEnum = {\n am: 'am',\n pm: 'pm',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n};\n/*\n * | | Unit | | Unit |\n * |-----|--------------------------------|-----|--------------------------------|\n * | a | AM, PM | A* | Milliseconds in day |\n * | b | AM, PM, noon, midnight | B | Flexible day period |\n * | c | Stand-alone local day of week | C* | Localized hour w/ day period |\n * | d | Day of month | D | Day of year |\n * | e | Local day of week | E | Day of week |\n * | f | | F* | Day of week in month |\n * | g* | Modified Julian day | G | Era |\n * | h | Hour [1-12] | H | Hour [0-23] |\n * | i! | ISO day of week | I! | ISO week of year |\n * | j* | Localized hour w/ day period | J* | Localized hour w/o day period |\n * | k | Hour [1-24] | K | Hour [0-11] |\n * | l* | (deprecated) | L | Stand-alone month |\n * | m | Minute | M | Month |\n * | n | | N | |\n * | o! | Ordinal number modifier | O | Timezone (GMT) |\n * | p! | Long localized time | P! | Long localized date |\n * | q | Stand-alone quarter | Q | Quarter |\n * | r* | Related Gregorian year | R! | ISO week-numbering year |\n * | s | Second | S | Fraction of second |\n * | t! | Seconds timestamp | T! | Milliseconds timestamp |\n * | u | Extended year | U* | Cyclic year |\n * | v* | Timezone (generic non-locat.) | V* | Timezone (location) |\n * | w | Local week of year | W* | Week of month |\n * | x | Timezone (ISO-8601 w/o Z) | X | Timezone (ISO-8601) |\n * | y | Year (abs) | Y | Local week-numbering year |\n * | z | Timezone (specific non-locat.) | Z* | Timezone (aliases) |\n *\n * Letters marked by * are not implemented but reserved by Unicode standard.\n *\n * Letters marked by ! are non-standard, but implemented by date-fns:\n * - `o` modifies the previous token to turn it into an ordinal (see `format` docs)\n * - `i` is ISO day of week. For `i` and `ii` is returns numeric ISO week days,\n * i.e. 7 for Sunday, 1 for Monday, etc.\n * - `I` is ISO week of year, as opposed to `w` which is local week of year.\n * - `R` is ISO week-numbering year, as opposed to `Y` which is local week-numbering year.\n * `R` is supposed to be used in conjunction with `I` and `i`\n * for universal ISO week-numbering date, whereas\n * `Y` is supposed to be used in conjunction with `w` and `e`\n * for week-numbering date specific to the locale.\n * - `P` is long localized date format\n * - `p` is long localized time format\n */\n\nvar formatters = {\n // Era\n G: function G(date, token, localize) {\n var era = date.getUTCFullYear() > 0 ? 1 : 0;\n switch (token) {\n // AD, BC\n case 'G':\n case 'GG':\n case 'GGG':\n return localize.era(era, {\n width: 'abbreviated'\n });\n // A, B\n case 'GGGGG':\n return localize.era(era, {\n width: 'narrow'\n });\n // Anno Domini, Before Christ\n case 'GGGG':\n default:\n return localize.era(era, {\n width: 'wide'\n });\n }\n },\n // Year\n y: function y(date, token, localize) {\n // Ordinal number\n if (token === 'yo') {\n var signedYear = date.getUTCFullYear();\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var year = signedYear > 0 ? signedYear : 1 - signedYear;\n return localize.ordinalNumber(year, {\n unit: 'year'\n });\n }\n return lightFormatters.y(date, token);\n },\n // Local week-numbering year\n Y: function Y(date, token, localize, options) {\n var signedWeekYear = getUTCWeekYear(date, options);\n // Returns 1 for 1 BC (which is year 0 in JavaScript)\n var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;\n\n // Two digit year\n if (token === 'YY') {\n var twoDigitYear = weekYear % 100;\n return addLeadingZeros(twoDigitYear, 2);\n }\n\n // Ordinal number\n if (token === 'Yo') {\n return localize.ordinalNumber(weekYear, {\n unit: 'year'\n });\n }\n\n // Padding\n return addLeadingZeros(weekYear, token.length);\n },\n // ISO week-numbering year\n R: function R(date, token) {\n var isoWeekYear = getUTCISOWeekYear(date);\n\n // Padding\n return addLeadingZeros(isoWeekYear, token.length);\n },\n // Extended year. This is a single number designating the year of this calendar system.\n // The main difference between `y` and `u` localizers are B.C. years:\n // | Year | `y` | `u` |\n // |------|-----|-----|\n // | AC 1 | 1 | 1 |\n // | BC 1 | 1 | 0 |\n // | BC 2 | 2 | -1 |\n // Also `yy` always returns the last two digits of a year,\n // while `uu` pads single digit years to 2 characters and returns other years unchanged.\n u: function u(date, token) {\n var year = date.getUTCFullYear();\n return addLeadingZeros(year, token.length);\n },\n // Quarter\n Q: function Q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'Q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'QQ':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'Qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'QQQ':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'QQQQQ':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'formatting'\n });\n // 1st quarter, 2nd quarter, ...\n case 'QQQQ':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone quarter\n q: function q(date, token, localize) {\n var quarter = Math.ceil((date.getUTCMonth() + 1) / 3);\n switch (token) {\n // 1, 2, 3, 4\n case 'q':\n return String(quarter);\n // 01, 02, 03, 04\n case 'qq':\n return addLeadingZeros(quarter, 2);\n // 1st, 2nd, 3rd, 4th\n case 'qo':\n return localize.ordinalNumber(quarter, {\n unit: 'quarter'\n });\n // Q1, Q2, Q3, Q4\n case 'qqq':\n return localize.quarter(quarter, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // 1, 2, 3, 4 (narrow quarter; could be not numerical)\n case 'qqqqq':\n return localize.quarter(quarter, {\n width: 'narrow',\n context: 'standalone'\n });\n // 1st quarter, 2nd quarter, ...\n case 'qqqq':\n default:\n return localize.quarter(quarter, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Month\n M: function M(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n case 'M':\n case 'MM':\n return lightFormatters.M(date, token);\n // 1st, 2nd, ..., 12th\n case 'Mo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'MMM':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // J, F, ..., D\n case 'MMMMM':\n return localize.month(month, {\n width: 'narrow',\n context: 'formatting'\n });\n // January, February, ..., December\n case 'MMMM':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone month\n L: function L(date, token, localize) {\n var month = date.getUTCMonth();\n switch (token) {\n // 1, 2, ..., 12\n case 'L':\n return String(month + 1);\n // 01, 02, ..., 12\n case 'LL':\n return addLeadingZeros(month + 1, 2);\n // 1st, 2nd, ..., 12th\n case 'Lo':\n return localize.ordinalNumber(month + 1, {\n unit: 'month'\n });\n // Jan, Feb, ..., Dec\n case 'LLL':\n return localize.month(month, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // J, F, ..., D\n case 'LLLLL':\n return localize.month(month, {\n width: 'narrow',\n context: 'standalone'\n });\n // January, February, ..., December\n case 'LLLL':\n default:\n return localize.month(month, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // Local week of year\n w: function w(date, token, localize, options) {\n var week = getUTCWeek(date, options);\n if (token === 'wo') {\n return localize.ordinalNumber(week, {\n unit: 'week'\n });\n }\n return addLeadingZeros(week, token.length);\n },\n // ISO week of year\n I: function I(date, token, localize) {\n var isoWeek = getUTCISOWeek(date);\n if (token === 'Io') {\n return localize.ordinalNumber(isoWeek, {\n unit: 'week'\n });\n }\n return addLeadingZeros(isoWeek, token.length);\n },\n // Day of the month\n d: function d(date, token, localize) {\n if (token === 'do') {\n return localize.ordinalNumber(date.getUTCDate(), {\n unit: 'date'\n });\n }\n return lightFormatters.d(date, token);\n },\n // Day of year\n D: function D(date, token, localize) {\n var dayOfYear = getUTCDayOfYear(date);\n if (token === 'Do') {\n return localize.ordinalNumber(dayOfYear, {\n unit: 'dayOfYear'\n });\n }\n return addLeadingZeros(dayOfYear, token.length);\n },\n // Day of week\n E: function E(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n switch (token) {\n // Tue\n case 'E':\n case 'EE':\n case 'EEE':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'EEEEE':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'EEEEEE':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'EEEE':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Local day of week\n e: function e(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (Nth day of week with current locale or weekStartsOn)\n case 'e':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'ee':\n return addLeadingZeros(localDayOfWeek, 2);\n // 1st, 2nd, ..., 7th\n case 'eo':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'eee':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'eeeee':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'eeeeee':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'eeee':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Stand-alone local day of week\n c: function c(date, token, localize, options) {\n var dayOfWeek = date.getUTCDay();\n var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;\n switch (token) {\n // Numerical value (same as in `e`)\n case 'c':\n return String(localDayOfWeek);\n // Padded numerical value\n case 'cc':\n return addLeadingZeros(localDayOfWeek, token.length);\n // 1st, 2nd, ..., 7th\n case 'co':\n return localize.ordinalNumber(localDayOfWeek, {\n unit: 'day'\n });\n case 'ccc':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'standalone'\n });\n // T\n case 'ccccc':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'standalone'\n });\n // Tu\n case 'cccccc':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'standalone'\n });\n // Tuesday\n case 'cccc':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'standalone'\n });\n }\n },\n // ISO day of week\n i: function i(date, token, localize) {\n var dayOfWeek = date.getUTCDay();\n var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;\n switch (token) {\n // 2\n case 'i':\n return String(isoDayOfWeek);\n // 02\n case 'ii':\n return addLeadingZeros(isoDayOfWeek, token.length);\n // 2nd\n case 'io':\n return localize.ordinalNumber(isoDayOfWeek, {\n unit: 'day'\n });\n // Tue\n case 'iii':\n return localize.day(dayOfWeek, {\n width: 'abbreviated',\n context: 'formatting'\n });\n // T\n case 'iiiii':\n return localize.day(dayOfWeek, {\n width: 'narrow',\n context: 'formatting'\n });\n // Tu\n case 'iiiiii':\n return localize.day(dayOfWeek, {\n width: 'short',\n context: 'formatting'\n });\n // Tuesday\n case 'iiii':\n default:\n return localize.day(dayOfWeek, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM or PM\n a: function a(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n switch (token) {\n case 'a':\n case 'aa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'aaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'aaaaa':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'aaaa':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // AM, PM, midnight, noon\n b: function b(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours === 12) {\n dayPeriodEnumValue = dayPeriodEnum.noon;\n } else if (hours === 0) {\n dayPeriodEnumValue = dayPeriodEnum.midnight;\n } else {\n dayPeriodEnumValue = hours / 12 >= 1 ? 'pm' : 'am';\n }\n switch (token) {\n case 'b':\n case 'bb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'bbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n }).toLowerCase();\n case 'bbbbb':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'bbbb':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // in the morning, in the afternoon, in the evening, at night\n B: function B(date, token, localize) {\n var hours = date.getUTCHours();\n var dayPeriodEnumValue;\n if (hours >= 17) {\n dayPeriodEnumValue = dayPeriodEnum.evening;\n } else if (hours >= 12) {\n dayPeriodEnumValue = dayPeriodEnum.afternoon;\n } else if (hours >= 4) {\n dayPeriodEnumValue = dayPeriodEnum.morning;\n } else {\n dayPeriodEnumValue = dayPeriodEnum.night;\n }\n switch (token) {\n case 'B':\n case 'BB':\n case 'BBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'abbreviated',\n context: 'formatting'\n });\n case 'BBBBB':\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'narrow',\n context: 'formatting'\n });\n case 'BBBB':\n default:\n return localize.dayPeriod(dayPeriodEnumValue, {\n width: 'wide',\n context: 'formatting'\n });\n }\n },\n // Hour [1-12]\n h: function h(date, token, localize) {\n if (token === 'ho') {\n var hours = date.getUTCHours() % 12;\n if (hours === 0) hours = 12;\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return lightFormatters.h(date, token);\n },\n // Hour [0-23]\n H: function H(date, token, localize) {\n if (token === 'Ho') {\n return localize.ordinalNumber(date.getUTCHours(), {\n unit: 'hour'\n });\n }\n return lightFormatters.H(date, token);\n },\n // Hour [0-11]\n K: function K(date, token, localize) {\n var hours = date.getUTCHours() % 12;\n if (token === 'Ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Hour [1-24]\n k: function k(date, token, localize) {\n var hours = date.getUTCHours();\n if (hours === 0) hours = 24;\n if (token === 'ko') {\n return localize.ordinalNumber(hours, {\n unit: 'hour'\n });\n }\n return addLeadingZeros(hours, token.length);\n },\n // Minute\n m: function m(date, token, localize) {\n if (token === 'mo') {\n return localize.ordinalNumber(date.getUTCMinutes(), {\n unit: 'minute'\n });\n }\n return lightFormatters.m(date, token);\n },\n // Second\n s: function s(date, token, localize) {\n if (token === 'so') {\n return localize.ordinalNumber(date.getUTCSeconds(), {\n unit: 'second'\n });\n }\n return lightFormatters.s(date, token);\n },\n // Fraction of second\n S: function S(date, token) {\n return lightFormatters.S(date, token);\n },\n // Timezone (ISO-8601. If offset is 0, output is always `'Z'`)\n X: function X(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n if (timezoneOffset === 0) {\n return 'Z';\n }\n switch (token) {\n // Hours and optional minutes\n case 'X':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XX`\n case 'XXXX':\n case 'XX':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `XXX`\n case 'XXXXX':\n case 'XXX': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (ISO-8601. If offset is 0, output is `'+00:00'` or equivalent)\n x: function x(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Hours and optional minutes\n case 'x':\n return formatTimezoneWithOptionalMinutes(timezoneOffset);\n\n // Hours, minutes and optional seconds without `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xx`\n case 'xxxx':\n case 'xx':\n // Hours and minutes without `:` delimiter\n return formatTimezone(timezoneOffset);\n\n // Hours, minutes and optional seconds with `:` delimiter\n // Note: neither ISO-8601 nor JavaScript supports seconds in timezone offsets\n // so this token always has the same output as `xxx`\n case 'xxxxx':\n case 'xxx': // Hours and minutes with `:` delimiter\n default:\n return formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (GMT)\n O: function O(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'O':\n case 'OO':\n case 'OOO':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'OOOO':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Timezone (specific non-location)\n z: function z(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timezoneOffset = originalDate.getTimezoneOffset();\n switch (token) {\n // Short\n case 'z':\n case 'zz':\n case 'zzz':\n return 'GMT' + formatTimezoneShort(timezoneOffset, ':');\n // Long\n case 'zzzz':\n default:\n return 'GMT' + formatTimezone(timezoneOffset, ':');\n }\n },\n // Seconds timestamp\n t: function t(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = Math.floor(originalDate.getTime() / 1000);\n return addLeadingZeros(timestamp, token.length);\n },\n // Milliseconds timestamp\n T: function T(date, token, _localize, options) {\n var originalDate = options._originalDate || date;\n var timestamp = originalDate.getTime();\n return addLeadingZeros(timestamp, token.length);\n }\n};\nfunction formatTimezoneShort(offset, dirtyDelimiter) {\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = Math.floor(absOffset / 60);\n var minutes = absOffset % 60;\n if (minutes === 0) {\n return sign + String(hours);\n }\n var delimiter = dirtyDelimiter || '';\n return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);\n}\nfunction formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {\n if (offset % 60 === 0) {\n var sign = offset > 0 ? '-' : '+';\n return sign + addLeadingZeros(Math.abs(offset) / 60, 2);\n }\n return formatTimezone(offset, dirtyDelimiter);\n}\nfunction formatTimezone(offset, dirtyDelimiter) {\n var delimiter = dirtyDelimiter || '';\n var sign = offset > 0 ? '-' : '+';\n var absOffset = Math.abs(offset);\n var hours = addLeadingZeros(Math.floor(absOffset / 60), 2);\n var minutes = addLeadingZeros(absOffset % 60, 2);\n return sign + hours + delimiter + minutes;\n}\nexport default formatters;","var dateLongFormatter = function dateLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'P':\n return formatLong.date({\n width: 'short'\n });\n case 'PP':\n return formatLong.date({\n width: 'medium'\n });\n case 'PPP':\n return formatLong.date({\n width: 'long'\n });\n case 'PPPP':\n default:\n return formatLong.date({\n width: 'full'\n });\n }\n};\nvar timeLongFormatter = function timeLongFormatter(pattern, formatLong) {\n switch (pattern) {\n case 'p':\n return formatLong.time({\n width: 'short'\n });\n case 'pp':\n return formatLong.time({\n width: 'medium'\n });\n case 'ppp':\n return formatLong.time({\n width: 'long'\n });\n case 'pppp':\n default:\n return formatLong.time({\n width: 'full'\n });\n }\n};\nvar dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong) {\n var matchResult = pattern.match(/(P+)(p+)?/) || [];\n var datePattern = matchResult[1];\n var timePattern = matchResult[2];\n if (!timePattern) {\n return dateLongFormatter(pattern, formatLong);\n }\n var dateTimeFormat;\n switch (datePattern) {\n case 'P':\n dateTimeFormat = formatLong.dateTime({\n width: 'short'\n });\n break;\n case 'PP':\n dateTimeFormat = formatLong.dateTime({\n width: 'medium'\n });\n break;\n case 'PPP':\n dateTimeFormat = formatLong.dateTime({\n width: 'long'\n });\n break;\n case 'PPPP':\n default:\n dateTimeFormat = formatLong.dateTime({\n width: 'full'\n });\n break;\n }\n return dateTimeFormat.replace('{{date}}', dateLongFormatter(datePattern, formatLong)).replace('{{time}}', timeLongFormatter(timePattern, formatLong));\n};\nvar longFormatters = {\n p: timeLongFormatter,\n P: dateTimeLongFormatter\n};\nexport default longFormatters;","var protectedDayOfYearTokens = ['D', 'DD'];\nvar protectedWeekYearTokens = ['YY', 'YYYY'];\nexport function isProtectedDayOfYearToken(token) {\n return protectedDayOfYearTokens.indexOf(token) !== -1;\n}\nexport function isProtectedWeekYearToken(token) {\n return protectedWeekYearTokens.indexOf(token) !== -1;\n}\nexport function throwProtectedError(token, format, input) {\n if (token === 'YYYY') {\n throw new RangeError(\"Use `yyyy` instead of `YYYY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'YY') {\n throw new RangeError(\"Use `yy` instead of `YY` (in `\".concat(format, \"`) for formatting years to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'D') {\n throw new RangeError(\"Use `d` instead of `D` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n } else if (token === 'DD') {\n throw new RangeError(\"Use `dd` instead of `DD` (in `\".concat(format, \"`) for formatting days of the month to the input `\").concat(input, \"`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\"));\n }\n}","var formatDistanceLocale = {\n lessThanXSeconds: {\n one: 'less than a second',\n other: 'less than {{count}} seconds'\n },\n xSeconds: {\n one: '1 second',\n other: '{{count}} seconds'\n },\n halfAMinute: 'half a minute',\n lessThanXMinutes: {\n one: 'less than a minute',\n other: 'less than {{count}} minutes'\n },\n xMinutes: {\n one: '1 minute',\n other: '{{count}} minutes'\n },\n aboutXHours: {\n one: 'about 1 hour',\n other: 'about {{count}} hours'\n },\n xHours: {\n one: '1 hour',\n other: '{{count}} hours'\n },\n xDays: {\n one: '1 day',\n other: '{{count}} days'\n },\n aboutXWeeks: {\n one: 'about 1 week',\n other: 'about {{count}} weeks'\n },\n xWeeks: {\n one: '1 week',\n other: '{{count}} weeks'\n },\n aboutXMonths: {\n one: 'about 1 month',\n other: 'about {{count}} months'\n },\n xMonths: {\n one: '1 month',\n other: '{{count}} months'\n },\n aboutXYears: {\n one: 'about 1 year',\n other: 'about {{count}} years'\n },\n xYears: {\n one: '1 year',\n other: '{{count}} years'\n },\n overXYears: {\n one: 'over 1 year',\n other: 'over {{count}} years'\n },\n almostXYears: {\n one: 'almost 1 year',\n other: 'almost {{count}} years'\n }\n};\nvar formatDistance = function formatDistance(token, count, options) {\n var result;\n var tokenValue = formatDistanceLocale[token];\n if (typeof tokenValue === 'string') {\n result = tokenValue;\n } else if (count === 1) {\n result = tokenValue.one;\n } else {\n result = tokenValue.other.replace('{{count}}', count.toString());\n }\n if (options !== null && options !== void 0 && options.addSuffix) {\n if (options.comparison && options.comparison > 0) {\n return 'in ' + result;\n } else {\n return result + ' ago';\n }\n }\n return result;\n};\nexport default formatDistance;","export default function buildFormatLongFn(args) {\n return function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // TODO: Remove String()\n var width = options.width ? String(options.width) : args.defaultWidth;\n var format = args.formats[width] || args.formats[args.defaultWidth];\n return format;\n };\n}","import buildFormatLongFn from \"../../../_lib/buildFormatLongFn/index.js\";\nvar dateFormats = {\n full: 'EEEE, MMMM do, y',\n long: 'MMMM do, y',\n medium: 'MMM d, y',\n short: 'MM/dd/yyyy'\n};\nvar timeFormats = {\n full: 'h:mm:ss a zzzz',\n long: 'h:mm:ss a z',\n medium: 'h:mm:ss a',\n short: 'h:mm a'\n};\nvar dateTimeFormats = {\n full: \"{{date}} 'at' {{time}}\",\n long: \"{{date}} 'at' {{time}}\",\n medium: '{{date}}, {{time}}',\n short: '{{date}}, {{time}}'\n};\nvar formatLong = {\n date: buildFormatLongFn({\n formats: dateFormats,\n defaultWidth: 'full'\n }),\n time: buildFormatLongFn({\n formats: timeFormats,\n defaultWidth: 'full'\n }),\n dateTime: buildFormatLongFn({\n formats: dateTimeFormats,\n defaultWidth: 'full'\n })\n};\nexport default formatLong;","var formatRelativeLocale = {\n lastWeek: \"'last' eeee 'at' p\",\n yesterday: \"'yesterday at' p\",\n today: \"'today at' p\",\n tomorrow: \"'tomorrow at' p\",\n nextWeek: \"eeee 'at' p\",\n other: 'P'\n};\nvar formatRelative = function formatRelative(token, _date, _baseDate, _options) {\n return formatRelativeLocale[token];\n};\nexport default formatRelative;","export default function buildLocalizeFn(args) {\n return function (dirtyIndex, options) {\n var context = options !== null && options !== void 0 && options.context ? String(options.context) : 'standalone';\n var valuesArray;\n if (context === 'formatting' && args.formattingValues) {\n var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;\n var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;\n valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];\n } else {\n var _defaultWidth = args.defaultWidth;\n var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;\n valuesArray = args.values[_width] || args.values[_defaultWidth];\n }\n var index = args.argumentCallback ? args.argumentCallback(dirtyIndex) : dirtyIndex;\n // @ts-ignore: For some reason TypeScript just don't want to match it, no matter how hard we try. I challenge you to try to remove it!\n return valuesArray[index];\n };\n}","import buildLocalizeFn from \"../../../_lib/buildLocalizeFn/index.js\";\nvar eraValues = {\n narrow: ['B', 'A'],\n abbreviated: ['BC', 'AD'],\n wide: ['Before Christ', 'Anno Domini']\n};\nvar quarterValues = {\n narrow: ['1', '2', '3', '4'],\n abbreviated: ['Q1', 'Q2', 'Q3', 'Q4'],\n wide: ['1st quarter', '2nd quarter', '3rd quarter', '4th quarter']\n};\n\n// Note: in English, the names of days of the week and months are capitalized.\n// If you are making a new locale based on this one, check if the same is true for the language you're working on.\n// Generally, formatted dates should look like they are in the middle of a sentence,\n// e.g. in Spanish language the weekdays and months should be in the lowercase.\nvar monthValues = {\n narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],\n abbreviated: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],\n wide: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December']\n};\nvar dayValues = {\n narrow: ['S', 'M', 'T', 'W', 'T', 'F', 'S'],\n short: ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'],\n abbreviated: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],\n wide: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']\n};\nvar dayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'morning',\n afternoon: 'afternoon',\n evening: 'evening',\n night: 'night'\n }\n};\nvar formattingDayPeriodValues = {\n narrow: {\n am: 'a',\n pm: 'p',\n midnight: 'mi',\n noon: 'n',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n abbreviated: {\n am: 'AM',\n pm: 'PM',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n },\n wide: {\n am: 'a.m.',\n pm: 'p.m.',\n midnight: 'midnight',\n noon: 'noon',\n morning: 'in the morning',\n afternoon: 'in the afternoon',\n evening: 'in the evening',\n night: 'at night'\n }\n};\nvar ordinalNumber = function ordinalNumber(dirtyNumber, _options) {\n var number = Number(dirtyNumber);\n\n // If ordinal numbers depend on context, for example,\n // if they are different for different grammatical genders,\n // use `options.unit`.\n //\n // `unit` can be 'year', 'quarter', 'month', 'week', 'date', 'dayOfYear',\n // 'day', 'hour', 'minute', 'second'.\n\n var rem100 = number % 100;\n if (rem100 > 20 || rem100 < 10) {\n switch (rem100 % 10) {\n case 1:\n return number + 'st';\n case 2:\n return number + 'nd';\n case 3:\n return number + 'rd';\n }\n }\n return number + 'th';\n};\nvar localize = {\n ordinalNumber: ordinalNumber,\n era: buildLocalizeFn({\n values: eraValues,\n defaultWidth: 'wide'\n }),\n quarter: buildLocalizeFn({\n values: quarterValues,\n defaultWidth: 'wide',\n argumentCallback: function argumentCallback(quarter) {\n return quarter - 1;\n }\n }),\n month: buildLocalizeFn({\n values: monthValues,\n defaultWidth: 'wide'\n }),\n day: buildLocalizeFn({\n values: dayValues,\n defaultWidth: 'wide'\n }),\n dayPeriod: buildLocalizeFn({\n values: dayPeriodValues,\n defaultWidth: 'wide',\n formattingValues: formattingDayPeriodValues,\n defaultFormattingWidth: 'wide'\n })\n};\nexport default localize;","export default function buildMatchFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var width = options.width;\n var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];\n var matchResult = string.match(matchPattern);\n if (!matchResult) {\n return null;\n }\n var matchedString = matchResult[0];\n var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];\n var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n }) : findKey(parsePatterns, function (pattern) {\n return pattern.test(matchedString);\n });\n var value;\n value = args.valueCallback ? args.valueCallback(key) : key;\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}\nfunction findKey(object, predicate) {\n for (var key in object) {\n if (object.hasOwnProperty(key) && predicate(object[key])) {\n return key;\n }\n }\n return undefined;\n}\nfunction findIndex(array, predicate) {\n for (var key = 0; key < array.length; key++) {\n if (predicate(array[key])) {\n return key;\n }\n }\n return undefined;\n}","export default function buildMatchPatternFn(args) {\n return function (string) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var matchResult = string.match(args.matchPattern);\n if (!matchResult) return null;\n var matchedString = matchResult[0];\n var parseResult = string.match(args.parsePattern);\n if (!parseResult) return null;\n var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];\n value = options.valueCallback ? options.valueCallback(value) : value;\n var rest = string.slice(matchedString.length);\n return {\n value: value,\n rest: rest\n };\n };\n}","import buildMatchFn from \"../../../_lib/buildMatchFn/index.js\";\nimport buildMatchPatternFn from \"../../../_lib/buildMatchPatternFn/index.js\";\nvar matchOrdinalNumberPattern = /^(\\d+)(th|st|nd|rd)?/i;\nvar parseOrdinalNumberPattern = /\\d+/i;\nvar matchEraPatterns = {\n narrow: /^(b|a)/i,\n abbreviated: /^(b\\.?\\s?c\\.?|b\\.?\\s?c\\.?\\s?e\\.?|a\\.?\\s?d\\.?|c\\.?\\s?e\\.?)/i,\n wide: /^(before christ|before common era|anno domini|common era)/i\n};\nvar parseEraPatterns = {\n any: [/^b/i, /^(a|c)/i]\n};\nvar matchQuarterPatterns = {\n narrow: /^[1234]/i,\n abbreviated: /^q[1234]/i,\n wide: /^[1234](th|st|nd|rd)? quarter/i\n};\nvar parseQuarterPatterns = {\n any: [/1/i, /2/i, /3/i, /4/i]\n};\nvar matchMonthPatterns = {\n narrow: /^[jfmasond]/i,\n abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,\n wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i\n};\nvar parseMonthPatterns = {\n narrow: [/^j/i, /^f/i, /^m/i, /^a/i, /^m/i, /^j/i, /^j/i, /^a/i, /^s/i, /^o/i, /^n/i, /^d/i],\n any: [/^ja/i, /^f/i, /^mar/i, /^ap/i, /^may/i, /^jun/i, /^jul/i, /^au/i, /^s/i, /^o/i, /^n/i, /^d/i]\n};\nvar matchDayPatterns = {\n narrow: /^[smtwf]/i,\n short: /^(su|mo|tu|we|th|fr|sa)/i,\n abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,\n wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i\n};\nvar parseDayPatterns = {\n narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],\n any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]\n};\nvar matchDayPeriodPatterns = {\n narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,\n any: /^([ap]\\.?\\s?m\\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i\n};\nvar parseDayPeriodPatterns = {\n any: {\n am: /^a/i,\n pm: /^p/i,\n midnight: /^mi/i,\n noon: /^no/i,\n morning: /morning/i,\n afternoon: /afternoon/i,\n evening: /evening/i,\n night: /night/i\n }\n};\nvar match = {\n ordinalNumber: buildMatchPatternFn({\n matchPattern: matchOrdinalNumberPattern,\n parsePattern: parseOrdinalNumberPattern,\n valueCallback: function valueCallback(value) {\n return parseInt(value, 10);\n }\n }),\n era: buildMatchFn({\n matchPatterns: matchEraPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseEraPatterns,\n defaultParseWidth: 'any'\n }),\n quarter: buildMatchFn({\n matchPatterns: matchQuarterPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseQuarterPatterns,\n defaultParseWidth: 'any',\n valueCallback: function valueCallback(index) {\n return index + 1;\n }\n }),\n month: buildMatchFn({\n matchPatterns: matchMonthPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseMonthPatterns,\n defaultParseWidth: 'any'\n }),\n day: buildMatchFn({\n matchPatterns: matchDayPatterns,\n defaultMatchWidth: 'wide',\n parsePatterns: parseDayPatterns,\n defaultParseWidth: 'any'\n }),\n dayPeriod: buildMatchFn({\n matchPatterns: matchDayPeriodPatterns,\n defaultMatchWidth: 'any',\n parsePatterns: parseDayPeriodPatterns,\n defaultParseWidth: 'any'\n })\n};\nexport default match;","import formatDistance from \"./_lib/formatDistance/index.js\";\nimport formatLong from \"./_lib/formatLong/index.js\";\nimport formatRelative from \"./_lib/formatRelative/index.js\";\nimport localize from \"./_lib/localize/index.js\";\nimport match from \"./_lib/match/index.js\";\n/**\n * @type {Locale}\n * @category Locales\n * @summary English locale (United States).\n * @language English\n * @iso-639-2 eng\n * @author Sasha Koss [@kossnocorp]{@link https://github.com/kossnocorp}\n * @author Lesha Koss [@leshakoss]{@link https://github.com/leshakoss}\n */\nvar locale = {\n code: 'en-US',\n formatDistance: formatDistance,\n formatLong: formatLong,\n formatRelative: formatRelative,\n localize: localize,\n match: match,\n options: {\n weekStartsOn: 0 /* Sunday */,\n firstWeekContainsDate: 1\n }\n};\nexport default locale;","import isValid from \"../isValid/index.js\";\nimport subMilliseconds from \"../subMilliseconds/index.js\";\nimport toDate from \"../toDate/index.js\";\nimport formatters from \"../_lib/format/formatters/index.js\";\nimport longFormatters from \"../_lib/format/longFormatters/index.js\";\nimport getTimezoneOffsetInMilliseconds from \"../_lib/getTimezoneOffsetInMilliseconds/index.js\";\nimport { isProtectedDayOfYearToken, isProtectedWeekYearToken, throwProtectedError } from \"../_lib/protectedTokens/index.js\";\nimport toInteger from \"../_lib/toInteger/index.js\";\nimport requiredArgs from \"../_lib/requiredArgs/index.js\";\nimport { getDefaultOptions } from \"../_lib/defaultOptions/index.js\";\nimport defaultLocale from \"../_lib/defaultLocale/index.js\"; // This RegExp consists of three parts separated by `|`:\n// - [yYQqMLwIdDecihHKkms]o matches any available ordinal number token\n// (one of the certain letters followed by `o`)\n// - (\\w)\\1* matches any sequences of the same letter\n// - '' matches two quote characters in a row\n// - '(''|[^'])+('|$) matches anything surrounded by two quote characters ('),\n// except a single quote symbol, which ends the sequence.\n// Two quote characters do not end the sequence.\n// If there is no matching single quote\n// then the sequence will continue until the end of the string.\n// - . matches any single character unmatched by previous parts of the RegExps\nvar formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\\w)\\1*|''|'(''|[^'])+('|$)|./g;\n\n// This RegExp catches symbols escaped by quotes, and also\n// sequences of symbols P, p, and the combinations like `PPPPPPPppppp`\nvar longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;\nvar escapedStringRegExp = /^'([^]*?)'?$/;\nvar doubleQuoteRegExp = /''/g;\nvar unescapedLatinCharacterRegExp = /[a-zA-Z]/;\n\n/**\n * @name format\n * @category Common Helpers\n * @summary Format the date.\n *\n * @description\n * Return the formatted date string in the given format. The result may vary by locale.\n *\n * > ⚠️ Please note that the `format` tokens differ from Moment.js and other libraries.\n * > See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * The characters wrapped between two single quotes characters (') are escaped.\n * Two single quotes in a row, whether inside or outside a quoted sequence, represent a 'real' single quote.\n * (see the last example)\n *\n * Format of the string is based on Unicode Technical Standard #35:\n * https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n * with a few additions (see note 7 below the table).\n *\n * Accepted patterns:\n * | Unit | Pattern | Result examples | Notes |\n * |---------------------------------|---------|-----------------------------------|-------|\n * | Era | G..GGG | AD, BC | |\n * | | GGGG | Anno Domini, Before Christ | 2 |\n * | | GGGGG | A, B | |\n * | Calendar year | y | 44, 1, 1900, 2017 | 5 |\n * | | yo | 44th, 1st, 0th, 17th | 5,7 |\n * | | yy | 44, 01, 00, 17 | 5 |\n * | | yyy | 044, 001, 1900, 2017 | 5 |\n * | | yyyy | 0044, 0001, 1900, 2017 | 5 |\n * | | yyyyy | ... | 3,5 |\n * | Local week-numbering year | Y | 44, 1, 1900, 2017 | 5 |\n * | | Yo | 44th, 1st, 1900th, 2017th | 5,7 |\n * | | YY | 44, 01, 00, 17 | 5,8 |\n * | | YYY | 044, 001, 1900, 2017 | 5 |\n * | | YYYY | 0044, 0001, 1900, 2017 | 5,8 |\n * | | YYYYY | ... | 3,5 |\n * | ISO week-numbering year | R | -43, 0, 1, 1900, 2017 | 5,7 |\n * | | RR | -43, 00, 01, 1900, 2017 | 5,7 |\n * | | RRR | -043, 000, 001, 1900, 2017 | 5,7 |\n * | | RRRR | -0043, 0000, 0001, 1900, 2017 | 5,7 |\n * | | RRRRR | ... | 3,5,7 |\n * | Extended year | u | -43, 0, 1, 1900, 2017 | 5 |\n * | | uu | -43, 01, 1900, 2017 | 5 |\n * | | uuu | -043, 001, 1900, 2017 | 5 |\n * | | uuuu | -0043, 0001, 1900, 2017 | 5 |\n * | | uuuuu | ... | 3,5 |\n * | Quarter (formatting) | Q | 1, 2, 3, 4 | |\n * | | Qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | QQ | 01, 02, 03, 04 | |\n * | | QQQ | Q1, Q2, Q3, Q4 | |\n * | | QQQQ | 1st quarter, 2nd quarter, ... | 2 |\n * | | QQQQQ | 1, 2, 3, 4 | 4 |\n * | Quarter (stand-alone) | q | 1, 2, 3, 4 | |\n * | | qo | 1st, 2nd, 3rd, 4th | 7 |\n * | | qq | 01, 02, 03, 04 | |\n * | | qqq | Q1, Q2, Q3, Q4 | |\n * | | qqqq | 1st quarter, 2nd quarter, ... | 2 |\n * | | qqqqq | 1, 2, 3, 4 | 4 |\n * | Month (formatting) | M | 1, 2, ..., 12 | |\n * | | Mo | 1st, 2nd, ..., 12th | 7 |\n * | | MM | 01, 02, ..., 12 | |\n * | | MMM | Jan, Feb, ..., Dec | |\n * | | MMMM | January, February, ..., December | 2 |\n * | | MMMMM | J, F, ..., D | |\n * | Month (stand-alone) | L | 1, 2, ..., 12 | |\n * | | Lo | 1st, 2nd, ..., 12th | 7 |\n * | | LL | 01, 02, ..., 12 | |\n * | | LLL | Jan, Feb, ..., Dec | |\n * | | LLLL | January, February, ..., December | 2 |\n * | | LLLLL | J, F, ..., D | |\n * | Local week of year | w | 1, 2, ..., 53 | |\n * | | wo | 1st, 2nd, ..., 53th | 7 |\n * | | ww | 01, 02, ..., 53 | |\n * | ISO week of year | I | 1, 2, ..., 53 | 7 |\n * | | Io | 1st, 2nd, ..., 53th | 7 |\n * | | II | 01, 02, ..., 53 | 7 |\n * | Day of month | d | 1, 2, ..., 31 | |\n * | | do | 1st, 2nd, ..., 31st | 7 |\n * | | dd | 01, 02, ..., 31 | |\n * | Day of year | D | 1, 2, ..., 365, 366 | 9 |\n * | | Do | 1st, 2nd, ..., 365th, 366th | 7 |\n * | | DD | 01, 02, ..., 365, 366 | 9 |\n * | | DDD | 001, 002, ..., 365, 366 | |\n * | | DDDD | ... | 3 |\n * | Day of week (formatting) | E..EEE | Mon, Tue, Wed, ..., Sun | |\n * | | EEEE | Monday, Tuesday, ..., Sunday | 2 |\n * | | EEEEE | M, T, W, T, F, S, S | |\n * | | EEEEEE | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | ISO day of week (formatting) | i | 1, 2, 3, ..., 7 | 7 |\n * | | io | 1st, 2nd, ..., 7th | 7 |\n * | | ii | 01, 02, ..., 07 | 7 |\n * | | iii | Mon, Tue, Wed, ..., Sun | 7 |\n * | | iiii | Monday, Tuesday, ..., Sunday | 2,7 |\n * | | iiiii | M, T, W, T, F, S, S | 7 |\n * | | iiiiii | Mo, Tu, We, Th, Fr, Sa, Su | 7 |\n * | Local day of week (formatting) | e | 2, 3, 4, ..., 1 | |\n * | | eo | 2nd, 3rd, ..., 1st | 7 |\n * | | ee | 02, 03, ..., 01 | |\n * | | eee | Mon, Tue, Wed, ..., Sun | |\n * | | eeee | Monday, Tuesday, ..., Sunday | 2 |\n * | | eeeee | M, T, W, T, F, S, S | |\n * | | eeeeee | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | Local day of week (stand-alone) | c | 2, 3, 4, ..., 1 | |\n * | | co | 2nd, 3rd, ..., 1st | 7 |\n * | | cc | 02, 03, ..., 01 | |\n * | | ccc | Mon, Tue, Wed, ..., Sun | |\n * | | cccc | Monday, Tuesday, ..., Sunday | 2 |\n * | | ccccc | M, T, W, T, F, S, S | |\n * | | cccccc | Mo, Tu, We, Th, Fr, Sa, Su | |\n * | AM, PM | a..aa | AM, PM | |\n * | | aaa | am, pm | |\n * | | aaaa | a.m., p.m. | 2 |\n * | | aaaaa | a, p | |\n * | AM, PM, noon, midnight | b..bb | AM, PM, noon, midnight | |\n * | | bbb | am, pm, noon, midnight | |\n * | | bbbb | a.m., p.m., noon, midnight | 2 |\n * | | bbbbb | a, p, n, mi | |\n * | Flexible day period | B..BBB | at night, in the morning, ... | |\n * | | BBBB | at night, in the morning, ... | 2 |\n * | | BBBBB | at night, in the morning, ... | |\n * | Hour [1-12] | h | 1, 2, ..., 11, 12 | |\n * | | ho | 1st, 2nd, ..., 11th, 12th | 7 |\n * | | hh | 01, 02, ..., 11, 12 | |\n * | Hour [0-23] | H | 0, 1, 2, ..., 23 | |\n * | | Ho | 0th, 1st, 2nd, ..., 23rd | 7 |\n * | | HH | 00, 01, 02, ..., 23 | |\n * | Hour [0-11] | K | 1, 2, ..., 11, 0 | |\n * | | Ko | 1st, 2nd, ..., 11th, 0th | 7 |\n * | | KK | 01, 02, ..., 11, 00 | |\n * | Hour [1-24] | k | 24, 1, 2, ..., 23 | |\n * | | ko | 24th, 1st, 2nd, ..., 23rd | 7 |\n * | | kk | 24, 01, 02, ..., 23 | |\n * | Minute | m | 0, 1, ..., 59 | |\n * | | mo | 0th, 1st, ..., 59th | 7 |\n * | | mm | 00, 01, ..., 59 | |\n * | Second | s | 0, 1, ..., 59 | |\n * | | so | 0th, 1st, ..., 59th | 7 |\n * | | ss | 00, 01, ..., 59 | |\n * | Fraction of second | S | 0, 1, ..., 9 | |\n * | | SS | 00, 01, ..., 99 | |\n * | | SSS | 000, 001, ..., 999 | |\n * | | SSSS | ... | 3 |\n * | Timezone (ISO-8601 w/ Z) | X | -08, +0530, Z | |\n * | | XX | -0800, +0530, Z | |\n * | | XXX | -08:00, +05:30, Z | |\n * | | XXXX | -0800, +0530, Z, +123456 | 2 |\n * | | XXXXX | -08:00, +05:30, Z, +12:34:56 | |\n * | Timezone (ISO-8601 w/o Z) | x | -08, +0530, +00 | |\n * | | xx | -0800, +0530, +0000 | |\n * | | xxx | -08:00, +05:30, +00:00 | 2 |\n * | | xxxx | -0800, +0530, +0000, +123456 | |\n * | | xxxxx | -08:00, +05:30, +00:00, +12:34:56 | |\n * | Timezone (GMT) | O...OOO | GMT-8, GMT+5:30, GMT+0 | |\n * | | OOOO | GMT-08:00, GMT+05:30, GMT+00:00 | 2 |\n * | Timezone (specific non-locat.) | z...zzz | GMT-8, GMT+5:30, GMT+0 | 6 |\n * | | zzzz | GMT-08:00, GMT+05:30, GMT+00:00 | 2,6 |\n * | Seconds timestamp | t | 512969520 | 7 |\n * | | tt | ... | 3,7 |\n * | Milliseconds timestamp | T | 512969520900 | 7 |\n * | | TT | ... | 3,7 |\n * | Long localized date | P | 04/29/1453 | 7 |\n * | | PP | Apr 29, 1453 | 7 |\n * | | PPP | April 29th, 1453 | 7 |\n * | | PPPP | Friday, April 29th, 1453 | 2,7 |\n * | Long localized time | p | 12:00 AM | 7 |\n * | | pp | 12:00:00 AM | 7 |\n * | | ppp | 12:00:00 AM GMT+2 | 7 |\n * | | pppp | 12:00:00 AM GMT+02:00 | 2,7 |\n * | Combination of date and time | Pp | 04/29/1453, 12:00 AM | 7 |\n * | | PPpp | Apr 29, 1453, 12:00:00 AM | 7 |\n * | | PPPppp | April 29th, 1453 at ... | 7 |\n * | | PPPPpppp| Friday, April 29th, 1453 at ... | 2,7 |\n * Notes:\n * 1. \"Formatting\" units (e.g. formatting quarter) in the default en-US locale\n * are the same as \"stand-alone\" units, but are different in some languages.\n * \"Formatting\" units are declined according to the rules of the language\n * in the context of a date. \"Stand-alone\" units are always nominative singular:\n *\n * `format(new Date(2017, 10, 6), 'do LLLL', {locale: cs}) //=> '6. listopad'`\n *\n * `format(new Date(2017, 10, 6), 'do MMMM', {locale: cs}) //=> '6. listopadu'`\n *\n * 2. Any sequence of the identical letters is a pattern, unless it is escaped by\n * the single quote characters (see below).\n * If the sequence is longer than listed in table (e.g. `EEEEEEEEEEE`)\n * the output will be the same as default pattern for this unit, usually\n * the longest one (in case of ISO weekdays, `EEEE`). Default patterns for units\n * are marked with \"2\" in the last column of the table.\n *\n * `format(new Date(2017, 10, 6), 'MMM') //=> 'Nov'`\n *\n * `format(new Date(2017, 10, 6), 'MMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMM') //=> 'N'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMM') //=> 'November'`\n *\n * `format(new Date(2017, 10, 6), 'MMMMMMM') //=> 'November'`\n *\n * 3. Some patterns could be unlimited length (such as `yyyyyyyy`).\n * The output will be padded with zeros to match the length of the pattern.\n *\n * `format(new Date(2017, 10, 6), 'yyyyyyyy') //=> '00002017'`\n *\n * 4. `QQQQQ` and `qqqqq` could be not strictly numerical in some locales.\n * These tokens represent the shortest form of the quarter.\n *\n * 5. The main difference between `y` and `u` patterns are B.C. years:\n *\n * | Year | `y` | `u` |\n * |------|-----|-----|\n * | AC 1 | 1 | 1 |\n * | BC 1 | 1 | 0 |\n * | BC 2 | 2 | -1 |\n *\n * Also `yy` always returns the last two digits of a year,\n * while `uu` pads single digit years to 2 characters and returns other years unchanged:\n *\n * | Year | `yy` | `uu` |\n * |------|------|------|\n * | 1 | 01 | 01 |\n * | 14 | 14 | 14 |\n * | 376 | 76 | 376 |\n * | 1453 | 53 | 1453 |\n *\n * The same difference is true for local and ISO week-numbering years (`Y` and `R`),\n * except local week-numbering years are dependent on `options.weekStartsOn`\n * and `options.firstWeekContainsDate` (compare [getISOWeekYear]{@link https://date-fns.org/docs/getISOWeekYear}\n * and [getWeekYear]{@link https://date-fns.org/docs/getWeekYear}).\n *\n * 6. Specific non-location timezones are currently unavailable in `date-fns`,\n * so right now these tokens fall back to GMT timezones.\n *\n * 7. These patterns are not in the Unicode Technical Standard #35:\n * - `i`: ISO day of week\n * - `I`: ISO week of year\n * - `R`: ISO week-numbering year\n * - `t`: seconds timestamp\n * - `T`: milliseconds timestamp\n * - `o`: ordinal number modifier\n * - `P`: long localized date\n * - `p`: long localized time\n *\n * 8. `YY` and `YYYY` tokens represent week-numbering years but they are often confused with years.\n * You should enable `options.useAdditionalWeekYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * 9. `D` and `DD` tokens represent days of the year but they are often confused with days of the month.\n * You should enable `options.useAdditionalDayOfYearTokens` to use them. See: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n *\n * @param {Date|Number} date - the original date\n * @param {String} format - the string of tokens\n * @param {Object} [options] - an object with options.\n * @param {Locale} [options.locale=defaultLocale] - the locale object. See [Locale]{@link https://date-fns.org/docs/Locale}\n * @param {0|1|2|3|4|5|6} [options.weekStartsOn=0] - the index of the first day of the week (0 - Sunday)\n * @param {Number} [options.firstWeekContainsDate=1] - the day of January, which is\n * @param {Boolean} [options.useAdditionalWeekYearTokens=false] - if true, allows usage of the week-numbering year tokens `YY` and `YYYY`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @param {Boolean} [options.useAdditionalDayOfYearTokens=false] - if true, allows usage of the day of year tokens `D` and `DD`;\n * see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @returns {String} the formatted date string\n * @throws {TypeError} 2 arguments required\n * @throws {RangeError} `date` must not be Invalid Date\n * @throws {RangeError} `options.locale` must contain `localize` property\n * @throws {RangeError} `options.locale` must contain `formatLong` property\n * @throws {RangeError} `options.weekStartsOn` must be between 0 and 6\n * @throws {RangeError} `options.firstWeekContainsDate` must be between 1 and 7\n * @throws {RangeError} use `yyyy` instead of `YYYY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `yy` instead of `YY` for formatting years using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `d` instead of `D` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} use `dd` instead of `DD` for formatting days of the month using [format provided] to the input [input provided]; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md\n * @throws {RangeError} format string contains an unescaped latin alphabet character\n *\n * @example\n * // Represent 11 February 2014 in middle-endian format:\n * const result = format(new Date(2014, 1, 11), 'MM/dd/yyyy')\n * //=> '02/11/2014'\n *\n * @example\n * // Represent 2 July 2014 in Esperanto:\n * import { eoLocale } from 'date-fns/locale/eo'\n * const result = format(new Date(2014, 6, 2), \"do 'de' MMMM yyyy\", {\n * locale: eoLocale\n * })\n * //=> '2-a de julio 2014'\n *\n * @example\n * // Escape string by single quote characters:\n * const result = format(new Date(2014, 6, 2, 15), \"h 'o''clock'\")\n * //=> \"3 o'clock\"\n */\n\nexport default function format(dirtyDate, dirtyFormatStr, options) {\n var _ref, _options$locale, _ref2, _ref3, _ref4, _options$firstWeekCon, _options$locale2, _options$locale2$opti, _defaultOptions$local, _defaultOptions$local2, _ref5, _ref6, _ref7, _options$weekStartsOn, _options$locale3, _options$locale3$opti, _defaultOptions$local3, _defaultOptions$local4;\n requiredArgs(2, arguments);\n var formatStr = String(dirtyFormatStr);\n var defaultOptions = getDefaultOptions();\n var locale = (_ref = (_options$locale = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale !== void 0 ? _options$locale : defaultOptions.locale) !== null && _ref !== void 0 ? _ref : defaultLocale;\n var firstWeekContainsDate = toInteger((_ref2 = (_ref3 = (_ref4 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 ? void 0 : (_options$locale2 = options.locale) === null || _options$locale2 === void 0 ? void 0 : (_options$locale2$opti = _options$locale2.options) === null || _options$locale2$opti === void 0 ? void 0 : _options$locale2$opti.firstWeekContainsDate) !== null && _ref4 !== void 0 ? _ref4 : defaultOptions.firstWeekContainsDate) !== null && _ref3 !== void 0 ? _ref3 : (_defaultOptions$local = defaultOptions.locale) === null || _defaultOptions$local === void 0 ? void 0 : (_defaultOptions$local2 = _defaultOptions$local.options) === null || _defaultOptions$local2 === void 0 ? void 0 : _defaultOptions$local2.firstWeekContainsDate) !== null && _ref2 !== void 0 ? _ref2 : 1);\n\n // Test if weekStartsOn is between 1 and 7 _and_ is not NaN\n if (!(firstWeekContainsDate >= 1 && firstWeekContainsDate <= 7)) {\n throw new RangeError('firstWeekContainsDate must be between 1 and 7 inclusively');\n }\n var weekStartsOn = toInteger((_ref5 = (_ref6 = (_ref7 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 ? void 0 : (_options$locale3 = options.locale) === null || _options$locale3 === void 0 ? void 0 : (_options$locale3$opti = _options$locale3.options) === null || _options$locale3$opti === void 0 ? void 0 : _options$locale3$opti.weekStartsOn) !== null && _ref7 !== void 0 ? _ref7 : defaultOptions.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : (_defaultOptions$local3 = defaultOptions.locale) === null || _defaultOptions$local3 === void 0 ? void 0 : (_defaultOptions$local4 = _defaultOptions$local3.options) === null || _defaultOptions$local4 === void 0 ? void 0 : _defaultOptions$local4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : 0);\n\n // Test if weekStartsOn is between 0 and 6 _and_ is not NaN\n if (!(weekStartsOn >= 0 && weekStartsOn <= 6)) {\n throw new RangeError('weekStartsOn must be between 0 and 6 inclusively');\n }\n if (!locale.localize) {\n throw new RangeError('locale must contain localize property');\n }\n if (!locale.formatLong) {\n throw new RangeError('locale must contain formatLong property');\n }\n var originalDate = toDate(dirtyDate);\n if (!isValid(originalDate)) {\n throw new RangeError('Invalid time value');\n }\n\n // Convert the date in system timezone to the same date in UTC+00:00 timezone.\n // This ensures that when UTC functions will be implemented, locales will be compatible with them.\n // See an issue about UTC functions: https://github.com/date-fns/date-fns/issues/376\n var timezoneOffset = getTimezoneOffsetInMilliseconds(originalDate);\n var utcDate = subMilliseconds(originalDate, timezoneOffset);\n var formatterOptions = {\n firstWeekContainsDate: firstWeekContainsDate,\n weekStartsOn: weekStartsOn,\n locale: locale,\n _originalDate: originalDate\n };\n var result = formatStr.match(longFormattingTokensRegExp).map(function (substring) {\n var firstCharacter = substring[0];\n if (firstCharacter === 'p' || firstCharacter === 'P') {\n var longFormatter = longFormatters[firstCharacter];\n return longFormatter(substring, locale.formatLong);\n }\n return substring;\n }).join('').match(formattingTokensRegExp).map(function (substring) {\n // Replace two single quote characters with one single quote character\n if (substring === \"''\") {\n return \"'\";\n }\n var firstCharacter = substring[0];\n if (firstCharacter === \"'\") {\n return cleanEscapedString(substring);\n }\n var formatter = formatters[firstCharacter];\n if (formatter) {\n if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(substring)) {\n throwProtectedError(substring, dirtyFormatStr, String(dirtyDate));\n }\n return formatter(utcDate, substring, locale.localize, formatterOptions);\n }\n if (firstCharacter.match(unescapedLatinCharacterRegExp)) {\n throw new RangeError('Format string contains an unescaped latin alphabet character `' + firstCharacter + '`');\n }\n return substring;\n }).join('');\n return result;\n}\nfunction cleanEscapedString(input) {\n var matched = input.match(escapedStringRegExp);\n if (!matched) {\n return input;\n }\n return matched[1].replace(doubleQuoteRegExp, \"'\");\n}",null,null,null,"// Generated by CoffeeScript 1.12.7\n(function() {\n exports.defaults = {\n \"0.1\": {\n explicitCharkey: false,\n trim: true,\n normalize: true,\n normalizeTags: false,\n attrkey: \"@\",\n charkey: \"#\",\n explicitArray: false,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: false,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n childkey: '@@',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n emptyTag: ''\n },\n \"0.2\": {\n explicitCharkey: false,\n trim: false,\n normalize: false,\n normalizeTags: false,\n attrkey: \"$\",\n charkey: \"_\",\n explicitArray: true,\n ignoreAttrs: false,\n mergeAttrs: false,\n explicitRoot: true,\n validator: null,\n xmlns: false,\n explicitChildren: false,\n preserveChildrenOrder: false,\n childkey: '$$',\n charsAsChildren: false,\n includeWhiteChars: false,\n async: false,\n strict: true,\n attrNameProcessors: null,\n attrValueProcessors: null,\n tagNameProcessors: null,\n valueProcessors: null,\n rootName: 'root',\n xmldec: {\n 'version': '1.0',\n 'encoding': 'UTF-8',\n 'standalone': true\n },\n doctype: null,\n renderOpts: {\n 'pretty': true,\n 'indent': ' ',\n 'newline': '\\n'\n },\n headless: false,\n chunkSize: 10000,\n emptyTag: '',\n cdata: false\n }\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var assign, getValue, isArray, isEmpty, isFunction, isObject, isPlainObject,\n slice = [].slice,\n hasProp = {}.hasOwnProperty;\n\n assign = function() {\n var i, key, len, source, sources, target;\n target = arguments[0], sources = 2 <= arguments.length ? slice.call(arguments, 1) : [];\n if (isFunction(Object.assign)) {\n Object.assign.apply(null, arguments);\n } else {\n for (i = 0, len = sources.length; i < len; i++) {\n source = sources[i];\n if (source != null) {\n for (key in source) {\n if (!hasProp.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n }\n }\n return target;\n };\n\n isFunction = function(val) {\n return !!val && Object.prototype.toString.call(val) === '[object Function]';\n };\n\n isObject = function(val) {\n var ref;\n return !!val && ((ref = typeof val) === 'function' || ref === 'object');\n };\n\n isArray = function(val) {\n if (isFunction(Array.isArray)) {\n return Array.isArray(val);\n } else {\n return Object.prototype.toString.call(val) === '[object Array]';\n }\n };\n\n isEmpty = function(val) {\n var key;\n if (isArray(val)) {\n return !val.length;\n } else {\n for (key in val) {\n if (!hasProp.call(val, key)) continue;\n return false;\n }\n return true;\n }\n };\n\n isPlainObject = function(val) {\n var ctor, proto;\n return isObject(val) && (proto = Object.getPrototypeOf(val)) && (ctor = proto.constructor) && (typeof ctor === 'function') && (ctor instanceof ctor) && (Function.prototype.toString.call(ctor) === Function.prototype.toString.call(Object));\n };\n\n getValue = function(obj) {\n if (isFunction(obj.valueOf)) {\n return obj.valueOf();\n } else {\n return obj;\n }\n };\n\n module.exports.assign = assign;\n\n module.exports.isFunction = isFunction;\n\n module.exports.isObject = isObject;\n\n module.exports.isArray = isArray;\n\n module.exports.isEmpty = isEmpty;\n\n module.exports.isPlainObject = isPlainObject;\n\n module.exports.getValue = getValue;\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMImplementation;\n\n module.exports = XMLDOMImplementation = (function() {\n function XMLDOMImplementation() {}\n\n XMLDOMImplementation.prototype.hasFeature = function(feature, version) {\n return true;\n };\n\n XMLDOMImplementation.prototype.createDocumentType = function(qualifiedName, publicId, systemId) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createDocument = function(namespaceURI, qualifiedName, doctype) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.createHTMLDocument = function(title) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLDOMImplementation.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLDOMImplementation;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMErrorHandler;\n\n module.exports = XMLDOMErrorHandler = (function() {\n function XMLDOMErrorHandler() {}\n\n XMLDOMErrorHandler.prototype.handleError = function(error) {\n throw new Error(error);\n };\n\n return XMLDOMErrorHandler;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMStringList;\n\n module.exports = XMLDOMStringList = (function() {\n function XMLDOMStringList(arr) {\n this.arr = arr || [];\n }\n\n Object.defineProperty(XMLDOMStringList.prototype, 'length', {\n get: function() {\n return this.arr.length;\n }\n });\n\n XMLDOMStringList.prototype.item = function(index) {\n return this.arr[index] || null;\n };\n\n XMLDOMStringList.prototype.contains = function(str) {\n return this.arr.indexOf(str) !== -1;\n };\n\n return XMLDOMStringList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLDOMConfiguration, XMLDOMErrorHandler, XMLDOMStringList;\n\n XMLDOMErrorHandler = require('./XMLDOMErrorHandler');\n\n XMLDOMStringList = require('./XMLDOMStringList');\n\n module.exports = XMLDOMConfiguration = (function() {\n function XMLDOMConfiguration() {\n var clonedSelf;\n this.defaultParams = {\n \"canonical-form\": false,\n \"cdata-sections\": false,\n \"comments\": false,\n \"datatype-normalization\": false,\n \"element-content-whitespace\": true,\n \"entities\": true,\n \"error-handler\": new XMLDOMErrorHandler(),\n \"infoset\": true,\n \"validate-if-schema\": false,\n \"namespaces\": true,\n \"namespace-declarations\": true,\n \"normalize-characters\": false,\n \"schema-location\": '',\n \"schema-type\": '',\n \"split-cdata-sections\": true,\n \"validate\": false,\n \"well-formed\": true\n };\n this.params = clonedSelf = Object.create(this.defaultParams);\n }\n\n Object.defineProperty(XMLDOMConfiguration.prototype, 'parameterNames', {\n get: function() {\n return new XMLDOMStringList(Object.keys(this.defaultParams));\n }\n });\n\n XMLDOMConfiguration.prototype.getParameter = function(name) {\n if (this.params.hasOwnProperty(name)) {\n return this.params[name];\n } else {\n return null;\n }\n };\n\n XMLDOMConfiguration.prototype.canSetParameter = function(name, value) {\n return true;\n };\n\n XMLDOMConfiguration.prototype.setParameter = function(name, value) {\n if (value != null) {\n return this.params[name] = value;\n } else {\n return delete this.params[name];\n }\n };\n\n return XMLDOMConfiguration;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Element: 1,\n Attribute: 2,\n Text: 3,\n CData: 4,\n EntityReference: 5,\n EntityDeclaration: 6,\n ProcessingInstruction: 7,\n Comment: 8,\n Document: 9,\n DocType: 10,\n DocumentFragment: 11,\n NotationDeclaration: 12,\n Declaration: 201,\n Raw: 202,\n AttributeDeclaration: 203,\n ElementDeclaration: 204,\n Dummy: 205\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLNode;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLAttribute = (function() {\n function XMLAttribute(parent, name, value) {\n this.parent = parent;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.value = this.stringify.attValue(value);\n this.type = NodeType.Attribute;\n this.isId = false;\n this.schemaTypeInfo = null;\n }\n\n Object.defineProperty(XMLAttribute.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'ownerElement', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLAttribute.prototype, 'specified', {\n get: function() {\n return true;\n }\n });\n\n XMLAttribute.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLAttribute.prototype.toString = function(options) {\n return this.options.writer.attribute(this, this.options.writer.filterOptions(options));\n };\n\n XMLAttribute.prototype.debugInfo = function(name) {\n name = name || this.name;\n if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else {\n return \"attribute: {\" + name + \"}, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLAttribute.prototype.isEqualNode = function(node) {\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.value !== this.value) {\n return false;\n }\n return true;\n };\n\n return XMLAttribute;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNamedNodeMap;\n\n module.exports = XMLNamedNodeMap = (function() {\n function XMLNamedNodeMap(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNamedNodeMap.prototype, 'length', {\n get: function() {\n return Object.keys(this.nodes).length || 0;\n }\n });\n\n XMLNamedNodeMap.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItem = function(name) {\n return this.nodes[name];\n };\n\n XMLNamedNodeMap.prototype.setNamedItem = function(node) {\n var oldNode;\n oldNode = this.nodes[node.nodeName];\n this.nodes[node.nodeName] = node;\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.removeNamedItem = function(name) {\n var oldNode;\n oldNode = this.nodes[name];\n delete this.nodes[name];\n return oldNode || null;\n };\n\n XMLNamedNodeMap.prototype.item = function(index) {\n return this.nodes[Object.keys(this.nodes)[index]] || null;\n };\n\n XMLNamedNodeMap.prototype.getNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.setNamedItemNS = function(node) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n XMLNamedNodeMap.prototype.removeNamedItemNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\");\n };\n\n return XMLNamedNodeMap;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLAttribute, XMLElement, XMLNamedNodeMap, XMLNode, getValue, isFunction, isObject, ref,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, getValue = ref.getValue;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLElement = (function(superClass) {\n extend(XMLElement, superClass);\n\n function XMLElement(parent, name, attributes) {\n var child, j, len, ref1;\n XMLElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing element name. \" + this.debugInfo());\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.Element;\n this.attribs = {};\n this.schemaTypeInfo = null;\n if (attributes != null) {\n this.attribute(attributes);\n }\n if (parent.type === NodeType.Document) {\n this.isRoot = true;\n this.documentObject = parent;\n parent.rootObject = this;\n if (parent.children) {\n ref1 = parent.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n if (child.type === NodeType.DocType) {\n child.name = this.name;\n break;\n }\n }\n }\n }\n }\n\n Object.defineProperty(XMLElement.prototype, 'tagName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'namespaceURI', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'prefix', {\n get: function() {\n return '';\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'localName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'id', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'className', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'classList', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLElement.prototype, 'attributes', {\n get: function() {\n if (!this.attributeMap || !this.attributeMap.nodes) {\n this.attributeMap = new XMLNamedNodeMap(this.attribs);\n }\n return this.attributeMap;\n }\n });\n\n XMLElement.prototype.clone = function() {\n var att, attName, clonedSelf, ref1;\n clonedSelf = Object.create(this);\n if (clonedSelf.isRoot) {\n clonedSelf.documentObject = null;\n }\n clonedSelf.attribs = {};\n ref1 = this.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n clonedSelf.attribs[attName] = att.clone();\n }\n clonedSelf.children = [];\n this.children.forEach(function(child) {\n var clonedChild;\n clonedChild = child.clone();\n clonedChild.parent = clonedSelf;\n return clonedSelf.children.push(clonedChild);\n });\n return clonedSelf;\n };\n\n XMLElement.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLElement.prototype.removeAttribute = function(name) {\n var attName, j, len;\n if (name == null) {\n throw new Error(\"Missing attribute name. \" + this.debugInfo());\n }\n name = getValue(name);\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n attName = name[j];\n delete this.attribs[attName];\n }\n } else {\n delete this.attribs[name];\n }\n return this;\n };\n\n XMLElement.prototype.toString = function(options) {\n return this.options.writer.element(this, this.options.writer.filterOptions(options));\n };\n\n XMLElement.prototype.att = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.a = function(name, value) {\n return this.attribute(name, value);\n };\n\n XMLElement.prototype.getAttribute = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].value;\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttribute = function(name, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNode = function(name) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name];\n } else {\n return null;\n }\n };\n\n XMLElement.prototype.setAttributeNode = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNode = function(oldAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNS = function(namespaceURI, qualifiedName, value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.removeAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getAttributeNodeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setAttributeNodeNS = function(newAttr) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.hasAttribute = function(name) {\n return this.attribs.hasOwnProperty(name);\n };\n\n XMLElement.prototype.hasAttributeNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttribute = function(name, isId) {\n if (this.attribs.hasOwnProperty(name)) {\n return this.attribs[name].isId;\n } else {\n return isId;\n }\n };\n\n XMLElement.prototype.setIdAttributeNS = function(namespaceURI, localName, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.setIdAttributeNode = function(idAttr, isId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLElement.prototype.isEqualNode = function(node) {\n var i, j, ref1;\n if (!XMLElement.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.namespaceURI !== this.namespaceURI) {\n return false;\n }\n if (node.prefix !== this.prefix) {\n return false;\n }\n if (node.localName !== this.localName) {\n return false;\n }\n if (node.attribs.length !== this.attribs.length) {\n return false;\n }\n for (i = j = 0, ref1 = this.attribs.length - 1; 0 <= ref1 ? j <= ref1 : j >= ref1; i = 0 <= ref1 ? ++j : --j) {\n if (!this.attribs[i].isEqualNode(node.attribs[i])) {\n return false;\n }\n }\n return true;\n };\n\n return XMLElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLCharacterData, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLCharacterData = (function(superClass) {\n extend(XMLCharacterData, superClass);\n\n function XMLCharacterData(parent) {\n XMLCharacterData.__super__.constructor.call(this, parent);\n this.value = '';\n }\n\n Object.defineProperty(XMLCharacterData.prototype, 'data', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'length', {\n get: function() {\n return this.value.length;\n }\n });\n\n Object.defineProperty(XMLCharacterData.prototype, 'textContent', {\n get: function() {\n return this.value;\n },\n set: function(value) {\n return this.value = value || '';\n }\n });\n\n XMLCharacterData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCharacterData.prototype.substringData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.appendData = function(arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.insertData = function(offset, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.deleteData = function(offset, count) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.replaceData = function(offset, count, arg) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLCharacterData.prototype.isEqualNode = function(node) {\n if (!XMLCharacterData.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.data !== this.data) {\n return false;\n }\n return true;\n };\n\n return XMLCharacterData;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCData, XMLCharacterData,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLCData = (function(superClass) {\n extend(XMLCData, superClass);\n\n function XMLCData(parent, text) {\n XMLCData.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing CDATA text. \" + this.debugInfo());\n }\n this.name = \"#cdata-section\";\n this.type = NodeType.CData;\n this.value = this.stringify.cdata(text);\n }\n\n XMLCData.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLCData.prototype.toString = function(options) {\n return this.options.writer.cdata(this, this.options.writer.filterOptions(options));\n };\n\n return XMLCData;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLComment,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLComment = (function(superClass) {\n extend(XMLComment, superClass);\n\n function XMLComment(parent, text) {\n XMLComment.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing comment text. \" + this.debugInfo());\n }\n this.name = \"#comment\";\n this.type = NodeType.Comment;\n this.value = this.stringify.comment(text);\n }\n\n XMLComment.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLComment.prototype.toString = function(options) {\n return this.options.writer.comment(this, this.options.writer.filterOptions(options));\n };\n\n return XMLComment;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDeclaration, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDeclaration = (function(superClass) {\n extend(XMLDeclaration, superClass);\n\n function XMLDeclaration(parent, version, encoding, standalone) {\n var ref;\n XMLDeclaration.__super__.constructor.call(this, parent);\n if (isObject(version)) {\n ref = version, version = ref.version, encoding = ref.encoding, standalone = ref.standalone;\n }\n if (!version) {\n version = '1.0';\n }\n this.type = NodeType.Declaration;\n this.version = this.stringify.xmlVersion(version);\n if (encoding != null) {\n this.encoding = this.stringify.xmlEncoding(encoding);\n }\n if (standalone != null) {\n this.standalone = this.stringify.xmlStandalone(standalone);\n }\n }\n\n XMLDeclaration.prototype.toString = function(options) {\n return this.options.writer.declaration(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDeclaration;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDAttList = (function(superClass) {\n extend(XMLDTDAttList, superClass);\n\n function XMLDTDAttList(parent, elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n XMLDTDAttList.__super__.constructor.call(this, parent);\n if (elementName == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (attributeName == null) {\n throw new Error(\"Missing DTD attribute name. \" + this.debugInfo(elementName));\n }\n if (!attributeType) {\n throw new Error(\"Missing DTD attribute type. \" + this.debugInfo(elementName));\n }\n if (!defaultValueType) {\n throw new Error(\"Missing DTD attribute default. \" + this.debugInfo(elementName));\n }\n if (defaultValueType.indexOf('#') !== 0) {\n defaultValueType = '#' + defaultValueType;\n }\n if (!defaultValueType.match(/^(#REQUIRED|#IMPLIED|#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Invalid default value type; expected: #REQUIRED, #IMPLIED, #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n if (defaultValue && !defaultValueType.match(/^(#FIXED|#DEFAULT)$/)) {\n throw new Error(\"Default value only applies to #FIXED or #DEFAULT. \" + this.debugInfo(elementName));\n }\n this.elementName = this.stringify.name(elementName);\n this.type = NodeType.AttributeDeclaration;\n this.attributeName = this.stringify.name(attributeName);\n this.attributeType = this.stringify.dtdAttType(attributeType);\n if (defaultValue) {\n this.defaultValue = this.stringify.dtdAttDefault(defaultValue);\n }\n this.defaultValueType = defaultValueType;\n }\n\n XMLDTDAttList.prototype.toString = function(options) {\n return this.options.writer.dtdAttList(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDAttList;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDEntity, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDEntity = (function(superClass) {\n extend(XMLDTDEntity, superClass);\n\n function XMLDTDEntity(parent, pe, name, value) {\n XMLDTDEntity.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD entity name. \" + this.debugInfo(name));\n }\n if (value == null) {\n throw new Error(\"Missing DTD entity value. \" + this.debugInfo(name));\n }\n this.pe = !!pe;\n this.name = this.stringify.name(name);\n this.type = NodeType.EntityDeclaration;\n if (!isObject(value)) {\n this.value = this.stringify.dtdEntityValue(value);\n this.internal = true;\n } else {\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public and/or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n if (value.pubID && !value.sysID) {\n throw new Error(\"System identifier is required for a public external entity. \" + this.debugInfo(name));\n }\n this.internal = false;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n if (value.nData != null) {\n this.nData = this.stringify.dtdNData(value.nData);\n }\n if (this.pe && this.nData) {\n throw new Error(\"Notation declaration is not allowed in a parameter entity. \" + this.debugInfo(name));\n }\n }\n }\n\n Object.defineProperty(XMLDTDEntity.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'notationName', {\n get: function() {\n return this.nData || null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDTDEntity.prototype, 'xmlVersion', {\n get: function() {\n return null;\n }\n });\n\n XMLDTDEntity.prototype.toString = function(options) {\n return this.options.writer.dtdEntity(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDEntity;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDElement, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDElement = (function(superClass) {\n extend(XMLDTDElement, superClass);\n\n function XMLDTDElement(parent, name, value) {\n XMLDTDElement.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD element name. \" + this.debugInfo());\n }\n if (!value) {\n value = '(#PCDATA)';\n }\n if (Array.isArray(value)) {\n value = '(' + value.join(',') + ')';\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.ElementDeclaration;\n this.value = this.stringify.dtdElementValue(value);\n }\n\n XMLDTDElement.prototype.toString = function(options) {\n return this.options.writer.dtdElement(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDElement;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDNotation, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDTDNotation = (function(superClass) {\n extend(XMLDTDNotation, superClass);\n\n function XMLDTDNotation(parent, name, value) {\n XMLDTDNotation.__super__.constructor.call(this, parent);\n if (name == null) {\n throw new Error(\"Missing DTD notation name. \" + this.debugInfo(name));\n }\n if (!value.pubID && !value.sysID) {\n throw new Error(\"Public or system identifiers are required for an external entity. \" + this.debugInfo(name));\n }\n this.name = this.stringify.name(name);\n this.type = NodeType.NotationDeclaration;\n if (value.pubID != null) {\n this.pubID = this.stringify.dtdPubID(value.pubID);\n }\n if (value.sysID != null) {\n this.sysID = this.stringify.dtdSysID(value.sysID);\n }\n }\n\n Object.defineProperty(XMLDTDNotation.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDTDNotation.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n XMLDTDNotation.prototype.toString = function(options) {\n return this.options.writer.dtdNotation(this, this.options.writer.filterOptions(options));\n };\n\n return XMLDTDNotation;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDocType, XMLNamedNodeMap, XMLNode, isObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isObject = require('./Utility').isObject;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n\n module.exports = XMLDocType = (function(superClass) {\n extend(XMLDocType, superClass);\n\n function XMLDocType(parent, pubID, sysID) {\n var child, i, len, ref, ref1, ref2;\n XMLDocType.__super__.constructor.call(this, parent);\n this.type = NodeType.DocType;\n if (parent.children) {\n ref = parent.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.Element) {\n this.name = child.name;\n break;\n }\n }\n }\n this.documentObject = parent;\n if (isObject(pubID)) {\n ref1 = pubID, pubID = ref1.pubID, sysID = ref1.sysID;\n }\n if (sysID == null) {\n ref2 = [pubID, sysID], sysID = ref2[0], pubID = ref2[1];\n }\n if (pubID != null) {\n this.pubID = this.stringify.dtdPubID(pubID);\n }\n if (sysID != null) {\n this.sysID = this.stringify.dtdSysID(sysID);\n }\n }\n\n Object.defineProperty(XMLDocType.prototype, 'entities', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if ((child.type === NodeType.EntityDeclaration) && !child.pe) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'notations', {\n get: function() {\n var child, i, len, nodes, ref;\n nodes = {};\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.NotationDeclaration) {\n nodes[child.name] = child;\n }\n }\n return new XMLNamedNodeMap(nodes);\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'publicId', {\n get: function() {\n return this.pubID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'systemId', {\n get: function() {\n return this.sysID;\n }\n });\n\n Object.defineProperty(XMLDocType.prototype, 'internalSubset', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLDocType.prototype.element = function(name, value) {\n var child;\n child = new XMLDTDElement(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var child;\n child = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.entity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, false, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.pEntity = function(name, value) {\n var child;\n child = new XMLDTDEntity(this, true, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.notation = function(name, value) {\n var child;\n child = new XMLDTDNotation(this, name, value);\n this.children.push(child);\n return this;\n };\n\n XMLDocType.prototype.toString = function(options) {\n return this.options.writer.docType(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocType.prototype.ele = function(name, value) {\n return this.element(name, value);\n };\n\n XMLDocType.prototype.att = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n return this.attList(elementName, attributeName, attributeType, defaultValueType, defaultValue);\n };\n\n XMLDocType.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocType.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocType.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n XMLDocType.prototype.up = function() {\n return this.root() || this.documentObject;\n };\n\n XMLDocType.prototype.isEqualNode = function(node) {\n if (!XMLDocType.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.name !== this.name) {\n return false;\n }\n if (node.publicId !== this.publicId) {\n return false;\n }\n if (node.systemId !== this.systemId) {\n return false;\n }\n return true;\n };\n\n return XMLDocType;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLNode, XMLRaw,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLNode = require('./XMLNode');\n\n module.exports = XMLRaw = (function(superClass) {\n extend(XMLRaw, superClass);\n\n function XMLRaw(parent, text) {\n XMLRaw.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing raw text. \" + this.debugInfo());\n }\n this.type = NodeType.Raw;\n this.value = this.stringify.raw(text);\n }\n\n XMLRaw.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLRaw.prototype.toString = function(options) {\n return this.options.writer.raw(this, this.options.writer.filterOptions(options));\n };\n\n return XMLRaw;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLText,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLText = (function(superClass) {\n extend(XMLText, superClass);\n\n function XMLText(parent, text) {\n XMLText.__super__.constructor.call(this, parent);\n if (text == null) {\n throw new Error(\"Missing element text. \" + this.debugInfo());\n }\n this.name = \"#text\";\n this.type = NodeType.Text;\n this.value = this.stringify.text(text);\n }\n\n Object.defineProperty(XMLText.prototype, 'isElementContentWhitespace', {\n get: function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n Object.defineProperty(XMLText.prototype, 'wholeText', {\n get: function() {\n var next, prev, str;\n str = '';\n prev = this.previousSibling;\n while (prev) {\n str = prev.data + str;\n prev = prev.previousSibling;\n }\n str += this.data;\n next = this.nextSibling;\n while (next) {\n str = str + next.data;\n next = next.nextSibling;\n }\n return str;\n }\n });\n\n XMLText.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLText.prototype.toString = function(options) {\n return this.options.writer.text(this, this.options.writer.filterOptions(options));\n };\n\n XMLText.prototype.splitText = function(offset) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLText.prototype.replaceWholeText = function(content) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLText;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLCharacterData, XMLProcessingInstruction,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLCharacterData = require('./XMLCharacterData');\n\n module.exports = XMLProcessingInstruction = (function(superClass) {\n extend(XMLProcessingInstruction, superClass);\n\n function XMLProcessingInstruction(parent, target, value) {\n XMLProcessingInstruction.__super__.constructor.call(this, parent);\n if (target == null) {\n throw new Error(\"Missing instruction target. \" + this.debugInfo());\n }\n this.type = NodeType.ProcessingInstruction;\n this.target = this.stringify.insTarget(target);\n this.name = this.target;\n if (value) {\n this.value = this.stringify.insValue(value);\n }\n }\n\n XMLProcessingInstruction.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLProcessingInstruction.prototype.toString = function(options) {\n return this.options.writer.processingInstruction(this, this.options.writer.filterOptions(options));\n };\n\n XMLProcessingInstruction.prototype.isEqualNode = function(node) {\n if (!XMLProcessingInstruction.__super__.isEqualNode.apply(this, arguments).isEqualNode(node)) {\n return false;\n }\n if (node.target !== this.target) {\n return false;\n }\n return true;\n };\n\n return XMLProcessingInstruction;\n\n })(XMLCharacterData);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDummy, XMLNode,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n module.exports = XMLDummy = (function(superClass) {\n extend(XMLDummy, superClass);\n\n function XMLDummy(parent) {\n XMLDummy.__super__.constructor.call(this, parent);\n this.type = NodeType.Dummy;\n }\n\n XMLDummy.prototype.clone = function() {\n return Object.create(this);\n };\n\n XMLDummy.prototype.toString = function(options) {\n return '';\n };\n\n return XMLDummy;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLNodeList;\n\n module.exports = XMLNodeList = (function() {\n function XMLNodeList(nodes) {\n this.nodes = nodes;\n }\n\n Object.defineProperty(XMLNodeList.prototype, 'length', {\n get: function() {\n return this.nodes.length || 0;\n }\n });\n\n XMLNodeList.prototype.clone = function() {\n return this.nodes = null;\n };\n\n XMLNodeList.prototype.item = function(index) {\n return this.nodes[index] || null;\n };\n\n return XMLNodeList;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n Disconnected: 1,\n Preceding: 2,\n Following: 4,\n Contains: 8,\n ContainedBy: 16,\n ImplementationSpecific: 32\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var DocumentPosition, NodeType, XMLCData, XMLComment, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLNamedNodeMap, XMLNode, XMLNodeList, XMLProcessingInstruction, XMLRaw, XMLText, getValue, isEmpty, isFunction, isObject, ref1,\n hasProp = {}.hasOwnProperty;\n\n ref1 = require('./Utility'), isObject = ref1.isObject, isFunction = ref1.isFunction, isEmpty = ref1.isEmpty, getValue = ref1.getValue;\n\n XMLElement = null;\n\n XMLCData = null;\n\n XMLComment = null;\n\n XMLDeclaration = null;\n\n XMLDocType = null;\n\n XMLRaw = null;\n\n XMLText = null;\n\n XMLProcessingInstruction = null;\n\n XMLDummy = null;\n\n NodeType = null;\n\n XMLNodeList = null;\n\n XMLNamedNodeMap = null;\n\n DocumentPosition = null;\n\n module.exports = XMLNode = (function() {\n function XMLNode(parent1) {\n this.parent = parent1;\n if (this.parent) {\n this.options = this.parent.options;\n this.stringify = this.parent.stringify;\n }\n this.value = null;\n this.children = [];\n this.baseURI = null;\n if (!XMLElement) {\n XMLElement = require('./XMLElement');\n XMLCData = require('./XMLCData');\n XMLComment = require('./XMLComment');\n XMLDeclaration = require('./XMLDeclaration');\n XMLDocType = require('./XMLDocType');\n XMLRaw = require('./XMLRaw');\n XMLText = require('./XMLText');\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n XMLDummy = require('./XMLDummy');\n NodeType = require('./NodeType');\n XMLNodeList = require('./XMLNodeList');\n XMLNamedNodeMap = require('./XMLNamedNodeMap');\n DocumentPosition = require('./DocumentPosition');\n }\n }\n\n Object.defineProperty(XMLNode.prototype, 'nodeName', {\n get: function() {\n return this.name;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeType', {\n get: function() {\n return this.type;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nodeValue', {\n get: function() {\n return this.value;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'parentNode', {\n get: function() {\n return this.parent;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'childNodes', {\n get: function() {\n if (!this.childNodeList || !this.childNodeList.nodes) {\n this.childNodeList = new XMLNodeList(this.children);\n }\n return this.childNodeList;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'firstChild', {\n get: function() {\n return this.children[0] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'lastChild', {\n get: function() {\n return this.children[this.children.length - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'previousSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i - 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'nextSibling', {\n get: function() {\n var i;\n i = this.parent.children.indexOf(this);\n return this.parent.children[i + 1] || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'ownerDocument', {\n get: function() {\n return this.document() || null;\n }\n });\n\n Object.defineProperty(XMLNode.prototype, 'textContent', {\n get: function() {\n var child, j, len, ref2, str;\n if (this.nodeType === NodeType.Element || this.nodeType === NodeType.DocumentFragment) {\n str = '';\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (child.textContent) {\n str += child.textContent;\n }\n }\n return str;\n } else {\n return null;\n }\n },\n set: function(value) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n }\n });\n\n XMLNode.prototype.setParent = function(parent) {\n var child, j, len, ref2, results;\n this.parent = parent;\n if (parent) {\n this.options = parent.options;\n this.stringify = parent.stringify;\n }\n ref2 = this.children;\n results = [];\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n results.push(child.setParent(this));\n }\n return results;\n };\n\n XMLNode.prototype.element = function(name, attributes, text) {\n var childNode, item, j, k, key, lastChild, len, len1, ref2, ref3, val;\n lastChild = null;\n if (attributes === null && (text == null)) {\n ref2 = [{}, null], attributes = ref2[0], text = ref2[1];\n }\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref3 = [attributes, text], text = ref3[0], attributes = ref3[1];\n }\n if (name != null) {\n name = getValue(name);\n }\n if (Array.isArray(name)) {\n for (j = 0, len = name.length; j < len; j++) {\n item = name[j];\n lastChild = this.element(item);\n }\n } else if (isFunction(name)) {\n lastChild = this.element(name.apply());\n } else if (isObject(name)) {\n for (key in name) {\n if (!hasProp.call(name, key)) continue;\n val = name[key];\n if (isFunction(val)) {\n val = val.apply();\n }\n if (!this.options.ignoreDecorators && this.stringify.convertAttKey && key.indexOf(this.stringify.convertAttKey) === 0) {\n lastChild = this.attribute(key.substr(this.stringify.convertAttKey.length), val);\n } else if (!this.options.separateArrayItems && Array.isArray(val) && isEmpty(val)) {\n lastChild = this.dummy();\n } else if (isObject(val) && isEmpty(val)) {\n lastChild = this.element(key);\n } else if (!this.options.keepNullNodes && (val == null)) {\n lastChild = this.dummy();\n } else if (!this.options.separateArrayItems && Array.isArray(val)) {\n for (k = 0, len1 = val.length; k < len1; k++) {\n item = val[k];\n childNode = {};\n childNode[key] = item;\n lastChild = this.element(childNode);\n }\n } else if (isObject(val)) {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && key.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.element(val);\n } else {\n lastChild = this.element(key);\n lastChild.element(val);\n }\n } else {\n lastChild = this.element(key, val);\n }\n }\n } else if (!this.options.keepNullNodes && text === null) {\n lastChild = this.dummy();\n } else {\n if (!this.options.ignoreDecorators && this.stringify.convertTextKey && name.indexOf(this.stringify.convertTextKey) === 0) {\n lastChild = this.text(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCDataKey && name.indexOf(this.stringify.convertCDataKey) === 0) {\n lastChild = this.cdata(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertCommentKey && name.indexOf(this.stringify.convertCommentKey) === 0) {\n lastChild = this.comment(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertRawKey && name.indexOf(this.stringify.convertRawKey) === 0) {\n lastChild = this.raw(text);\n } else if (!this.options.ignoreDecorators && this.stringify.convertPIKey && name.indexOf(this.stringify.convertPIKey) === 0) {\n lastChild = this.instruction(name.substr(this.stringify.convertPIKey.length), text);\n } else {\n lastChild = this.node(name, attributes, text);\n }\n }\n if (lastChild == null) {\n throw new Error(\"Could not create any elements with: \" + name + \". \" + this.debugInfo());\n }\n return lastChild;\n };\n\n XMLNode.prototype.insertBefore = function(name, attributes, text) {\n var child, i, newChild, refChild, removed;\n if (name != null ? name.type : void 0) {\n newChild = name;\n refChild = attributes;\n newChild.setParent(this);\n if (refChild) {\n i = children.indexOf(refChild);\n removed = children.splice(i);\n children.push(newChild);\n Array.prototype.push.apply(children, removed);\n } else {\n children.push(newChild);\n }\n return newChild;\n } else {\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n }\n };\n\n XMLNode.prototype.insertAfter = function(name, attributes, text) {\n var child, i, removed;\n if (this.isRoot) {\n throw new Error(\"Cannot insert elements at root level. \" + this.debugInfo(name));\n }\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.element(name, attributes, text);\n Array.prototype.push.apply(this.parent.children, removed);\n return child;\n };\n\n XMLNode.prototype.remove = function() {\n var i, ref2;\n if (this.isRoot) {\n throw new Error(\"Cannot remove the root element. \" + this.debugInfo());\n }\n i = this.parent.children.indexOf(this);\n [].splice.apply(this.parent.children, [i, i - i + 1].concat(ref2 = [])), ref2;\n return this.parent;\n };\n\n XMLNode.prototype.node = function(name, attributes, text) {\n var child, ref2;\n if (name != null) {\n name = getValue(name);\n }\n attributes || (attributes = {});\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref2 = [attributes, text], text = ref2[0], attributes = ref2[1];\n }\n child = new XMLElement(this, name, attributes);\n if (text != null) {\n child.text(text);\n }\n this.children.push(child);\n return child;\n };\n\n XMLNode.prototype.text = function(value) {\n var child;\n if (isObject(value)) {\n this.element(value);\n }\n child = new XMLText(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.cdata = function(value) {\n var child;\n child = new XMLCData(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.comment = function(value) {\n var child;\n child = new XMLComment(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.commentBefore = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.commentAfter = function(value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.comment(value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.raw = function(value) {\n var child;\n child = new XMLRaw(this, value);\n this.children.push(child);\n return this;\n };\n\n XMLNode.prototype.dummy = function() {\n var child;\n child = new XMLDummy(this);\n return child;\n };\n\n XMLNode.prototype.instruction = function(target, value) {\n var insTarget, insValue, instruction, j, len;\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (j = 0, len = target.length; j < len; j++) {\n insTarget = target[j];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n instruction = new XMLProcessingInstruction(this, target, value);\n this.children.push(instruction);\n }\n return this;\n };\n\n XMLNode.prototype.instructionBefore = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.instructionAfter = function(target, value) {\n var child, i, removed;\n i = this.parent.children.indexOf(this);\n removed = this.parent.children.splice(i + 1);\n child = this.parent.instruction(target, value);\n Array.prototype.push.apply(this.parent.children, removed);\n return this;\n };\n\n XMLNode.prototype.declaration = function(version, encoding, standalone) {\n var doc, xmldec;\n doc = this.document();\n xmldec = new XMLDeclaration(doc, version, encoding, standalone);\n if (doc.children.length === 0) {\n doc.children.unshift(xmldec);\n } else if (doc.children[0].type === NodeType.Declaration) {\n doc.children[0] = xmldec;\n } else {\n doc.children.unshift(xmldec);\n }\n return doc.root() || doc;\n };\n\n XMLNode.prototype.dtd = function(pubID, sysID) {\n var child, doc, doctype, i, j, k, len, len1, ref2, ref3;\n doc = this.document();\n doctype = new XMLDocType(doc, pubID, sysID);\n ref2 = doc.children;\n for (i = j = 0, len = ref2.length; j < len; i = ++j) {\n child = ref2[i];\n if (child.type === NodeType.DocType) {\n doc.children[i] = doctype;\n return doctype;\n }\n }\n ref3 = doc.children;\n for (i = k = 0, len1 = ref3.length; k < len1; i = ++k) {\n child = ref3[i];\n if (child.isRoot) {\n doc.children.splice(i, 0, doctype);\n return doctype;\n }\n }\n doc.children.push(doctype);\n return doctype;\n };\n\n XMLNode.prototype.up = function() {\n if (this.isRoot) {\n throw new Error(\"The root node has no parent. Use doc() if you need to get the document object.\");\n }\n return this.parent;\n };\n\n XMLNode.prototype.root = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node.rootObject;\n } else if (node.isRoot) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.document = function() {\n var node;\n node = this;\n while (node) {\n if (node.type === NodeType.Document) {\n return node;\n } else {\n node = node.parent;\n }\n }\n };\n\n XMLNode.prototype.end = function(options) {\n return this.document().end(options);\n };\n\n XMLNode.prototype.prev = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i < 1) {\n throw new Error(\"Already at the first node. \" + this.debugInfo());\n }\n return this.parent.children[i - 1];\n };\n\n XMLNode.prototype.next = function() {\n var i;\n i = this.parent.children.indexOf(this);\n if (i === -1 || i === this.parent.children.length - 1) {\n throw new Error(\"Already at the last node. \" + this.debugInfo());\n }\n return this.parent.children[i + 1];\n };\n\n XMLNode.prototype.importDocument = function(doc) {\n var clonedRoot;\n clonedRoot = doc.root().clone();\n clonedRoot.parent = this;\n clonedRoot.isRoot = false;\n this.children.push(clonedRoot);\n return this;\n };\n\n XMLNode.prototype.debugInfo = function(name) {\n var ref2, ref3;\n name = name || this.name;\n if ((name == null) && !((ref2 = this.parent) != null ? ref2.name : void 0)) {\n return \"\";\n } else if (name == null) {\n return \"parent: <\" + this.parent.name + \">\";\n } else if (!((ref3 = this.parent) != null ? ref3.name : void 0)) {\n return \"node: <\" + name + \">\";\n } else {\n return \"node: <\" + name + \">, parent: <\" + this.parent.name + \">\";\n }\n };\n\n XMLNode.prototype.ele = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.doc = function() {\n return this.document();\n };\n\n XMLNode.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLNode.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLNode.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLNode.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLNode.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLNode.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLNode.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLNode.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLNode.prototype.u = function() {\n return this.up();\n };\n\n XMLNode.prototype.importXMLBuilder = function(doc) {\n return this.importDocument(doc);\n };\n\n XMLNode.prototype.replaceChild = function(newChild, oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.removeChild = function(oldChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.appendChild = function(newChild) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.hasChildNodes = function() {\n return this.children.length !== 0;\n };\n\n XMLNode.prototype.cloneNode = function(deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.normalize = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isSupported = function(feature, version) {\n return true;\n };\n\n XMLNode.prototype.hasAttributes = function() {\n return this.attribs.length !== 0;\n };\n\n XMLNode.prototype.compareDocumentPosition = function(other) {\n var ref, res;\n ref = this;\n if (ref === other) {\n return 0;\n } else if (this.document() !== other.document()) {\n res = DocumentPosition.Disconnected | DocumentPosition.ImplementationSpecific;\n if (Math.random() < 0.5) {\n res |= DocumentPosition.Preceding;\n } else {\n res |= DocumentPosition.Following;\n }\n return res;\n } else if (ref.isAncestor(other)) {\n return DocumentPosition.Contains | DocumentPosition.Preceding;\n } else if (ref.isDescendant(other)) {\n return DocumentPosition.Contains | DocumentPosition.Following;\n } else if (ref.isPreceding(other)) {\n return DocumentPosition.Preceding;\n } else {\n return DocumentPosition.Following;\n }\n };\n\n XMLNode.prototype.isSameNode = function(other) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupPrefix = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isDefaultNamespace = function(namespaceURI) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.lookupNamespaceURI = function(prefix) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.isEqualNode = function(node) {\n var i, j, ref2;\n if (node.nodeType !== this.nodeType) {\n return false;\n }\n if (node.children.length !== this.children.length) {\n return false;\n }\n for (i = j = 0, ref2 = this.children.length - 1; 0 <= ref2 ? j <= ref2 : j >= ref2; i = 0 <= ref2 ? ++j : --j) {\n if (!this.children[i].isEqualNode(node.children[i])) {\n return false;\n }\n }\n return true;\n };\n\n XMLNode.prototype.getFeature = function(feature, version) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.setUserData = function(key, data, handler) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.getUserData = function(key) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLNode.prototype.contains = function(other) {\n if (!other) {\n return false;\n }\n return other === this || this.isDescendant(other);\n };\n\n XMLNode.prototype.isDescendant = function(node) {\n var child, isDescendantChild, j, len, ref2;\n ref2 = this.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (node === child) {\n return true;\n }\n isDescendantChild = child.isDescendant(node);\n if (isDescendantChild) {\n return true;\n }\n }\n return false;\n };\n\n XMLNode.prototype.isAncestor = function(node) {\n return node.isDescendant(this);\n };\n\n XMLNode.prototype.isPreceding = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos < thisPos;\n }\n };\n\n XMLNode.prototype.isFollowing = function(node) {\n var nodePos, thisPos;\n nodePos = this.treePosition(node);\n thisPos = this.treePosition(this);\n if (nodePos === -1 || thisPos === -1) {\n return false;\n } else {\n return nodePos > thisPos;\n }\n };\n\n XMLNode.prototype.treePosition = function(node) {\n var found, pos;\n pos = 0;\n found = false;\n this.foreachTreeNode(this.document(), function(childNode) {\n pos++;\n if (!found && childNode === node) {\n return found = true;\n }\n });\n if (found) {\n return pos;\n } else {\n return -1;\n }\n };\n\n XMLNode.prototype.foreachTreeNode = function(node, func) {\n var child, j, len, ref2, res;\n node || (node = this.document());\n ref2 = node.children;\n for (j = 0, len = ref2.length; j < len; j++) {\n child = ref2[j];\n if (res = func(child)) {\n return res;\n } else {\n res = this.foreachTreeNode(child, func);\n if (res) {\n return res;\n }\n }\n }\n };\n\n return XMLNode;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringifier,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n hasProp = {}.hasOwnProperty;\n\n module.exports = XMLStringifier = (function() {\n function XMLStringifier(options) {\n this.assertLegalName = bind(this.assertLegalName, this);\n this.assertLegalChar = bind(this.assertLegalChar, this);\n var key, ref, value;\n options || (options = {});\n this.options = options;\n if (!this.options.version) {\n this.options.version = '1.0';\n }\n ref = options.stringify || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[key] = value;\n }\n }\n\n XMLStringifier.prototype.name = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalName('' + val || '');\n };\n\n XMLStringifier.prototype.text = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.textEscape('' + val || ''));\n };\n\n XMLStringifier.prototype.cdata = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n val = val.replace(']]>', ']]]]><![CDATA[>');\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.comment = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/--/)) {\n throw new Error(\"Comment text cannot contain double-hypen: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.raw = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return '' + val || '';\n };\n\n XMLStringifier.prototype.attValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar(this.attEscape(val = '' + val || ''));\n };\n\n XMLStringifier.prototype.insTarget = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.insValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (val.match(/\\?>/)) {\n throw new Error(\"Invalid processing instruction value: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlVersion = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/1\\.[0-9]+/)) {\n throw new Error(\"Invalid version number: \" + val);\n }\n return val;\n };\n\n XMLStringifier.prototype.xmlEncoding = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n val = '' + val || '';\n if (!val.match(/^[A-Za-z](?:[A-Za-z0-9._-])*$/)) {\n throw new Error(\"Invalid encoding: \" + val);\n }\n return this.assertLegalChar(val);\n };\n\n XMLStringifier.prototype.xmlStandalone = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n if (val) {\n return \"yes\";\n } else {\n return \"no\";\n }\n };\n\n XMLStringifier.prototype.dtdPubID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdSysID = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdElementValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttType = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdAttDefault = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdEntityValue = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.dtdNData = function(val) {\n if (this.options.noValidation) {\n return val;\n }\n return this.assertLegalChar('' + val || '');\n };\n\n XMLStringifier.prototype.convertAttKey = '@';\n\n XMLStringifier.prototype.convertPIKey = '?';\n\n XMLStringifier.prototype.convertTextKey = '#text';\n\n XMLStringifier.prototype.convertCDataKey = '#cdata';\n\n XMLStringifier.prototype.convertCommentKey = '#comment';\n\n XMLStringifier.prototype.convertRawKey = '#raw';\n\n XMLStringifier.prototype.assertLegalChar = function(str) {\n var regex, res;\n if (this.options.noValidation) {\n return str;\n }\n regex = '';\n if (this.options.version === '1.0') {\n regex = /[\\0-\\x08\\x0B\\f\\x0E-\\x1F\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n } else if (this.options.version === '1.1') {\n regex = /[\\0\\uFFFE\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/;\n if (res = str.match(regex)) {\n throw new Error(\"Invalid character in string: \" + str + \" at index \" + res.index);\n }\n }\n return str;\n };\n\n XMLStringifier.prototype.assertLegalName = function(str) {\n var regex;\n if (this.options.noValidation) {\n return str;\n }\n this.assertLegalChar(str);\n regex = /^([:A-Z_a-z\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])([\\x2D\\.0-:A-Z_a-z\\xB7\\xC0-\\xD6\\xD8-\\xF6\\xF8-\\u037D\\u037F-\\u1FFF\\u200C\\u200D\\u203F\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]|[\\uD800-\\uDB7F][\\uDC00-\\uDFFF])*$/;\n if (!str.match(regex)) {\n throw new Error(\"Invalid character in name\");\n }\n return str;\n };\n\n XMLStringifier.prototype.textEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/>/g, '>').replace(/\\r/g, '
');\n };\n\n XMLStringifier.prototype.attEscape = function(str) {\n var ampregex;\n if (this.options.noValidation) {\n return str;\n }\n ampregex = this.options.noDoubleEncoding ? /(?!&\\S+;)&/g : /&/g;\n return str.replace(ampregex, '&').replace(/</g, '<').replace(/\"/g, '"').replace(/\\t/g, '	').replace(/\\n/g, '
').replace(/\\r/g, '
');\n };\n\n return XMLStringifier;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n module.exports = {\n None: 0,\n OpenTag: 1,\n InsideTag: 2,\n CloseTag: 3\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDummy, XMLElement, XMLProcessingInstruction, XMLRaw, XMLText, XMLWriterBase, assign,\n hasProp = {}.hasOwnProperty;\n\n assign = require('./Utility').assign;\n\n NodeType = require('./NodeType');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLElement = require('./XMLElement');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDummy = require('./XMLDummy');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLWriterBase = (function() {\n function XMLWriterBase(options) {\n var key, ref, value;\n options || (options = {});\n this.options = options;\n ref = options.writer || {};\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this[\"_\" + key] = this[key];\n this[key] = value;\n }\n }\n\n XMLWriterBase.prototype.filterOptions = function(options) {\n var filteredOptions, ref, ref1, ref2, ref3, ref4, ref5, ref6;\n options || (options = {});\n options = assign({}, this.options, options);\n filteredOptions = {\n writer: this\n };\n filteredOptions.pretty = options.pretty || false;\n filteredOptions.allowEmpty = options.allowEmpty || false;\n filteredOptions.indent = (ref = options.indent) != null ? ref : ' ';\n filteredOptions.newline = (ref1 = options.newline) != null ? ref1 : '\\n';\n filteredOptions.offset = (ref2 = options.offset) != null ? ref2 : 0;\n filteredOptions.dontPrettyTextNodes = (ref3 = (ref4 = options.dontPrettyTextNodes) != null ? ref4 : options.dontprettytextnodes) != null ? ref3 : 0;\n filteredOptions.spaceBeforeSlash = (ref5 = (ref6 = options.spaceBeforeSlash) != null ? ref6 : options.spacebeforeslash) != null ? ref5 : '';\n if (filteredOptions.spaceBeforeSlash === true) {\n filteredOptions.spaceBeforeSlash = ' ';\n }\n filteredOptions.suppressPrettyCount = 0;\n filteredOptions.user = {};\n filteredOptions.state = WriterState.None;\n return filteredOptions;\n };\n\n XMLWriterBase.prototype.indent = function(node, options, level) {\n var indentLevel;\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else if (options.pretty) {\n indentLevel = (level || 0) + options.offset + 1;\n if (indentLevel > 0) {\n return new Array(indentLevel).join(options.indent);\n }\n }\n return '';\n };\n\n XMLWriterBase.prototype.endline = function(node, options, level) {\n if (!options.pretty || options.suppressPrettyCount) {\n return '';\n } else {\n return options.newline;\n }\n };\n\n XMLWriterBase.prototype.attribute = function(att, options, level) {\n var r;\n this.openAttribute(att, options, level);\n r = ' ' + att.name + '=\"' + att.value + '\"';\n this.closeAttribute(att, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.cdata = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<![CDATA[';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ']]>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.comment = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!-- ';\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += ' -->' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.declaration = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?xml';\n options.state = WriterState.InsideTag;\n r += ' version=\"' + node.version + '\"';\n if (node.encoding != null) {\n r += ' encoding=\"' + node.encoding + '\"';\n }\n if (node.standalone != null) {\n r += ' standalone=\"' + node.standalone + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.docType = function(node, options, level) {\n var child, i, len, r, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n r += '<!DOCTYPE ' + node.root().name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children.length > 0) {\n r += ' [';\n r += this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += ']';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, i, j, len, len1, name, prettySuppressed, r, ref, ref1, ref2;\n level || (level = 0);\n prettySuppressed = false;\n r = '';\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r += this.indent(node, options, level) + '<' + node.name;\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n r += this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n r += '>';\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '/>' + this.endline(node, options, level);\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n r += '>';\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n r += this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n r += '</' + node.name + '>' + this.endline(node, options, level);\n } else {\n if (options.dontPrettyTextNodes) {\n ref1 = node.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n if ((child.type === NodeType.Text || child.type === NodeType.Raw) && (child.value != null)) {\n options.suppressPrettyCount++;\n prettySuppressed = true;\n break;\n }\n }\n }\n r += '>' + this.endline(node, options, level);\n options.state = WriterState.InsideTag;\n ref2 = node.children;\n for (j = 0, len1 = ref2.length; j < len1; j++) {\n child = ref2[j];\n r += this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n r += this.indent(node, options, level) + '</' + node.name + '>';\n if (prettySuppressed) {\n options.suppressPrettyCount--;\n }\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n }\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.writeChildNode = function(node, options, level) {\n switch (node.type) {\n case NodeType.CData:\n return this.cdata(node, options, level);\n case NodeType.Comment:\n return this.comment(node, options, level);\n case NodeType.Element:\n return this.element(node, options, level);\n case NodeType.Raw:\n return this.raw(node, options, level);\n case NodeType.Text:\n return this.text(node, options, level);\n case NodeType.ProcessingInstruction:\n return this.processingInstruction(node, options, level);\n case NodeType.Dummy:\n return '';\n case NodeType.Declaration:\n return this.declaration(node, options, level);\n case NodeType.DocType:\n return this.docType(node, options, level);\n case NodeType.AttributeDeclaration:\n return this.dtdAttList(node, options, level);\n case NodeType.ElementDeclaration:\n return this.dtdElement(node, options, level);\n case NodeType.EntityDeclaration:\n return this.dtdEntity(node, options, level);\n case NodeType.NotationDeclaration:\n return this.dtdNotation(node, options, level);\n default:\n throw new Error(\"Unknown XML node type: \" + node.constructor.name);\n }\n };\n\n XMLWriterBase.prototype.processingInstruction = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<?';\n options.state = WriterState.InsideTag;\n r += node.target;\n if (node.value) {\n r += ' ' + node.value;\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '?>';\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.raw = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.text = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level);\n options.state = WriterState.InsideTag;\n r += node.value;\n options.state = WriterState.CloseTag;\n r += this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdAttList = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ATTLIST';\n options.state = WriterState.InsideTag;\n r += ' ' + node.elementName + ' ' + node.attributeName + ' ' + node.attributeType;\n if (node.defaultValueType !== '#DEFAULT') {\n r += ' ' + node.defaultValueType;\n }\n if (node.defaultValue) {\n r += ' \"' + node.defaultValue + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdElement = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ELEMENT';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name + ' ' + node.value;\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdEntity = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!ENTITY';\n options.state = WriterState.InsideTag;\n if (node.pe) {\n r += ' %';\n }\n r += ' ' + node.name;\n if (node.value) {\n r += ' \"' + node.value + '\"';\n } else {\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.nData) {\n r += ' NDATA ' + node.nData;\n }\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.dtdNotation = function(node, options, level) {\n var r;\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n r = this.indent(node, options, level) + '<!NOTATION';\n options.state = WriterState.InsideTag;\n r += ' ' + node.name;\n if (node.pubID && node.sysID) {\n r += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.pubID) {\n r += ' PUBLIC \"' + node.pubID + '\"';\n } else if (node.sysID) {\n r += ' SYSTEM \"' + node.sysID + '\"';\n }\n options.state = WriterState.CloseTag;\n r += options.spaceBeforeSlash + '>' + this.endline(node, options, level);\n options.state = WriterState.None;\n this.closeNode(node, options, level);\n return r;\n };\n\n XMLWriterBase.prototype.openNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.closeNode = function(node, options, level) {};\n\n XMLWriterBase.prototype.openAttribute = function(att, options, level) {};\n\n XMLWriterBase.prototype.closeAttribute = function(att, options, level) {};\n\n return XMLWriterBase;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var XMLStringWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n XMLWriterBase = require('./XMLWriterBase');\n\n module.exports = XMLStringWriter = (function(superClass) {\n extend(XMLStringWriter, superClass);\n\n function XMLStringWriter(options) {\n XMLStringWriter.__super__.constructor.call(this, options);\n }\n\n XMLStringWriter.prototype.document = function(doc, options) {\n var child, i, len, r, ref;\n options = this.filterOptions(options);\n r = '';\n ref = doc.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n r += this.writeChildNode(child, options, 0);\n }\n if (options.pretty && r.slice(-options.newline.length) === options.newline) {\n r = r.slice(0, -options.newline.length);\n }\n return r;\n };\n\n return XMLStringWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, XMLDOMConfiguration, XMLDOMImplementation, XMLDocument, XMLNode, XMLStringWriter, XMLStringifier, isPlainObject,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n isPlainObject = require('./Utility').isPlainObject;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDOMConfiguration = require('./XMLDOMConfiguration');\n\n XMLNode = require('./XMLNode');\n\n NodeType = require('./NodeType');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n module.exports = XMLDocument = (function(superClass) {\n extend(XMLDocument, superClass);\n\n function XMLDocument(options) {\n XMLDocument.__super__.constructor.call(this, null);\n this.name = \"#document\";\n this.type = NodeType.Document;\n this.documentURI = null;\n this.domConfig = new XMLDOMConfiguration();\n options || (options = {});\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.stringify = new XMLStringifier(options);\n }\n\n Object.defineProperty(XMLDocument.prototype, 'implementation', {\n value: new XMLDOMImplementation()\n });\n\n Object.defineProperty(XMLDocument.prototype, 'doctype', {\n get: function() {\n var child, i, len, ref;\n ref = this.children;\n for (i = 0, len = ref.length; i < len; i++) {\n child = ref[i];\n if (child.type === NodeType.DocType) {\n return child;\n }\n }\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'documentElement', {\n get: function() {\n return this.rootObject || null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'inputEncoding', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'strictErrorChecking', {\n get: function() {\n return false;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlEncoding', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].encoding;\n } else {\n return null;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlStandalone', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].standalone === 'yes';\n } else {\n return false;\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'xmlVersion', {\n get: function() {\n if (this.children.length !== 0 && this.children[0].type === NodeType.Declaration) {\n return this.children[0].version;\n } else {\n return \"1.0\";\n }\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'URL', {\n get: function() {\n return this.documentURI;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'origin', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'compatMode', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'characterSet', {\n get: function() {\n return null;\n }\n });\n\n Object.defineProperty(XMLDocument.prototype, 'contentType', {\n get: function() {\n return null;\n }\n });\n\n XMLDocument.prototype.end = function(writer) {\n var writerOptions;\n writerOptions = {};\n if (!writer) {\n writer = this.options.writer;\n } else if (isPlainObject(writer)) {\n writerOptions = writer;\n writer = this.options.writer;\n }\n return writer.document(this, writer.filterOptions(writerOptions));\n };\n\n XMLDocument.prototype.toString = function(options) {\n return this.options.writer.document(this, this.options.writer.filterOptions(options));\n };\n\n XMLDocument.prototype.createElement = function(tagName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createDocumentFragment = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTextNode = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createComment = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createCDATASection = function(data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createProcessingInstruction = function(target, data) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttribute = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEntityReference = function(name) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagName = function(tagname) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.importNode = function(importedNode, deep) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createElementNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createAttributeNS = function(namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByTagNameNS = function(namespaceURI, localName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementById = function(elementId) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.adoptNode = function(source) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.normalizeDocument = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.renameNode = function(node, namespaceURI, qualifiedName) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.getElementsByClassName = function(classNames) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createEvent = function(eventInterface) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createRange = function() {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createNodeIterator = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n XMLDocument.prototype.createTreeWalker = function(root, whatToShow, filter) {\n throw new Error(\"This DOM method is not implemented.\" + this.debugInfo());\n };\n\n return XMLDocument;\n\n })(XMLNode);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLAttribute, XMLCData, XMLComment, XMLDTDAttList, XMLDTDElement, XMLDTDEntity, XMLDTDNotation, XMLDeclaration, XMLDocType, XMLDocument, XMLDocumentCB, XMLElement, XMLProcessingInstruction, XMLRaw, XMLStringWriter, XMLStringifier, XMLText, getValue, isFunction, isObject, isPlainObject, ref,\n hasProp = {}.hasOwnProperty;\n\n ref = require('./Utility'), isObject = ref.isObject, isFunction = ref.isFunction, isPlainObject = ref.isPlainObject, getValue = ref.getValue;\n\n NodeType = require('./NodeType');\n\n XMLDocument = require('./XMLDocument');\n\n XMLElement = require('./XMLElement');\n\n XMLCData = require('./XMLCData');\n\n XMLComment = require('./XMLComment');\n\n XMLRaw = require('./XMLRaw');\n\n XMLText = require('./XMLText');\n\n XMLProcessingInstruction = require('./XMLProcessingInstruction');\n\n XMLDeclaration = require('./XMLDeclaration');\n\n XMLDocType = require('./XMLDocType');\n\n XMLDTDAttList = require('./XMLDTDAttList');\n\n XMLDTDEntity = require('./XMLDTDEntity');\n\n XMLDTDElement = require('./XMLDTDElement');\n\n XMLDTDNotation = require('./XMLDTDNotation');\n\n XMLAttribute = require('./XMLAttribute');\n\n XMLStringifier = require('./XMLStringifier');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLDocumentCB = (function() {\n function XMLDocumentCB(options, onData, onEnd) {\n var writerOptions;\n this.name = \"?xml\";\n this.type = NodeType.Document;\n options || (options = {});\n writerOptions = {};\n if (!options.writer) {\n options.writer = new XMLStringWriter();\n } else if (isPlainObject(options.writer)) {\n writerOptions = options.writer;\n options.writer = new XMLStringWriter();\n }\n this.options = options;\n this.writer = options.writer;\n this.writerOptions = this.writer.filterOptions(writerOptions);\n this.stringify = new XMLStringifier(options);\n this.onDataCallback = onData || function() {};\n this.onEndCallback = onEnd || function() {};\n this.currentNode = null;\n this.currentLevel = -1;\n this.openTags = {};\n this.documentStarted = false;\n this.documentCompleted = false;\n this.root = null;\n }\n\n XMLDocumentCB.prototype.createChildNode = function(node) {\n var att, attName, attributes, child, i, len, ref1, ref2;\n switch (node.type) {\n case NodeType.CData:\n this.cdata(node.value);\n break;\n case NodeType.Comment:\n this.comment(node.value);\n break;\n case NodeType.Element:\n attributes = {};\n ref1 = node.attribs;\n for (attName in ref1) {\n if (!hasProp.call(ref1, attName)) continue;\n att = ref1[attName];\n attributes[attName] = att.value;\n }\n this.node(node.name, attributes);\n break;\n case NodeType.Dummy:\n this.dummy();\n break;\n case NodeType.Raw:\n this.raw(node.value);\n break;\n case NodeType.Text:\n this.text(node.value);\n break;\n case NodeType.ProcessingInstruction:\n this.instruction(node.target, node.value);\n break;\n default:\n throw new Error(\"This XML node type is not supported in a JS object: \" + node.constructor.name);\n }\n ref2 = node.children;\n for (i = 0, len = ref2.length; i < len; i++) {\n child = ref2[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.dummy = function() {\n return this;\n };\n\n XMLDocumentCB.prototype.node = function(name, attributes, text) {\n var ref1;\n if (name == null) {\n throw new Error(\"Missing node name.\");\n }\n if (this.root && this.currentLevel === -1) {\n throw new Error(\"Document can only have one root node. \" + this.debugInfo(name));\n }\n this.openCurrent();\n name = getValue(name);\n if (attributes == null) {\n attributes = {};\n }\n attributes = getValue(attributes);\n if (!isObject(attributes)) {\n ref1 = [attributes, text], text = ref1[0], attributes = ref1[1];\n }\n this.currentNode = new XMLElement(this, name, attributes);\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n if (text != null) {\n this.text(text);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.element = function(name, attributes, text) {\n var child, i, len, oldValidationFlag, ref1, root;\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n this.dtdElement.apply(this, arguments);\n } else {\n if (Array.isArray(name) || isObject(name) || isFunction(name)) {\n oldValidationFlag = this.options.noValidation;\n this.options.noValidation = true;\n root = new XMLDocument(this.options).element('TEMP_ROOT');\n root.element(name);\n this.options.noValidation = oldValidationFlag;\n ref1 = root.children;\n for (i = 0, len = ref1.length; i < len; i++) {\n child = ref1[i];\n this.createChildNode(child);\n if (child.type === NodeType.Element) {\n this.up();\n }\n }\n } else {\n this.node(name, attributes, text);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.attribute = function(name, value) {\n var attName, attValue;\n if (!this.currentNode || this.currentNode.children) {\n throw new Error(\"att() can only be used immediately after an ele() call in callback mode. \" + this.debugInfo(name));\n }\n if (name != null) {\n name = getValue(name);\n }\n if (isObject(name)) {\n for (attName in name) {\n if (!hasProp.call(name, attName)) continue;\n attValue = name[attName];\n this.attribute(attName, attValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n if (this.options.keepNullAttributes && (value == null)) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, \"\");\n } else if (value != null) {\n this.currentNode.attribs[name] = new XMLAttribute(this, name, value);\n }\n }\n return this;\n };\n\n XMLDocumentCB.prototype.text = function(value) {\n var node;\n this.openCurrent();\n node = new XMLText(this, value);\n this.onData(this.writer.text(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.cdata = function(value) {\n var node;\n this.openCurrent();\n node = new XMLCData(this, value);\n this.onData(this.writer.cdata(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.comment = function(value) {\n var node;\n this.openCurrent();\n node = new XMLComment(this, value);\n this.onData(this.writer.comment(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.raw = function(value) {\n var node;\n this.openCurrent();\n node = new XMLRaw(this, value);\n this.onData(this.writer.raw(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.instruction = function(target, value) {\n var i, insTarget, insValue, len, node;\n this.openCurrent();\n if (target != null) {\n target = getValue(target);\n }\n if (value != null) {\n value = getValue(value);\n }\n if (Array.isArray(target)) {\n for (i = 0, len = target.length; i < len; i++) {\n insTarget = target[i];\n this.instruction(insTarget);\n }\n } else if (isObject(target)) {\n for (insTarget in target) {\n if (!hasProp.call(target, insTarget)) continue;\n insValue = target[insTarget];\n this.instruction(insTarget, insValue);\n }\n } else {\n if (isFunction(value)) {\n value = value.apply();\n }\n node = new XMLProcessingInstruction(this, target, value);\n this.onData(this.writer.processingInstruction(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n }\n return this;\n };\n\n XMLDocumentCB.prototype.declaration = function(version, encoding, standalone) {\n var node;\n this.openCurrent();\n if (this.documentStarted) {\n throw new Error(\"declaration() must be the first node.\");\n }\n node = new XMLDeclaration(this, version, encoding, standalone);\n this.onData(this.writer.declaration(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.doctype = function(root, pubID, sysID) {\n this.openCurrent();\n if (root == null) {\n throw new Error(\"Missing root node name.\");\n }\n if (this.root) {\n throw new Error(\"dtd() must come before the root node.\");\n }\n this.currentNode = new XMLDocType(this, pubID, sysID);\n this.currentNode.rootNodeName = root;\n this.currentNode.children = false;\n this.currentLevel++;\n this.openTags[this.currentLevel] = this.currentNode;\n return this;\n };\n\n XMLDocumentCB.prototype.dtdElement = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDElement(this, name, value);\n this.onData(this.writer.dtdElement(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.attList = function(elementName, attributeName, attributeType, defaultValueType, defaultValue) {\n var node;\n this.openCurrent();\n node = new XMLDTDAttList(this, elementName, attributeName, attributeType, defaultValueType, defaultValue);\n this.onData(this.writer.dtdAttList(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.entity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, false, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.pEntity = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDEntity(this, true, name, value);\n this.onData(this.writer.dtdEntity(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.notation = function(name, value) {\n var node;\n this.openCurrent();\n node = new XMLDTDNotation(this, name, value);\n this.onData(this.writer.dtdNotation(node, this.writerOptions, this.currentLevel + 1), this.currentLevel + 1);\n return this;\n };\n\n XMLDocumentCB.prototype.up = function() {\n if (this.currentLevel < 0) {\n throw new Error(\"The document node has no parent.\");\n }\n if (this.currentNode) {\n if (this.currentNode.children) {\n this.closeNode(this.currentNode);\n } else {\n this.openNode(this.currentNode);\n }\n this.currentNode = null;\n } else {\n this.closeNode(this.openTags[this.currentLevel]);\n }\n delete this.openTags[this.currentLevel];\n this.currentLevel--;\n return this;\n };\n\n XMLDocumentCB.prototype.end = function() {\n while (this.currentLevel >= 0) {\n this.up();\n }\n return this.onEnd();\n };\n\n XMLDocumentCB.prototype.openCurrent = function() {\n if (this.currentNode) {\n this.currentNode.children = true;\n return this.openNode(this.currentNode);\n }\n };\n\n XMLDocumentCB.prototype.openNode = function(node) {\n var att, chunk, name, ref1;\n if (!node.isOpen) {\n if (!this.root && this.currentLevel === 0 && node.type === NodeType.Element) {\n this.root = node;\n }\n chunk = '';\n if (node.type === NodeType.Element) {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<' + node.name;\n ref1 = node.attribs;\n for (name in ref1) {\n if (!hasProp.call(ref1, name)) continue;\n att = ref1[name];\n chunk += this.writer.attribute(att, this.writerOptions, this.currentLevel);\n }\n chunk += (node.children ? '>' : '/>') + this.writer.endline(node, this.writerOptions, this.currentLevel);\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.OpenTag;\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '<!DOCTYPE ' + node.rootNodeName;\n if (node.pubID && node.sysID) {\n chunk += ' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"';\n } else if (node.sysID) {\n chunk += ' SYSTEM \"' + node.sysID + '\"';\n }\n if (node.children) {\n chunk += ' [';\n this.writerOptions.state = WriterState.InsideTag;\n } else {\n this.writerOptions.state = WriterState.CloseTag;\n chunk += '>';\n }\n chunk += this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.onData(chunk, this.currentLevel);\n return node.isOpen = true;\n }\n };\n\n XMLDocumentCB.prototype.closeNode = function(node) {\n var chunk;\n if (!node.isClosed) {\n chunk = '';\n this.writerOptions.state = WriterState.CloseTag;\n if (node.type === NodeType.Element) {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + '</' + node.name + '>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n } else {\n chunk = this.writer.indent(node, this.writerOptions, this.currentLevel) + ']>' + this.writer.endline(node, this.writerOptions, this.currentLevel);\n }\n this.writerOptions.state = WriterState.None;\n this.onData(chunk, this.currentLevel);\n return node.isClosed = true;\n }\n };\n\n XMLDocumentCB.prototype.onData = function(chunk, level) {\n this.documentStarted = true;\n return this.onDataCallback(chunk, level + 1);\n };\n\n XMLDocumentCB.prototype.onEnd = function() {\n this.documentCompleted = true;\n return this.onEndCallback();\n };\n\n XMLDocumentCB.prototype.debugInfo = function(name) {\n if (name == null) {\n return \"\";\n } else {\n return \"node: <\" + name + \">\";\n }\n };\n\n XMLDocumentCB.prototype.ele = function() {\n return this.element.apply(this, arguments);\n };\n\n XMLDocumentCB.prototype.nod = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.txt = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.dat = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.com = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.ins = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.dec = function(version, encoding, standalone) {\n return this.declaration(version, encoding, standalone);\n };\n\n XMLDocumentCB.prototype.dtd = function(root, pubID, sysID) {\n return this.doctype(root, pubID, sysID);\n };\n\n XMLDocumentCB.prototype.e = function(name, attributes, text) {\n return this.element(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.n = function(name, attributes, text) {\n return this.node(name, attributes, text);\n };\n\n XMLDocumentCB.prototype.t = function(value) {\n return this.text(value);\n };\n\n XMLDocumentCB.prototype.d = function(value) {\n return this.cdata(value);\n };\n\n XMLDocumentCB.prototype.c = function(value) {\n return this.comment(value);\n };\n\n XMLDocumentCB.prototype.r = function(value) {\n return this.raw(value);\n };\n\n XMLDocumentCB.prototype.i = function(target, value) {\n return this.instruction(target, value);\n };\n\n XMLDocumentCB.prototype.att = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.a = function() {\n if (this.currentNode && this.currentNode.type === NodeType.DocType) {\n return this.attList.apply(this, arguments);\n } else {\n return this.attribute.apply(this, arguments);\n }\n };\n\n XMLDocumentCB.prototype.ent = function(name, value) {\n return this.entity(name, value);\n };\n\n XMLDocumentCB.prototype.pent = function(name, value) {\n return this.pEntity(name, value);\n };\n\n XMLDocumentCB.prototype.not = function(name, value) {\n return this.notation(name, value);\n };\n\n return XMLDocumentCB;\n\n })();\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLStreamWriter, XMLWriterBase,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n NodeType = require('./NodeType');\n\n XMLWriterBase = require('./XMLWriterBase');\n\n WriterState = require('./WriterState');\n\n module.exports = XMLStreamWriter = (function(superClass) {\n extend(XMLStreamWriter, superClass);\n\n function XMLStreamWriter(stream, options) {\n this.stream = stream;\n XMLStreamWriter.__super__.constructor.call(this, options);\n }\n\n XMLStreamWriter.prototype.endline = function(node, options, level) {\n if (node.isLastRootNode && options.state === WriterState.CloseTag) {\n return '';\n } else {\n return XMLStreamWriter.__super__.endline.call(this, node, options, level);\n }\n };\n\n XMLStreamWriter.prototype.document = function(doc, options) {\n var child, i, j, k, len, len1, ref, ref1, results;\n ref = doc.children;\n for (i = j = 0, len = ref.length; j < len; i = ++j) {\n child = ref[i];\n child.isLastRootNode = i === doc.children.length - 1;\n }\n options = this.filterOptions(options);\n ref1 = doc.children;\n results = [];\n for (k = 0, len1 = ref1.length; k < len1; k++) {\n child = ref1[k];\n results.push(this.writeChildNode(child, options, 0));\n }\n return results;\n };\n\n XMLStreamWriter.prototype.attribute = function(att, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.attribute.call(this, att, options, level));\n };\n\n XMLStreamWriter.prototype.cdata = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.cdata.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.comment = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.comment.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.declaration = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.declaration.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.docType = function(node, options, level) {\n var child, j, len, ref;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level));\n this.stream.write('<!DOCTYPE ' + node.root().name);\n if (node.pubID && node.sysID) {\n this.stream.write(' PUBLIC \"' + node.pubID + '\" \"' + node.sysID + '\"');\n } else if (node.sysID) {\n this.stream.write(' SYSTEM \"' + node.sysID + '\"');\n }\n if (node.children.length > 0) {\n this.stream.write(' [');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref = node.children;\n for (j = 0, len = ref.length; j < len; j++) {\n child = ref[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(']');\n }\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '>');\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.element = function(node, options, level) {\n var att, child, childNodeCount, firstChildNode, j, len, name, prettySuppressed, ref, ref1;\n level || (level = 0);\n this.openNode(node, options, level);\n options.state = WriterState.OpenTag;\n this.stream.write(this.indent(node, options, level) + '<' + node.name);\n ref = node.attribs;\n for (name in ref) {\n if (!hasProp.call(ref, name)) continue;\n att = ref[name];\n this.attribute(att, options, level);\n }\n childNodeCount = node.children.length;\n firstChildNode = childNodeCount === 0 ? null : node.children[0];\n if (childNodeCount === 0 || node.children.every(function(e) {\n return (e.type === NodeType.Text || e.type === NodeType.Raw) && e.value === '';\n })) {\n if (options.allowEmpty) {\n this.stream.write('>');\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n options.state = WriterState.CloseTag;\n this.stream.write(options.spaceBeforeSlash + '/>');\n }\n } else if (options.pretty && childNodeCount === 1 && (firstChildNode.type === NodeType.Text || firstChildNode.type === NodeType.Raw) && (firstChildNode.value != null)) {\n this.stream.write('>');\n options.state = WriterState.InsideTag;\n options.suppressPrettyCount++;\n prettySuppressed = true;\n this.writeChildNode(firstChildNode, options, level + 1);\n options.suppressPrettyCount--;\n prettySuppressed = false;\n options.state = WriterState.CloseTag;\n this.stream.write('</' + node.name + '>');\n } else {\n this.stream.write('>' + this.endline(node, options, level));\n options.state = WriterState.InsideTag;\n ref1 = node.children;\n for (j = 0, len = ref1.length; j < len; j++) {\n child = ref1[j];\n this.writeChildNode(child, options, level + 1);\n }\n options.state = WriterState.CloseTag;\n this.stream.write(this.indent(node, options, level) + '</' + node.name + '>');\n }\n this.stream.write(this.endline(node, options, level));\n options.state = WriterState.None;\n return this.closeNode(node, options, level);\n };\n\n XMLStreamWriter.prototype.processingInstruction = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.processingInstruction.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.raw = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.raw.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.text = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.text.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdAttList = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdAttList.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdElement = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdElement.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdEntity = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdEntity.call(this, node, options, level));\n };\n\n XMLStreamWriter.prototype.dtdNotation = function(node, options, level) {\n return this.stream.write(XMLStreamWriter.__super__.dtdNotation.call(this, node, options, level));\n };\n\n return XMLStreamWriter;\n\n })(XMLWriterBase);\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n var NodeType, WriterState, XMLDOMImplementation, XMLDocument, XMLDocumentCB, XMLStreamWriter, XMLStringWriter, assign, isFunction, ref;\n\n ref = require('./Utility'), assign = ref.assign, isFunction = ref.isFunction;\n\n XMLDOMImplementation = require('./XMLDOMImplementation');\n\n XMLDocument = require('./XMLDocument');\n\n XMLDocumentCB = require('./XMLDocumentCB');\n\n XMLStringWriter = require('./XMLStringWriter');\n\n XMLStreamWriter = require('./XMLStreamWriter');\n\n NodeType = require('./NodeType');\n\n WriterState = require('./WriterState');\n\n module.exports.create = function(name, xmldec, doctype, options) {\n var doc, root;\n if (name == null) {\n throw new Error(\"Root element needs a name.\");\n }\n options = assign({}, xmldec, doctype, options);\n doc = new XMLDocument(options);\n root = doc.element(name);\n if (!options.headless) {\n doc.declaration(options);\n if ((options.pubID != null) || (options.sysID != null)) {\n doc.dtd(options);\n }\n }\n return root;\n };\n\n module.exports.begin = function(options, onData, onEnd) {\n var ref1;\n if (isFunction(options)) {\n ref1 = [options, onData], onData = ref1[0], onEnd = ref1[1];\n options = {};\n }\n if (onData) {\n return new XMLDocumentCB(options, onData, onEnd);\n } else {\n return new XMLDocument(options);\n }\n };\n\n module.exports.stringWriter = function(options) {\n return new XMLStringWriter(options);\n };\n\n module.exports.streamWriter = function(stream, options) {\n return new XMLStreamWriter(stream, options);\n };\n\n module.exports.implementation = new XMLDOMImplementation();\n\n module.exports.nodeType = NodeType;\n\n module.exports.writerState = WriterState;\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, escapeCDATA, requiresCDATA, wrapCDATA,\n hasProp = {}.hasOwnProperty;\n\n builder = require('xmlbuilder');\n\n defaults = require('./defaults').defaults;\n\n requiresCDATA = function(entry) {\n return typeof entry === \"string\" && (entry.indexOf('&') >= 0 || entry.indexOf('>') >= 0 || entry.indexOf('<') >= 0);\n };\n\n wrapCDATA = function(entry) {\n return \"<![CDATA[\" + (escapeCDATA(entry)) + \"]]>\";\n };\n\n escapeCDATA = function(entry) {\n return entry.replace(']]>', ']]]]><![CDATA[>');\n };\n\n exports.Builder = (function() {\n function Builder(opts) {\n var key, ref, value;\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n }\n\n Builder.prototype.buildObject = function(rootObj) {\n var attrkey, charkey, render, rootElement, rootName;\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n if ((Object.keys(rootObj).length === 1) && (this.options.rootName === defaults['0.2'].rootName)) {\n rootName = Object.keys(rootObj)[0];\n rootObj = rootObj[rootName];\n } else {\n rootName = this.options.rootName;\n }\n render = (function(_this) {\n return function(element, obj) {\n var attr, child, entry, index, key, value;\n if (typeof obj !== 'object') {\n if (_this.options.cdata && requiresCDATA(obj)) {\n element.raw(wrapCDATA(obj));\n } else {\n element.txt(obj);\n }\n } else if (Array.isArray(obj)) {\n for (index in obj) {\n if (!hasProp.call(obj, index)) continue;\n child = obj[index];\n for (key in child) {\n entry = child[key];\n element = render(element.ele(key), entry).up();\n }\n }\n } else {\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n child = obj[key];\n if (key === attrkey) {\n if (typeof child === \"object\") {\n for (attr in child) {\n value = child[attr];\n element = element.att(attr, value);\n }\n }\n } else if (key === charkey) {\n if (_this.options.cdata && requiresCDATA(child)) {\n element = element.raw(wrapCDATA(child));\n } else {\n element = element.txt(child);\n }\n } else if (Array.isArray(child)) {\n for (index in child) {\n if (!hasProp.call(child, index)) continue;\n entry = child[index];\n if (typeof entry === 'string') {\n if (_this.options.cdata && requiresCDATA(entry)) {\n element = element.ele(key).raw(wrapCDATA(entry)).up();\n } else {\n element = element.ele(key, entry).up();\n }\n } else {\n element = render(element.ele(key), entry).up();\n }\n }\n } else if (typeof child === \"object\") {\n element = render(element.ele(key), child).up();\n } else {\n if (typeof child === 'string' && _this.options.cdata && requiresCDATA(child)) {\n element = element.ele(key).raw(wrapCDATA(child)).up();\n } else {\n if (child == null) {\n child = '';\n }\n element = element.ele(key, child.toString()).up();\n }\n }\n }\n }\n return element;\n };\n })(this);\n rootElement = builder.create(rootName, this.options.xmldec, this.options.doctype, {\n headless: this.options.headless,\n allowSurrogateChars: this.options.allowSurrogateChars\n });\n return render(rootElement, rootObj).end(this.options.renderOpts);\n };\n\n return Builder;\n\n })();\n\n}).call(this);\n",";(function (sax) {\n // wrapper for non-node envs\n sax.parser = function (strict, opt) {\n return new SAXParser(strict, opt)\n }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment',\n 'sgmlDecl',\n 'textNode',\n 'tagName',\n 'doctype',\n 'procInstName',\n 'procInstBody',\n 'entity',\n 'attribName',\n 'attribValue',\n 'cdata',\n 'script',\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace',\n ]\n\n function SAXParser(strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES =\n parser.strictEntities ?\n Object.create(sax.XML_ENTITIES)\n : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F() {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength(parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers(parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers(parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () {\n end(this)\n },\n write: write,\n resume: function () {\n this.error = null\n return this\n },\n close: function () {\n return this.write(null)\n },\n flush: function () {\n flushBuffers(this)\n },\n }\n\n var Stream\n try {\n Stream = require('stream').Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream(strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream(strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false,\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream,\n },\n })\n\n SAXStream.prototype.write = function (data) {\n if (\n typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)\n ) {\n if (!this._decoder) {\n this._decoder = new TextDecoder('utf8')\n }\n data = this._decoder.decode(data, { stream: true })\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n // Flush any remaining decoded data from the TextDecoder\n if (this._decoder) {\n var remaining = this._decoder.decode()\n if (remaining) {\n this._parser.write(remaining)\n this.emit('data', remaining)\n }\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args =\n arguments.length === 1 ?\n [arguments[0]]\n : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody =\n /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody =\n /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace(c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote(c) {\n return c === '\"' || c === \"'\"\n }\n\n function isAttribEnd(c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch(regex, c) {\n return regex.test(c)\n }\n\n function notMatch(regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // <!BLARG\n SGML_DECL_QUOTED: S++, // <!BLARG foo \"bar\n DOCTYPE: S++, // <!DOCTYPE\n DOCTYPE_QUOTED: S++, // <!DOCTYPE \"//blah\n DOCTYPE_DTD: S++, // <!DOCTYPE \"//blah\" [ ...\n DOCTYPE_DTD_QUOTED: S++, // <!DOCTYPE \"//blah\" [ \"foo\n COMMENT_STARTING: S++, // <!-\n COMMENT: S++, // <!--\n COMMENT_ENDING: S++, // <!-- blah -\n COMMENT_ENDED: S++, // <!-- blah --\n CDATA: S++, // <![CDATA[ something\n CDATA_ENDING: S++, // ]\n CDATA_ENDING_2: S++, // ]]\n PROC_INST: S++, // <?hi\n PROC_INST_BODY: S++, // <?hi there\n PROC_INST_ENDING: S++, // <?hi \"there\" ?\n OPEN_TAG: S++, // <strong\n OPEN_TAG_SLASH: S++, // <strong /\n ATTRIB: S++, // <a\n ATTRIB_NAME: S++, // <a foo\n ATTRIB_NAME_SAW_WHITE: S++, // <a foo _\n ATTRIB_VALUE: S++, // <a foo=\n ATTRIB_VALUE_QUOTED: S++, // <a foo=\"bar\n ATTRIB_VALUE_CLOSED: S++, // <a foo=\"bar\"\n ATTRIB_VALUE_UNQUOTED: S++, // <a foo=bar\n ATTRIB_VALUE_ENTITY_Q: S++, // <foo bar=\""\"\n ATTRIB_VALUE_ENTITY_U: S++, // <foo bar="\n CLOSE_TAG: S++, // </a\n CLOSE_TAG_SAW_WHITE: S++, // </a >\n SCRIPT: S++, // <script> ...\n SCRIPT_ENDING: S++, // <script> ... <\n }\n\n sax.XML_ENTITIES = {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\",\n }\n\n sax.ENTITIES = {\n amp: '&',\n gt: '>',\n lt: '<',\n quot: '\"',\n apos: \"'\",\n AElig: 198,\n Aacute: 193,\n Acirc: 194,\n Agrave: 192,\n Aring: 197,\n Atilde: 195,\n Auml: 196,\n Ccedil: 199,\n ETH: 208,\n Eacute: 201,\n Ecirc: 202,\n Egrave: 200,\n Euml: 203,\n Iacute: 205,\n Icirc: 206,\n Igrave: 204,\n Iuml: 207,\n Ntilde: 209,\n Oacute: 211,\n Ocirc: 212,\n Ograve: 210,\n Oslash: 216,\n Otilde: 213,\n Ouml: 214,\n THORN: 222,\n Uacute: 218,\n Ucirc: 219,\n Ugrave: 217,\n Uuml: 220,\n Yacute: 221,\n aacute: 225,\n acirc: 226,\n aelig: 230,\n agrave: 224,\n aring: 229,\n atilde: 227,\n auml: 228,\n ccedil: 231,\n eacute: 233,\n ecirc: 234,\n egrave: 232,\n eth: 240,\n euml: 235,\n iacute: 237,\n icirc: 238,\n igrave: 236,\n iuml: 239,\n ntilde: 241,\n oacute: 243,\n ocirc: 244,\n ograve: 242,\n oslash: 248,\n otilde: 245,\n ouml: 246,\n szlig: 223,\n thorn: 254,\n uacute: 250,\n ucirc: 251,\n ugrave: 249,\n uuml: 252,\n yacute: 253,\n yuml: 255,\n copy: 169,\n reg: 174,\n nbsp: 160,\n iexcl: 161,\n cent: 162,\n pound: 163,\n curren: 164,\n yen: 165,\n brvbar: 166,\n sect: 167,\n uml: 168,\n ordf: 170,\n laquo: 171,\n not: 172,\n shy: 173,\n macr: 175,\n deg: 176,\n plusmn: 177,\n sup1: 185,\n sup2: 178,\n sup3: 179,\n acute: 180,\n micro: 181,\n para: 182,\n middot: 183,\n cedil: 184,\n ordm: 186,\n raquo: 187,\n frac14: 188,\n frac12: 189,\n frac34: 190,\n iquest: 191,\n times: 215,\n divide: 247,\n OElig: 338,\n oelig: 339,\n Scaron: 352,\n scaron: 353,\n Yuml: 376,\n fnof: 402,\n circ: 710,\n tilde: 732,\n Alpha: 913,\n Beta: 914,\n Gamma: 915,\n Delta: 916,\n Epsilon: 917,\n Zeta: 918,\n Eta: 919,\n Theta: 920,\n Iota: 921,\n Kappa: 922,\n Lambda: 923,\n Mu: 924,\n Nu: 925,\n Xi: 926,\n Omicron: 927,\n Pi: 928,\n Rho: 929,\n Sigma: 931,\n Tau: 932,\n Upsilon: 933,\n Phi: 934,\n Chi: 935,\n Psi: 936,\n Omega: 937,\n alpha: 945,\n beta: 946,\n gamma: 947,\n delta: 948,\n epsilon: 949,\n zeta: 950,\n eta: 951,\n theta: 952,\n iota: 953,\n kappa: 954,\n lambda: 955,\n mu: 956,\n nu: 957,\n xi: 958,\n omicron: 959,\n pi: 960,\n rho: 961,\n sigmaf: 962,\n sigma: 963,\n tau: 964,\n upsilon: 965,\n phi: 966,\n chi: 967,\n psi: 968,\n omega: 969,\n thetasym: 977,\n upsih: 978,\n piv: 982,\n ensp: 8194,\n emsp: 8195,\n thinsp: 8201,\n zwnj: 8204,\n zwj: 8205,\n lrm: 8206,\n rlm: 8207,\n ndash: 8211,\n mdash: 8212,\n lsquo: 8216,\n rsquo: 8217,\n sbquo: 8218,\n ldquo: 8220,\n rdquo: 8221,\n bdquo: 8222,\n dagger: 8224,\n Dagger: 8225,\n bull: 8226,\n hellip: 8230,\n permil: 8240,\n prime: 8242,\n Prime: 8243,\n lsaquo: 8249,\n rsaquo: 8250,\n oline: 8254,\n frasl: 8260,\n euro: 8364,\n image: 8465,\n weierp: 8472,\n real: 8476,\n trade: 8482,\n alefsym: 8501,\n larr: 8592,\n uarr: 8593,\n rarr: 8594,\n darr: 8595,\n harr: 8596,\n crarr: 8629,\n lArr: 8656,\n uArr: 8657,\n rArr: 8658,\n dArr: 8659,\n hArr: 8660,\n forall: 8704,\n part: 8706,\n exist: 8707,\n empty: 8709,\n nabla: 8711,\n isin: 8712,\n notin: 8713,\n ni: 8715,\n prod: 8719,\n sum: 8721,\n minus: 8722,\n lowast: 8727,\n radic: 8730,\n prop: 8733,\n infin: 8734,\n ang: 8736,\n and: 8743,\n or: 8744,\n cap: 8745,\n cup: 8746,\n int: 8747,\n there4: 8756,\n sim: 8764,\n cong: 8773,\n asymp: 8776,\n ne: 8800,\n equiv: 8801,\n le: 8804,\n ge: 8805,\n sub: 8834,\n sup: 8835,\n nsub: 8836,\n sube: 8838,\n supe: 8839,\n oplus: 8853,\n otimes: 8855,\n perp: 8869,\n sdot: 8901,\n lceil: 8968,\n rceil: 8969,\n lfloor: 8970,\n rfloor: 8971,\n lang: 9001,\n rang: 9002,\n loz: 9674,\n spades: 9824,\n clubs: 9827,\n hearts: 9829,\n diams: 9830,\n }\n\n Object.keys(sax.ENTITIES).forEach(function (key) {\n var e = sax.ENTITIES[key]\n var s = typeof e === 'number' ? String.fromCharCode(e) : e\n sax.ENTITIES[key] = s\n })\n\n for (var s in sax.STATE) {\n sax.STATE[sax.STATE[s]] = s\n }\n\n // shorthand\n S = sax.STATE\n\n function emit(parser, event, data) {\n parser[event] && parser[event](data)\n }\n\n function emitNode(parser, nodeType, data) {\n if (parser.textNode) closeText(parser)\n emit(parser, nodeType, data)\n }\n\n function closeText(parser) {\n parser.textNode = textopts(parser.opt, parser.textNode)\n if (parser.textNode) emit(parser, 'ontext', parser.textNode)\n parser.textNode = ''\n }\n\n function textopts(opt, text) {\n if (opt.trim) text = text.trim()\n if (opt.normalize) text = text.replace(/\\s+/g, ' ')\n return text\n }\n\n function error(parser, er) {\n closeText(parser)\n if (parser.trackPosition) {\n er +=\n '\\nLine: ' +\n parser.line +\n '\\nColumn: ' +\n parser.column +\n '\\nChar: ' +\n parser.c\n }\n er = new Error(er)\n parser.error = er\n emit(parser, 'onerror', er)\n return parser\n }\n\n function end(parser) {\n if (parser.sawRoot && !parser.closedRoot)\n strictFail(parser, 'Unclosed root tag')\n if (\n parser.state !== S.BEGIN &&\n parser.state !== S.BEGIN_WHITESPACE &&\n parser.state !== S.TEXT\n ) {\n error(parser, 'Unexpected end')\n }\n closeText(parser)\n parser.c = ''\n parser.closed = true\n emit(parser, 'onend')\n SAXParser.call(parser, parser.strict, parser.opt)\n return parser\n }\n\n function strictFail(parser, message) {\n if (typeof parser !== 'object' || !(parser instanceof SAXParser)) {\n throw new Error('bad call to strictFail')\n }\n if (parser.strict) {\n error(parser, message)\n }\n }\n\n function newTag(parser) {\n if (!parser.strict) parser.tagName = parser.tagName[parser.looseCase]()\n var parent = parser.tags[parser.tags.length - 1] || parser\n var tag = (parser.tag = { name: parser.tagName, attributes: {} })\n\n // will be overridden if tag contails an xmlns=\"foo\" or xmlns:foo=\"bar\"\n if (parser.opt.xmlns) {\n tag.ns = parent.ns\n }\n parser.attribList.length = 0\n emitNode(parser, 'onopentagstart', tag)\n }\n\n function qname(name, attribute) {\n var i = name.indexOf(':')\n var qualName = i < 0 ? ['', name] : name.split(':')\n var prefix = qualName[0]\n var local = qualName[1]\n\n // <x \"xmlns\"=\"http://foo\">\n if (attribute && name === 'xmlns') {\n prefix = 'xmlns'\n local = ''\n }\n\n return { prefix: prefix, local: local }\n }\n\n function attrib(parser) {\n if (!parser.strict) {\n parser.attribName = parser.attribName[parser.looseCase]()\n }\n\n if (\n parser.attribList.indexOf(parser.attribName) !== -1 ||\n parser.tag.attributes.hasOwnProperty(parser.attribName)\n ) {\n parser.attribName = parser.attribValue = ''\n return\n }\n\n if (parser.opt.xmlns) {\n var qn = qname(parser.attribName, true)\n var prefix = qn.prefix\n var local = qn.local\n\n if (prefix === 'xmlns') {\n // namespace binding attribute. push the binding into scope\n if (local === 'xml' && parser.attribValue !== XML_NAMESPACE) {\n strictFail(\n parser,\n 'xml: prefix must be bound to ' +\n XML_NAMESPACE +\n '\\n' +\n 'Actual: ' +\n parser.attribValue\n )\n } else if (\n local === 'xmlns' &&\n parser.attribValue !== XMLNS_NAMESPACE\n ) {\n strictFail(\n parser,\n 'xmlns: prefix must be bound to ' +\n XMLNS_NAMESPACE +\n '\\n' +\n 'Actual: ' +\n parser.attribValue\n )\n } else {\n var tag = parser.tag\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns === parent.ns) {\n tag.ns = Object.create(parent.ns)\n }\n tag.ns[local] = parser.attribValue\n }\n }\n\n // defer onattribute events until all attributes have been seen\n // so any new bindings can take effect. preserve attribute order\n // so deferred events can be emitted in document order\n parser.attribList.push([parser.attribName, parser.attribValue])\n } else {\n // in non-xmlns mode, we can emit the event right away\n parser.tag.attributes[parser.attribName] = parser.attribValue\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: parser.attribValue,\n })\n }\n\n parser.attribName = parser.attribValue = ''\n }\n\n function openTag(parser, selfClosing) {\n if (parser.opt.xmlns) {\n // emit namespace binding events\n var tag = parser.tag\n\n // add namespace info to tag\n var qn = qname(parser.tagName)\n tag.prefix = qn.prefix\n tag.local = qn.local\n tag.uri = tag.ns[qn.prefix] || ''\n\n if (tag.prefix && !tag.uri) {\n strictFail(\n parser,\n 'Unbound namespace prefix: ' + JSON.stringify(parser.tagName)\n )\n tag.uri = qn.prefix\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (tag.ns && parent.ns !== tag.ns) {\n Object.keys(tag.ns).forEach(function (p) {\n emitNode(parser, 'onopennamespace', {\n prefix: p,\n uri: tag.ns[p],\n })\n })\n }\n\n // handle deferred onattribute events\n // Note: do not apply default ns to attributes:\n // http://www.w3.org/TR/REC-xml-names/#defaulting\n for (var i = 0, l = parser.attribList.length; i < l; i++) {\n var nv = parser.attribList[i]\n var name = nv[0]\n var value = nv[1]\n var qualName = qname(name, true)\n var prefix = qualName.prefix\n var local = qualName.local\n var uri = prefix === '' ? '' : tag.ns[prefix] || ''\n var a = {\n name: name,\n value: value,\n prefix: prefix,\n local: local,\n uri: uri,\n }\n\n // if there's any attributes with an undefined namespace,\n // then fail on them now.\n if (prefix && prefix !== 'xmlns' && !uri) {\n strictFail(\n parser,\n 'Unbound namespace prefix: ' + JSON.stringify(prefix)\n )\n a.uri = prefix\n }\n parser.tag.attributes[name] = a\n emitNode(parser, 'onattribute', a)\n }\n parser.attribList.length = 0\n }\n\n parser.tag.isSelfClosing = !!selfClosing\n\n // process the tag\n parser.sawRoot = true\n parser.tags.push(parser.tag)\n emitNode(parser, 'onopentag', parser.tag)\n if (!selfClosing) {\n // special case for <script> in non-strict mode.\n if (!parser.noscript && parser.tagName.toLowerCase() === 'script') {\n parser.state = S.SCRIPT\n } else {\n parser.state = S.TEXT\n }\n parser.tag = null\n parser.tagName = ''\n }\n parser.attribName = parser.attribValue = ''\n parser.attribList.length = 0\n }\n\n function closeTag(parser) {\n if (!parser.tagName) {\n strictFail(parser, 'Weird empty close tag.')\n parser.textNode += '</>'\n parser.state = S.TEXT\n return\n }\n\n if (parser.script) {\n if (parser.tagName !== 'script') {\n parser.script += '</' + parser.tagName + '>'\n parser.tagName = ''\n parser.state = S.SCRIPT\n return\n }\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n\n // first make sure that the closing tag actually exists.\n // <a><b></c></b></a> will close everything, otherwise.\n var t = parser.tags.length\n var tagName = parser.tagName\n if (!parser.strict) {\n tagName = tagName[parser.looseCase]()\n }\n var closeTo = tagName\n while (t--) {\n var close = parser.tags[t]\n if (close.name !== closeTo) {\n // fail the first time in strict mode\n strictFail(parser, 'Unexpected close tag')\n } else {\n break\n }\n }\n\n // didn't find it. we already failed for strict, so just abort.\n if (t < 0) {\n strictFail(parser, 'Unmatched closing tag: ' + parser.tagName)\n parser.textNode += '</' + parser.tagName + '>'\n parser.state = S.TEXT\n return\n }\n parser.tagName = tagName\n var s = parser.tags.length\n while (s-- > t) {\n var tag = (parser.tag = parser.tags.pop())\n parser.tagName = parser.tag.name\n emitNode(parser, 'onclosetag', parser.tagName)\n\n var x = {}\n for (var i in tag.ns) {\n x[i] = tag.ns[i]\n }\n\n var parent = parser.tags[parser.tags.length - 1] || parser\n if (parser.opt.xmlns && tag.ns !== parent.ns) {\n // remove namespace bindings introduced by tag\n Object.keys(tag.ns).forEach(function (p) {\n var n = tag.ns[p]\n emitNode(parser, 'onclosenamespace', { prefix: p, uri: n })\n })\n }\n }\n if (t === 0) parser.closedRoot = true\n parser.tagName = parser.attribValue = parser.attribName = ''\n parser.attribList.length = 0\n parser.state = S.TEXT\n }\n\n function parseEntity(parser) {\n var entity = parser.entity\n var entityLC = entity.toLowerCase()\n var num\n var numStr = ''\n\n if (parser.ENTITIES[entity]) {\n return parser.ENTITIES[entity]\n }\n if (parser.ENTITIES[entityLC]) {\n return parser.ENTITIES[entityLC]\n }\n entity = entityLC\n if (entity.charAt(0) === '#') {\n if (entity.charAt(1) === 'x') {\n entity = entity.slice(2)\n num = parseInt(entity, 16)\n numStr = num.toString(16)\n } else {\n entity = entity.slice(1)\n num = parseInt(entity, 10)\n numStr = num.toString(10)\n }\n }\n entity = entity.replace(/^0+/, '')\n if (\n isNaN(num) ||\n numStr.toLowerCase() !== entity ||\n num < 0 ||\n num > 0x10ffff\n ) {\n strictFail(parser, 'Invalid character entity')\n return '&' + parser.entity + ';'\n }\n\n return String.fromCodePoint(num)\n }\n\n function beginWhiteSpace(parser, c) {\n if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (!isWhitespace(c)) {\n // have to process this as a text node.\n // weird, but happens.\n strictFail(parser, 'Non-whitespace before first tag.')\n parser.textNode = c\n parser.state = S.TEXT\n }\n }\n\n function charAt(chunk, i) {\n var result = ''\n if (i < chunk.length) {\n result = chunk.charAt(i)\n }\n return result\n }\n\n function write(chunk) {\n var parser = this\n if (this.error) {\n throw this.error\n }\n if (parser.closed) {\n return error(\n parser,\n 'Cannot write after close. Assign an onready handler.'\n )\n }\n if (chunk === null) {\n return end(parser)\n }\n if (typeof chunk === 'object') {\n chunk = chunk.toString()\n }\n var i = 0\n var c = ''\n while (true) {\n c = charAt(chunk, i++)\n parser.c = c\n\n if (!c) {\n break\n }\n\n if (parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n\n switch (parser.state) {\n case S.BEGIN:\n parser.state = S.BEGIN_WHITESPACE\n if (c === '\\uFEFF') {\n continue\n }\n beginWhiteSpace(parser, c)\n continue\n\n case S.BEGIN_WHITESPACE:\n beginWhiteSpace(parser, c)\n continue\n\n case S.TEXT:\n if (parser.sawRoot && !parser.closedRoot) {\n var starti = i - 1\n while (c && c !== '<' && c !== '&') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.textNode += chunk.substring(starti, i - 1)\n }\n if (\n c === '<' &&\n !(parser.sawRoot && parser.closedRoot && !parser.strict)\n ) {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else {\n if (\n !isWhitespace(c) &&\n (!parser.sawRoot || parser.closedRoot)\n ) {\n strictFail(parser, 'Text data outside of root node.')\n }\n if (c === '&') {\n parser.state = S.TEXT_ENTITY\n } else {\n parser.textNode += c\n }\n }\n continue\n\n case S.SCRIPT:\n // only non-strict\n if (c === '<') {\n parser.state = S.SCRIPT_ENDING\n } else {\n parser.script += c\n }\n continue\n\n case S.SCRIPT_ENDING:\n if (c === '/') {\n parser.state = S.CLOSE_TAG\n } else {\n parser.script += '<' + c\n parser.state = S.SCRIPT\n }\n continue\n\n case S.OPEN_WAKA:\n // either a /, ?, !, or text is coming next.\n if (c === '!') {\n parser.state = S.SGML_DECL\n parser.sgmlDecl = ''\n } else if (isWhitespace(c)) {\n // wait for it...\n } else if (isMatch(nameStart, c)) {\n parser.state = S.OPEN_TAG\n parser.tagName = c\n } else if (c === '/') {\n parser.state = S.CLOSE_TAG\n parser.tagName = ''\n } else if (c === '?') {\n parser.state = S.PROC_INST\n parser.procInstName = parser.procInstBody = ''\n } else {\n strictFail(parser, 'Unencoded <')\n // if there was some whitespace, then add that in.\n if (parser.startTagPosition + 1 < parser.position) {\n var pad = parser.position - parser.startTagPosition\n c = new Array(pad).join(' ') + c\n }\n parser.textNode += '<' + c\n parser.state = S.TEXT\n }\n continue\n\n case S.SGML_DECL:\n if (parser.sgmlDecl + c === '--') {\n parser.state = S.COMMENT\n parser.comment = ''\n parser.sgmlDecl = ''\n continue\n }\n\n if (\n parser.doctype &&\n parser.doctype !== true &&\n parser.sgmlDecl\n ) {\n parser.state = S.DOCTYPE_DTD\n parser.doctype += '<!' + parser.sgmlDecl + c\n parser.sgmlDecl = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === CDATA) {\n emitNode(parser, 'onopencdata')\n parser.state = S.CDATA\n parser.sgmlDecl = ''\n parser.cdata = ''\n } else if ((parser.sgmlDecl + c).toUpperCase() === DOCTYPE) {\n parser.state = S.DOCTYPE\n if (parser.doctype || parser.sawRoot) {\n strictFail(\n parser,\n 'Inappropriately located doctype declaration'\n )\n }\n parser.doctype = ''\n parser.sgmlDecl = ''\n } else if (c === '>') {\n emitNode(parser, 'onsgmldeclaration', parser.sgmlDecl)\n parser.sgmlDecl = ''\n parser.state = S.TEXT\n } else if (isQuote(c)) {\n parser.state = S.SGML_DECL_QUOTED\n parser.sgmlDecl += c\n } else {\n parser.sgmlDecl += c\n }\n continue\n\n case S.SGML_DECL_QUOTED:\n if (c === parser.q) {\n parser.state = S.SGML_DECL\n parser.q = ''\n }\n parser.sgmlDecl += c\n continue\n\n case S.DOCTYPE:\n if (c === '>') {\n parser.state = S.TEXT\n emitNode(parser, 'ondoctype', parser.doctype)\n parser.doctype = true // just remember that we saw it.\n } else {\n parser.doctype += c\n if (c === '[') {\n parser.state = S.DOCTYPE_DTD\n } else if (isQuote(c)) {\n parser.state = S.DOCTYPE_QUOTED\n parser.q = c\n }\n }\n continue\n\n case S.DOCTYPE_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.q = ''\n parser.state = S.DOCTYPE\n }\n continue\n\n case S.DOCTYPE_DTD:\n if (c === ']') {\n parser.doctype += c\n parser.state = S.DOCTYPE\n } else if (c === '<') {\n parser.state = S.OPEN_WAKA\n parser.startTagPosition = parser.position\n } else if (isQuote(c)) {\n parser.doctype += c\n parser.state = S.DOCTYPE_DTD_QUOTED\n parser.q = c\n } else {\n parser.doctype += c\n }\n continue\n\n case S.DOCTYPE_DTD_QUOTED:\n parser.doctype += c\n if (c === parser.q) {\n parser.state = S.DOCTYPE_DTD\n parser.q = ''\n }\n continue\n\n case S.COMMENT:\n if (c === '-') {\n parser.state = S.COMMENT_ENDING\n } else {\n parser.comment += c\n }\n continue\n\n case S.COMMENT_ENDING:\n if (c === '-') {\n parser.state = S.COMMENT_ENDED\n parser.comment = textopts(parser.opt, parser.comment)\n if (parser.comment) {\n emitNode(parser, 'oncomment', parser.comment)\n }\n parser.comment = ''\n } else {\n parser.comment += '-' + c\n parser.state = S.COMMENT\n }\n continue\n\n case S.COMMENT_ENDED:\n if (c !== '>') {\n strictFail(parser, 'Malformed comment')\n // allow <!-- blah -- bloo --> in non-strict mode,\n // which is a comment of \" blah -- bloo \"\n parser.comment += '--' + c\n parser.state = S.COMMENT\n } else if (parser.doctype && parser.doctype !== true) {\n parser.state = S.DOCTYPE_DTD\n } else {\n parser.state = S.TEXT\n }\n continue\n\n case S.CDATA:\n var starti = i - 1\n while (c && c !== ']') {\n c = charAt(chunk, i++)\n if (c && parser.trackPosition) {\n parser.position++\n if (c === '\\n') {\n parser.line++\n parser.column = 0\n } else {\n parser.column++\n }\n }\n }\n parser.cdata += chunk.substring(starti, i - 1)\n if (c === ']') {\n parser.state = S.CDATA_ENDING\n }\n continue\n\n case S.CDATA_ENDING:\n if (c === ']') {\n parser.state = S.CDATA_ENDING_2\n } else {\n parser.cdata += ']' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.CDATA_ENDING_2:\n if (c === '>') {\n if (parser.cdata) {\n emitNode(parser, 'oncdata', parser.cdata)\n }\n emitNode(parser, 'onclosecdata')\n parser.cdata = ''\n parser.state = S.TEXT\n } else if (c === ']') {\n parser.cdata += ']'\n } else {\n parser.cdata += ']]' + c\n parser.state = S.CDATA\n }\n continue\n\n case S.PROC_INST:\n if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else if (isWhitespace(c)) {\n parser.state = S.PROC_INST_BODY\n } else {\n parser.procInstName += c\n }\n continue\n\n case S.PROC_INST_BODY:\n if (!parser.procInstBody && isWhitespace(c)) {\n continue\n } else if (c === '?') {\n parser.state = S.PROC_INST_ENDING\n } else {\n parser.procInstBody += c\n }\n continue\n\n case S.PROC_INST_ENDING:\n if (c === '>') {\n emitNode(parser, 'onprocessinginstruction', {\n name: parser.procInstName,\n body: parser.procInstBody,\n })\n parser.procInstName = parser.procInstBody = ''\n parser.state = S.TEXT\n } else {\n parser.procInstBody += '?' + c\n parser.state = S.PROC_INST_BODY\n }\n continue\n\n case S.OPEN_TAG:\n if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else {\n newTag(parser)\n if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid character in tag name')\n }\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.OPEN_TAG_SLASH:\n if (c === '>') {\n openTag(parser, true)\n closeTag(parser)\n } else {\n strictFail(\n parser,\n 'Forward-slash in opening tag not followed by >'\n )\n parser.state = S.ATTRIB\n }\n continue\n\n case S.ATTRIB:\n // haven't read the attribute name yet.\n if (isWhitespace(c)) {\n continue\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (c === '>') {\n strictFail(parser, 'Attribute without value')\n parser.attribValue = parser.attribName\n attrib(parser)\n openTag(parser)\n } else if (isWhitespace(c)) {\n parser.state = S.ATTRIB_NAME_SAW_WHITE\n } else if (isMatch(nameBody, c)) {\n parser.attribName += c\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_NAME_SAW_WHITE:\n if (c === '=') {\n parser.state = S.ATTRIB_VALUE\n } else if (isWhitespace(c)) {\n continue\n } else {\n strictFail(parser, 'Attribute without value')\n parser.tag.attributes[parser.attribName] = ''\n parser.attribValue = ''\n emitNode(parser, 'onattribute', {\n name: parser.attribName,\n value: '',\n })\n parser.attribName = ''\n if (c === '>') {\n openTag(parser)\n } else if (isMatch(nameStart, c)) {\n parser.attribName = c\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n parser.state = S.ATTRIB\n }\n }\n continue\n\n case S.ATTRIB_VALUE:\n if (isWhitespace(c)) {\n continue\n } else if (isQuote(c)) {\n parser.q = c\n parser.state = S.ATTRIB_VALUE_QUOTED\n } else {\n if (!parser.opt.unquotedAttributeValues) {\n error(parser, 'Unquoted attribute value')\n }\n parser.state = S.ATTRIB_VALUE_UNQUOTED\n parser.attribValue = c\n }\n continue\n\n case S.ATTRIB_VALUE_QUOTED:\n if (c !== parser.q) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_Q\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n parser.q = ''\n parser.state = S.ATTRIB_VALUE_CLOSED\n continue\n\n case S.ATTRIB_VALUE_CLOSED:\n if (isWhitespace(c)) {\n parser.state = S.ATTRIB\n } else if (c === '>') {\n openTag(parser)\n } else if (c === '/') {\n parser.state = S.OPEN_TAG_SLASH\n } else if (isMatch(nameStart, c)) {\n strictFail(parser, 'No whitespace between attributes')\n parser.attribName = c\n parser.attribValue = ''\n parser.state = S.ATTRIB_NAME\n } else {\n strictFail(parser, 'Invalid attribute name')\n }\n continue\n\n case S.ATTRIB_VALUE_UNQUOTED:\n if (!isAttribEnd(c)) {\n if (c === '&') {\n parser.state = S.ATTRIB_VALUE_ENTITY_U\n } else {\n parser.attribValue += c\n }\n continue\n }\n attrib(parser)\n if (c === '>') {\n openTag(parser)\n } else {\n parser.state = S.ATTRIB\n }\n continue\n\n case S.CLOSE_TAG:\n if (!parser.tagName) {\n if (isWhitespace(c)) {\n continue\n } else if (notMatch(nameStart, c)) {\n if (parser.script) {\n parser.script += '</' + c\n parser.state = S.SCRIPT\n } else {\n strictFail(parser, 'Invalid tagname in closing tag.')\n }\n } else {\n parser.tagName = c\n }\n } else if (c === '>') {\n closeTag(parser)\n } else if (isMatch(nameBody, c)) {\n parser.tagName += c\n } else if (parser.script) {\n parser.script += '</' + parser.tagName + c\n parser.tagName = ''\n parser.state = S.SCRIPT\n } else {\n if (!isWhitespace(c)) {\n strictFail(parser, 'Invalid tagname in closing tag')\n }\n parser.state = S.CLOSE_TAG_SAW_WHITE\n }\n continue\n\n case S.CLOSE_TAG_SAW_WHITE:\n if (isWhitespace(c)) {\n continue\n }\n if (c === '>') {\n closeTag(parser)\n } else {\n strictFail(parser, 'Invalid characters in closing tag')\n }\n continue\n\n case S.TEXT_ENTITY:\n case S.ATTRIB_VALUE_ENTITY_Q:\n case S.ATTRIB_VALUE_ENTITY_U:\n var returnState\n var buffer\n switch (parser.state) {\n case S.TEXT_ENTITY:\n returnState = S.TEXT\n buffer = 'textNode'\n break\n\n case S.ATTRIB_VALUE_ENTITY_Q:\n returnState = S.ATTRIB_VALUE_QUOTED\n buffer = 'attribValue'\n break\n\n case S.ATTRIB_VALUE_ENTITY_U:\n returnState = S.ATTRIB_VALUE_UNQUOTED\n buffer = 'attribValue'\n break\n }\n\n if (c === ';') {\n var parsedEntity = parseEntity(parser)\n if (\n parser.opt.unparsedEntities &&\n !Object.values(sax.XML_ENTITIES).includes(parsedEntity)\n ) {\n parser.entity = ''\n parser.state = returnState\n parser.write(parsedEntity)\n } else {\n parser[buffer] += parsedEntity\n parser.entity = ''\n parser.state = returnState\n }\n } else if (\n isMatch(parser.entity.length ? entityBody : entityStart, c)\n ) {\n parser.entity += c\n } else {\n strictFail(parser, 'Invalid character in entity name')\n parser[buffer] += '&' + parser.entity + c\n parser.entity = ''\n parser.state = returnState\n }\n\n continue\n\n default: /* istanbul ignore next */ {\n throw new Error(parser, 'Unknown state: ' + parser.state)\n }\n }\n } // while\n\n if (parser.position >= parser.bufferCheckPosition) {\n checkBufferLength(parser)\n }\n return parser\n }\n\n /*! http://mths.be/fromcodepoint v0.1.0 by @mathias */\n /* istanbul ignore next */\n if (!String.fromCodePoint) {\n ;(function () {\n var stringFromCharCode = String.fromCharCode\n var floor = Math.floor\n var fromCodePoint = function () {\n var MAX_SIZE = 0x4000\n var codeUnits = []\n var highSurrogate\n var lowSurrogate\n var index = -1\n var length = arguments.length\n if (!length) {\n return ''\n }\n var result = ''\n while (++index < length) {\n var codePoint = Number(arguments[index])\n if (\n !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n floor(codePoint) !== codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint)\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint)\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000\n highSurrogate = (codePoint >> 10) + 0xd800\n lowSurrogate = (codePoint % 0x400) + 0xdc00\n codeUnits.push(highSurrogate, lowSurrogate)\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode.apply(null, codeUnits)\n codeUnits.length = 0\n }\n }\n return result\n }\n /* istanbul ignore next */\n if (Object.defineProperty) {\n Object.defineProperty(String, 'fromCodePoint', {\n value: fromCodePoint,\n configurable: true,\n writable: true,\n })\n } else {\n String.fromCodePoint = fromCodePoint\n }\n })()\n }\n})(typeof exports === 'undefined' ? (this.sax = {}) : exports)\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n exports.stripBOM = function(str) {\n if (str[0] === '\\uFEFF') {\n return str.substring(1);\n } else {\n return str;\n }\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var prefixMatch;\n\n prefixMatch = new RegExp(/(?!xmlns)^.*:/);\n\n exports.normalize = function(str) {\n return str.toLowerCase();\n };\n\n exports.firstCharLowerCase = function(str) {\n return str.charAt(0).toLowerCase() + str.slice(1);\n };\n\n exports.stripPrefix = function(str) {\n return str.replace(prefixMatch, '');\n };\n\n exports.parseNumbers = function(str) {\n if (!isNaN(str)) {\n str = str % 1 === 0 ? parseInt(str, 10) : parseFloat(str);\n }\n return str;\n };\n\n exports.parseBooleans = function(str) {\n if (/^(?:true|false)$/i.test(str)) {\n str = str.toLowerCase() === 'true';\n }\n return str;\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var bom, defaults, defineProperty, events, isEmpty, processItem, processors, sax, setImmediate,\n bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; },\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n sax = require('sax');\n\n events = require('events');\n\n bom = require('./bom');\n\n processors = require('./processors');\n\n setImmediate = require('timers').setImmediate;\n\n defaults = require('./defaults').defaults;\n\n isEmpty = function(thing) {\n return typeof thing === \"object\" && (thing != null) && Object.keys(thing).length === 0;\n };\n\n processItem = function(processors, item, key) {\n var i, len, process;\n for (i = 0, len = processors.length; i < len; i++) {\n process = processors[i];\n item = process(item, key);\n }\n return item;\n };\n\n defineProperty = function(obj, key, value) {\n var descriptor;\n descriptor = Object.create(null);\n descriptor.value = value;\n descriptor.writable = true;\n descriptor.enumerable = true;\n descriptor.configurable = true;\n return Object.defineProperty(obj, key, descriptor);\n };\n\n exports.Parser = (function(superClass) {\n extend(Parser, superClass);\n\n function Parser(opts) {\n this.parseStringPromise = bind(this.parseStringPromise, this);\n this.parseString = bind(this.parseString, this);\n this.reset = bind(this.reset, this);\n this.assignOrPush = bind(this.assignOrPush, this);\n this.processAsync = bind(this.processAsync, this);\n var key, ref, value;\n if (!(this instanceof exports.Parser)) {\n return new exports.Parser(opts);\n }\n this.options = {};\n ref = defaults[\"0.2\"];\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n value = ref[key];\n this.options[key] = value;\n }\n for (key in opts) {\n if (!hasProp.call(opts, key)) continue;\n value = opts[key];\n this.options[key] = value;\n }\n if (this.options.xmlns) {\n this.options.xmlnskey = this.options.attrkey + \"ns\";\n }\n if (this.options.normalizeTags) {\n if (!this.options.tagNameProcessors) {\n this.options.tagNameProcessors = [];\n }\n this.options.tagNameProcessors.unshift(processors.normalize);\n }\n this.reset();\n }\n\n Parser.prototype.processAsync = function() {\n var chunk, err;\n try {\n if (this.remaining.length <= this.options.chunkSize) {\n chunk = this.remaining;\n this.remaining = '';\n this.saxParser = this.saxParser.write(chunk);\n return this.saxParser.close();\n } else {\n chunk = this.remaining.substr(0, this.options.chunkSize);\n this.remaining = this.remaining.substr(this.options.chunkSize, this.remaining.length);\n this.saxParser = this.saxParser.write(chunk);\n return setImmediate(this.processAsync);\n }\n } catch (error1) {\n err = error1;\n if (!this.saxParser.errThrown) {\n this.saxParser.errThrown = true;\n return this.emit(err);\n }\n }\n };\n\n Parser.prototype.assignOrPush = function(obj, key, newValue) {\n if (!(key in obj)) {\n if (!this.options.explicitArray) {\n return defineProperty(obj, key, newValue);\n } else {\n return defineProperty(obj, key, [newValue]);\n }\n } else {\n if (!(obj[key] instanceof Array)) {\n defineProperty(obj, key, [obj[key]]);\n }\n return obj[key].push(newValue);\n }\n };\n\n Parser.prototype.reset = function() {\n var attrkey, charkey, ontext, stack;\n this.removeAllListeners();\n this.saxParser = sax.parser(this.options.strict, {\n trim: false,\n normalize: false,\n xmlns: this.options.xmlns\n });\n this.saxParser.errThrown = false;\n this.saxParser.onerror = (function(_this) {\n return function(error) {\n _this.saxParser.resume();\n if (!_this.saxParser.errThrown) {\n _this.saxParser.errThrown = true;\n return _this.emit(\"error\", error);\n }\n };\n })(this);\n this.saxParser.onend = (function(_this) {\n return function() {\n if (!_this.saxParser.ended) {\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n this.saxParser.ended = false;\n this.EXPLICIT_CHARKEY = this.options.explicitCharkey;\n this.resultObject = null;\n stack = [];\n attrkey = this.options.attrkey;\n charkey = this.options.charkey;\n this.saxParser.onopentag = (function(_this) {\n return function(node) {\n var key, newValue, obj, processedKey, ref;\n obj = {};\n obj[charkey] = \"\";\n if (!_this.options.ignoreAttrs) {\n ref = node.attributes;\n for (key in ref) {\n if (!hasProp.call(ref, key)) continue;\n if (!(attrkey in obj) && !_this.options.mergeAttrs) {\n obj[attrkey] = {};\n }\n newValue = _this.options.attrValueProcessors ? processItem(_this.options.attrValueProcessors, node.attributes[key], key) : node.attributes[key];\n processedKey = _this.options.attrNameProcessors ? processItem(_this.options.attrNameProcessors, key) : key;\n if (_this.options.mergeAttrs) {\n _this.assignOrPush(obj, processedKey, newValue);\n } else {\n defineProperty(obj[attrkey], processedKey, newValue);\n }\n }\n }\n obj[\"#name\"] = _this.options.tagNameProcessors ? processItem(_this.options.tagNameProcessors, node.name) : node.name;\n if (_this.options.xmlns) {\n obj[_this.options.xmlnskey] = {\n uri: node.uri,\n local: node.local\n };\n }\n return stack.push(obj);\n };\n })(this);\n this.saxParser.onclosetag = (function(_this) {\n return function() {\n var cdata, emptyStr, key, node, nodeName, obj, objClone, old, s, xpath;\n obj = stack.pop();\n nodeName = obj[\"#name\"];\n if (!_this.options.explicitChildren || !_this.options.preserveChildrenOrder) {\n delete obj[\"#name\"];\n }\n if (obj.cdata === true) {\n cdata = obj.cdata;\n delete obj.cdata;\n }\n s = stack[stack.length - 1];\n if (obj[charkey].match(/^\\s*$/) && !cdata) {\n emptyStr = obj[charkey];\n delete obj[charkey];\n } else {\n if (_this.options.trim) {\n obj[charkey] = obj[charkey].trim();\n }\n if (_this.options.normalize) {\n obj[charkey] = obj[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n obj[charkey] = _this.options.valueProcessors ? processItem(_this.options.valueProcessors, obj[charkey], nodeName) : obj[charkey];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n if (isEmpty(obj)) {\n if (typeof _this.options.emptyTag === 'function') {\n obj = _this.options.emptyTag();\n } else {\n obj = _this.options.emptyTag !== '' ? _this.options.emptyTag : emptyStr;\n }\n }\n if (_this.options.validator != null) {\n xpath = \"/\" + ((function() {\n var i, len, results;\n results = [];\n for (i = 0, len = stack.length; i < len; i++) {\n node = stack[i];\n results.push(node[\"#name\"]);\n }\n return results;\n })()).concat(nodeName).join(\"/\");\n (function() {\n var err;\n try {\n return obj = _this.options.validator(xpath, s && s[nodeName], obj);\n } catch (error1) {\n err = error1;\n return _this.emit(\"error\", err);\n }\n })();\n }\n if (_this.options.explicitChildren && !_this.options.mergeAttrs && typeof obj === 'object') {\n if (!_this.options.preserveChildrenOrder) {\n node = {};\n if (_this.options.attrkey in obj) {\n node[_this.options.attrkey] = obj[_this.options.attrkey];\n delete obj[_this.options.attrkey];\n }\n if (!_this.options.charsAsChildren && _this.options.charkey in obj) {\n node[_this.options.charkey] = obj[_this.options.charkey];\n delete obj[_this.options.charkey];\n }\n if (Object.getOwnPropertyNames(obj).length > 0) {\n node[_this.options.childkey] = obj;\n }\n obj = node;\n } else if (s) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n objClone = {};\n for (key in obj) {\n if (!hasProp.call(obj, key)) continue;\n defineProperty(objClone, key, obj[key]);\n }\n s[_this.options.childkey].push(objClone);\n delete obj[\"#name\"];\n if (Object.keys(obj).length === 1 && charkey in obj && !_this.EXPLICIT_CHARKEY) {\n obj = obj[charkey];\n }\n }\n }\n if (stack.length > 0) {\n return _this.assignOrPush(s, nodeName, obj);\n } else {\n if (_this.options.explicitRoot) {\n old = obj;\n obj = {};\n defineProperty(obj, nodeName, old);\n }\n _this.resultObject = obj;\n _this.saxParser.ended = true;\n return _this.emit(\"end\", _this.resultObject);\n }\n };\n })(this);\n ontext = (function(_this) {\n return function(text) {\n var charChild, s;\n s = stack[stack.length - 1];\n if (s) {\n s[charkey] += text;\n if (_this.options.explicitChildren && _this.options.preserveChildrenOrder && _this.options.charsAsChildren && (_this.options.includeWhiteChars || text.replace(/\\\\n/g, '').trim() !== '')) {\n s[_this.options.childkey] = s[_this.options.childkey] || [];\n charChild = {\n '#name': '__text__'\n };\n charChild[charkey] = text;\n if (_this.options.normalize) {\n charChild[charkey] = charChild[charkey].replace(/\\s{2,}/g, \" \").trim();\n }\n s[_this.options.childkey].push(charChild);\n }\n return s;\n }\n };\n })(this);\n this.saxParser.ontext = ontext;\n return this.saxParser.oncdata = (function(_this) {\n return function(text) {\n var s;\n s = ontext(text);\n if (s) {\n return s.cdata = true;\n }\n };\n })(this);\n };\n\n Parser.prototype.parseString = function(str, cb) {\n var err;\n if ((cb != null) && typeof cb === \"function\") {\n this.on(\"end\", function(result) {\n this.reset();\n return cb(null, result);\n });\n this.on(\"error\", function(err) {\n this.reset();\n return cb(err);\n });\n }\n try {\n str = str.toString();\n if (str.trim() === '') {\n this.emit(\"end\", null);\n return true;\n }\n str = bom.stripBOM(str);\n if (this.options.async) {\n this.remaining = str;\n setImmediate(this.processAsync);\n return this.saxParser;\n }\n return this.saxParser.write(str).close();\n } catch (error1) {\n err = error1;\n if (!(this.saxParser.errThrown || this.saxParser.ended)) {\n this.emit('error', err);\n return this.saxParser.errThrown = true;\n } else if (this.saxParser.ended) {\n throw err;\n }\n }\n };\n\n Parser.prototype.parseStringPromise = function(str) {\n return new Promise((function(_this) {\n return function(resolve, reject) {\n return _this.parseString(str, function(err, value) {\n if (err) {\n return reject(err);\n } else {\n return resolve(value);\n }\n });\n };\n })(this));\n };\n\n return Parser;\n\n })(events);\n\n exports.parseString = function(str, a, b) {\n var cb, options, parser;\n if (b != null) {\n if (typeof b === 'function') {\n cb = b;\n }\n if (typeof a === 'object') {\n options = a;\n }\n } else {\n if (typeof a === 'function') {\n cb = a;\n }\n options = {};\n }\n parser = new exports.Parser(options);\n return parser.parseString(str, cb);\n };\n\n exports.parseStringPromise = function(str, a) {\n var options, parser;\n if (typeof a === 'object') {\n options = a;\n }\n parser = new exports.Parser(options);\n return parser.parseStringPromise(str);\n };\n\n}).call(this);\n","// Generated by CoffeeScript 1.12.7\n(function() {\n \"use strict\";\n var builder, defaults, parser, processors,\n extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; },\n hasProp = {}.hasOwnProperty;\n\n defaults = require('./defaults');\n\n builder = require('./builder');\n\n parser = require('./parser');\n\n processors = require('./processors');\n\n exports.defaults = defaults.defaults;\n\n exports.processors = processors;\n\n exports.ValidationError = (function(superClass) {\n extend(ValidationError, superClass);\n\n function ValidationError(message) {\n this.message = message;\n }\n\n return ValidationError;\n\n })(Error);\n\n exports.Builder = builder.Builder;\n\n exports.Parser = parser.Parser;\n\n exports.parseString = parser.parseString;\n\n exports.parseStringPromise = parser.parseStringPromise;\n\n}).call(this);\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["MILLISECONDS_IN_WEEK","formatters","lightFormatters","locale","defaultLocale","BaseNFe","XmlParser","ValidaCPFCNPJ","logger","mountICMS","mountPIS","mountCOFINS","this","XMLDOMImplementationModule","XMLDOMErrorHandlerModule","XMLDOMStringListModule","require$$0","require$$1","XMLDOMConfigurationModule","NodeTypeModule","XMLAttributeModule","XMLNamedNodeMapModule","require$$2","require$$3","require$$4","XMLElementModule","XMLCharacterDataModule","XMLCDataModule","XMLCommentModule","XMLDeclarationModule","XMLDTDAttListModule","XMLDTDEntityModule","XMLDTDElementModule","XMLDTDNotationModule","require$$5","require$$6","require$$7","XMLDocTypeModule","XMLRawModule","XMLTextModule","XMLProcessingInstructionModule","XMLDummyModule","XMLNodeListModule","DocumentPositionModule","XMLNodeModule","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","XMLStringifierModule","WriterStateModule","require$$14","require$$15","XMLWriterBaseModule","XMLStringWriterModule","XMLDocumentModule","require$$16","require$$17","require$$18","XMLDocumentCBModule","XMLStreamWriterModule","builder","builder_1","exports","getCodIBGE","Environment","Utility","SaveFiles","XmlBuilder","GerarConsulta","NFEDistribuicaoDFe","danfe","NFEGerarDanfe"],"mappings":"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7B,IAAI,aAAa,EAAE,gBAAgB;AACnC,IAAI,iBAAiB,EAAE;AACvB,GAAG,CAAC;AACJ,EAAE,SAAS,EAAE,YAAY,CAAC;AAC1B,IAAI,aAAa,EAAE,sBAAsB;AACzC,IAAI,iBAAiB,EAAE,KAAK;AAC5B,IAAI,aAAa,EAAE,sBAAsB;AACzC,IAAI,iBAAiB,EAAE;AACvB,GAAG;AACH,CAAC;;AC3FD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,MAAM,GAAG;AACb,EAAE,IAAI,EAAE,OAAO;AACf,EAAE,cAAc,EAAE,cAAc;AAChC,EAAE,UAAU,EAAE,UAAU;AACxB,EAAE,cAAc,EAAE,cAAc;AAChC,EAAE,QAAQ,EAAE,QAAQ;AACpB,EAAE,KAAK,EAAE,KAAK;AACd,EAAE,OAAO,EAAE;AACX,IAAI,YAAY,EAAE,CAAC;AACnB,IAAI,qBAAqB,EAAE;AAC3B;AACA,CAAC;;ACdD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,sBAAsB,GAAG,uDAAuD;;AAEpF;AACA;AACA,IAAI,0BAA0B,GAAG,mCAAmC;AACpE,IAAI,mBAAmB,GAAG,cAAc;AACxC,IAAI,iBAAiB,GAAG,KAAK;AAC7B,IAAI,6BAA6B,GAAG,UAAU;;AAE9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEe,SAAS,MAAM,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE;AACnE,EAAK,IAAC,IAAI,CAAC,CAAC,eAAe,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAA0C,qBAAqB,CAAC,CAAC,sBAAsB,CAAC,CAAC,KAAK,CAAC,CAAC,KA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IAAI,EAAE,GAAG;MACT,MAAM,EAAE,GAAG;MACX,MAAM,EAAE,GAAG;MACX,KAAK,EAAE,GAAG;MACV,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,IAAI,EAAE,GAAG;MACT,MAAM,EAAE,GAAG;MACX,MAAM,EAAE,GAAG;MACX,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,GAAG,EAAE,GAAG;MACR,IAAI,EAAE,GAAG;MACT,MAAM,EAAE,GAAG;MACX,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,IAAI,EAAE,GAAG;MACT,MAAM,EAAE,GAAG;MACX,MAAM,EAAE,GAAG;MACX,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,MAAM,EAAE,GAAG;MACX,MAAM,EAAE,GAAG;MACX,IAAI,EAAE,GAAG;MACT,KAAK,EAAE,GAAG;MACV,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,IAAI,EAAE,GAAG;MACT,MAAM,EAAE,GAAG;MACX,IAAI,EAAE,GAAG;MACT,IAAI,EAAE,GAAG;MACT,GAAG,EAAE,GAAG;MACR,IAAI,EAAE,GAAG;MACT,KAAK,EAAE,GAAG;MACV,IAAI,EAAE,GAAG;MACT,KAAK,EAAE,GAAG;MACV,MAAM,EAAE,GAAG;MACX,GAAG,EAAE,GAAG;MACR,MAAM,EAAE,GAAG;MACX,IAAI,EAAE,GAAG;MACT,GAAG,EAAE,GAAG;MACR,IAAI,EAAE,GAAG;MACT,KAAK,EAAE,GAAG;MACV,GAAG,EAAE,GAAG;MACR,GAAG,EAAE,GAAG;MACR,IAAI,EAAE,GAAG;MACT,GAAG,EAAE,GAAG;MACR,MAAM,EAAE,GAAG;MACX,IAAI,EAAE,GAAG;MACT,IAAI,EAAE,GAAG;MACT,IAAI,EAAE,GAAG;MACT,KAAK,EAAE,GAAG;MACV,KAAK,EAAE,GAAG;MACV,IAAI,EAAE,GAAG;MACT,MAAM,EAAE,GAAG;MACX,KAAK,EAAE,GAAG;MACV,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","x_google_ignoreList":[17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94]}
|