diff --git a/dist/filer.js b/dist/filer.js index 272e6e1..2f33186 100644 --- a/dist/filer.js +++ b/dist/filer.js @@ -4872,585 +4872,99 @@ define('src/adapters/adapters',['require','src/adapters/zlib','src/adapters/cryp }); -/* -Copyright (c) 2012, Alan Kligman -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - Neither the name of the Mozilla Foundation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -Errors based off Node.js custom errors (https://github.com/rvagg/node-errno) made available under the MIT license -*/ - define('src/errors',['require'],function(require) { - // - - function Unknown(message){ - this.message = message || 'unknown error'; - } - Unknown.prototype = new Error(); - Unknown.prototype.errno = -1; - Unknown.prototype.code = "UNKNOWN"; - Unknown.prototype.constructor = Unknown; + var errors = {}; + [ + /** + * node.js errors + */ + '-1:UNKNOWN:unknown error', + '0:OK:success', + '1:EOF:end of file', + '2:EADDRINFO:getaddrinfo error', + '3:EACCES:permission denied', + '4:EAGAIN:resource temporarily unavailable', + '5:EADDRINUSE:address already in use', + '6:EADDRNOTAVAIL:address not available', + '7:EAFNOSUPPORT:address family not supported', + '8:EALREADY:connection already in progress', + '9:EBADF:bad file descriptor', + '10:EBUSY:resource busy or locked', + '11:ECONNABORTED:software caused connection abort', + '12:ECONNREFUSED:connection refused', + '13:ECONNRESET:connection reset by peer', + '14:EDESTADDRREQ:destination address required', + '15:EFAULT:bad address in system call argument', + '16:EHOSTUNREACH:host is unreachable', + '17:EINTR:interrupted system call', + '18:EINVAL:invalid argument', + '19:EISCONN:socket is already connected', + '20:EMFILE:too many open files', + '21:EMSGSIZE:message too long', + '22:ENETDOWN:network is down', + '23:ENETUNREACH:network is unreachable', + '24:ENFILE:file table overflow', + '25:ENOBUFS:no buffer space available', + '26:ENOMEM:not enough memory', + '27:ENOTDIR:not a directory', + '28:EISDIR:illegal operation on a directory', + '29:ENONET:machine is not on the network', + // errno 30 skipped, as per https://github.com/rvagg/node-errno/blob/master/errno.js + '31:ENOTCONN:socket is not connected', + '32:ENOTSOCK:socket operation on non-socket', + '33:ENOTSUP:operation not supported on socket', + '34:ENOENT:no such file or directory', + '35:ENOSYS:function not implemented', + '36:EPIPE:broken pipe', + '37:EPROTO:protocol error', + '38:EPROTONOSUPPORT:protocol not supported', + '39:EPROTOTYPE:protocol wrong type for socket', + '40:ETIMEDOUT:connection timed out', + '41:ECHARSET:invalid Unicode character', + '42:EAIFAMNOSUPPORT:address family for hostname not supported', + // errno 43 skipped, as per https://github.com/rvagg/node-errno/blob/master/errno.js + '44:EAISERVICE:servname not supported for ai_socktype', + '45:EAISOCKTYPE:ai_socktype not supported', + '46:ESHUTDOWN:cannot send after transport endpoint shutdown', + '47:EEXIST:file already exists', + '48:ESRCH:no such process', + '49:ENAMETOOLONG:name too long', + '50:EPERM:operation not permitted', + '51:ELOOP:too many symbolic links encountered', + '52:EXDEV:cross-device link not permitted', + '53:ENOTEMPTY:directory not empty', + '54:ENOSPC:no space left on device', + '55:EIO:i/o error', + '56:EROFS:read-only file system', + '57:ENODEV:no such device', + '58:ESPIPE:invalid seek', + '59:ECANCELED:operation canceled', - function OK(message){ - this.message = message || 'success'; - } - OK.prototype = new Error(); - OK.prototype.errno = 0; - OK.prototype.code = "OK"; - OK.prototype.constructor = OK; + /** + * Filer specific errors + */ + '1000:ENOTMOUNTED:not mounted', + '1001:EFILESYSTEMERROR:missing super node, use \'FORMAT\' flag to format filesystem.', + '1002:ENOATTR:attribute does not exist' + ].forEach(function(e) { + e = e.split(':'); + var errno = e[0], + err = e[1], + message = e[2]; - function EOF(message){ - this.message = message || 'end of file'; - } - EOF.prototype = new Error(); - EOF.prototype.errno = 1; - EOF.prototype.code = "EOF"; - EOF.prototype.constructor = EOF; - - function EAddrInfo(message){ - this.message = message || 'getaddrinfo error'; - } - EAddrInfo.prototype = new Error(); - EAddrInfo.prototype.errno = 2; - EAddrInfo.prototype.code = "EADDRINFO"; - EAddrInfo.prototype.constructor = EAddrInfo; - - function EAcces(message){ - this.message = message || 'permission denied'; - } - EAcces.prototype = new Error(); - EAcces.prototype.errno = 3; - EAcces.prototype.code = "EACCES"; - EAcces.prototype.constructor = EAcces; - - function EAgain(message){ - this.message = message || 'resource temporarily unavailable'; - } - EAgain.prototype = new Error(); - EAgain.prototype.errno = 4; - EAgain.prototype.code = "EAGAIN"; - EAgain.prototype.constructor = EAgain; - - function EAddrInUse(message){ - this.message = message || 'address already in use'; - } - EAddrInUse.prototype = new Error(); - EAddrInUse.prototype.errno = 5; - EAddrInUse.prototype.code = "EADDRINUSE"; - EAddrInUse.prototype.constructor = EAddrInUse; - - function EAddrNotAvail(message){ - this.message = message || 'address not available'; - } - EAddrNotAvail.prototype = new Error(); - EAddrNotAvail.prototype.errno = 6; - EAddrNotAvail.prototype.code = "EADDRNOTAVAIL"; - EAddrNotAvail.prototype.constructor = EAddrNotAvail; - - function EAFNoSupport(message){ - this.message = message || 'address family not supported'; - } - EAFNoSupport.prototype = new Error(); - EAFNoSupport.prototype.errno = 7; - EAFNoSupport.prototype.code = "EAFNOSUPPORT"; - EAFNoSupport.prototype.constructor = EAFNoSupport; + function ctor(m) { + this.message = m || message; + } + var proto = ctor.prototype = new Error(); + proto.errno = errno; + proto.code = err; + proto.constructor = ctor; - function EAlready(message){ - this.message = message || 'connection already in progress'; - } - EAlready.prototype = new Error(); - EAlready.prototype.errno = 8; - EAlready.prototype.code = "EALREADY"; - EAlready.prototype.constructor = EAlready; - - function EBadFileDescriptor(message){ - this.message = message || 'bad file descriptor'; - } - EBadFileDescriptor.prototype = new Error(); - EBadFileDescriptor.prototype.errno = 9; - EBadFileDescriptor.prototype.code = "EBADF"; - EBadFileDescriptor.prototype.constructor = EBadFileDescriptor; - - function EBusy(message){ - this.message = message || 'resource busy or locked'; - } - EBusy.prototype = new Error(); - EBusy.prototype.errno = 10; - EBusy.prototype.code = "EBUSY"; - EBusy.prototype.constructor = EBusy; - - function EConnAborted(message){ - this.message = message || 'software caused connection abort'; - } - EConnAborted.prototype = new Error(); - EConnAborted.prototype.errno = 11; - EConnAborted.prototype.code = "ECONNABORTED"; - EConnAborted.prototype.constructor = EConnAborted; - - function EConnRefused(message){ - this.message = message || 'connection refused'; - } - EConnRefused.prototype = new Error(); - EConnRefused.prototype.errno = 12; - EConnRefused.prototype.code = "ECONNREFUSED"; - EConnRefused.prototype.constructor = EConnRefused; - - function EConnReset(message){ - this.message = message || 'connection reset by peer'; - } - EConnReset.prototype = new Error(); - EConnReset.prototype.errno = 13; - EConnReset.prototype.code = "ECONNRESET"; - EConnReset.prototype.constructor = EConnReset; - - function EDestAddrReq(message){ - this.message = message || 'destination address required'; - } - EDestAddrReq.prototype = new Error(); - EDestAddrReq.prototype.errno = 14; - EDestAddrReq.prototype.code = "EDESTADDRREQ"; - EDestAddrReq.prototype.constructor = EDestAddrReq; - - function EFault(message){ - this.message = message || 'bad address in system call argument'; - } - EFault.prototype = new Error(); - EFault.prototype.errno = 15; - EFault.prototype.code = "EFAULT"; - EFault.prototype.constructor = EFault; - - function EHostUnreach(message){ - this.message = message || 'host is unreachable'; - } - EHostUnreach.prototype = new Error(); - EHostUnreach.prototype.errno = 16; - EHostUnreach.prototype.code = "EHOSTUNREACH"; - EHostUnreach.prototype.constructor = EHostUnreach; - - function EIntr(message){ - this.message = message || 'interrupted system call'; - } - EIntr.prototype = new Error(); - EIntr.prototype.errno = 17; - EIntr.prototype.code = "EINTR"; - EIntr.prototype.constructor = EIntr; - - function EInvalid(message){ - this.message = message || 'invalid argument'; - } - EInvalid.prototype = new Error(); - EInvalid.prototype.errno = 18; - EInvalid.prototype.code = "EINVAL"; - EInvalid.prototype.constructor = EInvalid; - - function EIsConn(message){ - this.message = message || 'socket is already connected'; - } - EIsConn.prototype = new Error(); - EIsConn.prototype.errno = 19; - EIsConn.prototype.code = "EISCONN"; - EIsConn.prototype.constructor = EIsConn; - - function EMFile(message){ - this.message = message || 'too many open files'; - } - EMFile.prototype = new Error(); - EMFile.prototype.errno = 20; - EMFile.prototype.code = "EMFILE"; - EMFile.prototype.constructor = EMFile; - - function EMsgSize(message){ - this.message = message || 'message too long'; - } - EMsgSize.prototype = new Error(); - EMsgSize.prototype.errno = 21; - EMsgSize.prototype.code = "EMSGSIZE"; - EMsgSize.prototype.constructor = EMsgSize; - - function ENetDown(message){ - this.message = message || 'network is down'; - } - ENetDown.prototype = new Error(); - ENetDown.prototype.errno = 22; - ENetDown.prototype.code = "ENETDOWN"; - ENetDown.prototype.constructor = ENetDown; - - function ENetUnreach(message){ - this.message = message || 'network is unreachable'; - } - ENetUnreach.prototype = new Error(); - ENetUnreach.prototype.errno = 23; - ENetUnreach.prototype.code = "ENETUNREACH"; - ENetUnreach.prototype.constructor = ENetUnreach; - - function ENFile(message){ - this.message = message || 'file table overflow'; - } - ENFile.prototype = new Error(); - ENFile.prototype.errno = 24; - ENFile.prototype.code = "ENFILE"; - ENFile.prototype.constructor = ENFile; - - function ENoBufS(message){ - this.message = message || 'no buffer space available'; - } - ENoBufS.prototype = new Error(); - ENoBufS.prototype.errno = 25; - ENoBufS.prototype.code = "ENOBUFS"; - ENoBufS.prototype.constructor = ENoBufS; - - function ENoMem(message){ - this.message = message || 'not enough memory'; - } - ENoMem.prototype = new Error(); - ENoMem.prototype.errno = 26; - ENoMem.prototype.code = "ENOMEM"; - ENoMem.prototype.constructor = ENoMem; - - function ENotDirectory(message){ - this.message = message || 'not a directory'; - } - ENotDirectory.prototype = new Error(); - ENotDirectory.prototype.errno = 27; - ENotDirectory.prototype.code = "ENOTDIR"; - ENotDirectory.prototype.constructor = ENotDirectory; - - function EIsDirectory(message){ - this.message = message || 'illegal operation on a directory'; - } - EIsDirectory.prototype = new Error(); - EIsDirectory.prototype.errno = 28; - EIsDirectory.prototype.code = "EISDIR"; - EIsDirectory.prototype.constructor = EIsDirectory; - - function ENoNet(message){ - this.message = message || 'machine is not on the network'; - } - ENoNet.prototype = new Error(); - ENoNet.prototype.errno = 29; - ENoNet.prototype.code = "ENONET"; - ENoNet.prototype.constructor = ENoNet; - - function ENotConn(message){ - this.message = message || 'socket is not connected'; - } - ENotConn.prototype = new Error(); - ENotConn.prototype.errno = 31; - ENotConn.prototype.code = "ENOTCONN"; - ENotConn.prototype.constructor = ENotConn; - - function ENotSock(message){ - this.message = message || 'socket operation on non-socket'; - } - ENotSock.prototype = new Error(); - ENotSock.prototype.errno = 32; - ENotSock.prototype.code = "ENOTSOCK"; - ENotSock.prototype.constructor = ENotSock; - - function ENotSup(message){ - this.message = message || 'operation not supported on socket'; - } - ENotSup.prototype = new Error(); - ENotSup.prototype.errno = 33; - ENotSup.prototype.code = "ENOTSUP"; - ENotSup.prototype.constructor = ENotSup; - - function ENoEntry(message){ - this.message = message || 'no such file or directory'; - } - ENoEntry.prototype = new Error(); - ENoEntry.prototype.errno = 34; - ENoEntry.prototype.code = "ENOENT"; - ENoEntry.prototype.constructor = ENoEntry; - - function ENotImplemented(message){ - this.message = message || 'function not implemented'; - } - ENotImplemented.prototype = new Error(); - ENotImplemented.prototype.errno = 35; - ENotImplemented.prototype.code = "ENOSYS"; - ENotImplemented.prototype.constructor = ENotImplemented; - - function EPipe(message){ - this.message = message || 'broken pipe'; - } - EPipe.prototype = new Error(); - EPipe.prototype.errno = 36; - EPipe.prototype.code = "EPIPE"; - EPipe.prototype.constructor = EPipe; - - function EProto(message){ - this.message = message || 'protocol error'; - } - EProto.prototype = new Error(); - EProto.prototype.errno = 37; - EProto.prototype.code = "EPROTO"; - EProto.prototype.constructor = EProto; - - function EProtoNoSupport(message){ - this.message = message || 'protocol not supported'; - } - EProtoNoSupport.prototype = new Error(); - EProtoNoSupport.prototype.errno = 38; - EProtoNoSupport.prototype.code = "EPROTONOSUPPORT"; - EProtoNoSupport.prototype.constructor = EProtoNoSupport; - - function EPrototype(message){ - this.message = message || 'protocol wrong type for socket'; - } - EPrototype.prototype = new Error(); - EPrototype.prototype.errno = 39; - EPrototype.prototype.code = "EPROTOTYPE"; - EPrototype.prototype.constructor = EPrototype; - - function ETimedOut(message){ - this.message = message || 'connection timed out'; - } - ETimedOut.prototype = new Error(); - ETimedOut.prototype.errno = 40; - ETimedOut.prototype.code = "ETIMEDOUT"; - ETimedOut.prototype.constructor = ETimedOut; - - function ECharset(message){ - this.message = message || 'invalid Unicode character'; - } - ECharset.prototype = new Error(); - ECharset.prototype.errno = 41; - ECharset.prototype.code = "ECHARSET"; - ECharset.prototype.constructor = ECharset; - - function EAIFamNoSupport(message){ - this.message = message || 'address family for hostname not supported'; - } - EAIFamNoSupport.prototype = new Error(); - EAIFamNoSupport.prototype.errno = 42; - EAIFamNoSupport.prototype.code = "EAIFAMNOSUPPORT"; - EAIFamNoSupport.prototype.constructor = EAIFamNoSupport; - - function EAIService(message){ - this.message = message || 'servname not supported for ai_socktype'; - } - EAIService.prototype = new Error(); - EAIService.prototype.errno = 44; - EAIService.prototype.code = "EAISERVICE"; - EAIService.prototype.constructor = EAIService; - - function EAISockType(message){ - this.message = message || 'ai_socktype not supported'; - } - EAISockType.prototype = new Error(); - EAISockType.prototype.errno = 45; - EAISockType.prototype.code = "EAISOCKTYPE"; - EAISockType.prototype.constructor = EAISockType; - - function EShutdown(message){ - this.message = message || 'cannot send after transport endpoint shutdown'; - } - EShutdown.prototype = new Error(); - EShutdown.prototype.errno = 46; - EShutdown.prototype.code = "ESHUTDOWN"; - EShutdown.prototype.constructor = EShutdown; - - function EExists(message){ - this.message = message || 'file already exists'; - } - EExists.prototype = new Error(); - EExists.prototype.errno = 47; - EExists.prototype.code = "EEXIST"; - EExists.prototype.constructor = EExists; - - function ESrch(message){ - this.message = message || 'no such process'; - } - ESrch.prototype = new Error(); - ESrch.prototype.errno = 48; - ESrch.prototype.code = "ESRCH"; - ESrch.prototype.constructor = ESrch; - - function ENameTooLong(message){ - this.message = message || 'name too long'; - } - ENameTooLong.prototype = new Error(); - ENameTooLong.prototype.errno = 49; - ENameTooLong.prototype.code = "ENAMETOOLONG"; - ENameTooLong.prototype.constructor = ENameTooLong; - - function EPerm(message){ - this.message = message || 'operation not permitted'; - } - EPerm.prototype = new Error(); - EPerm.prototype.errno = 50; - EPerm.prototype.code = "EPERM"; - EPerm.prototype.constructor = EPerm; - - function ELoop(message){ - this.message = message || 'too many symbolic links encountered'; - } - ELoop.prototype = new Error(); - ELoop.prototype.errno = 51; - ELoop.prototype.code = "ELOOP"; - ELoop.prototype.constructor = ELoop; - - function EXDev(message){ - this.message = message || 'cross-device link not permitted'; - } - EXDev.prototype = new Error(); - EXDev.prototype.errno = 52; - EXDev.prototype.code = "EXDEV"; - EXDev.prototype.constructor = EXDev; - - function ENotEmpty(message){ - this.message = message || 'directory not empty'; - } - ENotEmpty.prototype = new Error(); - ENotEmpty.prototype.errno = 53; - ENotEmpty.prototype.code = "ENOTEMPTY"; - ENotEmpty.prototype.constructor = ENotEmpty; - - function ENoSpc(message){ - this.message = message || 'no space left on device'; - } - ENoSpc.prototype = new Error(); - ENoSpc.prototype.errno = 54; - ENoSpc.prototype.code = "ENOSPC"; - ENoSpc.prototype.constructor = ENoSpc; - - function EIO(message){ - this.message = message || 'i/o error'; - } - EIO.prototype = new Error(); - EIO.prototype.errno = 55; - EIO.prototype.code = "EIO"; - EIO.prototype.constructor = EIO; - - function EROFS(message){ - this.message = message || 'read-only file system'; - } - EROFS.prototype = new Error(); - EROFS.prototype.errno = 56; - EROFS.prototype.code = "EROFS"; - EROFS.prototype.constructor = EROFS; - - function ENoDev(message){ - this.message = message || 'no such device'; - } - ENoDev.prototype = new Error(); - ENoDev.prototype.errno = 57; - ENoDev.prototype.code = "ENODEV"; - ENoDev.prototype.constructor = ENoDev; - - function ESPipe(message){ - this.message = message || 'invalid seek'; - } - ESPipe.prototype = new Error(); - ESPipe.prototype.errno = 58; - ESPipe.prototype.code = "ESPIPE"; - ESPipe.prototype.constructor = ESPipe; - - function ECanceled(message){ - this.message = message || 'operation canceled'; - } - ECanceled.prototype = new Error(); - ECanceled.prototype.errno = 59; - ECanceled.prototype.code = "ECANCELED"; - ECanceled.prototype.constructor = ECanceled; - - function ENotMounted(message){ - this.message = message || 'not mounted'; - } - ENotMounted.prototype = new Error(); - ENotMounted.prototype.errno = 60; - ENotMounted.prototype.code = "ENotMounted"; - ENotMounted.prototype.constructor = ENotMounted; - - function EFileSystemError(message){ - this.message = message || 'missing super node'; - } - EFileSystemError.prototype = new Error(); - EFileSystemError.prototype.errno = 61; - EFileSystemError.prototype.code = "EFileSystemError"; - EFileSystemError.prototype.constructor = EFileSystemError; - - function ENoAttr(message) { - this.message = message || 'attribute does not exist'; - } - ENoAttr.prototype = new Error(); - ENoAttr.prototype.errno = 62; - ENoAttr.prototype.code = 'ENoAttr'; - ENoAttr.prototype.constructor = ENoAttr; - - return { - Unknown: Unknown, - OK: OK, - EOF: EOF, - EAddrInfo: EAddrInfo, - EAcces: EAcces, - EAgain: EAgain, - EAddrInUse: EAddrInUse, - EAddrNotAvail: EAddrNotAvail, - EAFNoSupport: EAFNoSupport, - EAlready: EAlready, - EBadFileDescriptor: EBadFileDescriptor, - EBusy: EBusy, - EConnAborted: EConnAborted, - EConnRefused: EConnRefused, - EConnReset: EConnReset, - EDestAddrReq: EDestAddrReq, - EFault: EFault, - EHostUnreach: EHostUnreach, - EIntr: EIntr, - EInvalid: EInvalid, - EIsConn: EIsConn, - EMFile: EMFile, - EMsgSize: EMsgSize, - ENetDown: ENetDown, - ENetUnreach: ENetUnreach, - ENFile: ENFile, - ENoBufS: ENoBufS, - ENoMem: ENoMem, - ENotDirectory: ENotDirectory, - EIsDirectory: EIsDirectory, - ENoNet: ENoNet, - ENotConn: ENotConn, - ENotSock: ENotSock, - ENotSup: ENotSup, - ENoEntry: ENoEntry, - ENotImplemented: ENotImplemented, - EPipe: EPipe, - EProto: EProto, - EProtoNoSupport: EProtoNoSupport, - EPrototype: EPrototype, - ETimedOut: ETimedOut, - ECharset: ECharset, - EAIFamNoSupport: EAIFamNoSupport, - EAIService: EAIService, - EAISockType: EAISockType, - EShutdown: EShutdown, - EExists: EExists, - ESrch: ESrch, - ENameTooLong: ENameTooLong, - EPerm: EPerm, - ELoop: ELoop, - EXDev: EXDev, - ENotEmpty: ENotEmpty, - ENoSpc: ENoSpc, - EIO: EIO, - EROFS: EROFS, - ENoDev: ENoDev, - ESPipe: ESPipe, - ECanceled: ECanceled, - ENotMounted: ENotMounted, - EFileSystemError: EFileSystemError, - ENoAttr: ENoAttr - }; + // We expose the error as both Errors.EINVAL and Errors[18] + errors[err] = errors[errno] = ctor; + }); + return errors; }); define('src/environment',['require','src/constants'],function(require) { @@ -5516,14 +5030,14 @@ define('src/shell',['require','src/path','src/errors','src/environment','async'] // Make sure the path actually exists, and is a dir fs.stat(path, function(err, stats) { if(err) { - callback(new Errors.ENotDirectory()); + callback(new Errors.ENOTDIR()); return; } if(stats.type === 'DIRECTORY') { cwd = path; callback(); } else { - callback(new Errors.ENotDirectory()); + callback(new Errors.ENOTDIR()); } }); }; @@ -5789,7 +5303,7 @@ define('src/shell',['require','src/path','src/errors','src/environment','async'] // If not, see if we're allowed to delete recursively if(!options.recursive) { - callback(new Errors.ENotEmpty()); + callback(new Errors.ENOTEMPTY()); return; } @@ -5815,22 +5329,23 @@ define('src/shell',['require','src/path','src/errors','src/environment','async'] /** * Moves the file or directory at the `source` path to the * `destination` path by relinking the source to the destination - * path. Currently there are no options, but it might be nice - * to implement an interactive mode at some point. + * path. */ - Shell.prototype.mv = function(source, destination, options, callback) { + Shell.prototype.mv = function(source, destination, callback) { var fs = this.fs; - if(typeof options === 'function') { - callback = options; - options = {}; - } - options = options || {}; + var shell = this; + callback = callback || function() {}; if(!source) { callback(new Error("Missing source path argument")); return; } + else if(source === '/') { + callback(new Error("Root is not a valid source argument")); + return; + } + if(!destination) { callback(new Error("Missing destination path argument")); return; @@ -5839,107 +5354,102 @@ define('src/shell',['require','src/path','src/errors','src/environment','async'] function move(sourcepath, destpath, callback) { sourcepath = Path.resolve(this.cwd, sourcepath); destpath = Path.resolve(this.cwd, destpath); - fs.stat(sourcepath, function(error, stats) { + destdir = Path.resolve(this.cwd, Path.dirname(destpath)); + + // Recursively create any directories on the destination path which do not exist + shell.mkdirp(destdir, function(error) { + if(error) { + callback(error); + return; + } + }); + + // If there is no node at the source path, error and quit + fs.stat(sourcepath, function(error, sourcestats) { if(error) { callback(error); return; } - // If the source is a file, stat the destination path - if(stats.type === 'FILE') { - fs.stat(destpath, function(error, stats) { - // If the destination doesn't exist, relink source and we're done - if(error) { - fs.link(sourcepath, destpath, callback); - return; - } + fs.stat(destpath, function(error, deststats) { + // If there is an error unrelated to the existence of the destination, exit + if(error && error.code !== 'ENOENT') { + callback(error); + return; + } - // If the destination is a file, delete the destination, relink source and we're done - if(stats.type === 'FILE') { - fs.unlink(destpath, callback); - fs.link(sourcepath, destpath, callback); - return; + if(deststats) { + // If the destination is a directory, new destination is destpath/source.basename + if(deststats.isDirectory()) { + destpath = Path.join(destpath, Path.basename(sourcepath)); } - - // If the destination is a dir, check to see if a file with the source name already exists - fs.readdir(destname, function(error, entries) { - if(error) { + // Unlink existing destinations + fs.unlink(destpath, function(error) { + if (error && error.code !== 'ENOENT') { callback(error); return; } + }); + } - // If dir is empty, relink source and we're done - if(entries.length === 0) { - destpath = Path.join(destpath, sourcepath.basename); - fs.link(sourcepath, destpath, callback); + // If the source is a file, link it to destination and remove the source, then done + if(sourcestats.isFile()) { + fs.link(sourcepath, destpath, function(error) { + if (error) { + callback(error); return; } - - // Iterate through dir entries; if a node with the same name exists, unlink it, - // relink source and we're done - for(var i = 0; i < entries.length; i++) { - if(entries[i].basename === sourcepath.basename) { - destpath = Path.join(destpath, sourcepath.basename); - fs.unlink(destpath, callback); - fs.link(sourcepath, destpath, callback); + shell.rm(sourcepath, {recursive:true}, function(error) { + if (error) { + callback(error); return; } - } - - // If a matching node can't be found, relink source and we're done - destpath = Path.join(destpath, sourcepath.basename); - fs.link(sourcepath, destpath, callback); - return; + callback(); + }); }); - }); - } - - // If the source is a directory, stat the destination path - fs.stat(destpath, function(error, stats) { - // If the destination doesn't exist, relink the source and we're done - if(error) { - fs.link(sourcepath, destpath, callback); - return; } - - // If the destination is a file, delete the destination, relink source and we're done - if(stats.type === 'FILE') { - fs.unlink(destpath, callback); - fs.link(sourcepath, destpath, callback); - return; - } - - // If the destination is a dir, compare basenames for equality - if(sourcepath.basename === destpath.basename) { - // If they're the same, attempt to relink each source entry to the destination - fs.readdir(sourcepath, function(error, entries) { - if(error) { + // If the source is a directory, create a directory at destination and then recursively + // move every dir entry. + else if(sourcestats.isDirectory()) { + fs.mkdir(destpath, function(error) { + if (error) { callback(error); return; } - // If there are no entries in source, unlink the source and we're done - if(entries.length === 0) { - fs.unlink(sourcepath, callback); - return; - } + fs.readdir(sourcepath, function(error, entries) { + if(error) { + callback(error); + return; + } - // Iterate through the entries, unlinking destinations and relinking sources - for(var i = 0; i < entries.length; i++) { - var temppath = Path.join(destpath, sourcepath.basename); - fs.unlink(temppath, callback); - fs.link(sourcepath, temppath, callback); - } - - // We're done after relinking all - return; + async.each(entries, + function(entry, callback) { + move(Path.join(sourcepath, entry), Path.join(destpath, entry), function(error) { + if(error) { + callback(error); + return; + } + callback(); + }); + }, + function(error) { + if(error) { + callback(error); + return; + } + shell.rm(sourcepath, {recursive:true}, function(error) { + if (error) { + callback(error); + return; + } + callback(); + }); + } + ); + }); }); - } - - // If they're different, link the source as a subdir of the destination - destpath = Path.join(destpath, sourcepath.basename); - fs.link(sourcepath, destpath, callback); - return; + } }); }); } @@ -5964,579 +5474,161 @@ define('src/shell',['require','src/path','src/errors','src/environment','async'] }); }; + /** + * Recursively creates the directory at `path`. If the parent + * of `path` does not exist, it will be created. + * Based off EnsureDir by Sam X. Xu + * https://www.npmjs.org/package/ensureDir + * MIT License + */ + Shell.prototype.mkdirp = function(path, callback) { + var fs = this.fs; + callback = callback || function(){}; + + if(!path) { + callback(new Errors.EINVAL('missing path argument')); + return; + } + else if (path === '/'){ + callback(); + return; + } + function _mkdirp(path, callback){ + fs.stat(path, function (err, stat) { + //doesn't exist + if (err && err.code === 'ENOENT') { + var parent = Path.dirname(path); + if(parent === '/'){ //parent is root + fs.mkdir(path, function (err) { + if (err && err.code != 'EEXIST') { + callback(err); + return; + } + callback(); + return; + }); + } + else { //parent is not root, make parent first + _mkdirp(parent, function (err) { + if (err) return callback(err); + fs.mkdir(path, function (err) { //then make dir + if (err && err.code != 'EEXIST') { + callback(err); + return; + } + callback(); + return; + }); + }); + } + } + //other error + else if (err){ + callback(err); + return; + } + //already exists + else if (stat.type === 'DIRECTORY') { + callback(); + return; + } + //not a directory + else if (stat.type === 'FILE') { + callback(new Errors.ENOTDIR()); + return; + } + }); + } + + _mkdirp(path, callback); + }; + return Shell; }); -;!function(exports, undefined) { +define('eventemitter',['require'],function(require) { - var isArray = Array.isArray ? Array.isArray : function _isArray(obj) { - return Object.prototype.toString.call(obj) === "[object Array]"; - }; - var defaultMaxListeners = 10; + // Based on https://github.com/diy/intercom.js/blob/master/lib/events.js + // Copyright 2012 DIY Co Apache License, Version 2.0 + // http://www.apache.org/licenses/LICENSE-2.0 - function init() { - this._events = {}; - if (this._conf) { - configure.call(this, this._conf); + function removeItem(item, array) { + for (var i = array.length - 1; i >= 0; i--) { + if (array[i] === item) { + array.splice(i, 1); + } } + return array; } - function configure(conf) { - if (conf) { + var EventEmitter = function() {}; - this._conf = conf; + EventEmitter.createInterface = function(space) { + var methods = {}; - conf.delimiter && (this.delimiter = conf.delimiter); - conf.maxListeners && (this._events.maxListeners = conf.maxListeners); - conf.wildcard && (this.wildcard = conf.wildcard); - conf.newListener && (this.newListener = conf.newListener); - - if (this.wildcard) { - this.listenerTree = {}; + methods.on = function(name, fn) { + if (typeof this[space] === 'undefined') { + this[space] = {}; } - } - } - - function EventEmitter(conf) { - this._events = {}; - this.newListener = false; - configure.call(this, conf); - } - - // - // Attention, function return type now is array, always ! - // It has zero elements if no any matches found and one or more - // elements (leafs) if there are matches - // - function searchListenerTree(handlers, type, tree, i) { - if (!tree) { - return []; - } - var listeners=[], leaf, len, branch, xTree, xxTree, isolatedBranch, endReached, - typeLength = type.length, currentType = type[i], nextType = type[i+1]; - if (i === typeLength && tree._listeners) { - // - // If at the end of the event(s) list and the tree has listeners - // invoke those listeners. - // - if (typeof tree._listeners === 'function') { - handlers && handlers.push(tree._listeners); - return [tree]; - } else { - for (leaf = 0, len = tree._listeners.length; leaf < len; leaf++) { - handlers && handlers.push(tree._listeners[leaf]); - } - return [tree]; + if (!this[space].hasOwnProperty(name)) { + this[space][name] = []; } - } + this[space][name].push(fn); + }; - if ((currentType === '*' || currentType === '**') || tree[currentType]) { - // - // If the event emitted is '*' at this part - // or there is a concrete match at this patch - // - if (currentType === '*') { - for (branch in tree) { - if (branch !== '_listeners' && tree.hasOwnProperty(branch)) { - listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+1)); - } - } - return listeners; - } else if(currentType === '**') { - endReached = (i+1 === typeLength || (i+2 === typeLength && nextType === '*')); - if(endReached && tree._listeners) { - // The next element has a _listeners, add it to the handlers. - listeners = listeners.concat(searchListenerTree(handlers, type, tree, typeLength)); - } - - for (branch in tree) { - if (branch !== '_listeners' && tree.hasOwnProperty(branch)) { - if(branch === '*' || branch === '**') { - if(tree[branch]._listeners && !endReached) { - listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], typeLength)); - } - listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i)); - } else if(branch === nextType) { - listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i+2)); - } else { - // No match on this one, shift into the tree but not in the type array. - listeners = listeners.concat(searchListenerTree(handlers, type, tree[branch], i)); - } - } - } - return listeners; + methods.off = function(name, fn) { + if (typeof this[space] === 'undefined') return; + if (this[space].hasOwnProperty(name)) { + removeItem(fn, this[space][name]); } + }; - listeners = listeners.concat(searchListenerTree(handlers, type, tree[currentType], i+1)); - } - - xTree = tree['*']; - if (xTree) { - // - // If the listener tree will allow any match for this part, - // then recursively explore all branches of the tree - // - searchListenerTree(handlers, type, xTree, i+1); - } - - xxTree = tree['**']; - if(xxTree) { - if(i < typeLength) { - if(xxTree._listeners) { - // If we have a listener on a '**', it will catch all, so add its handler. - searchListenerTree(handlers, type, xxTree, typeLength); + methods.trigger = function(name) { + if (typeof this[space] !== 'undefined' && this[space].hasOwnProperty(name)) { + var args = Array.prototype.slice.call(arguments, 1); + for (var i = 0; i < this[space][name].length; i++) { + this[space][name][i].apply(this[space][name][i], args); } - - // Build arrays of matching next branches and others. - for(branch in xxTree) { - if(branch !== '_listeners' && xxTree.hasOwnProperty(branch)) { - if(branch === nextType) { - // We know the next element will match, so jump twice. - searchListenerTree(handlers, type, xxTree[branch], i+2); - } else if(branch === currentType) { - // Current node matches, move into the tree. - searchListenerTree(handlers, type, xxTree[branch], i+1); - } else { - isolatedBranch = {}; - isolatedBranch[branch] = xxTree[branch]; - searchListenerTree(handlers, type, { '**': isolatedBranch }, i+1); - } - } - } - } else if(xxTree._listeners) { - // We have reached the end and still on a '**' - searchListenerTree(handlers, type, xxTree, typeLength); - } else if(xxTree['*'] && xxTree['*']._listeners) { - searchListenerTree(handlers, type, xxTree['*'], typeLength); } - } + }; - return listeners; - } + methods.removeAllListeners = function(name) { + if (typeof this[space] === 'undefined') return; + var self = this; + self[space][name].forEach(function(fn) { + self.off(name, fn); + }); + }; - function growListenerTree(type, listener) { - - type = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); - - // - // Looks for two consecutive '**', if so, don't add the event at all. - // - for(var i = 0, len = type.length; i+1 < len; i++) { - if(type[i] === '**' && type[i+1] === '**') { - return; - } - } - - var tree = this.listenerTree; - var name = type.shift(); - - while (name) { - - if (!tree[name]) { - tree[name] = {}; - } - - tree = tree[name]; - - if (type.length === 0) { - - if (!tree._listeners) { - tree._listeners = listener; - } - else if(typeof tree._listeners === 'function') { - tree._listeners = [tree._listeners, listener]; - } - else if (isArray(tree._listeners)) { - - tree._listeners.push(listener); - - if (!tree._listeners.warned) { - - var m = defaultMaxListeners; - - if (typeof this._events.maxListeners !== 'undefined') { - m = this._events.maxListeners; - } - - if (m > 0 && tree._listeners.length > m) { - - tree._listeners.warned = true; - console.error('(node) warning: possible EventEmitter memory ' + - 'leak detected. %d listeners added. ' + - 'Use emitter.setMaxListeners() to increase limit.', - tree._listeners.length); - console.trace(); - } - } - } - return true; - } - name = type.shift(); - } - return true; - } - - // By default EventEmitters will print a warning if more than - // 10 listeners are added to it. This is a useful default which - // helps finding memory leaks. - // - // Obviously not all Emitters should be limited to 10. This function allows - // that to be increased. Set to zero for unlimited. - - EventEmitter.prototype.delimiter = '.'; - - EventEmitter.prototype.setMaxListeners = function(n) { - this._events || init.call(this); - this._events.maxListeners = n; - if (!this._conf) this._conf = {}; - this._conf.maxListeners = n; + return methods; }; - EventEmitter.prototype.event = ''; + var pvt = EventEmitter.createInterface('_handlers'); + EventEmitter.prototype._on = pvt.on; + EventEmitter.prototype._off = pvt.off; + EventEmitter.prototype._trigger = pvt.trigger; - EventEmitter.prototype.once = function(event, fn) { - this.many(event, 1, fn); - return this; + var pub = EventEmitter.createInterface('handlers'); + EventEmitter.prototype.on = function() { + pub.on.apply(this, arguments); + Array.prototype.unshift.call(arguments, 'on'); + this._trigger.apply(this, arguments); }; + EventEmitter.prototype.off = pub.off; + EventEmitter.prototype.trigger = pub.trigger; + EventEmitter.prototype.removeAllListeners = pub.removeAllListeners; - EventEmitter.prototype.many = function(event, ttl, fn) { - var self = this; + return EventEmitter; +}); - if (typeof fn !== 'function') { - throw new Error('many only accepts instances of Function'); - } - - function listener() { - if (--ttl === 0) { - self.off(event, listener); - } - fn.apply(this, arguments); - } - - listener._origin = fn; - - this.on(event, listener); - - return self; - }; - - EventEmitter.prototype.emit = function() { - - this._events || init.call(this); - - var type = arguments[0]; - - if (type === 'newListener' && !this.newListener) { - if (!this._events.newListener) { return false; } - } - - // Loop through the *_all* functions and invoke them. - if (this._all) { - var l = arguments.length; - var args = new Array(l - 1); - for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; - for (i = 0, l = this._all.length; i < l; i++) { - this.event = type; - this._all[i].apply(this, args); - } - } - - // If there is no 'error' event listener then throw. - if (type === 'error') { - - if (!this._all && - !this._events.error && - !(this.wildcard && this.listenerTree.error)) { - - if (arguments[1] instanceof Error) { - throw arguments[1]; // Unhandled 'error' event - } else { - throw new Error("Uncaught, unspecified 'error' event."); - } - return false; - } - } - - var handler; - - if(this.wildcard) { - handler = []; - var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); - searchListenerTree.call(this, handler, ns, this.listenerTree, 0); - } - else { - handler = this._events[type]; - } - - if (typeof handler === 'function') { - this.event = type; - if (arguments.length === 1) { - handler.call(this); - } - else if (arguments.length > 1) - switch (arguments.length) { - case 2: - handler.call(this, arguments[1]); - break; - case 3: - handler.call(this, arguments[1], arguments[2]); - break; - // slower - default: - var l = arguments.length; - var args = new Array(l - 1); - for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; - handler.apply(this, args); - } - return true; - } - else if (handler) { - var l = arguments.length; - var args = new Array(l - 1); - for (var i = 1; i < l; i++) args[i - 1] = arguments[i]; - - var listeners = handler.slice(); - for (var i = 0, l = listeners.length; i < l; i++) { - this.event = type; - listeners[i].apply(this, args); - } - return (listeners.length > 0) || this._all; - } - else { - return this._all; - } - - }; - - EventEmitter.prototype.on = function(type, listener) { - - if (typeof type === 'function') { - this.onAny(type); - return this; - } - - if (typeof listener !== 'function') { - throw new Error('on only accepts instances of Function'); - } - this._events || init.call(this); - - // To avoid recursion in the case that type == "newListeners"! Before - // adding it to the listeners, first emit "newListeners". - this.emit('newListener', type, listener); - - if(this.wildcard) { - growListenerTree.call(this, type, listener); - return this; - } - - if (!this._events[type]) { - // Optimize the case of one listener. Don't need the extra array object. - this._events[type] = listener; - } - else if(typeof this._events[type] === 'function') { - // Adding the second element, need to change to array. - this._events[type] = [this._events[type], listener]; - } - else if (isArray(this._events[type])) { - // If we've already got an array, just append. - this._events[type].push(listener); - - // Check for listener leak - if (!this._events[type].warned) { - - var m = defaultMaxListeners; - - if (typeof this._events.maxListeners !== 'undefined') { - m = this._events.maxListeners; - } - - if (m > 0 && this._events[type].length > m) { - - this._events[type].warned = true; - console.error('(node) warning: possible EventEmitter memory ' + - 'leak detected. %d listeners added. ' + - 'Use emitter.setMaxListeners() to increase limit.', - this._events[type].length); - console.trace(); - } - } - } - return this; - }; - - EventEmitter.prototype.onAny = function(fn) { - - if(!this._all) { - this._all = []; - } - - if (typeof fn !== 'function') { - throw new Error('onAny only accepts instances of Function'); - } - - // Add the function to the event listener collection. - this._all.push(fn); - return this; - }; - - EventEmitter.prototype.addListener = EventEmitter.prototype.on; - - EventEmitter.prototype.off = function(type, listener) { - if (typeof listener !== 'function') { - throw new Error('removeListener only takes instances of Function'); - } - - var handlers,leafs=[]; - - if(this.wildcard) { - var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); - leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0); - } - else { - // does not use listeners(), so no side effect of creating _events[type] - if (!this._events[type]) return this; - handlers = this._events[type]; - leafs.push({_listeners:handlers}); - } - - for (var iLeaf=0; iLeaf 0) { - fns = this._all; - for(i = 0, l = fns.length; i < l; i++) { - if(fn === fns[i]) { - fns.splice(i, 1); - return this; - } - } - } else { - this._all = []; - } - return this; - }; - - EventEmitter.prototype.removeListener = EventEmitter.prototype.off; - - EventEmitter.prototype.removeAllListeners = function(type) { - if (arguments.length === 0) { - !this._events || init.call(this); - return this; - } - - if(this.wildcard) { - var ns = typeof type === 'string' ? type.split(this.delimiter) : type.slice(); - var leafs = searchListenerTree.call(this, null, ns, this.listenerTree, 0); - - for (var iLeaf=0; iLeaf SYMLOOP_MAX){ - callback(new Errors.ELoop()); + callback(new Errors.ELOOP()); } else { follow_symbolic_link(node.data); } @@ -7216,10 +6308,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', callback(error); } else if (flag === XATTR_CREATE && node.xattrs.hasOwnProperty(name)) { - callback(new Errors.EExists('attribute already exists')); + callback(new Errors.EEXIST('attribute already exists')); } else if (flag === XATTR_REPLACE && !node.xattrs.hasOwnProperty(name)) { - callback(new Errors.ENoAttr()); + callback(new Errors.ENOATTR()); } else { node.xattrs[name] = value; @@ -7236,7 +6328,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', context.get(path_or_fd.id, set_xattr); } else { - callback(new Errors.EInvalid('path or file descriptor of wrong type')); + callback(new Errors.EINVAL('path or file descriptor of wrong type')); } } @@ -7252,8 +6344,8 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', function write_super_node(error, existingNode) { if(!error && existingNode) { - callback(new Errors.EExists()); - } else if(error && !error instanceof Errors.ENoEntry) { + callback(new Errors.EEXIST()); + } else if(error && !(error instanceof Errors.ENOENT)) { callback(error); } else { superNode = new SuperNode(); @@ -7299,8 +6391,8 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', function check_if_directory_exists(error, result) { if(!error && result) { - callback(new Errors.EExists()); - } else if(error && !error instanceof Errors.ENoEntry) { + callback(new Errors.EEXIST()); + } else if(error && !(error instanceof Errors.ENOENT)) { callback(error); } else { find_node(context, parentPath, read_parent_directory_data); @@ -7384,9 +6476,9 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', if(error) { callback(error); } else if(ROOT_DIRECTORY_NAME == name) { - callback(new Errors.EBusy()); + callback(new Errors.EBUSY()); } else if(!_(result).has(name)) { - callback(new Errors.ENoEntry()); + callback(new Errors.ENOENT()); } else { parentDirectoryData = result; directoryNode = parentDirectoryData[name].id; @@ -7398,7 +6490,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', if(error) { callback(error); } else if(result.mode != MODE_DIRECTORY) { - callback(new Errors.ENotDirectory()); + callback(new Errors.ENOTDIR()); } else { directoryNode = result; context.get(directoryNode.data, check_if_directory_is_empty); @@ -7411,7 +6503,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else { directoryData = result; if(_(directoryData).size() > 0) { - callback(new Errors.ENotEmpty()); + callback(new Errors.ENOTEMPTY()); } else { remove_directory_entry_from_parent_directory_node(); } @@ -7466,7 +6558,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', if(ROOT_DIRECTORY_NAME == name) { if(_(flags).contains(O_WRITE)) { - callback(new Errors.EIsDirectory('the named file is a directory and O_WRITE is set')); + callback(new Errors.EISDIR('the named file is a directory and O_WRITE is set')); } else { find_node(context, path, set_file_node); } @@ -7490,18 +6582,18 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', directoryData = result; if(_(directoryData).has(name)) { if(_(flags).contains(O_EXCLUSIVE)) { - callback(new Errors.ENoEntry('O_CREATE and O_EXCLUSIVE are set, and the named file exists')); + callback(new Errors.ENOENT('O_CREATE and O_EXCLUSIVE are set, and the named file exists')); } else { directoryEntry = directoryData[name]; if(directoryEntry.type == MODE_DIRECTORY && _(flags).contains(O_WRITE)) { - callback(new Errors.EIsDirectory('the named file is a directory and O_WRITE is set')); + callback(new Errors.EISDIR('the named file is a directory and O_WRITE is set')); } else { context.get(directoryEntry.id, check_if_symbolic_link); } } } else { if(!_(flags).contains(O_CREATE)) { - callback(new Errors.ENoEntry('O_CREATE is not set and the named file does not exist')); + callback(new Errors.ENOENT('O_CREATE is not set and the named file does not exist')); } else { write_file_node(); } @@ -7517,7 +6609,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', if(node.mode == MODE_SYMBOLIC_LINK) { followedCount++; if(followedCount > SYMLOOP_MAX){ - callback(new Errors.ELoop('too many symbolic links were encountered')); + callback(new Errors.ELOOP()); } else { follow_symbolic_link(node.data); } @@ -7533,7 +6625,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', name = basename(data); if(ROOT_DIRECTORY_NAME == name) { if(_(flags).contains(O_WRITE)) { - callback(new Errors.EIsDirectory('the named file is a directory and O_WRITE is set')); + callback(new Errors.EISDIR('the named file is a directory and O_WRITE is set')); } else { find_node(context, path, set_file_node); } @@ -7801,7 +6893,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else { directoryData = result; if(!_(directoryData).has(name)) { - callback(new Errors.ENoEntry('a component of the path does not name an existing file')); + callback(new Errors.ENOENT('a component of the path does not name an existing file')); } else { context.get(directoryData[name].id, check_file); } @@ -7864,7 +6956,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else { newDirectoryData = result; if(_(newDirectoryData).has(newname)) { - callback(new Errors.EExists('newpath resolves to an existing file')); + callback(new Errors.EEXIST('newpath resolves to an existing file')); } else { newDirectoryData[newname] = oldDirectoryData[oldname]; context.put(newDirectoryNode.data, newDirectoryData, read_directory_entry); @@ -7887,7 +6979,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else { oldDirectoryData = result; if(!_(oldDirectoryData).has(oldname)) { - callback(new Errors.ENoEntry('a component of either path prefix does not exist')); + callback(new Errors.ENOENT('a component of either path prefix does not exist')); } else { find_node(context, newParentPath, read_new_directory_data); } @@ -7957,7 +7049,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else { directoryData = result; if(!_(directoryData).has(name)) { - callback(new Errors.ENoEntry('a component of the path does not name an existing file')); + callback(new Errors.ENOENT('a component of the path does not name an existing file')); } else { context.get(directoryData[name].id, update_file_node); } @@ -8015,7 +7107,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var fileNode; if(ROOT_DIRECTORY_NAME == name) { - callback(new Errors.EExists('the destination path already exists')); + callback(new Errors.EEXIST()); } else { find_node(context, parentPath, read_directory_data); } @@ -8035,7 +7127,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else { directoryData = result; if(_(directoryData).has(name)) { - callback(new Errors.EExists('the destination path already exists')); + callback(new Errors.EEXIST()); } else { write_file_node(); } @@ -8094,7 +7186,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else { directoryData = result; if(!_(directoryData).has(name)) { - callback(new Errors.ENoEntry('a component of the path does not name an existing file')); + callback(new Errors.ENOENT('a component of the path does not name an existing file')); } else { context.get(directoryData[name].id, check_if_symbolic); } @@ -8106,7 +7198,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', callback(error); } else { if(result.mode != MODE_SYMBOLIC_LINK) { - callback(new Errors.EInvalid("path not a symbolic link")); + callback(new Errors.EINVAL("path not a symbolic link")); } else { callback(null, result.data); } @@ -8123,7 +7215,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', if (error) { callback(error); } else if(node.mode == MODE_DIRECTORY ) { - callback(new Errors.EIsDirectory('the named file is a directory')); + callback(new Errors.EISDIR()); } else{ fileNode = node; context.get(fileNode.data, truncate_file_data); @@ -8162,7 +7254,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if(length < 0) { - callback(new Errors.EInvalid('length cannot be negative')); + callback(new Errors.EINVAL('length cannot be negative')); } else { find_node(context, path, read_file_data); } @@ -8175,7 +7267,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', if (error) { callback(error); } else if(node.mode == MODE_DIRECTORY ) { - callback(new Errors.EIsDirectory('the named file is a directory')); + callback(new Errors.EISDIR()); } else{ fileNode = node; context.get(fileNode.data, truncate_file_data); @@ -8213,7 +7305,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if(length < 0) { - callback(new Errors.EInvalid('length cannot be negative')); + callback(new Errors.EINVAL('length cannot be negative')); } else { context.get(ofd.id, read_file_data); } @@ -8231,10 +7323,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if (typeof atime != 'number' || typeof mtime != 'number') { - callback(new Errors.EInvalid('atime and mtime must be number')); + callback(new Errors.EINVAL('atime and mtime must be number')); } else if (atime < 0 || mtime < 0) { - callback(new Errors.EInvalid('atime and mtime must be positive integers')); + callback(new Errors.EINVAL('atime and mtime must be positive integers')); } else { find_node(context, path, update_times); @@ -8252,10 +7344,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if (typeof atime != 'number' || typeof mtime != 'number') { - callback(new Errors.EInvalid('atime and mtime must be a number')); + callback(new Errors.EINVAL('atime and mtime must be a number')); } else if (atime < 0 || mtime < 0) { - callback(new Errors.EInvalid('atime and mtime must be positive integers')); + callback(new Errors.EINVAL('atime and mtime must be positive integers')); } else { context.get(ofd.id, update_times); @@ -8266,14 +7358,14 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', path = normalize(path); if (typeof name != 'string') { - callback(new Errors.EInvalid('attribute name must be a string')); + callback(new Errors.EINVAL('attribute name must be a string')); } else if (!name) { - callback(new Errors.EInvalid('attribute name cannot be an empty string')); + callback(new Errors.EINVAL('attribute name cannot be an empty string')); } else if (flag !== null && flag !== XATTR_CREATE && flag !== XATTR_REPLACE) { - callback(new Errors.EInvalid('invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE')); + callback(new Errors.EINVAL('invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE')); } else { set_extended_attribute(context, path, name, value, flag, callback); @@ -8283,14 +7375,14 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', function fsetxattr_file (context, ofd, name, value, flag, callback) { if (typeof name != 'string') { - callback(new Errors.EInvalid('attribute name must be a string')); + callback(new Errors.EINVAL('attribute name must be a string')); } else if (!name) { - callback(new Errors.EInvalid('attribute name cannot be an empty string')); + callback(new Errors.EINVAL('attribute name cannot be an empty string')); } else if (flag !== null && flag !== XATTR_CREATE && flag !== XATTR_REPLACE) { - callback(new Errors.EInvalid('invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE')); + callback(new Errors.EINVAL('invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE')); } else { set_extended_attribute(context, ofd, name, value, flag, callback); @@ -8307,7 +7399,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', callback (error); } else if (!node.xattrs.hasOwnProperty(name)) { - callback(new Errors.ENoAttr('attribute does not exist')); + callback(new Errors.ENOATTR()); } else { callback(null, node.xattrs[name]); @@ -8315,10 +7407,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if (typeof name != 'string') { - callback(new Errors.EInvalid('attribute name must be a string')); + callback(new Errors.EINVAL('attribute name must be a string')); } else if (!name) { - callback(new Errors.EInvalid('attribute name cannot be an empty string')); + callback(new Errors.EINVAL('attribute name cannot be an empty string')); } else { find_node(context, path, get_xattr); @@ -8334,7 +7426,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', callback(error); } else if (!node.xattrs.hasOwnProperty(name)) { - callback(new Errors.ENoAttr('attribute does not exist')); + callback(new Errors.ENOATTR()); } else { callback(null, node.xattrs[name]); @@ -8342,10 +7434,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if (typeof name != 'string') { - callback(new Errors.EInvalid('attribute name must be a string')); + callback(new Errors.EINVAL()); } else if (!name) { - callback(new Errors.EInvalid('attribute name cannot be an empty string')); + callback(new Errors.EINVAL('attribute name cannot be an empty string')); } else { context.get(ofd.id, get_xattr); @@ -8370,7 +7462,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', callback(error); } else if (!xattr.hasOwnProperty(name)) { - callback(new Errors.ENoAttr('attribute does not exist')); + callback(new Errors.ENOATTR()); } else { delete node.xattrs[name]; @@ -8379,10 +7471,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if (typeof name != 'string') { - callback(new Errors.EInvalid('attribute name must be a string')); + callback(new Errors.EINVAL('attribute name must be a string')); } else if (!name) { - callback(new Errors.EInvalid('attribute name cannot be an empty string')); + callback(new Errors.EINVAL('attribute name cannot be an empty string')); } else { find_node(context, path, remove_xattr); @@ -8404,7 +7496,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', callback(error); } else if (!node.xattrs.hasOwnProperty(name)) { - callback(new Errors.ENoAttr('attribute does not exist')); + callback(new Errors.ENOATTR()); } else { delete node.xattrs[name]; @@ -8413,10 +7505,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } if (typeof name != 'string') { - callback(new Errors.EInvalid('attribute name must be a string')); + callback(new Errors.EINVAL('attribute name must be a string')); } else if (!name) { - callback(new Errors.EInvalid('attribute name cannot be an empty string')); + callback(new Errors.EINVAL('attribute name cannot be an empty string')); } else { context.get(ofd.id, remove_xattr); @@ -8573,7 +7665,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } var intercom = Intercom.getInstance(); changes.forEach(function(change) { - intercom.emit(change.event, change.event, change.path); + intercom.emit(change.event, change.path); }); } @@ -8665,7 +7757,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', flags = validate_flags(flags); if(!flags) { - callback(new Errors.EInvalid('flags is not valid')); + callback(new Errors.EINVAL('flags is not valid')); } open_file(context, path, flags, check_result); @@ -8673,7 +7765,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', function _close(fs, fd, callback) { if(!_(fs.openFiles).has(fd)) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else { fs.releaseDescriptor(fd); callback(null); @@ -8786,9 +7878,9 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if(!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else if(!_(ofd.flags).contains(O_READ)) { - callback(new Errors.EBadFileDescriptor('descriptor does not permit reading')); + callback(new Errors.EBADF('descriptor does not permit reading')); } else { read_data(context, ofd, buffer, offset, length, position, check_result); } @@ -8801,7 +7893,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var flags = validate_flags(options.flag || 'r'); if(!flags) { - callback(new Errors.EInvalid('flags is not valid')); + callback(new Errors.EINVAL('flags is not valid')); } open_file(context, path, flags, function(err, fileNode) { @@ -8853,9 +7945,9 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if(!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else if(!_(ofd.flags).contains(O_WRITE)) { - callback(new Errors.EBadFileDescriptor('descriptor does not permit writing')); + callback(new Errors.EBADF('descriptor does not permit writing')); } else if(buffer.length - offset < length) { callback(new Errors.EIO('intput buffer is too small')); } else { @@ -8870,7 +7962,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var flags = validate_flags(options.flag || 'w'); if(!flags) { - callback(new Errors.EInvalid('flags is not valid')); + callback(new Errors.EINVAL('flags is not valid')); } data = data || ''; @@ -8905,7 +7997,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var flags = validate_flags(options.flag || 'a'); if(!flags) { - callback(new Errors.EInvalid('flags is not valid')); + callback(new Errors.EINVAL('flags is not valid')); } data = data || ''; @@ -8969,7 +8061,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if (!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else { fgetxattr_file(context, ofd, name, get_result); @@ -9004,10 +8096,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if (!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else if (!_(ofd.flags).contains(O_WRITE)) { - callback(new Errors.EBadFileDescriptor('descriptor does not permit writing')); + callback(new Errors.EBADF('descriptor does not permit writing')); } else { fsetxattr_file(context, ofd, name, value, flag, check_result); @@ -9043,10 +8135,10 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if (!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else if (!_(ofd.flags).contains(O_WRITE)) { - callback(new Errors.EBadFileDescriptor('descriptor does not permit writing')); + callback(new Errors.EBADF('descriptor does not permit writing')); } else { fremovexattr_file(context, ofd, name, remove_xattr); @@ -9067,7 +8159,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', callback(error); } else { if(stats.size + offset < 0) { - callback(new Errors.EInvalid('resulting file offset would be negative')); + callback(new Errors.EINVAL('resulting file offset would be negative')); } else { ofd.position = stats.size + offset; callback(null, ofd.position); @@ -9078,19 +8170,19 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if(!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } if('SET' === whence) { if(offset < 0) { - callback(new Errors.EInvalid('resulting file offset would be negative')); + callback(new Errors.EINVAL('resulting file offset would be negative')); } else { ofd.position = offset; callback(null, ofd.position); } } else if('CUR' === whence) { if(ofd.position + offset < 0) { - callback(new Errors.EInvalid('resulting file offset would be negative')); + callback(new Errors.EINVAL('resulting file offset would be negative')); } else { ofd.position += offset; callback(null, ofd.position); @@ -9098,7 +8190,7 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', } else if('END' === whence) { fstat_file(context, ofd, update_descriptor_position); } else { - callback(new Errors.EInvalid('whence argument is not a proper value')); + callback(new Errors.EINVAL('whence argument is not a proper value')); } } @@ -9151,9 +8243,9 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if(!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else if(!_(ofd.flags).contains(O_WRITE)) { - callback(new Errors.EBadFileDescriptor('descriptor does not permit writing')); + callback(new Errors.EBADF('descriptor does not permit writing')); } else { futimes_file(context, ofd, atime, mtime, check_result); } @@ -9256,9 +8348,9 @@ define('src/fs',['require','nodash','encoding','src/path','src/path','src/path', var ofd = fs.openFiles[fd]; if(!ofd) { - callback(new Errors.EBadFileDescriptor('invalid file descriptor')); + callback(new Errors.EBADF()); } else if(!_(ofd.flags).contains(O_WRITE)) { - callback(new Errors.EBadFileDescriptor('descriptor does not permit writing')); + callback(new Errors.EBADF('descriptor does not permit writing')); } else { ftruncate_file(context, ofd, length, check_result); } diff --git a/dist/filer.min.js b/dist/filer.min.js index 923bec4..5556c8c 100644 --- a/dist/filer.min.js +++ b/dist/filer.min.js @@ -1,6 +1,5 @@ -/*! filer 2014-03-11 */ -(function(t,e){"object"==typeof exports?module.exports=e():"function"==typeof define&&define.amd?define(e):t.Filer||(t.Filer=e())})(this,function(){var t,e,n;(function(r){function o(t,e){return w.call(t,e)}function i(t,e){var n,r,o,i,s,a,c,u,f,l,p=e&&e.split("/"),h=m.map,d=h&&h["*"]||{};if(t&&"."===t.charAt(0))if(e){for(p=p.slice(0,p.length-1),t=p.concat(t.split("/")),u=0;t.length>u;u+=1)if(l=t[u],"."===l)t.splice(u,1),u-=1;else if(".."===l){if(1===u&&(".."===t[2]||".."===t[0]))break;u>0&&(t.splice(u-1,2),u-=2)}t=t.join("/")}else 0===t.indexOf("./")&&(t=t.substring(2));if((p||d)&&h){for(n=t.split("/"),u=n.length;u>0;u-=1){if(r=n.slice(0,u).join("/"),p)for(f=p.length;f>0;f-=1)if(o=h[p.slice(0,f).join("/")],o&&(o=o[r])){i=o,s=u;break}if(i)break;!a&&d&&d[r]&&(a=d[r],c=u)}!i&&a&&(i=a,s=c),i&&(n.splice(0,s,i),t=n.join("/"))}return t}function s(t,e){return function(){return h.apply(r,b.call(arguments,0).concat([t,e]))}}function a(t){return function(e){return i(e,t)}}function c(t){return function(e){v[t]=e}}function u(t){if(o(g,t)){var e=g[t];delete g[t],E[t]=!0,p.apply(r,e)}if(!o(v,t)&&!o(E,t))throw Error("No "+t);return v[t]}function f(t){var e,n=t?t.indexOf("!"):-1;return n>-1&&(e=t.substring(0,n),t=t.substring(n+1,t.length)),[e,t]}function l(t){return function(){return m&&m.config&&m.config[t]||{}}}var p,h,d,y,v={},g={},m={},E={},w=Object.prototype.hasOwnProperty,b=[].slice;d=function(t,e){var n,r=f(t),o=r[0];return t=r[1],o&&(o=i(o,e),n=u(o)),o?t=n&&n.normalize?n.normalize(t,a(e)):i(t,e):(t=i(t,e),r=f(t),o=r[0],t=r[1],o&&(n=u(o))),{f:o?o+"!"+t:t,n:t,pr:o,p:n}},y={require:function(t){return s(t)},exports:function(t){var e=v[t];return e!==void 0?e:v[t]={}},module:function(t){return{id:t,uri:"",exports:v[t],config:l(t)}}},p=function(t,e,n,i){var a,f,l,p,h,m,w=[];if(i=i||t,"function"==typeof n){for(e=!e.length&&n.length?["require","exports","module"]:e,h=0;e.length>h;h+=1)if(p=d(e[h],i),f=p.f,"require"===f)w[h]=y.require(t);else if("exports"===f)w[h]=y.exports(t),m=!0;else if("module"===f)a=w[h]=y.module(t);else if(o(v,f)||o(g,f)||o(E,f))w[h]=u(f);else{if(!p.p)throw Error(t+" missing "+f);p.p.load(p.n,s(i,!0),c(f),{}),w[h]=v[f]}l=n.apply(v[t],w),t&&(a&&a.exports!==r&&a.exports!==v[t]?v[t]=a.exports:l===r&&m||(v[t]=l))}else t&&(v[t]=n)},t=e=h=function(t,e,n,o,i){return"string"==typeof t?y[t]?y[t](e):u(d(t,e).f):(t.splice||(m=t,e.splice?(t=e,e=n,n=null):t=r),e=e||function(){},"function"==typeof n&&(n=o,o=i),o?p(r,t,e,n):setTimeout(function(){p(r,t,e,n)},4),h)},h.config=function(t){return m=t,m.deps&&h(m.deps,m.callback),h},n=function(t,e,n){e.splice||(n=e,e=[]),o(v,t)||o(g,t)||(g[t]=[t,e,n])},n.amd={jQuery:!0}})(),n("build/almond",function(){}),n("nodash",["require"],function(){function t(t,e){return h.call(t,e)}function e(t){return null==t?0:t.length===+t.length?t.length:v(t).length}function n(t){return t}function r(t,e,n){var r,o;if(null!=t)if(u&&t.forEach===u)t.forEach(e,n);else if(t.length===+t.length){for(r=0,o=t.length;o>r;r++)if(e.call(n,t[r],r,t)===y)return}else{var i=i(t);for(r=0,o=i.length;o>r;r++)if(e.call(n,t[i[r]],i[r],t)===y)return}}function o(t,e,o){e||(e=n);var i=!1;return null==t?i:l&&t.some===l?t.some(e,o):(r(t,function(t,n,r){return i||(i=e.call(o,t,n,r))?y:void 0}),!!i)}function i(t,e){return null==t?!1:f&&t.indexOf===f?-1!=t.indexOf(e):o(t,function(t){return t===e})}function s(t){this.value=t}function a(t){return t&&"object"==typeof t&&!Array.isArray(t)&&h.call(t,"__wrapped__")?t:new s(t)}var c=Array.prototype,u=c.forEach,f=c.indexOf,l=c.some,p=Object.prototype,h=p.hasOwnProperty,d=Object.keys,y={},v=d||function(e){if(e!==Object(e))throw new TypeError("Invalid object");var n=[];for(var r in e)t(e,r)&&n.push(r);return n};return s.prototype.has=function(e){return t(this.value,e)},s.prototype.contains=function(t){return i(this.value,t)},s.prototype.size=function(){return e(this.value)},a}),function(t){t["encoding-indexes"]=t["encoding-indexes"]||[]}(this),n("encoding-indexes-shim",function(){}),function(t){function e(t,e,n){return t>=e&&n>=t}function n(t,e){return Math.floor(t/e)}function r(t){var e=0;this.get=function(){return e>=t.length?j:Number(t[e])},this.offset=function(n){if(e+=n,0>e)throw Error("Seeking past start of the buffer");if(e>t.length)throw Error("Seeking past EOF")},this.match=function(n){if(n.length>e+t.length)return!1;var r;for(r=0;n.length>r;r+=1)if(Number(t[e+r])!==n[r])return!1;return!0}}function o(t){var e=0;this.emit=function(){var n,r=j;for(n=0;arguments.length>n;++n)r=Number(arguments[n]),t[e++]=r;return r}}function i(t){function n(t){for(var n=[],r=0,o=t.length;t.length>r;){var i=t.charCodeAt(r);if(e(i,55296,57343))if(e(i,56320,57343))n.push(65533);else if(r===o-1)n.push(65533);else{var s=t.charCodeAt(r+1);if(e(s,56320,57343)){var a=1023&i,c=1023&s;r+=1,n.push(65536+(a<<10)+c)}else n.push(65533)}else n.push(i);r+=1}return n}var r=0,o=n(t);this.offset=function(t){if(r+=t,0>r)throw Error("Seeking past start of the buffer");if(r>o.length)throw Error("Seeking past EOF")},this.get=function(){return r>=o.length?U:o[r]}}function s(){var t="";this.string=function(){return t},this.emit=function(e){65535>=e?t+=String.fromCharCode(e):(e-=65536,t+=String.fromCharCode(55296+(1023&e>>10)),t+=String.fromCharCode(56320+(1023&e)))}}function a(t){this.name="EncodingError",this.message=t,this.code=0}function c(t,e){if(t)throw new a("Decoder error");return e||65533}function u(t){throw new a("The code point "+t+" could not be encoded.")}function f(t){return t=(t+"").trim().toLowerCase(),Object.prototype.hasOwnProperty.call(W,t)?W[t]:null}function l(t,e){return(e||[])[t]||null}function p(t,e){var n=e.indexOf(t);return-1===n?null:n}function h(e){if(!("encoding-indexes"in t))throw Error("Indexes missing. Did you forget to include encoding-indexes.js?");return t["encoding-indexes"][e]}function d(t){if(t>39419&&189e3>t||t>1237575)return null;var e,n=0,r=0,o=h("gb18030");for(e=0;o.length>e;++e){var i=o[e];if(!(t>=i[0]))break;n=i[0],r=i[1]}return r+t-n}function y(t){var e,n=0,r=0,o=h("gb18030");for(e=0;o.length>e;++e){var i=o[e];if(!(t>=i[1]))break;n=i[1],r=i[0]}return r+t-n}function v(t){var n=t.fatal,r=0,o=0,i=0,s=0;this.decode=function(t){var a=t.get();if(a===j)return 0!==o?c(n):U;if(t.offset(1),0===o){if(e(a,0,127))return a;if(e(a,194,223))o=1,s=128,r=a-192;else if(e(a,224,239))o=2,s=2048,r=a-224;else{if(!e(a,240,244))return c(n);o=3,s=65536,r=a-240}return r*=Math.pow(64,o),null}if(!e(a,128,191))return r=0,o=0,i=0,s=0,t.offset(-1),c(n);if(i+=1,r+=(a-128)*Math.pow(64,o-i),i!==o)return null;var u=r,f=s;return r=0,o=0,i=0,s=0,e(u,f,1114111)&&!e(u,55296,57343)?u:c(n)}}function g(t){t.fatal,this.encode=function(t,r){var o=r.get();if(o===U)return j;if(r.offset(1),e(o,55296,57343))return u(o);if(e(o,0,127))return t.emit(o);var i,s;e(o,128,2047)?(i=1,s=192):e(o,2048,65535)?(i=2,s=224):e(o,65536,1114111)&&(i=3,s=240);for(var a=t.emit(n(o,Math.pow(64,i))+s);i>0;){var c=n(o,Math.pow(64,i-1));a=t.emit(128+c%64),i-=1}return a}}function m(t,n){var r=n.fatal;this.decode=function(n){var o=n.get();if(o===j)return U;if(n.offset(1),e(o,0,127))return o;var i=t[o-128];return null===i?c(r):i}}function E(t,n){n.fatal,this.encode=function(n,r){var o=r.get();if(o===U)return j;if(r.offset(1),e(o,0,127))return n.emit(o);var i=p(o,t);return null===i&&u(o),n.emit(i+128)}}function w(t,n){var r=n.fatal,o=0,i=0,s=0;this.decode=function(n){var a=n.get();if(a===j&&0===o&&0===i&&0===s)return U;a!==j||0===o&&0===i&&0===s||(o=0,i=0,s=0,c(r)),n.offset(1);var u;if(0!==s)return u=null,e(a,48,57)&&(u=d(10*(126*(10*(o-129)+(i-48))+(s-129))+a-48)),o=0,i=0,s=0,null===u?(n.offset(-3),c(r)):u;if(0!==i)return e(a,129,254)?(s=a,null):(n.offset(-2),o=0,i=0,c(r));if(0!==o){if(e(a,48,57)&&t)return i=a,null;var f=o,p=null;o=0;var y=127>a?64:65;return(e(a,64,126)||e(a,128,254))&&(p=190*(f-129)+(a-y)),u=null===p?null:l(p,h("gbk")),null===p&&n.offset(-1),null===u?c(r):u}return e(a,0,127)?a:128===a?8364:e(a,129,254)?(o=a,null):c(r)}}function b(t,r){r.fatal,this.encode=function(r,o){var i=o.get();if(i===U)return j;if(o.offset(1),e(i,0,127))return r.emit(i);var s=p(i,h("gbk"));if(null!==s){var a=n(s,190)+129,c=s%190,f=63>c?64:65;return r.emit(a,c+f)}if(null===s&&!t)return u(i);s=y(i);var l=n(n(n(s,10),126),10);s-=10*126*10*l;var d=n(n(s,10),126);s-=126*10*d;var v=n(s,10),g=s-10*v;return r.emit(l+129,d+48,v+129,g+48)}}function _(t){var n=t.fatal,r=!1,o=0;this.decode=function(t){var i=t.get();if(i===j&&0===o)return U;if(i===j&&0!==o)return o=0,c(n);if(t.offset(1),126===o)return o=0,123===i?(r=!0,null):125===i?(r=!1,null):126===i?126:10===i?null:(t.offset(-1),c(n));if(0!==o){var s=o;o=0;var a=null;return e(i,33,126)&&(a=l(190*(s-1)+(i+63),h("gbk"))),10===i&&(r=!1),null===a?c(n):a}return 126===i?(o=126,null):r?e(i,32,127)?(o=i,null):(10===i&&(r=!1),c(n)):e(i,0,127)?i:c(n)}}function x(t){t.fatal;var r=!1;this.encode=function(t,o){var i=o.get();if(i===U)return j;if(o.offset(1),e(i,0,127)&&r)return o.offset(-1),r=!1,t.emit(126,125);if(126===i)return t.emit(126,126);if(e(i,0,127))return t.emit(i);if(!r)return o.offset(-1),r=!0,t.emit(126,123);var s=p(i,h("gbk"));if(null===s)return u(i);var a=n(s,190)+1,c=s%190-63;return e(a,33,126)&&e(c,33,126)?t.emit(a,c):u(i)}}function A(t){var n=t.fatal,r=0,o=null;this.decode=function(t){if(null!==o){var i=o;return o=null,i}var s=t.get();if(s===j&&0===r)return U;if(s===j&&0!==r)return r=0,c(n);if(t.offset(1),0!==r){var a=r,u=null;r=0;var f=127>s?64:98;if((e(s,64,126)||e(s,161,254))&&(u=157*(a-129)+(s-f)),1133===u)return o=772,202;if(1135===u)return o=780,202;if(1164===u)return o=772,234;if(1166===u)return o=780,234;var p=null===u?null:l(u,h("big5"));return null===u&&t.offset(-1),null===p?c(n):p}return e(s,0,127)?s:e(s,129,254)?(r=s,null):c(n)}}function k(t){t.fatal,this.encode=function(t,r){var o=r.get();if(o===U)return j;if(r.offset(1),e(o,0,127))return t.emit(o);var i=p(o,h("big5"));if(null===i)return u(o);var s=n(i,157)+129,a=i%157,c=63>a?64:98;return t.emit(s,a+c)}}function O(t){var n=t.fatal,r=0,o=0;this.decode=function(t){var i=t.get();if(i===j)return 0===r&&0===o?U:(r=0,o=0,c(n));t.offset(1);var s,a;return 0!==o?(s=o,o=0,a=null,e(s,161,254)&&e(i,161,254)&&(a=l(94*(s-161)+i-161,h("jis0212"))),e(i,161,254)||t.offset(-1),null===a?c(n):a):142===r&&e(i,161,223)?(r=0,65377+i-161):143===r&&e(i,161,254)?(r=0,o=i,null):0!==r?(s=r,r=0,a=null,e(s,161,254)&&e(i,161,254)&&(a=l(94*(s-161)+i-161,h("jis0208"))),e(i,161,254)||t.offset(-1),null===a?c(n):a):e(i,0,127)?i:142===i||143===i||e(i,161,254)?(r=i,null):c(n)}}function S(t){t.fatal,this.encode=function(t,r){var o=r.get();if(o===U)return j;if(r.offset(1),e(o,0,127))return t.emit(o);if(165===o)return t.emit(92);if(8254===o)return t.emit(126);if(e(o,65377,65439))return t.emit(142,o-65377+161);var i=p(o,h("jis0208"));if(null===i)return u(o);var s=n(i,94)+161,a=i%94+161;return t.emit(s,a)}}function I(t){var n=t.fatal,r={ASCII:0,escape_start:1,escape_middle:2,escape_final:3,lead:4,trail:5,Katakana:6},o=r.ASCII,i=!1,s=0;this.decode=function(t){var a=t.get();switch(a!==j&&t.offset(1),o){default:case r.ASCII:return 27===a?(o=r.escape_start,null):e(a,0,127)?a:a===j?U:c(n);case r.escape_start:return 36===a||40===a?(s=a,o=r.escape_middle,null):(a!==j&&t.offset(-1),o=r.ASCII,c(n));case r.escape_middle:var u=s;return s=0,36!==u||64!==a&&66!==a?36===u&&40===a?(o=r.escape_final,null):40!==u||66!==a&&74!==a?40===u&&73===a?(o=r.Katakana,null):(a===j?t.offset(-1):t.offset(-2),o=r.ASCII,c(n)):(o=r.ASCII,null):(i=!1,o=r.lead,null);case r.escape_final:return 68===a?(i=!0,o=r.lead,null):(a===j?t.offset(-2):t.offset(-3),o=r.ASCII,c(n));case r.lead:return 10===a?(o=r.ASCII,c(n,10)):27===a?(o=r.escape_start,null):a===j?U:(s=a,o=r.trail,null);case r.trail:if(o=r.lead,a===j)return c(n);var f=null,p=94*(s-33)+a-33;return e(s,33,126)&&e(a,33,126)&&(f=i===!1?l(p,h("jis0208")):l(p,h("jis0212"))),null===f?c(n):f;case r.Katakana:return 27===a?(o=r.escape_start,null):e(a,33,95)?65377+a-33:a===j?U:c(n)}}}function R(t){t.fatal;var r={ASCII:0,lead:1,Katakana:2},o=r.ASCII;this.encode=function(t,i){var s=i.get();if(s===U)return j;if(i.offset(1),(e(s,0,127)||165===s||8254===s)&&o!==r.ASCII)return i.offset(-1),o=r.ASCII,t.emit(27,40,66);if(e(s,0,127))return t.emit(s);if(165===s)return t.emit(92);if(8254===s)return t.emit(126);if(e(s,65377,65439)&&o!==r.Katakana)return i.offset(-1),o=r.Katakana,t.emit(27,40,73);if(e(s,65377,65439))return t.emit(s-65377-33);if(o!==r.lead)return i.offset(-1),o=r.lead,t.emit(27,36,66);var a=p(s,h("jis0208"));if(null===a)return u(s);var c=n(a,94)+33,f=a%94+33;return t.emit(c,f)}}function D(t){var n=t.fatal,r=0;this.decode=function(t){var o=t.get();if(o===j&&0===r)return U;if(o===j&&0!==r)return r=0,c(n);if(t.offset(1),0!==r){var i=r;if(r=0,e(o,64,126)||e(o,128,252)){var s=127>o?64:65,a=160>i?129:193,u=l(188*(i-a)+o-s,h("jis0208"));return null===u?c(n):u}return t.offset(-1),c(n)}return e(o,0,128)?o:e(o,161,223)?65377+o-161:e(o,129,159)||e(o,224,252)?(r=o,null):c(n)}}function T(t){t.fatal,this.encode=function(t,r){var o=r.get();if(o===U)return j;if(r.offset(1),e(o,0,128))return t.emit(o);if(165===o)return t.emit(92);if(8254===o)return t.emit(126);if(e(o,65377,65439))return t.emit(o-65377+161);var i=p(o,h("jis0208"));if(null===i)return u(o);var s=n(i,188),a=31>s?129:193,c=i%188,f=63>c?64:65;return t.emit(s+a,c+f)}}function C(t){var n=t.fatal,r=0;this.decode=function(t){var o=t.get();if(o===j&&0===r)return U;if(o===j&&0!==r)return r=0,c(n);if(t.offset(1),0!==r){var i=r,s=null;if(r=0,e(i,129,198)){var a=178*(i-129);e(o,65,90)?s=a+o-65:e(o,97,122)?s=a+26+o-97:e(o,129,254)&&(s=a+26+26+o-129)}e(i,199,253)&&e(o,161,254)&&(s=12460+94*(i-199)+(o-161));var u=null===s?null:l(s,h("euc-kr"));return null===s&&t.offset(-1),null===u?c(n):u}return e(o,0,127)?o:e(o,129,253)?(r=o,null):c(n)}}function N(t){t.fatal,this.encode=function(t,r){var o=r.get();if(o===U)return j;if(r.offset(1),e(o,0,127))return t.emit(o);var i=p(o,h("euc-kr"));if(null===i)return u(o);var s,a;if(12460>i){s=n(i,178)+129,a=i%178;var c=26>a?65:52>a?71:77;return t.emit(s,a+c)}return i-=12460,s=n(i,94)+199,a=i%94+161,t.emit(s,a)}}function B(t,n){var r=n.fatal,o=null,i=null;this.decode=function(n){var s=n.get();if(s===j&&null===o&&null===i)return U;if(s===j&&(null!==o||null!==i))return c(r);if(n.offset(1),null===o)return o=s,null;var a;if(a=t?(o<<8)+s:(s<<8)+o,o=null,null!==i){var u=i;return i=null,e(a,56320,57343)?65536+1024*(u-55296)+(a-56320):(n.offset(-2),c(r))}return e(a,55296,56319)?(i=a,null):e(a,56320,57343)?c(r):a}}function F(t,r){r.fatal,this.encode=function(r,o){function i(e){var n=e>>8,o=255&e;return t?r.emit(n,o):r.emit(o,n)}var s=o.get();if(s===U)return j;if(o.offset(1),e(s,55296,57343)&&u(s),65535>=s)return i(s);var a=n(s-65536,1024)+55296,c=(s-65536)%1024+56320;return i(a),i(c)}}function M(t,e){if(!(this instanceof M))throw new TypeError("Constructor cannot be called as a function");if(t=t?t+"":q,e=Object(e),this._encoding=f(t),null===this._encoding||"utf-8"!==this._encoding.name&&"utf-16le"!==this._encoding.name&&"utf-16be"!==this._encoding.name)throw new TypeError("Unknown encoding: "+t);return this._streaming=!1,this._encoder=null,this._options={fatal:Boolean(e.fatal)},Object.defineProperty?Object.defineProperty(this,"encoding",{get:function(){return this._encoding.name}}):this.encoding=this._encoding.name,this}function L(t,e){if(!(this instanceof L))throw new TypeError("Constructor cannot be called as a function");if(t=t?t+"":q,e=Object(e),this._encoding=f(t),null===this._encoding)throw new TypeError("Unknown encoding: "+t);return this._streaming=!1,this._decoder=null,this._options={fatal:Boolean(e.fatal)},Object.defineProperty?Object.defineProperty(this,"encoding",{get:function(){return this._encoding.name}}):this.encoding=this._encoding.name,this}var j=-1,U=-1;a.prototype=Error.prototype;var P=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"utf-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"ibm866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"iso-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"iso-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"iso-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"iso-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"iso-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"iso-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"iso-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"iso-8859-8-i"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"iso-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"iso-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"iso-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"iso-8859-15"},{labels:["iso-8859-16"],name:"iso-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"koi8-r"},{labels:["koi8-u"],name:"koi8-u"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"gbk"},{labels:["gb18030"],name:"gb18030"},{labels:["hz-gb-2312"],name:"hz-gb-2312"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"euc-jp"},{labels:["csiso2022jp","iso-2022-jp"],name:"iso-2022-jp"},{labels:["csshiftjis","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"shift_jis"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"euc-kr"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","iso-2022-kr","iso-2022-cn","iso-2022-cn-ext"],name:"replacement"},{labels:["utf-16be"],name:"utf-16be"},{labels:["utf-16","utf-16le"],name:"utf-16le"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],z={},W={};P.forEach(function(t){t.encodings.forEach(function(t){z[t.name]=t,t.labels.forEach(function(e){W[e]=t})})}),z["utf-8"].getEncoder=function(t){return new g(t)},z["utf-8"].getDecoder=function(t){return new v(t)},function(){P.forEach(function(t){"Legacy single-byte encodings"===t.heading&&t.encodings.forEach(function(t){var e=h(t.name);t.getDecoder=function(t){return new m(e,t)},t.getEncoder=function(t){return new E(e,t)}})})}(),z.gbk.getEncoder=function(t){return new b(!1,t)},z.gbk.getDecoder=function(t){return new w(!1,t)},z.gb18030.getEncoder=function(t){return new b(!0,t)},z.gb18030.getDecoder=function(t){return new w(!0,t)},z["hz-gb-2312"].getEncoder=function(t){return new x(t)},z["hz-gb-2312"].getDecoder=function(t){return new _(t)},z.big5.getEncoder=function(t){return new k(t)},z.big5.getDecoder=function(t){return new A(t)},z["euc-jp"].getEncoder=function(t){return new S(t)},z["euc-jp"].getDecoder=function(t){return new O(t)},z["iso-2022-jp"].getEncoder=function(t){return new R(t)},z["iso-2022-jp"].getDecoder=function(t){return new I(t)},z.shift_jis.getEncoder=function(t){return new T(t)},z.shift_jis.getDecoder=function(t){return new D(t)},z["euc-kr"].getEncoder=function(t){return new N(t)},z["euc-kr"].getDecoder=function(t){return new C(t)},z["utf-16le"].getEncoder=function(t){return new F(!1,t)},z["utf-16le"].getDecoder=function(t){return new B(!1,t)},z["utf-16be"].getEncoder=function(t){return new F(!0,t)},z["utf-16be"].getDecoder=function(t){return new B(!0,t)};var q="utf-8";M.prototype={encode:function(t,e){t=t?t+"":"",e=Object(e),this._streaming||(this._encoder=this._encoding.getEncoder(this._options)),this._streaming=Boolean(e.stream);for(var n=[],r=new o(n),s=new i(t);s.get()!==U;)this._encoder.encode(r,s);if(!this._streaming){var a;do a=this._encoder.encode(r,s);while(a!==j);this._encoder=null}return new Uint8Array(n)}},L.prototype={decode:function(t,e){if(t&&!("buffer"in t&&"byteOffset"in t&&"byteLength"in t))throw new TypeError("Expected ArrayBufferView");t||(t=new Uint8Array(0)),e=Object(e),this._streaming||(this._decoder=this._encoding.getDecoder(this._options),this._BOMseen=!1),this._streaming=Boolean(e.stream);for(var n,o=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),i=new r(o),a=new s;i.get()!==j;)n=this._decoder.decode(i),null!==n&&n!==U&&a.emit(n);if(!this._streaming){do n=this._decoder.decode(i),null!==n&&n!==U&&a.emit(n);while(n!==U&&i.get()!=j);this._decoder=null}var c=a.string();return!this._BOMseen&&c.length&&(this._BOMseen=!0,-1!==["utf-8","utf-16le","utf-16be"].indexOf(this.encoding)&&65279===c.charCodeAt(0)&&(c=c.substring(1))),c}},t.TextEncoder=t.TextEncoder||M,t.TextDecoder=t.TextDecoder||L}(this),n("encoding",["encoding-indexes-shim"],function(){}),n("src/path",[],function(){function t(t,e){for(var n=0,r=t.length-1;r>=0;r--){var o=t[r];"."===o?t.splice(r,1):".."===o?(t.splice(r,1),n++):n&&(t.splice(r,1),n--)}if(e)for(;n--;n)t.unshift("..");return t}function e(){for(var e="",n=!1,r=arguments.length-1;r>=-1&&!n;r--){var o=r>=0?arguments[r]:"/";"string"==typeof o&&o&&(e=o+"/"+e,n="/"===o.charAt(0))}return e=t(e.split("/").filter(function(t){return!!t}),!n).join("/"),(n?"/":"")+e||"."}function n(e){var n="/"===e.charAt(0);return"/"===e.substr(-1),e=t(e.split("/").filter(function(t){return!!t}),!n).join("/"),e||n||(e="."),(n?"/":"")+e}function r(){var t=Array.prototype.slice.call(arguments,0);return n(t.filter(function(t){return t&&"string"==typeof t}).join("/"))}function o(t,e){function n(t){for(var e=0;t.length>e&&""===t[e];e++);for(var n=t.length-1;n>=0&&""===t[n];n--);return e>n?[]:t.slice(e,n-e+1)}t=exports.resolve(t).substr(1),e=exports.resolve(e).substr(1);for(var r=n(t.split("/")),o=n(e.split("/")),i=Math.min(r.length,o.length),s=i,a=0;i>a;a++)if(r[a]!==o[a]){s=a;break}for(var c=[],a=s;r.length>a;a++)c.push("..");return c=c.concat(o.slice(s)),c.join("/")}function i(t){var e=l(t),n=e[0],r=e[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."}function s(t,e){var n=l(t)[2];return e&&n.substr(-1*e.length)===e&&(n=n.substr(0,n.length-e.length)),""===n?"/":n}function a(t){return l(t)[3]}function c(t){return"/"===t.charAt(0)?!0:!1}function u(t){return-1!==(""+t).indexOf("\0")?!0:!1}var f=/^(\/?)([\s\S]+\/(?!$)|\/)?((?:\.{1,2}$|[\s\S]+?)?(\.[^.\/]*)?)$/,l=function(t){var e=f.exec(t);return[e[1]||"",e[2]||"",e[3]||"",e[4]||""]};return{normalize:n,resolve:e,join:r,relative:o,sep:"/",delimiter:":",dirname:i,basename:s,extname:a,isAbsolute:c,isNull:u}});var r=r||function(t,e){var n={},r=n.lib={},o=r.Base=function(){function t(){}return{extend:function(e){t.prototype=this;var n=new t;return e&&n.mixIn(e),n.$super=this,n},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.$super.extend(this)}}}(),i=r.WordArray=o.extend({init:function(t,n){t=this.words=t||[],this.sigBytes=n!=e?n:4*t.length},toString:function(t){return(t||a).stringify(this)},concat:function(t){var e=this.words,n=t.words,r=this.sigBytes,t=t.sigBytes;if(this.clamp(),r%4)for(var o=0;t>o;o++)e[r+o>>>2]|=(255&n[o>>>2]>>>24-8*(o%4))<<24-8*((r+o)%4);else if(n.length>65535)for(o=0;t>o;o+=4)e[r+o>>>2]=n[o>>>2];else e.push.apply(e,n);return this.sigBytes+=t,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-8*(n%4),e.length=t.ceil(n/4)},clone:function(){var t=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var n=[],r=0;e>r;r+=4)n.push(0|4294967296*t.random());return i.create(n,e)}}),s=n.enc={},a=s.Hex={stringify:function(t){for(var e=t.words,t=t.sigBytes,n=[],r=0;t>r;r++){var o=255&e[r>>>2]>>>24-8*(r%4);n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,n=[],r=0;e>r;r+=2)n[r>>>3]|=parseInt(t.substr(r,2),16)<<24-4*(r%8);return i.create(n,e/2)}},c=s.Latin1={stringify:function(t){for(var e=t.words,t=t.sigBytes,n=[],r=0;t>r;r++)n.push(String.fromCharCode(255&e[r>>>2]>>>24-8*(r%4)));return n.join("")},parse:function(t){for(var e=t.length,n=[],r=0;e>r;r++)n[r>>>2]|=(255&t.charCodeAt(r))<<24-8*(r%4);return i.create(n,e)}},u=s.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},f=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=i.create(),this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=u.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var n=this._data,r=n.words,o=n.sigBytes,s=this.blockSize,a=o/(4*s),a=e?t.ceil(a):t.max((0|a)-this._minBufferSize,0),e=a*s,o=t.min(4*e,o);if(e){for(var c=0;e>c;c+=s)this._doProcessBlock(r,c);c=r.splice(0,e),n.sigBytes-=o}return i.create(c,o)},clone:function(){var t=o.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});r.Hasher=f.extend({init:function(){this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize(),this._hash},clone:function(){var t=f.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:16,_createHelper:function(t){return function(e,n){return t.create(n).finalize(e)}},_createHmacHelper:function(t){return function(e,n){return l.HMAC.create(t,n).finalize(e)}}});var l=n.algo={};return n}(Math);(function(t){var e=r,n=e.lib,o=n.WordArray,n=n.Hasher,i=e.algo,s=[],a=[];(function(){function e(e){for(var n=t.sqrt(e),r=2;n>=r;r++)if(!(e%r))return!1;return!0}function n(t){return 0|4294967296*(t-(0|t))}for(var r=2,o=0;64>o;)e(r)&&(8>o&&(s[o]=n(t.pow(r,.5))),a[o]=n(t.pow(r,1/3)),o++),r++})();var c=[],i=i.SHA256=n.extend({_doReset:function(){this._hash=o.create(s.slice(0))},_doProcessBlock:function(t,e){for(var n=this._hash.words,r=n[0],o=n[1],i=n[2],s=n[3],u=n[4],f=n[5],l=n[6],p=n[7],h=0;64>h;h++){if(16>h)c[h]=0|t[e+h];else{var d=c[h-15],y=c[h-2];c[h]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+c[h-7]+((y<<15|y>>>17)^(y<<13|y>>>19)^y>>>10)+c[h-16]}d=p+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&f^~u&l)+a[h]+c[h],y=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&o^r&i^o&i),p=l,l=f,f=u,u=0|s+d,s=i,i=o,o=r,r=0|d+y}n[0]=0|n[0]+r,n[1]=0|n[1]+o,n[2]=0|n[2]+i,n[3]=0|n[3]+s,n[4]=0|n[4]+u,n[5]=0|n[5]+f,n[6]=0|n[6]+l,n[7]=0|n[7]+p},_doFinalize:function(){var t=this._data,e=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;e[r>>>5]|=128<<24-r%32,e[(r+64>>>9<<4)+15]=n,t.sigBytes=4*e.length,this._process()}});e.SHA256=n._createHelper(i),e.HmacSHA256=n._createHmacHelper(i)})(Math),n("crypto-js/rollups/sha256",function(){}),n("src/shared",["require","crypto-js/rollups/sha256"],function(t){function e(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var e=0|16*Math.random(),n="x"==t?e:8|3&e;return n.toString(16)}).toUpperCase()}function n(t){return s.SHA256(t).toString(s.enc.hex)}function o(){}function i(t){for(var e=[],n=t.length,r=0;n>r;r++)e[r]=t[r];return e}t("crypto-js/rollups/sha256");var s=r;return{guid:e,hash:n,u8toArray:i,nop:o}}),n("src/constants",["require"],function(){var t="READ",e="WRITE",n="CREATE",r="EXCLUSIVE",o="TRUNCATE",i="APPEND",s="CREATE",a="REPLACE";return{FILE_SYSTEM_NAME:"local",FILE_STORE_NAME:"files",IDB_RO:"readonly",IDB_RW:"readwrite",WSQL_VERSION:"1",WSQL_SIZE:5242880,WSQL_DESC:"FileSystem Storage",MODE_FILE:"FILE",MODE_DIRECTORY:"DIRECTORY",MODE_SYMBOLIC_LINK:"SYMLINK",MODE_META:"META",SYMLOOP_MAX:10,BINARY_MIME_TYPE:"application/octet-stream",JSON_MIME_TYPE:"application/json",ROOT_DIRECTORY_NAME:"/",FS_FORMAT:"FORMAT",FS_NOCTIME:"NOCTIME",FS_NOMTIME:"NOMTIME",O_READ:t,O_WRITE:e,O_CREATE:n,O_EXCLUSIVE:r,O_TRUNCATE:o,O_APPEND:i,O_FLAGS:{r:[t],"r+":[t,e],w:[e,n,o],"w+":[e,t,n,o],wx:[e,n,r,o],"wx+":[e,t,n,r,o],a:[e,n,i],"a+":[e,t,n,i],ax:[e,n,r,i],"ax+":[e,t,n,r,i]},XATTR_CREATE:s,XATTR_REPLACE:a,FS_READY:"READY",FS_PENDING:"PENDING",FS_ERROR:"ERROR",SUPER_NODE_ID:"00000000-0000-0000-0000-000000000000",ENVIRONMENT:{TMP:"/tmp",PATH:""}}}),n("src/providers/indexeddb",["require","src/constants","src/constants","src/constants","src/constants"],function(t){function e(t,e){var n=t.transaction(o,e);this.objectStore=n.objectStore(o)}function n(t){this.name=t||r,this.db=null}var r=t("src/constants").FILE_SYSTEM_NAME,o=t("src/constants").FILE_STORE_NAME,i=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,s=t("src/constants").IDB_RW;return t("src/constants").IDB_RO,e.prototype.clear=function(t){try{var e=this.objectStore.clear();e.onsuccess=function(){t()},e.onerror=function(e){t(e)}}catch(n){t(n)}},e.prototype.get=function(t,e){try{var n=this.objectStore.get(t);n.onsuccess=function(t){var n=t.target.result;e(null,n)},n.onerror=function(t){e(t)}}catch(r){e(r)}},e.prototype.put=function(t,e,n){try{var r=this.objectStore.put(e,t);r.onsuccess=function(t){var e=t.target.result;n(null,e)},r.onerror=function(t){n(t)}}catch(o){n(o)}},e.prototype.delete=function(t,e){try{var n=this.objectStore.delete(t);n.onsuccess=function(t){var n=t.target.result;e(null,n)},n.onerror=function(t){e(t)}}catch(r){e(r)}},n.isSupported=function(){return!!i},n.prototype.open=function(t){var e=this;if(e.db)return t(null,!1),void 0;var n=!1,r=i.open(e.name);r.onupgradeneeded=function(t){var e=t.target.result;e.objectStoreNames.contains(o)&&e.deleteObjectStore(o),e.createObjectStore(o),n=!0},r.onsuccess=function(r){e.db=r.target.result,t(null,n)},r.onerror=function(e){t(e)}},n.prototype.getReadOnlyContext=function(){return new e(this.db,s)},n.prototype.getReadWriteContext=function(){return new e(this.db,s)},n}),n("src/providers/websql",["require","src/constants","src/constants","src/constants","src/constants","src/constants","src/shared"],function(t){function e(t,e){var n=this;this.getTransaction=function(r){return n.transaction?(r(n.transaction),void 0):(t[e?"readTransaction":"transaction"](function(t){n.transaction=t,r(t) -}),void 0)}}function n(t){this.name=t||r,this.db=null}var r=t("src/constants").FILE_SYSTEM_NAME,o=t("src/constants").FILE_STORE_NAME,i=t("src/constants").WSQL_VERSION,s=t("src/constants").WSQL_SIZE,a=t("src/constants").WSQL_DESC,c=t("src/shared").u8toArray;return e.prototype.clear=function(t){function e(e,n){t(n)}function n(){t(null)}this.getTransaction(function(t){t.executeSql("DELETE FROM "+o+";",[],n,e)})},e.prototype.get=function(t,e){function n(t,n){var r=0===n.rows.length?null:n.rows.item(0).data;try{r&&(r=JSON.parse(r),r.__isUint8Array&&(r=new Uint8Array(r.__array))),e(null,r)}catch(o){e(o)}}function r(t,n){e(n)}this.getTransaction(function(e){e.executeSql("SELECT data FROM "+o+" WHERE id = ?;",[t],n,r)})},e.prototype.put=function(t,e,n){function r(){n(null)}function i(t,e){n(e)}"[object Uint8Array]"===Object.prototype.toString.call(e)&&(e={__isUint8Array:!0,__array:c(e)}),e=JSON.stringify(e),this.getTransaction(function(n){n.executeSql("INSERT OR REPLACE INTO "+o+" (id, data) VALUES (?, ?);",[t,e],r,i)})},e.prototype.delete=function(t,e){function n(){e(null)}function r(t,n){e(n)}this.getTransaction(function(e){e.executeSql("DELETE FROM "+o+" WHERE id = ?;",[t],n,r)})},n.isSupported=function(){return!!window.openDatabase},n.prototype.open=function(t){function e(e,n){t(n)}function n(e){function n(e,n){var r=0===n.rows.item(0).count;t(null,r)}function i(e,n){t(n)}r.db=c,e.executeSql("SELECT COUNT(id) AS count FROM "+o+";",[],n,i)}var r=this;if(r.db)return t(null,!1),void 0;var c=window.openDatabase(r.name,i,a,s);return c?(c.transaction(function(t){function r(t){t.executeSql("CREATE INDEX IF NOT EXISTS idx_"+o+"_id"+" on "+o+" (id);",[],n,e)}t.executeSql("CREATE TABLE IF NOT EXISTS "+o+" (id unique, data TEXT);",[],r,e)}),void 0):(t("[WebSQL] Unable to open database."),void 0)},n.prototype.getReadOnlyContext=function(){return new e(this.db,!0)},n.prototype.getReadWriteContext=function(){return new e(this.db,!1)},n}),function(){function t(t){var n=!1;return function(){if(n)throw Error("Callback was already called.");n=!0,t.apply(e,arguments)}}var e,r,o={};e=this,null!=e&&(r=e.async),o.noConflict=function(){return e.async=r,o};var i=function(t,e){if(t.forEach)return t.forEach(e);for(var n=0;t.length>n;n+=1)e(t[n],n,t)},s=function(t,e){if(t.map)return t.map(e);var n=[];return i(t,function(t,r,o){n.push(e(t,r,o))}),n},a=function(t,e,n){return t.reduce?t.reduce(e,n):(i(t,function(t,r,o){n=e(n,t,r,o)}),n)},c=function(t){if(Object.keys)return Object.keys(t);var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(n);return e};"undefined"!=typeof process&&process.nextTick?(o.nextTick=process.nextTick,o.setImmediate="undefined"!=typeof setImmediate?function(t){setImmediate(t)}:o.nextTick):"function"==typeof setImmediate?(o.nextTick=function(t){setImmediate(t)},o.setImmediate=o.nextTick):(o.nextTick=function(t){setTimeout(t,0)},o.setImmediate=o.nextTick),o.each=function(e,n,r){if(r=r||function(){},!e.length)return r();var o=0;i(e,function(i){n(i,t(function(t){t?(r(t),r=function(){}):(o+=1,o>=e.length&&r(null))}))})},o.forEach=o.each,o.eachSeries=function(t,e,n){if(n=n||function(){},!t.length)return n();var r=0,o=function(){e(t[r],function(e){e?(n(e),n=function(){}):(r+=1,r>=t.length?n(null):o())})};o()},o.forEachSeries=o.eachSeries,o.eachLimit=function(t,e,n,r){var o=u(e);o.apply(null,[t,n,r])},o.forEachLimit=o.eachLimit;var u=function(t){return function(e,n,r){if(r=r||function(){},!e.length||0>=t)return r();var o=0,i=0,s=0;(function a(){if(o>=e.length)return r();for(;t>s&&e.length>i;)i+=1,s+=1,n(e[i-1],function(t){t?(r(t),r=function(){}):(o+=1,s-=1,o>=e.length?r():a())})})()}},f=function(t){return function(){var e=Array.prototype.slice.call(arguments);return t.apply(null,[o.each].concat(e))}},l=function(t,e){return function(){var n=Array.prototype.slice.call(arguments);return e.apply(null,[u(t)].concat(n))}},p=function(t){return function(){var e=Array.prototype.slice.call(arguments);return t.apply(null,[o.eachSeries].concat(e))}},h=function(t,e,n,r){var o=[];e=s(e,function(t,e){return{index:e,value:t}}),t(e,function(t,e){n(t.value,function(n,r){o[t.index]=r,e(n)})},function(t){r(t,o)})};o.map=f(h),o.mapSeries=p(h),o.mapLimit=function(t,e,n,r){return d(e)(t,n,r)};var d=function(t){return l(t,h)};o.reduce=function(t,e,n,r){o.eachSeries(t,function(t,r){n(e,t,function(t,n){e=n,r(t)})},function(t){r(t,e)})},o.inject=o.reduce,o.foldl=o.reduce,o.reduceRight=function(t,e,n,r){var i=s(t,function(t){return t}).reverse();o.reduce(i,e,n,r)},o.foldr=o.reduceRight;var y=function(t,e,n,r){var o=[];e=s(e,function(t,e){return{index:e,value:t}}),t(e,function(t,e){n(t.value,function(n){n&&o.push(t),e()})},function(){r(s(o.sort(function(t,e){return t.index-e.index}),function(t){return t.value}))})};o.filter=f(y),o.filterSeries=p(y),o.select=o.filter,o.selectSeries=o.filterSeries;var v=function(t,e,n,r){var o=[];e=s(e,function(t,e){return{index:e,value:t}}),t(e,function(t,e){n(t.value,function(n){n||o.push(t),e()})},function(){r(s(o.sort(function(t,e){return t.index-e.index}),function(t){return t.value}))})};o.reject=f(v),o.rejectSeries=p(v);var g=function(t,e,n,r){t(e,function(t,e){n(t,function(n){n?(r(t),r=function(){}):e()})},function(){r()})};o.detect=f(g),o.detectSeries=p(g),o.some=function(t,e,n){o.each(t,function(t,r){e(t,function(t){t&&(n(!0),n=function(){}),r()})},function(){n(!1)})},o.any=o.some,o.every=function(t,e,n){o.each(t,function(t,r){e(t,function(t){t||(n(!1),n=function(){}),r()})},function(){n(!0)})},o.all=o.every,o.sortBy=function(t,e,n){o.map(t,function(t,n){e(t,function(e,r){e?n(e):n(null,{value:t,criteria:r})})},function(t,e){if(t)return n(t);var r=function(t,e){var n=t.criteria,r=e.criteria;return r>n?-1:n>r?1:0};n(null,s(e.sort(r),function(t){return t.value}))})},o.auto=function(t,e){e=e||function(){};var n=c(t);if(!n.length)return e(null);var r={},s=[],u=function(t){s.unshift(t)},f=function(t){for(var e=0;s.length>e;e+=1)if(s[e]===t)return s.splice(e,1),void 0},l=function(){i(s.slice(0),function(t){t()})};u(function(){c(r).length===n.length&&(e(null,r),e=function(){})}),i(n,function(n){var s=t[n]instanceof Function?[t[n]]:t[n],p=function(t){var s=Array.prototype.slice.call(arguments,1);if(1>=s.length&&(s=s[0]),t){var a={};i(c(r),function(t){a[t]=r[t]}),a[n]=s,e(t,a),e=function(){}}else r[n]=s,o.setImmediate(l)},h=s.slice(0,Math.abs(s.length-1))||[],d=function(){return a(h,function(t,e){return t&&r.hasOwnProperty(e)},!0)&&!r.hasOwnProperty(n)};if(d())s[s.length-1](p,r);else{var y=function(){d()&&(f(y),s[s.length-1](p,r))};u(y)}})},o.waterfall=function(t,e){if(e=e||function(){},t.constructor!==Array){var n=Error("First argument to waterfall must be an array of functions");return e(n)}if(!t.length)return e();var r=function(t){return function(n){if(n)e.apply(null,arguments),e=function(){};else{var i=Array.prototype.slice.call(arguments,1),s=t.next();s?i.push(r(s)):i.push(e),o.setImmediate(function(){t.apply(null,i)})}}};r(o.iterator(t))()};var m=function(t,e,n){if(n=n||function(){},e.constructor===Array)t.map(e,function(t,e){t&&t(function(t){var n=Array.prototype.slice.call(arguments,1);1>=n.length&&(n=n[0]),e.call(null,t,n)})},n);else{var r={};t.each(c(e),function(t,n){e[t](function(e){var o=Array.prototype.slice.call(arguments,1);1>=o.length&&(o=o[0]),r[t]=o,n(e)})},function(t){n(t,r)})}};o.parallel=function(t,e){m({map:o.map,each:o.each},t,e)},o.parallelLimit=function(t,e,n){m({map:d(e),each:u(e)},t,n)},o.series=function(t,e){if(e=e||function(){},t.constructor===Array)o.mapSeries(t,function(t,e){t&&t(function(t){var n=Array.prototype.slice.call(arguments,1);1>=n.length&&(n=n[0]),e.call(null,t,n)})},e);else{var n={};o.eachSeries(c(t),function(e,r){t[e](function(t){var o=Array.prototype.slice.call(arguments,1);1>=o.length&&(o=o[0]),n[e]=o,r(t)})},function(t){e(t,n)})}},o.iterator=function(t){var e=function(n){var r=function(){return t.length&&t[n].apply(null,arguments),r.next()};return r.next=function(){return t.length-1>n?e(n+1):null},r};return e(0)},o.apply=function(t){var e=Array.prototype.slice.call(arguments,1);return function(){return t.apply(null,e.concat(Array.prototype.slice.call(arguments)))}};var E=function(t,e,n,r){var o=[];t(e,function(t,e){n(t,function(t,n){o=o.concat(n||[]),e(t)})},function(t){r(t,o)})};o.concat=f(E),o.concatSeries=p(E),o.whilst=function(t,e,n){t()?e(function(r){return r?n(r):(o.whilst(t,e,n),void 0)}):n()},o.doWhilst=function(t,e,n){t(function(r){return r?n(r):(e()?o.doWhilst(t,e,n):n(),void 0)})},o.until=function(t,e,n){t()?n():e(function(r){return r?n(r):(o.until(t,e,n),void 0)})},o.doUntil=function(t,e,n){t(function(r){return r?n(r):(e()?n():o.doUntil(t,e,n),void 0)})},o.queue=function(e,n){function r(t,e,r,s){e.constructor!==Array&&(e=[e]),i(e,function(e){var i={data:e,callback:"function"==typeof s?s:null};r?t.tasks.unshift(i):t.tasks.push(i),t.saturated&&t.tasks.length===n&&t.saturated(),o.setImmediate(t.process)})}void 0===n&&(n=1);var s=0,a={tasks:[],concurrency:n,saturated:null,empty:null,drain:null,push:function(t,e){r(a,t,!1,e)},unshift:function(t,e){r(a,t,!0,e)},process:function(){if(a.concurrency>s&&a.tasks.length){var n=a.tasks.shift();a.empty&&0===a.tasks.length&&a.empty(),s+=1;var r=function(){s-=1,n.callback&&n.callback.apply(n,arguments),a.drain&&0===a.tasks.length+s&&a.drain(),a.process()},o=t(r);e(n.data,o)}},length:function(){return a.tasks.length},running:function(){return s}};return a},o.cargo=function(t,e){var n=!1,r=[],a={tasks:r,payload:e,saturated:null,empty:null,drain:null,push:function(t,n){t.constructor!==Array&&(t=[t]),i(t,function(t){r.push({data:t,callback:"function"==typeof n?n:null}),a.saturated&&r.length===e&&a.saturated()}),o.setImmediate(a.process)},process:function c(){if(!n){if(0===r.length)return a.drain&&a.drain(),void 0;var o="number"==typeof e?r.splice(0,e):r.splice(0),u=s(o,function(t){return t.data});a.empty&&a.empty(),n=!0,t(u,function(){n=!1;var t=arguments;i(o,function(e){e.callback&&e.callback.apply(null,t)}),c()})}},length:function(){return r.length},running:function(){return n}};return a};var w=function(t){return function(e){var n=Array.prototype.slice.call(arguments,1);e.apply(null,n.concat([function(e){var n=Array.prototype.slice.call(arguments,1);"undefined"!=typeof console&&(e?console.error&&console.error(e):console[t]&&i(n,function(e){console[t](e)}))}]))}};o.log=w("log"),o.dir=w("dir"),o.memoize=function(t,e){var n={},r={};e=e||function(t){return t};var o=function(){var o=Array.prototype.slice.call(arguments),i=o.pop(),s=e.apply(null,o);s in n?i.apply(null,n[s]):s in r?r[s].push(i):(r[s]=[i],t.apply(null,o.concat([function(){n[s]=arguments;var t=r[s];delete r[s];for(var e=0,o=t.length;o>e;e++)t[e].apply(null,arguments)}])))};return o.memo=n,o.unmemoized=t,o},o.unmemoize=function(t){return function(){return(t.unmemoized||t).apply(null,arguments)}},o.times=function(t,e,n){for(var r=[],i=0;t>i;i++)r.push(i);return o.map(r,e,n)},o.timesSeries=function(t,e,n){for(var r=[],i=0;t>i;i++)r.push(i);return o.mapSeries(r,e,n)},o.compose=function(){var t=Array.prototype.reverse.call(arguments);return function(){var e=this,n=Array.prototype.slice.call(arguments),r=n.pop();o.reduce(t,n,function(t,n,r){n.apply(e,t.concat([function(){var t=arguments[0],e=Array.prototype.slice.call(arguments,1);r(t,e)}]))},function(t,n){r.apply(e,[t].concat(n))})}};var b=function(t,e){var n=function(){var n=this,r=Array.prototype.slice.call(arguments),o=r.pop();return t(e,function(t,e){t.apply(n,r.concat([e]))},o)};if(arguments.length>2){var r=Array.prototype.slice.call(arguments,2);return n.apply(this,r)}return n};o.applyEach=f(b),o.applyEachSeries=p(b),o.forever=function(t,e){function n(r){if(r){if(e)return e(r);throw r}t(n)}n()},n!==void 0&&n.amd?n("async",[],function(){return o}):"undefined"!=typeof module&&module.exports?module.exports=o:e.async=o}(),n("src/providers/memory",["require","src/constants","async"],function(t){function e(t,e){this.readOnly=e,this.objectStore=t}function n(t){this.name=t||r,this.db={}}var r=t("src/constants").FILE_SYSTEM_NAME,o=t("async").nextTick;return e.prototype.clear=function(t){if(this.readOnly)return o(function(){t("[MemoryContext] Error: write operation on read only context")}),void 0;var e=this.objectStore;Object.keys(e).forEach(function(t){delete e[t]}),o(t)},e.prototype.get=function(t,e){var n=this;o(function(){e(null,n.objectStore[t])})},e.prototype.put=function(t,e,n){return this.readOnly?(o(function(){n("[MemoryContext] Error: write operation on read only context")}),void 0):(this.objectStore[t]=e,o(n),void 0)},e.prototype.delete=function(t,e){return this.readOnly?(o(function(){e("[MemoryContext] Error: write operation on read only context")}),void 0):(delete this.objectStore[t],o(e),void 0)},n.isSupported=function(){return!0},n.prototype.open=function(t){o(function(){t(null,!0)})},n.prototype.getReadOnlyContext=function(){return new e(this.db,!0)},n.prototype.getReadWriteContext=function(){return new e(this.db,!1)},n}),n("src/providers/providers",["require","src/providers/indexeddb","src/providers/websql","src/providers/memory"],function(t){var e=t("src/providers/indexeddb"),n=t("src/providers/websql"),r=t("src/providers/memory");return{IndexedDB:e,WebSQL:n,Memory:r,Default:e,Fallback:function(){function t(){throw"[Filer Error] Your browser doesn't support IndexedDB or WebSQL."}return e.isSupported()?e:n.isSupported()?n:(t.isSupported=function(){return!1},t)}()}}),function(){function t(t){throw t}function e(t,e){var n=t.split("."),r=_;!(n[0]in r)&&r.execScript&&r.execScript("var "+n[0]);for(var o;n.length&&(o=n.shift());)n.length||e===w?r=r[o]?r[o]:r[o]={}:r[o]=e}function n(e,n){this.index="number"==typeof n?n:0,this.i=0,this.buffer=e instanceof(x?Uint8Array:Array)?e:new(x?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&t(Error("invalid index")),this.buffer.length<=this.index&&this.f()}function r(t){this.buffer=new(x?Uint16Array:Array)(2*t),this.length=0}function o(t){var e,n,r,o,i,s,a,c,u,f=t.length,l=0,p=Number.POSITIVE_INFINITY;for(c=0;f>c;++c)t[c]>l&&(l=t[c]),p>t[c]&&(p=t[c]);for(e=1<=r;){for(c=0;f>c;++c)if(t[c]===r){for(s=0,a=o,u=0;r>u;++u)s=s<<1|1&a,a>>=1;for(u=s;e>u;u+=i)n[u]=r<<16|c;++o}++r,o<<=1,i<<=1}return[n,l,p]}function i(t,e){this.h=T,this.w=0,this.input=x&&t instanceof Array?new Uint8Array(t):t,this.b=0,e&&(e.lazy&&(this.w=e.lazy),"number"==typeof e.compressionType&&(this.h=e.compressionType),e.outputBuffer&&(this.a=x&&e.outputBuffer instanceof Array?new Uint8Array(e.outputBuffer):e.outputBuffer),"number"==typeof e.outputIndex&&(this.b=e.outputIndex)),this.a||(this.a=new(x?Uint8Array:Array)(32768))}function s(t,e){this.length=t,this.G=e}function a(e,n){function r(e,n){var r,o=e.G,i=[],s=0;r=F[e.length],i[s++]=65535&r,i[s++]=255&r>>16,i[s++]=r>>24;var a;switch(b){case 1===o:a=[0,o-1,0];break;case 2===o:a=[1,o-2,0];break;case 3===o:a=[2,o-3,0];break;case 4===o:a=[3,o-4,0];break;case 6>=o:a=[4,o-5,1];break;case 8>=o:a=[5,o-7,1];break;case 12>=o:a=[6,o-9,2];break;case 16>=o:a=[7,o-13,2];break;case 24>=o:a=[8,o-17,3];break;case 32>=o:a=[9,o-25,3];break;case 48>=o:a=[10,o-33,4];break;case 64>=o:a=[11,o-49,4];break;case 96>=o:a=[12,o-65,5];break;case 128>=o:a=[13,o-97,5];break;case 192>=o:a=[14,o-129,6];break;case 256>=o:a=[15,o-193,6];break;case 384>=o:a=[16,o-257,7];break;case 512>=o:a=[17,o-385,7];break;case 768>=o:a=[18,o-513,8];break;case 1024>=o:a=[19,o-769,8];break;case 1536>=o:a=[20,o-1025,9];break;case 2048>=o:a=[21,o-1537,9];break;case 3072>=o:a=[22,o-2049,10];break;case 4096>=o:a=[23,o-3073,10];break;case 6144>=o:a=[24,o-4097,11];break;case 8192>=o:a=[25,o-6145,11];break;case 12288>=o:a=[26,o-8193,12];break;case 16384>=o:a=[27,o-12289,12];break;case 24576>=o:a=[28,o-16385,13];break;case 32768>=o:a=[29,o-24577,13];break;default:t("invalid distance")}r=a,i[s++]=r[0],i[s++]=r[1],i[s++]=r[2];var c,u;for(c=0,u=i.length;u>c;++c)y[v++]=i[c];m[i[0]]++,E[i[3]]++,g=e.length+n-1,p=null}var o,i,s,a,u,f,l,p,h,d={},y=x?new Uint16Array(2*n.length):[],v=0,g=0,m=new(x?Uint32Array:Array)(286),E=new(x?Uint32Array:Array)(30),_=e.w;if(!x){for(s=0;285>=s;)m[s++]=0;for(s=0;29>=s;)E[s++]=0}for(m[256]=1,o=0,i=n.length;i>o;++o){for(s=u=0,a=3;a>s&&o+s!==i;++s)u=u<<8|n[o+s];if(d[u]===w&&(d[u]=[]),f=d[u],!(g-->0)){for(;f.length>0&&o-f[0]>32768;)f.shift();if(o+3>=i){for(p&&r(p,-1),s=0,a=i-o;a>s;++s)h=n[o+s],y[v++]=h,++m[h];break}f.length>0?(l=c(n,o,f),p?p.lengthl.length?p=l:r(l,0)):p?r(p,-1):(h=n[o],y[v++]=h,++m[h])}f.push(o)}return y[v++]=256,m[256]++,e.L=m,e.K=E,x?y.subarray(0,v):y}function c(t,e,n){var r,o,i,a,c,u,f=0,l=t.length;a=0,u=n.length;t:for(;u>a;a++){if(r=n[u-a-1],i=3,f>3){for(c=f;c>3;c--)if(t[r+c-1]!==t[e+c-1])continue t;i=f}for(;258>i&&l>e+i&&t[r+i]===t[e+i];)++i;if(i>f&&(o=r,f=i),258===i)break}return new s(f,e-o)}function u(t,e){var n,o,i,s,a,c=t.length,u=new r(572),l=new(x?Uint8Array:Array)(c);if(!x)for(s=0;c>s;s++)l[s]=0;for(s=0;c>s;++s)t[s]>0&&u.push(s,t[s]);if(n=Array(u.length/2),o=new(x?Uint32Array:Array)(u.length/2),1===n.length)return l[u.pop().index]=1,l;for(s=0,a=u.length/2;a>s;++s)n[s]=u.pop(),o[s]=n[s].value;for(i=f(o,o.length,e),s=0,a=n.length;a>s;++s)l[n[s].index]=i[s];return l}function f(t,e,n){function r(t){var n=h[t][d[t]];n===e?(r(t+1),r(t+1)):--l[n],++d[t]}var o,i,s,a,c,u=new(x?Uint16Array:Array)(n),f=new(x?Uint8Array:Array)(n),l=new(x?Uint8Array:Array)(e),p=Array(n),h=Array(n),d=Array(n),y=(1<i;++i)v>y?f[i]=0:(f[i]=1,y-=v),y<<=1,u[n-2-i]=(0|u[n-1-i]/2)+e;for(u[0]=f[0],p[0]=Array(u[0]),h[0]=Array(u[0]),i=1;n>i;++i)u[i]>2*u[i-1]+f[i]&&(u[i]=2*u[i-1]+f[i]),p[i]=Array(u[i]),h[i]=Array(u[i]);for(o=0;e>o;++o)l[o]=n;for(s=0;u[n-1]>s;++s)p[n-1][s]=t[s],h[n-1][s]=s;for(o=0;n>o;++o)d[o]=0;for(1===f[n-1]&&(--l[0],++d[n-1]),i=n-2;i>=0;--i){for(a=o=0,c=d[i+1],s=0;u[i]>s;s++)a=p[i+1][c]+p[i+1][c+1],a>t[o]?(p[i][s]=a,h[i][s]=e,c+=2):(p[i][s]=t[o],h[i][s]=o,++o);d[i]=0,1===f[i]&&r(i)}return l}function l(t){var e,n,r,o,i=new(x?Uint16Array:Array)(t.length),s=[],a=[],c=0;for(e=0,n=t.length;n>e;e++)s[t[e]]=(0|s[t[e]])+1;for(e=1,n=16;n>=e;e++)a[e]=c,c+=0|s[e],c<<=1;for(e=0,n=t.length;n>e;e++)for(c=a[t[e]],a[t[e]]+=1,r=i[e]=0,o=t[e];o>r;r++)i[e]=i[e]<<1|1&c,c>>>=1;return i}function p(e,n){switch(this.l=[],this.m=32768,this.e=this.g=this.c=this.q=0,this.input=x?new Uint8Array(e):e,this.s=!1,this.n=L,this.B=!1,(n||!(n={}))&&(n.index&&(this.c=n.index),n.bufferSize&&(this.m=n.bufferSize),n.bufferType&&(this.n=n.bufferType),n.resize&&(this.B=n.resize)),this.n){case M:this.b=32768,this.a=new(x?Uint8Array:Array)(32768+this.m+258);break;case L:this.b=0,this.a=new(x?Uint8Array:Array)(this.m),this.f=this.J,this.t=this.H,this.o=this.I;break;default:t(Error("invalid inflate mode"))}}function h(e,n){for(var r,o=e.g,i=e.e,s=e.input,a=e.c;n>i;)r=s[a++],r===w&&t(Error("input buffer is broken")),o|=r<>>n,e.e=i-n,e.c=a,r}function d(t,e){for(var n,r,o,i=t.g,s=t.e,a=t.input,c=t.c,u=e[0],f=e[1];f>s&&(n=a[c++],n!==w);)i|=n<>>16,t.g=i>>o,t.e=s-o,t.c=c,65535&r}function y(t){function e(t,e,n){var r,o,i,s;for(s=0;t>s;)switch(r=d(this,e)){case 16:for(i=3+h(this,2);i--;)n[s++]=o;break;case 17:for(i=3+h(this,3);i--;)n[s++]=0;o=0;break;case 18:for(i=11+h(this,7);i--;)n[s++]=0;o=0;break;default:o=n[s++]=r}return n}var n,r,i,s,a=h(t,5)+257,c=h(t,5)+1,u=h(t,4)+4,f=new(x?Uint8Array:Array)(W.length);for(s=0;u>s;++s)f[W[s]]=h(t,3);n=o(f),r=new(x?Uint8Array:Array)(a),i=new(x?Uint8Array:Array)(c),t.o(o(e.call(t,a,n,r)),o(e.call(t,c,n,i)))}function v(t){if("string"==typeof t){var e,n,r=t.split("");for(e=0,n=r.length;n>e;e++)r[e]=(255&r[e].charCodeAt(0))>>>0;t=r}for(var o,i=1,s=0,a=t.length,c=0;a>0;){o=a>1024?1024:a,a-=o;do i+=t[c++],s+=i;while(--o);i%=65521,s%=65521}return(s<<16|i)>>>0}function g(e,n){var r,o;switch(this.input=e,this.c=0,(n||!(n={}))&&(n.index&&(this.c=n.index),n.verify&&(this.M=n.verify)),r=e[this.c++],o=e[this.c++],15&r){case re:this.method=re;break;default:t(Error("unsupported compression method"))}0!==((r<<8)+o)%31&&t(Error("invalid fcheck flag:"+((r<<8)+o)%31)),32&o&&t(Error("fdict flag is not supported")),this.A=new p(e,{index:this.c,bufferSize:n.bufferSize,bufferType:n.bufferType,resize:n.resize})}function m(t,e){this.input=t,this.a=new(x?Uint8Array:Array)(32768),this.h=oe.k;var n,r={};!e&&(e={})||"number"!=typeof e.compressionType||(this.h=e.compressionType);for(n in e)r[n]=e[n];r.outputBuffer=this.a,this.z=new i(this.input,r)}function E(t,n){var r,o,i,s;if(Object.keys)r=Object.keys(n);else for(o in r=[],i=0,n)r[i++]=o;for(i=0,s=r.length;s>i;++i)o=r[i],e(t+"."+o,n[o])}var w=void 0,b=!0,_=this,x="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;n.prototype.f=function(){var t,e=this.buffer,n=e.length,r=new(x?Uint8Array:Array)(n<<1);if(x)r.set(e);else for(t=0;n>t;++t)r[t]=e[t];return this.buffer=r},n.prototype.d=function(t,e,n){var r,o=this.buffer,i=this.index,s=this.i,a=o[i];if(n&&e>1&&(t=e>8?(R[255&t]<<24|R[255&t>>>8]<<16|R[255&t>>>16]<<8|R[255&t>>>24])>>32-e:R[t]>>8-e),8>e+s)a=a<r;++r)a=a<<1|1&t>>e-r-1,8===++s&&(s=0,o[i++]=R[a],a=0,i===o.length&&(o=this.f()));o[i]=a,this.buffer=o,this.i=s,this.index=i},n.prototype.finish=function(){var t,e=this.buffer,n=this.index;return this.i>0&&(e[n]<<=8-this.i,e[n]=R[e[n]],n++),x?t=e.subarray(0,n):(e.length=n,t=e),t};var A,k=new(x?Uint8Array:Array)(256);for(A=0;256>A;++A){for(var O=A,S=O,I=7,O=O>>>1;O;O>>>=1)S<<=1,S|=1&O,--I;k[A]=(255&S<>>0}var R=k;r.prototype.getParent=function(t){return 2*(0|(t-2)/4)},r.prototype.push=function(t,e){var n,r,o,i=this.buffer;for(n=this.length,i[this.length++]=e,i[this.length++]=t;n>0&&(r=this.getParent(n),i[n]>i[r]);)o=i[n],i[n]=i[r],i[r]=o,o=i[n+1],i[n+1]=i[r+1],i[r+1]=o,n=r;return this.length},r.prototype.pop=function(){var t,e,n,r,o,i=this.buffer;for(e=i[0],t=i[1],this.length-=2,i[0]=i[this.length],i[1]=i[this.length+1],o=0;(r=2*o+2,!(r>=this.length))&&(this.length>r+2&&i[r+2]>i[r]&&(r+=2),i[r]>i[o]);)n=i[o],i[o]=i[r],i[r]=n,n=i[o+1],i[o+1]=i[r+1],i[r+1]=n,o=r;return{index:t,value:e,length:this.length}};var D,T=2,C={NONE:0,r:1,k:T,N:3},N=[];for(D=0;288>D;D++)switch(b){case 143>=D:N.push([D+48,8]);break;case 255>=D:N.push([D-144+400,9]);break;case 279>=D:N.push([D-256+0,7]);break;case 287>=D:N.push([D-280+192,8]);break;default:t("invalid literal: "+D)}i.prototype.j=function(){var e,r,o,i,s=this.input;switch(this.h){case 0:for(o=0,i=s.length;i>o;){r=x?s.subarray(o,o+65535):s.slice(o,o+65535),o+=r.length;var c=r,f=o===i,p=w,h=w,d=w,y=w,v=w,g=this.a,m=this.b;if(x){for(g=new Uint8Array(this.a.buffer);g.length<=m+c.length+5;)g=new Uint8Array(g.length<<1);g.set(this.a)}if(p=f?1:0,g[m++]=0|p,h=c.length,d=65535&~h+65536,g[m++]=255&h,g[m++]=255&h>>>8,g[m++]=255&d,g[m++]=255&d>>>8,x)g.set(c,m),m+=c.length,g=g.subarray(0,m);else{for(y=0,v=c.length;v>y;++y)g[m++]=c[y];g.length=m}this.b=m,this.a=g}break;case 1:var E=new n(x?new Uint8Array(this.a.buffer):this.a,this.b);E.d(1,1,b),E.d(1,2,b);var _,A,k,O=a(this,s);for(_=0,A=O.length;A>_;_++)if(k=O[_],n.prototype.d.apply(E,N[k]),k>256)E.d(O[++_],O[++_],b),E.d(O[++_],5),E.d(O[++_],O[++_],b);else if(256===k)break;this.a=E.finish(),this.b=this.a.length;break;case T:var S,I,R,D,C,B,F,M,L,j,U,P,z,W,q,H=new n(x?new Uint8Array(this.a.buffer):this.a,this.b),Y=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=Array(19);for(S=T,H.d(1,1,b),H.d(S,2,b),I=a(this,s),B=u(this.L,15),F=l(B),M=u(this.K,7),L=l(M),R=286;R>257&&0===B[R-1];R--);for(D=30;D>1&&0===M[D-1];D--);var K,V,J,Z,G,Q,$=R,te=D,ee=new(x?Uint32Array:Array)($+te),ne=new(x?Uint32Array:Array)(316),re=new(x?Uint8Array:Array)(19);for(K=V=0;$>K;K++)ee[V++]=B[K];for(K=0;te>K;K++)ee[V++]=M[K];if(!x)for(K=0,Z=re.length;Z>K;++K)re[K]=0;for(K=G=0,Z=ee.length;Z>K;K+=V){for(V=1;Z>K+V&&ee[K+V]===ee[K];++V);if(J=V,0===ee[K])if(3>J)for(;J-->0;)ne[G++]=0,re[0]++;else for(;J>0;)Q=138>J?J:138,Q>J-3&&J>Q&&(Q=J-3),10>=Q?(ne[G++]=17,ne[G++]=Q-3,re[17]++):(ne[G++]=18,ne[G++]=Q-11,re[18]++),J-=Q;else if(ne[G++]=ee[K],re[ee[K]]++,J--,3>J)for(;J-->0;)ne[G++]=ee[K],re[ee[K]]++;else for(;J>0;)Q=6>J?J:6,Q>J-3&&J>Q&&(Q=J-3),ne[G++]=16,ne[G++]=Q-3,re[16]++,J-=Q}for(e=x?ne.subarray(0,G):ne.slice(0,G),j=u(re,7),W=0;19>W;W++)X[W]=j[Y[W]];for(C=19;C>4&&0===X[C-1];C--);for(U=l(j),H.d(R-257,5,b),H.d(D-1,5,b),H.d(C-4,4,b),W=0;C>W;W++)H.d(X[W],3,b);for(W=0,q=e.length;q>W;W++)if(P=e[W],H.d(U[P],j[P],b),P>=16){switch(W++,P){case 16:z=2;break;case 17:z=3;break;case 18:z=7;break;default:t("invalid code: "+P)}H.d(e[W],z,b)}var oe,ie,se,ae,ce,ue,fe,le,pe=[F,B],he=[L,M];for(ce=pe[0],ue=pe[1],fe=he[0],le=he[1],oe=0,ie=I.length;ie>oe;++oe)if(se=I[oe],H.d(ce[se],ue[se],b),se>256)H.d(I[++oe],I[++oe],b),ae=I[++oe],H.d(fe[ae],le[ae],b),H.d(I[++oe],I[++oe],b);else if(256===se)break;this.a=H.finish(),this.b=this.a.length;break;default:t("invalid compression type")}return this.a};var B=function(){function e(e){switch(b){case 3===e:return[257,e-3,0];case 4===e:return[258,e-4,0];case 5===e:return[259,e-5,0];case 6===e:return[260,e-6,0];case 7===e:return[261,e-7,0];case 8===e:return[262,e-8,0];case 9===e:return[263,e-9,0];case 10===e:return[264,e-10,0];case 12>=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:t("invalid length: "+e)}}var n,r,o=[];for(n=3;258>=n;n++)r=e(n),o[n]=r[2]<<24|r[1]<<16|r[0];return o}(),F=x?new Uint32Array(B):B,M=0,L=1,j={D:M,C:L};p.prototype.p=function(){for(;!this.s;){var e=h(this,3);switch(1&e&&(this.s=b),e>>>=1){case 0:var n=this.input,r=this.c,o=this.a,i=this.b,s=w,a=w,c=w,u=o.length,f=w;switch(this.e=this.g=0,s=n[r++],s===w&&t(Error("invalid uncompressed block header: LEN (first byte)")),a=s,s=n[r++],s===w&&t(Error("invalid uncompressed block header: LEN (second byte)")),a|=s<<8,s=n[r++],s===w&&t(Error("invalid uncompressed block header: NLEN (first byte)")),c=s,s=n[r++],s===w&&t(Error("invalid uncompressed block header: NLEN (second byte)")),c|=s<<8,a===~c&&t(Error("invalid uncompressed block header: length verify")),r+a>n.length&&t(Error("input buffer is broken")),this.n){case M:for(;i+a>o.length;){if(f=u-i,a-=f,x)o.set(n.subarray(r,r+f),i),i+=f,r+=f;else for(;f--;)o[i++]=n[r++];this.b=i,o=this.f(),i=this.b}break;case L:for(;i+a>o.length;)o=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(x)o.set(n.subarray(r,r+a),i),i+=a,r+=a;else for(;a--;)o[i++]=n[r++];this.c=r,this.b=i,this.a=o;break;case 1:this.o(te,ne);break;case 2:y(this);break;default:t(Error("unknown BTYPE: "+e))}}return this.t()};var U,P,z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],W=x?new Uint16Array(z):z,q=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],H=x?new Uint16Array(q):q,Y=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],X=x?new Uint8Array(Y):Y,K=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],V=x?new Uint16Array(K):K,J=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Z=x?new Uint8Array(J):J,G=new(x?Uint8Array:Array)(288);for(U=0,P=G.length;P>U;++U)G[U]=143>=U?8:255>=U?9:279>=U?7:8;var Q,$,te=o(G),ee=new(x?Uint8Array:Array)(30);for(Q=0,$=ee.length;$>Q;++Q)ee[Q]=5;var ne=o(ee);p.prototype.o=function(t,e){var n=this.a,r=this.b;this.u=t;for(var o,i,s,a,c=n.length-258;256!==(o=d(this,t));)if(256>o)r>=c&&(this.b=r,n=this.f(),r=this.b),n[r++]=o;else for(i=o-257,a=H[i],X[i]>0&&(a+=h(this,X[i])),o=d(this,e),s=V[o],Z[o]>0&&(s+=h(this,Z[o])),r>=c&&(this.b=r,n=this.f(),r=this.b);a--;)n[r]=n[r++-s];for(;this.e>=8;)this.e-=8,this.c--;this.b=r},p.prototype.I=function(t,e){var n=this.a,r=this.b;this.u=t;for(var o,i,s,a,c=n.length;256!==(o=d(this,t));)if(256>o)r>=c&&(n=this.f(),c=n.length),n[r++]=o;else for(i=o-257,a=H[i],X[i]>0&&(a+=h(this,X[i])),o=d(this,e),s=V[o],Z[o]>0&&(s+=h(this,Z[o])),r+a>c&&(n=this.f(),c=n.length);a--;)n[r]=n[r++-s];for(;this.e>=8;)this.e-=8,this.c--;this.b=r},p.prototype.f=function(){var t,e,n=new(x?Uint8Array:Array)(this.b-32768),r=this.b-32768,o=this.a;if(x)n.set(o.subarray(32768,n.length));else for(t=0,e=n.length;e>t;++t)n[t]=o[t+32768];if(this.l.push(n),this.q+=n.length,x)o.set(o.subarray(r,r+32768));else for(t=0;32768>t;++t)o[t]=o[r+t];return this.b=32768,o},p.prototype.J=function(t){var e,n,r,o,i=0|this.input.length/this.c+1,s=this.input,a=this.a;return t&&("number"==typeof t.v&&(i=t.v),"number"==typeof t.F&&(i+=t.F)),2>i?(n=(s.length-this.c)/this.u[2],o=0|258*(n/2),r=a.length>o?a.length+o:a.length<<1):r=a.length*i,x?(e=new Uint8Array(r),e.set(a)):e=a,this.a=e},p.prototype.t=function(){var t,e,n,r,o,i=0,s=this.a,a=this.l,c=new(x?Uint8Array:Array)(this.q+(this.b-32768));if(0===a.length)return x?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);for(e=0,n=a.length;n>e;++e)for(t=a[e],r=0,o=t.length;o>r;++r)c[i++]=t[r];for(e=32768,n=this.b;n>e;++e)c[i++]=s[e];return this.l=[],this.buffer=c},p.prototype.H=function(){var t,e=this.b;return x?this.B?(t=new Uint8Array(e),t.set(this.a.subarray(0,e))):t=this.a.subarray(0,e):(this.a.length>e&&(this.a.length=e),t=this.a),this.buffer=t},g.prototype.p=function(){var e,n,r=this.input;return e=this.A.p(),this.c=this.A.c,this.M&&(n=(r[this.c++]<<24|r[this.c++]<<16|r[this.c++]<<8|r[this.c++])>>>0,n!==v(e)&&t(Error("invalid adler-32 checksum"))),e};var re=8,oe=C;m.prototype.j=function(){var e,n,r,o,i,s,a,c=0;switch(a=this.a,e=re){case re:n=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(r=n<<4|e,a[c++]=r,e){case re:switch(this.h){case oe.NONE:i=0;break;case oe.r:i=1;break;case oe.k:i=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return o=0|i<<6,a[c++]=o|31-(256*r+o)%31,s=v(this.input),this.z.b=c,a=this.z.j(),c=a.length,x&&(a=new Uint8Array(a.buffer),c+4>=a.length&&(this.a=new Uint8Array(a.length+4),this.a.set(a),a=this.a),a=a.subarray(0,c+4)),a[c++]=255&s>>24,a[c++]=255&s>>16,a[c++]=255&s>>8,a[c++]=255&s,a},e("Zlib.Inflate",g),e("Zlib.Inflate.prototype.decompress",g.prototype.p),E("Zlib.Inflate.BufferType",{ADAPTIVE:j.C,BLOCK:j.D}),e("Zlib.Deflate",m),e("Zlib.Deflate.compress",function(t,e){return new m(t,e).j()}),e("Zlib.Deflate.prototype.compress",m.prototype.j),E("Zlib.Deflate.CompressionType",{NONE:oe.NONE,FIXED:oe.r,DYNAMIC:oe.k})}.call(this),n("zlib",function(){}),n("src/adapters/zlib",["require","zlib"],function(t){function e(t){return new i(t).decompress()}function n(t){return new s(t).compress()}function r(t){this.context=t}function o(t){this.provider=t}t("zlib");var i=Zlib.Inflate,s=Zlib.Deflate;return r.prototype.clear=function(t){this.context.clear(t)},r.prototype.get=function(t,n){this.context.get(t,function(t,r){return t?(n(t),void 0):(r&&(r=e(r)),n(null,r),void 0)})},r.prototype.put=function(t,e,r){e=n(e),this.context.put(t,e,r)},r.prototype.delete=function(t,e){this.context.delete(t,e)},o.isSupported=function(){return!0},o.prototype.open=function(t){this.provider.open(t)},o.prototype.getReadOnlyContext=function(){return new r(this.provider.getReadOnlyContext())},o.prototype.getReadWriteContext=function(){return new r(this.provider.getReadWriteContext())},o});var r=r||function(t,e){var n={},r=n.lib={},o=r.Base=function(){function t(){}return{extend:function(e){t.prototype=this;var n=new t;return e&&n.mixIn(e),n.$super=this,n},create:function(){var t=this.extend();return t.init.apply(t,arguments),t -},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.$super.extend(this)}}}(),i=r.WordArray=o.extend({init:function(t,n){t=this.words=t||[],this.sigBytes=n!=e?n:4*t.length},toString:function(t){return(t||a).stringify(this)},concat:function(t){var e=this.words,n=t.words,r=this.sigBytes,t=t.sigBytes;if(this.clamp(),r%4)for(var o=0;t>o;o++)e[r+o>>>2]|=(255&n[o>>>2]>>>24-8*(o%4))<<24-8*((r+o)%4);else if(n.length>65535)for(o=0;t>o;o+=4)e[r+o>>>2]=n[o>>>2];else e.push.apply(e,n);return this.sigBytes+=t,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-8*(n%4),e.length=t.ceil(n/4)},clone:function(){var t=o.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var n=[],r=0;e>r;r+=4)n.push(0|4294967296*t.random());return i.create(n,e)}}),s=n.enc={},a=s.Hex={stringify:function(t){for(var e=t.words,t=t.sigBytes,n=[],r=0;t>r;r++){var o=255&e[r>>>2]>>>24-8*(r%4);n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,n=[],r=0;e>r;r+=2)n[r>>>3]|=parseInt(t.substr(r,2),16)<<24-4*(r%8);return i.create(n,e/2)}},c=s.Latin1={stringify:function(t){for(var e=t.words,t=t.sigBytes,n=[],r=0;t>r;r++)n.push(String.fromCharCode(255&e[r>>>2]>>>24-8*(r%4)));return n.join("")},parse:function(t){for(var e=t.length,n=[],r=0;e>r;r++)n[r>>>2]|=(255&t.charCodeAt(r))<<24-8*(r%4);return i.create(n,e)}},u=s.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},f=r.BufferedBlockAlgorithm=o.extend({reset:function(){this._data=i.create(),this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=u.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var n=this._data,r=n.words,o=n.sigBytes,s=this.blockSize,a=o/(4*s),a=e?t.ceil(a):t.max((0|a)-this._minBufferSize,0),e=a*s,o=t.min(4*e,o);if(e){for(var c=0;e>c;c+=s)this._doProcessBlock(r,c);c=r.splice(0,e),n.sigBytes-=o}return i.create(c,o)},clone:function(){var t=o.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});r.Hasher=f.extend({init:function(){this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize(),this._hash},clone:function(){var t=f.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:16,_createHelper:function(t){return function(e,n){return t.create(n).finalize(e)}},_createHmacHelper:function(t){return function(e,n){return l.HMAC.create(t,n).finalize(e)}}});var l=n.algo={};return n}(Math);(function(){var t=r,e=t.lib.WordArray;t.enc.Base64={stringify:function(t){var e=t.words,n=t.sigBytes,r=this._map;t.clamp();for(var t=[],o=0;n>o;o+=3)for(var i=(255&e[o>>>2]>>>24-8*(o%4))<<16|(255&e[o+1>>>2]>>>24-8*((o+1)%4))<<8|255&e[o+2>>>2]>>>24-8*((o+2)%4),s=0;4>s&&n>o+.75*s;s++)t.push(r.charAt(63&i>>>6*(3-s)));if(e=r.charAt(64))for(;t.length%4;)t.push(e);return t.join("")},parse:function(t){var t=t.replace(/\s/g,""),n=t.length,r=this._map,o=r.charAt(64);o&&(o=t.indexOf(o),-1!=o&&(n=o));for(var o=[],i=0,s=0;n>s;s++)if(s%4){var a=r.indexOf(t.charAt(s-1))<<2*(s%4),c=r.indexOf(t.charAt(s))>>>6-2*(s%4);o[i>>>2]|=(a|c)<<24-8*(i%4),i++}return e.create(o,i)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})(),function(t){function e(t,e,n,r,o,i,s){return t=t+(e&n|~e&r)+o+s,(t<>>32-i)+e}function n(t,e,n,r,o,i,s){return t=t+(e&r|n&~r)+o+s,(t<>>32-i)+e}function o(t,e,n,r,o,i,s){return t=t+(e^n^r)+o+s,(t<>>32-i)+e}function i(t,e,n,r,o,i,s){return t=t+(n^(e|~r))+o+s,(t<>>32-i)+e}var s=r,a=s.lib,c=a.WordArray,a=a.Hasher,u=s.algo,f=[];(function(){for(var e=0;64>e;e++)f[e]=0|4294967296*t.abs(t.sin(e+1))})(),u=u.MD5=a.extend({_doReset:function(){this._hash=c.create([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var s=0;16>s;s++){var a=r+s,c=t[a];t[a]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}for(var a=this._hash.words,c=a[0],u=a[1],l=a[2],p=a[3],s=0;64>s;s+=4)16>s?(c=e(c,u,l,p,t[r+s],7,f[s]),p=e(p,c,u,l,t[r+s+1],12,f[s+1]),l=e(l,p,c,u,t[r+s+2],17,f[s+2]),u=e(u,l,p,c,t[r+s+3],22,f[s+3])):32>s?(c=n(c,u,l,p,t[r+(s+1)%16],5,f[s]),p=n(p,c,u,l,t[r+(s+6)%16],9,f[s+1]),l=n(l,p,c,u,t[r+(s+11)%16],14,f[s+2]),u=n(u,l,p,c,t[r+s%16],20,f[s+3])):48>s?(c=o(c,u,l,p,t[r+(3*s+5)%16],4,f[s]),p=o(p,c,u,l,t[r+(3*s+8)%16],11,f[s+1]),l=o(l,p,c,u,t[r+(3*s+11)%16],16,f[s+2]),u=o(u,l,p,c,t[r+(3*s+14)%16],23,f[s+3])):(c=i(c,u,l,p,t[r+3*s%16],6,f[s]),p=i(p,c,u,l,t[r+(3*s+7)%16],10,f[s+1]),l=i(l,p,c,u,t[r+(3*s+14)%16],15,f[s+2]),u=i(u,l,p,c,t[r+(3*s+5)%16],21,f[s+3]));a[0]=0|a[0]+c,a[1]=0|a[1]+u,a[2]=0|a[2]+l,a[3]=0|a[3]+p},_doFinalize:function(){var t=this._data,e=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;for(e[r>>>5]|=128<<24-r%32,e[(r+64>>>9<<4)+14]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8),t.sigBytes=4*(e.length+1),this._process(),t=this._hash.words,e=0;4>e;e++)n=t[e],t[e]=16711935&(n<<8|n>>>24)|4278255360&(n<<24|n>>>8)}}),s.MD5=a._createHelper(u),s.HmacMD5=a._createHmacHelper(u)}(Math),function(){var t=r,e=t.lib,n=e.Base,o=e.WordArray,e=t.algo,i=e.EvpKDF=n.extend({cfg:n.extend({keySize:4,hasher:e.MD5,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,e){for(var n=this.cfg,r=n.hasher.create(),i=o.create(),s=i.words,a=n.keySize,n=n.iterations;a>s.length;){c&&r.update(c);var c=r.update(t).finalize(e);r.reset();for(var u=1;n>u;u++)c=r.finalize(c),r.reset();i.concat(c)}return i.sigBytes=4*a,i}});t.EvpKDF=function(t,e,n){return i.create(n).compute(t,e)}}(),r.lib.Cipher||function(t){var e=r,n=e.lib,o=n.Base,i=n.WordArray,s=n.BufferedBlockAlgorithm,a=e.enc.Base64,c=e.algo.EvpKDF,u=n.Cipher=s.extend({cfg:o.extend(),createEncryptor:function(t,e){return this.create(this._ENC_XFORM_MODE,t,e)},createDecryptor:function(t,e){return this.create(this._DEC_XFORM_MODE,t,e)},init:function(t,e,n){this.cfg=this.cfg.extend(n),this._xformMode=t,this._key=e,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){return function(t){return{encrypt:function(e,n,r){return("string"==typeof n?y:d).encrypt(t,e,n,r)},decrypt:function(e,n,r){return("string"==typeof n?y:d).decrypt(t,e,n,r)}}}}()});n.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var f=e.mode={},l=n.BlockCipherMode=o.extend({createEncryptor:function(t,e){return this.Encryptor.create(t,e)},createDecryptor:function(t,e){return this.Decryptor.create(t,e)},init:function(t,e){this._cipher=t,this._iv=e}}),f=f.CBC=function(){function e(e,n,r){var o=this._iv;o?this._iv=t:o=this._prevBlock;for(var i=0;r>i;i++)e[n+i]^=o[i]}var n=l.extend();return n.Encryptor=n.extend({processBlock:function(t,n){var r=this._cipher,o=r.blockSize;e.call(this,t,n,o),r.encryptBlock(t,n),this._prevBlock=t.slice(n,n+o)}}),n.Decryptor=n.extend({processBlock:function(t,n){var r=this._cipher,o=r.blockSize,i=t.slice(n,n+o);r.decryptBlock(t,n),e.call(this,t,n,o),this._prevBlock=i}}),n}(),p=(e.pad={}).Pkcs7={pad:function(t,e){for(var n=4*e,n=n-t.sigBytes%n,r=n<<24|n<<16|n<<8|n,o=[],s=0;n>s;s+=4)o.push(r);n=i.create(o,n),t.concat(n)},unpad:function(t){t.sigBytes-=255&t.words[t.sigBytes-1>>>2]}};n.BlockCipher=u.extend({cfg:u.cfg.extend({mode:f,padding:p}),reset:function(){u.reset.call(this);var t=this.cfg,e=t.iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var n=t.createEncryptor;else n=t.createDecryptor,this._minBufferSize=1;this._mode=n.call(t,this,e&&e.words)},_doProcessBlock:function(t,e){this._mode.processBlock(t,e)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var e=this._process(!0)}else e=this._process(!0),t.unpad(e);return e},blockSize:4});var h=n.CipherParams=o.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),f=(e.format={}).OpenSSL={stringify:function(t){var e=t.ciphertext,t=t.salt,e=(t?i.create([1398893684,1701076831]).concat(t).concat(e):e).toString(a);return e=e.replace(/(.{64})/g,"$1\n")},parse:function(t){var t=a.parse(t),e=t.words;if(1398893684==e[0]&&1701076831==e[1]){var n=i.create(e.slice(2,4));e.splice(0,4),t.sigBytes-=16}return h.create({ciphertext:t,salt:n})}},d=n.SerializableCipher=o.extend({cfg:o.extend({format:f}),encrypt:function(t,e,n,r){var r=this.cfg.extend(r),o=t.createEncryptor(n,r),e=o.finalize(e),o=o.cfg;return h.create({ciphertext:e,key:n,iv:o.iv,algorithm:t,mode:o.mode,padding:o.padding,blockSize:t.blockSize,formatter:r.format})},decrypt:function(t,e,n,r){return r=this.cfg.extend(r),e=this._parse(e,r.format),t.createDecryptor(n,r).finalize(e.ciphertext)},_parse:function(t,e){return"string"==typeof t?e.parse(t):t}}),e=(e.kdf={}).OpenSSL={compute:function(t,e,n,r){return r||(r=i.random(8)),t=c.create({keySize:e+n}).compute(t,r),n=i.create(t.words.slice(e),4*n),t.sigBytes=4*e,h.create({key:t,iv:n,salt:r})}},y=n.PasswordBasedCipher=d.extend({cfg:d.cfg.extend({kdf:e}),encrypt:function(t,e,n,r){return r=this.cfg.extend(r),n=r.kdf.compute(n,t.keySize,t.ivSize),r.iv=n.iv,t=d.encrypt.call(this,t,e,n.key,r),t.mixIn(n),t},decrypt:function(t,e,n,r){return r=this.cfg.extend(r),e=this._parse(e,r.format),n=r.kdf.compute(n,t.keySize,t.ivSize,e.salt),r.iv=n.iv,d.decrypt.call(this,t,e,n.key,r)}})}(),function(){var t=r,e=t.lib.BlockCipher,n=t.algo,o=[],i=[],s=[],a=[],c=[],u=[],f=[],l=[],p=[],h=[];(function(){for(var t=[],e=0;256>e;e++)t[e]=128>e?e<<1:283^e<<1;for(var n=0,r=0,e=0;256>e;e++){var d=r^r<<1^r<<2^r<<3^r<<4,d=99^(d>>>8^255&d);o[n]=d,i[d]=n;var y=t[n],v=t[y],g=t[v],m=257*t[d]^16843008*d;s[n]=m<<24|m>>>8,a[n]=m<<16|m>>>16,c[n]=m<<8|m>>>24,u[n]=m,m=16843009*g^65537*v^257*y^16843008*n,f[d]=m<<24|m>>>8,l[d]=m<<16|m>>>16,p[d]=m<<8|m>>>24,h[d]=m,n?(n=y^t[t[t[g^y]]],r^=t[t[r]]):n=r=1}})();var d=[0,1,2,4,8,16,32,64,128,27,54],n=n.AES=e.extend({_doReset:function(){for(var t=this._key,e=t.words,n=t.sigBytes/4,t=4*((this._nRounds=n+6)+1),r=this._keySchedule=[],i=0;t>i;i++)if(n>i)r[i]=e[i];else{var s=r[i-1];i%n?n>6&&4==i%n&&(s=o[s>>>24]<<24|o[255&s>>>16]<<16|o[255&s>>>8]<<8|o[255&s]):(s=s<<8|s>>>24,s=o[s>>>24]<<24|o[255&s>>>16]<<16|o[255&s>>>8]<<8|o[255&s],s^=d[0|i/n]<<24),r[i]=r[i-n]^s}for(e=this._invKeySchedule=[],n=0;t>n;n++)i=t-n,s=n%4?r[i]:r[i-4],e[n]=4>n||4>=i?s:f[o[s>>>24]]^l[o[255&s>>>16]]^p[o[255&s>>>8]]^h[o[255&s]]},encryptBlock:function(t,e){this._doCryptBlock(t,e,this._keySchedule,s,a,c,u,o)},decryptBlock:function(t,e){var n=t[e+1];t[e+1]=t[e+3],t[e+3]=n,this._doCryptBlock(t,e,this._invKeySchedule,f,l,p,h,i),n=t[e+1],t[e+1]=t[e+3],t[e+3]=n},_doCryptBlock:function(t,e,n,r,o,i,s,a){for(var c=this._nRounds,u=t[e]^n[0],f=t[e+1]^n[1],l=t[e+2]^n[2],p=t[e+3]^n[3],h=4,d=1;c>d;d++)var y=r[u>>>24]^o[255&f>>>16]^i[255&l>>>8]^s[255&p]^n[h++],v=r[f>>>24]^o[255&l>>>16]^i[255&p>>>8]^s[255&u]^n[h++],g=r[l>>>24]^o[255&p>>>16]^i[255&u>>>8]^s[255&f]^n[h++],p=r[p>>>24]^o[255&u>>>16]^i[255&f>>>8]^s[255&l]^n[h++],u=y,f=v,l=g;y=(a[u>>>24]<<24|a[255&f>>>16]<<16|a[255&l>>>8]<<8|a[255&p])^n[h++],v=(a[f>>>24]<<24|a[255&l>>>16]<<16|a[255&p>>>8]<<8|a[255&u])^n[h++],g=(a[l>>>24]<<24|a[255&p>>>16]<<16|a[255&u>>>8]<<8|a[255&f])^n[h++],p=(a[p>>>24]<<24|a[255&u>>>16]<<16|a[255&f>>>8]<<8|a[255&l])^n[h++],t[e]=y,t[e+1]=v,t[e+2]=g,t[e+3]=p},keySize:8});t.AES=e._createHelper(n)}(),n("crypto-js/rollups/aes",function(){}),n("src/adapters/crypto",["require","crypto-js/rollups/aes","encoding"],function(t){function e(t){for(var e=t.length,n=[],r=0;e>r;r++)n[r>>>2]|=(255&t[r])<<24-8*(r%4);return a.create(n,e)}function n(t){return new TextEncoder("utf-8").encode(t)}function o(t){return new TextDecoder("utf-8").decode(t)}function i(t,e,n){this.context=t,this.encrypt=e,this.decrypt=n}function s(t,i){this.provider=i;var s=r.AES;this.encrypt=function(r){var o=e(r),i=s.encrypt(o,t),a=n(i);return a},this.decrypt=function(e){var i=o(e),a=s.decrypt(i,t),c=a.toString(r.enc.Utf8),u=n(c);return u}}t("crypto-js/rollups/aes");var a=r.lib.WordArray;return t("encoding"),i.prototype.clear=function(t){this.context.clear(t)},i.prototype.get=function(t,e){var n=this.decrypt;this.context.get(t,function(t,r){return t?(e(t),void 0):(r&&(r=n(r)),e(null,r),void 0)})},i.prototype.put=function(t,e,n){var r=this.encrypt(e);this.context.put(t,r,n)},i.prototype.delete=function(t,e){this.context.delete(t,e)},s.isSupported=function(){return!0},s.prototype.open=function(t){this.provider.open(t)},s.prototype.getReadOnlyContext=function(){return new i(this.provider.getReadOnlyContext(),this.encrypt,this.decrypt)},s.prototype.getReadWriteContext=function(){return new i(this.provider.getReadWriteContext(),this.encrypt,this.decrypt)},s}),n("src/adapters/adapters",["require","src/adapters/zlib","src/adapters/crypto"],function(t){return{Compression:t("src/adapters/zlib"),Encryption:t("src/adapters/crypto")}}),n("src/errors",["require"],function(){function t(t){this.message=t||"unknown error"}function e(t){this.message=t||"success"}function n(t){this.message=t||"end of file"}function r(t){this.message=t||"getaddrinfo error"}function o(t){this.message=t||"permission denied"}function i(t){this.message=t||"resource temporarily unavailable"}function s(t){this.message=t||"address already in use"}function a(t){this.message=t||"address not available"}function c(t){this.message=t||"address family not supported"}function u(t){this.message=t||"connection already in progress"}function f(t){this.message=t||"bad file descriptor"}function l(t){this.message=t||"resource busy or locked"}function p(t){this.message=t||"software caused connection abort"}function h(t){this.message=t||"connection refused"}function d(t){this.message=t||"connection reset by peer"}function y(t){this.message=t||"destination address required"}function v(t){this.message=t||"bad address in system call argument"}function g(t){this.message=t||"host is unreachable"}function m(t){this.message=t||"interrupted system call"}function E(t){this.message=t||"invalid argument"}function w(t){this.message=t||"socket is already connected"}function b(t){this.message=t||"too many open files"}function _(t){this.message=t||"message too long"}function x(t){this.message=t||"network is down"}function A(t){this.message=t||"network is unreachable"}function k(t){this.message=t||"file table overflow"}function O(t){this.message=t||"no buffer space available"}function S(t){this.message=t||"not enough memory"}function I(t){this.message=t||"not a directory"}function R(t){this.message=t||"illegal operation on a directory"}function D(t){this.message=t||"machine is not on the network"}function T(t){this.message=t||"socket is not connected"}function C(t){this.message=t||"socket operation on non-socket"}function N(t){this.message=t||"operation not supported on socket"}function B(t){this.message=t||"no such file or directory"}function F(t){this.message=t||"function not implemented"}function M(t){this.message=t||"broken pipe"}function L(t){this.message=t||"protocol error"}function j(t){this.message=t||"protocol not supported"}function U(t){this.message=t||"protocol wrong type for socket"}function P(t){this.message=t||"connection timed out"}function z(t){this.message=t||"invalid Unicode character"}function W(t){this.message=t||"address family for hostname not supported"}function q(t){this.message=t||"servname not supported for ai_socktype"}function H(t){this.message=t||"ai_socktype not supported"}function Y(t){this.message=t||"cannot send after transport endpoint shutdown"}function X(t){this.message=t||"file already exists"}function K(t){this.message=t||"no such process"}function V(t){this.message=t||"name too long"}function J(t){this.message=t||"operation not permitted"}function Z(t){this.message=t||"too many symbolic links encountered"}function G(t){this.message=t||"cross-device link not permitted"}function Q(t){this.message=t||"directory not empty"}function $(t){this.message=t||"no space left on device"}function te(t){this.message=t||"i/o error"}function ee(t){this.message=t||"read-only file system"}function ne(t){this.message=t||"no such device"}function re(t){this.message=t||"invalid seek"}function oe(t){this.message=t||"operation canceled"}function ie(t){this.message=t||"not mounted"}function se(t){this.message=t||"missing super node"}function ae(t){this.message=t||"attribute does not exist"}return t.prototype=Error(),t.prototype.errno=-1,t.prototype.code="UNKNOWN",t.prototype.constructor=t,e.prototype=Error(),e.prototype.errno=0,e.prototype.code="OK",e.prototype.constructor=e,n.prototype=Error(),n.prototype.errno=1,n.prototype.code="EOF",n.prototype.constructor=n,r.prototype=Error(),r.prototype.errno=2,r.prototype.code="EADDRINFO",r.prototype.constructor=r,o.prototype=Error(),o.prototype.errno=3,o.prototype.code="EACCES",o.prototype.constructor=o,i.prototype=Error(),i.prototype.errno=4,i.prototype.code="EAGAIN",i.prototype.constructor=i,s.prototype=Error(),s.prototype.errno=5,s.prototype.code="EADDRINUSE",s.prototype.constructor=s,a.prototype=Error(),a.prototype.errno=6,a.prototype.code="EADDRNOTAVAIL",a.prototype.constructor=a,c.prototype=Error(),c.prototype.errno=7,c.prototype.code="EAFNOSUPPORT",c.prototype.constructor=c,u.prototype=Error(),u.prototype.errno=8,u.prototype.code="EALREADY",u.prototype.constructor=u,f.prototype=Error(),f.prototype.errno=9,f.prototype.code="EBADF",f.prototype.constructor=f,l.prototype=Error(),l.prototype.errno=10,l.prototype.code="EBUSY",l.prototype.constructor=l,p.prototype=Error(),p.prototype.errno=11,p.prototype.code="ECONNABORTED",p.prototype.constructor=p,h.prototype=Error(),h.prototype.errno=12,h.prototype.code="ECONNREFUSED",h.prototype.constructor=h,d.prototype=Error(),d.prototype.errno=13,d.prototype.code="ECONNRESET",d.prototype.constructor=d,y.prototype=Error(),y.prototype.errno=14,y.prototype.code="EDESTADDRREQ",y.prototype.constructor=y,v.prototype=Error(),v.prototype.errno=15,v.prototype.code="EFAULT",v.prototype.constructor=v,g.prototype=Error(),g.prototype.errno=16,g.prototype.code="EHOSTUNREACH",g.prototype.constructor=g,m.prototype=Error(),m.prototype.errno=17,m.prototype.code="EINTR",m.prototype.constructor=m,E.prototype=Error(),E.prototype.errno=18,E.prototype.code="EINVAL",E.prototype.constructor=E,w.prototype=Error(),w.prototype.errno=19,w.prototype.code="EISCONN",w.prototype.constructor=w,b.prototype=Error(),b.prototype.errno=20,b.prototype.code="EMFILE",b.prototype.constructor=b,_.prototype=Error(),_.prototype.errno=21,_.prototype.code="EMSGSIZE",_.prototype.constructor=_,x.prototype=Error(),x.prototype.errno=22,x.prototype.code="ENETDOWN",x.prototype.constructor=x,A.prototype=Error(),A.prototype.errno=23,A.prototype.code="ENETUNREACH",A.prototype.constructor=A,k.prototype=Error(),k.prototype.errno=24,k.prototype.code="ENFILE",k.prototype.constructor=k,O.prototype=Error(),O.prototype.errno=25,O.prototype.code="ENOBUFS",O.prototype.constructor=O,S.prototype=Error(),S.prototype.errno=26,S.prototype.code="ENOMEM",S.prototype.constructor=S,I.prototype=Error(),I.prototype.errno=27,I.prototype.code="ENOTDIR",I.prototype.constructor=I,R.prototype=Error(),R.prototype.errno=28,R.prototype.code="EISDIR",R.prototype.constructor=R,D.prototype=Error(),D.prototype.errno=29,D.prototype.code="ENONET",D.prototype.constructor=D,T.prototype=Error(),T.prototype.errno=31,T.prototype.code="ENOTCONN",T.prototype.constructor=T,C.prototype=Error(),C.prototype.errno=32,C.prototype.code="ENOTSOCK",C.prototype.constructor=C,N.prototype=Error(),N.prototype.errno=33,N.prototype.code="ENOTSUP",N.prototype.constructor=N,B.prototype=Error(),B.prototype.errno=34,B.prototype.code="ENOENT",B.prototype.constructor=B,F.prototype=Error(),F.prototype.errno=35,F.prototype.code="ENOSYS",F.prototype.constructor=F,M.prototype=Error(),M.prototype.errno=36,M.prototype.code="EPIPE",M.prototype.constructor=M,L.prototype=Error(),L.prototype.errno=37,L.prototype.code="EPROTO",L.prototype.constructor=L,j.prototype=Error(),j.prototype.errno=38,j.prototype.code="EPROTONOSUPPORT",j.prototype.constructor=j,U.prototype=Error(),U.prototype.errno=39,U.prototype.code="EPROTOTYPE",U.prototype.constructor=U,P.prototype=Error(),P.prototype.errno=40,P.prototype.code="ETIMEDOUT",P.prototype.constructor=P,z.prototype=Error(),z.prototype.errno=41,z.prototype.code="ECHARSET",z.prototype.constructor=z,W.prototype=Error(),W.prototype.errno=42,W.prototype.code="EAIFAMNOSUPPORT",W.prototype.constructor=W,q.prototype=Error(),q.prototype.errno=44,q.prototype.code="EAISERVICE",q.prototype.constructor=q,H.prototype=Error(),H.prototype.errno=45,H.prototype.code="EAISOCKTYPE",H.prototype.constructor=H,Y.prototype=Error(),Y.prototype.errno=46,Y.prototype.code="ESHUTDOWN",Y.prototype.constructor=Y,X.prototype=Error(),X.prototype.errno=47,X.prototype.code="EEXIST",X.prototype.constructor=X,K.prototype=Error(),K.prototype.errno=48,K.prototype.code="ESRCH",K.prototype.constructor=K,V.prototype=Error(),V.prototype.errno=49,V.prototype.code="ENAMETOOLONG",V.prototype.constructor=V,J.prototype=Error(),J.prototype.errno=50,J.prototype.code="EPERM",J.prototype.constructor=J,Z.prototype=Error(),Z.prototype.errno=51,Z.prototype.code="ELOOP",Z.prototype.constructor=Z,G.prototype=Error(),G.prototype.errno=52,G.prototype.code="EXDEV",G.prototype.constructor=G,Q.prototype=Error(),Q.prototype.errno=53,Q.prototype.code="ENOTEMPTY",Q.prototype.constructor=Q,$.prototype=Error(),$.prototype.errno=54,$.prototype.code="ENOSPC",$.prototype.constructor=$,te.prototype=Error(),te.prototype.errno=55,te.prototype.code="EIO",te.prototype.constructor=te,ee.prototype=Error(),ee.prototype.errno=56,ee.prototype.code="EROFS",ee.prototype.constructor=ee,ne.prototype=Error(),ne.prototype.errno=57,ne.prototype.code="ENODEV",ne.prototype.constructor=ne,re.prototype=Error(),re.prototype.errno=58,re.prototype.code="ESPIPE",re.prototype.constructor=re,oe.prototype=Error(),oe.prototype.errno=59,oe.prototype.code="ECANCELED",oe.prototype.constructor=oe,ie.prototype=Error(),ie.prototype.errno=60,ie.prototype.code="ENotMounted",ie.prototype.constructor=ie,se.prototype=Error(),se.prototype.errno=61,se.prototype.code="EFileSystemError",se.prototype.constructor=se,ae.prototype=Error(),ae.prototype.errno=62,ae.prototype.code="ENoAttr",ae.prototype.constructor=ae,{Unknown:t,OK:e,EOF:n,EAddrInfo:r,EAcces:o,EAgain:i,EAddrInUse:s,EAddrNotAvail:a,EAFNoSupport:c,EAlready:u,EBadFileDescriptor:f,EBusy:l,EConnAborted:p,EConnRefused:h,EConnReset:d,EDestAddrReq:y,EFault:v,EHostUnreach:g,EIntr:m,EInvalid:E,EIsConn:w,EMFile:b,EMsgSize:_,ENetDown:x,ENetUnreach:A,ENFile:k,ENoBufS:O,ENoMem:S,ENotDirectory:I,EIsDirectory:R,ENoNet:D,ENotConn:T,ENotSock:C,ENotSup:N,ENoEntry:B,ENotImplemented:F,EPipe:M,EProto:L,EProtoNoSupport:j,EPrototype:U,ETimedOut:P,ECharset:z,EAIFamNoSupport:W,EAIService:q,EAISockType:H,EShutdown:Y,EExists:X,ESrch:K,ENameTooLong:V,EPerm:J,ELoop:Z,EXDev:G,ENotEmpty:Q,ENoSpc:$,EIO:te,EROFS:ee,ENoDev:ne,ESPipe:re,ECanceled:oe,ENotMounted:ie,EFileSystemError:se,ENoAttr:ae}}),n("src/environment",["require","src/constants"],function(t){function e(t){t=t||{},t.TMP=t.TMP||n.TMP,t.PATH=t.PATH||n.PATH,this.get=function(e){return t[e]},this.set=function(e,n){t[e]=n}}var n=t("src/constants").ENVIRONMENT;return e}),n("src/shell",["require","src/path","src/errors","src/environment","async"],function(t){function e(t,e){e=e||{};var i=new o(e.env),s="/";Object.defineProperty(this,"fs",{get:function(){return t},enumerable:!0}),Object.defineProperty(this,"env",{get:function(){return i},enumerable:!0}),this.cd=function(e,o){e=n.resolve(this.cwd,e),t.stat(e,function(t,n){return t?(o(new r.ENotDirectory),void 0):("DIRECTORY"===n.type?(s=e,o()):o(new r.ENotDirectory),void 0)})},this.pwd=function(){return s}}var n=t("src/path"),r=t("src/errors"),o=t("src/environment"),i=t("async");return e.prototype.exec=function(t,e,r){var o=this.fs;"function"==typeof e&&(r=e,e=[]),e=e||[],r=r||function(){},t=n.resolve(this.cwd,t),o.readFile(t,"utf8",function(t,n){if(t)return r(t),void 0;try{var i=Function("fs","args","callback",n);i(o,e,r)}catch(s){r(s)}})},e.prototype.touch=function(t,e,r){function o(t){s.writeFile(t,"",r)}function i(t){var n=Date.now(),o=e.date||n,i=e.date||n;s.utimes(t,o,i,r)}var s=this.fs;"function"==typeof e&&(r=e,e={}),e=e||{},r=r||function(){},t=n.resolve(this.cwd,t),s.stat(t,function(n){n?e.updateOnly===!0?r():o(t):i(t)})},e.prototype.cat=function(t,e){function r(t,e){var r=n.resolve(this.cwd,t);o.readFile(r,"utf8",function(t,n){return t?(e(t),void 0):(s+=n+"\n",e(),void 0)})}var o=this.fs,s="";return e=e||function(){},t?(t="string"==typeof t?[t]:t,i.eachSeries(t,r,function(t){t?e(t):e(null,s.replace(/\n$/,""))}),void 0):(e(Error("Missing files argument")),void 0)},e.prototype.ls=function(t,e,r){function o(t,r){var a=n.resolve(this.cwd,t),c=[];s.readdir(a,function(t,u){function f(t,r){t=n.join(a,t),s.stat(t,function(i,s){if(i)return r(i),void 0;var u={path:n.basename(t),links:s.nlinks,size:s.size,modified:s.mtime,type:s.type};e.recursive&&"DIRECTORY"===s.type?o(n.join(a,u.path),function(t,e){return t?(r(t),void 0):(u.contents=e,c.push(u),r(),void 0)}):(c.push(u),r())})}return t?(r(t),void 0):(i.each(u,f,function(t){r(t,c)}),void 0)})}var s=this.fs;return"function"==typeof e&&(r=e,e={}),e=e||{},r=r||function(){},t?(o(t,r),void 0):(r(Error("Missing dir argument")),void 0)},e.prototype.rm=function(t,e,o){function s(t,o){t=n.resolve(this.cwd,t),a.stat(t,function(c,u){return c?(o(c),void 0):"FILE"===u.type?(a.unlink(t,o),void 0):(a.readdir(t,function(c,u){return c?(o(c),void 0):0===u.length?(a.rmdir(t,o),void 0):e.recursive?(u=u.map(function(e){return n.join(t,e)}),i.each(u,s,function(e){return e?(o(e),void 0):(a.rmdir(t,o),void 0)}),void 0):(o(new r.ENotEmpty),void 0)}),void 0)})}var a=this.fs;return"function"==typeof e&&(o=e,e={}),e=e||{},o=o||function(){},t?(s(t,o),void 0):(o(Error("Missing path argument")),void 0)},e.prototype.mv=function(t,e,r,o){function i(t,e,r){t=n.resolve(this.cwd,t),e=n.resolve(this.cwd,e),s.stat(t,function(o,i){return o?(r(o),void 0):("FILE"===i.type&&s.stat(e,function(o,i){return o?(s.link(t,e,r),void 0):"FILE"===i.type?(s.unlink(e,r),s.link(t,e,r),void 0):(s.readdir(destname,function(o,i){if(o)return r(o),void 0;if(0===i.length)return e=n.join(e,t.basename),s.link(t,e,r),void 0;for(var a=0;i.length>a;a++)if(i[a].basename===t.basename)return e=n.join(e,t.basename),s.unlink(e,r),s.link(t,e,r),void 0;e=n.join(e,t.basename),s.link(t,e,r)}),void 0)}),s.stat(e,function(o,i){return o?(s.link(t,e,r),void 0):"FILE"===i.type?(s.unlink(e,r),s.link(t,e,r),void 0):(t.basename===e.basename&&s.readdir(t,function(o,i){if(o)return r(o),void 0;if(0===i.length)return s.unlink(t,r),void 0;for(var a=0;i.length>a;a++){var c=n.join(e,t.basename);s.unlink(c,r),s.link(t,c,r)}}),e=n.join(e,t.basename),s.link(t,e,r),void 0)}),void 0)})}var s=this.fs;return"function"==typeof r&&(o=r,r={}),r=r||{},o=o||function(){},t?e?(i(t,e,o),void 0):(o(Error("Missing destination path argument")),void 0):(o(Error("Missing source path argument")),void 0)},e.prototype.tempDir=function(t){var e=this.fs,n=this.env.get("TMP");t=t||function(){},e.mkdir(n,function(){t(null,n)})},e}),!function(t){function e(){this._events={},this._conf&&r.call(this,this._conf)}function r(t){t&&(this._conf=t,t.delimiter&&(this.delimiter=t.delimiter),t.maxListeners&&(this._events.maxListeners=t.maxListeners),t.wildcard&&(this.wildcard=t.wildcard),t.newListener&&(this.newListener=t.newListener),this.wildcard&&(this.listenerTree={}))}function o(t){this._events={},this.newListener=!1,r.call(this,t)}function i(t,e,n,r){if(!n)return[];var o,s,a,c,u,f,l,p=[],h=e.length,d=e[r],y=e[r+1];if(r===h&&n._listeners){if("function"==typeof n._listeners)return t&&t.push(n._listeners),[n];for(o=0,s=n._listeners.length;s>o;o++)t&&t.push(n._listeners[o]);return[n]}if("*"===d||"**"===d||n[d]){if("*"===d){for(a in n)"_listeners"!==a&&n.hasOwnProperty(a)&&(p=p.concat(i(t,e,n[a],r+1)));return p}if("**"===d){l=r+1===h||r+2===h&&"*"===y,l&&n._listeners&&(p=p.concat(i(t,e,n,h)));for(a in n)"_listeners"!==a&&n.hasOwnProperty(a)&&("*"===a||"**"===a?(n[a]._listeners&&!l&&(p=p.concat(i(t,e,n[a],h))),p=p.concat(i(t,e,n[a],r))):p=a===y?p.concat(i(t,e,n[a],r+2)):p.concat(i(t,e,n[a],r)));return p}p=p.concat(i(t,e,n[d],r+1))}if(c=n["*"],c&&i(t,e,c,r+1),u=n["**"])if(h>r){u._listeners&&i(t,e,u,h);for(a in u)"_listeners"!==a&&u.hasOwnProperty(a)&&(a===y?i(t,e,u[a],r+2):a===d?i(t,e,u[a],r+1):(f={},f[a]=u[a],i(t,e,{"**":f},r+1)))}else u._listeners?i(t,e,u,h):u["*"]&&u["*"]._listeners&&i(t,e,u["*"],h);return p}function s(t,e){t="string"==typeof t?t.split(this.delimiter):t.slice();for(var n=0,r=t.length;r>n+1;n++)if("**"===t[n]&&"**"===t[n+1])return;for(var o=this.listenerTree,i=t.shift();i;){if(o[i]||(o[i]={}),o=o[i],0===t.length){if(o._listeners){if("function"==typeof o._listeners)o._listeners=[o._listeners,e];else if(a(o._listeners)&&(o._listeners.push(e),!o._listeners.warned)){var s=c;this._events.maxListeners!==undefined&&(s=this._events.maxListeners),s>0&&o._listeners.length>s&&(o._listeners.warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",o._listeners.length),console.trace())}}else o._listeners=e;return!0}i=t.shift()}return!0}var a=Array.isArray?Array.isArray:function(t){return"[object Array]"===Object.prototype.toString.call(t)},c=10;o.prototype.delimiter=".",o.prototype.setMaxListeners=function(t){this._events||e.call(this),this._events.maxListeners=t,this._conf||(this._conf={}),this._conf.maxListeners=t},o.prototype.event="",o.prototype.once=function(t,e){return this.many(t,1,e),this},o.prototype.many=function(t,e,n){function r(){0===--e&&o.off(t,r),n.apply(this,arguments)}var o=this;if("function"!=typeof n)throw Error("many only accepts instances of Function");return r._origin=n,this.on(t,r),o},o.prototype.emit=function(){this._events||e.call(this);var t=arguments[0];if("newListener"===t&&!this.newListener&&!this._events.newListener)return!1;if(this._all){for(var n=arguments.length,r=Array(n-1),o=1;n>o;o++)r[o-1]=arguments[o];for(o=0,n=this._all.length;n>o;o++)this.event=t,this._all[o].apply(this,r)}if("error"===t&&!(this._all||this._events.error||this.wildcard&&this.listenerTree.error))throw arguments[1]instanceof Error?arguments[1]:Error("Uncaught, unspecified 'error' event.");var s;if(this.wildcard){s=[];var a="string"==typeof t?t.split(this.delimiter):t.slice();i.call(this,s,a,this.listenerTree,0)}else s=this._events[t];if("function"==typeof s){if(this.event=t,1===arguments.length)s.call(this);else if(arguments.length>1)switch(arguments.length){case 2:s.call(this,arguments[1]);break;case 3:s.call(this,arguments[1],arguments[2]);break;default:for(var n=arguments.length,r=Array(n-1),o=1;n>o;o++)r[o-1]=arguments[o];s.apply(this,r)}return!0}if(s){for(var n=arguments.length,r=Array(n-1),o=1;n>o;o++)r[o-1]=arguments[o];for(var c=s.slice(),o=0,n=c.length;n>o;o++)this.event=t,c[o].apply(this,r);return c.length>0||this._all}return this._all},o.prototype.on=function(t,n){if("function"==typeof t)return this.onAny(t),this;if("function"!=typeof n)throw Error("on only accepts instances of Function");if(this._events||e.call(this),this.emit("newListener",t,n),this.wildcard)return s.call(this,t,n),this;if(this._events[t]){if("function"==typeof this._events[t])this._events[t]=[this._events[t],n];else if(a(this._events[t])&&(this._events[t].push(n),!this._events[t].warned)){var r=c;this._events.maxListeners!==undefined&&(r=this._events.maxListeners),r>0&&this._events[t].length>r&&(this._events[t].warned=!0,console.error("(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.",this._events[t].length),console.trace()) -}}else this._events[t]=n;return this},o.prototype.onAny=function(t){if(this._all||(this._all=[]),"function"!=typeof t)throw Error("onAny only accepts instances of Function");return this._all.push(t),this},o.prototype.addListener=o.prototype.on,o.prototype.off=function(t,e){if("function"!=typeof e)throw Error("removeListener only takes instances of Function");var n,r=[];if(this.wildcard){var o="string"==typeof t?t.split(this.delimiter):t.slice();r=i.call(this,null,o,this.listenerTree,0)}else{if(!this._events[t])return this;n=this._events[t],r.push({_listeners:n})}for(var s=0;r.length>s;s++){var c=r[s];if(n=c._listeners,a(n)){for(var u=-1,f=0,l=n.length;l>f;f++)if(n[f]===e||n[f].listener&&n[f].listener===e||n[f]._origin&&n[f]._origin===e){u=f;break}if(0>u)continue;return this.wildcard?c._listeners.splice(u,1):this._events[t].splice(u,1),0===n.length&&(this.wildcard?delete c._listeners:delete this._events[t]),this}(n===e||n.listener&&n.listener===e||n._origin&&n._origin===e)&&(this.wildcard?delete c._listeners:delete this._events[t])}return this},o.prototype.offAny=function(t){var e,n=0,r=0;if(t&&this._all&&this._all.length>0){for(e=this._all,n=0,r=e.length;r>n;n++)if(t===e[n])return e.splice(n,1),this}else this._all=[];return this},o.prototype.removeListener=o.prototype.off,o.prototype.removeAllListeners=function(t){if(0===arguments.length)return!this._events||e.call(this),this;if(this.wildcard)for(var n="string"==typeof t?t.split(this.delimiter):t.slice(),r=i.call(this,null,n,this.listenerTree,0),o=0;r.length>o;o++){var s=r[o];s._listeners=null}else{if(!this._events[t])return this;this._events[t]=null}return this},o.prototype.listeners=function(t){if(this.wildcard){var n=[],r="string"==typeof t?t.split(this.delimiter):t.slice();return i.call(this,n,r,this.listenerTree,0),n}return this._events||e.call(this),this._events[t]||(this._events[t]=[]),a(this._events[t])||(this._events[t]=[this._events[t]]),this._events[t]},o.prototype.listenersAny=function(){return this._all?this._all:[]},"function"==typeof n&&n.amd?n("EventEmitter",[],function(){return o}):t.EventEmitter2=o}("undefined"!=typeof process&&process.title!==void 0&&"undefined"!=typeof exports?exports:window),n("intercom",["require","EventEmitter","src/shared"],function(t){function e(t,e){var n=0;return function(){var r=Date.now();r-n>t&&(n=r,e.apply(this,arguments))}}function n(t,e){if(void 0!==t&&t||(t={}),"object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}function r(){var t=this,e=Date.now();this.origin=i(),this.lastMessage=e,this.receivedIDs={},this.previousValues={};var n=function(){t._onStorageEvent.apply(t,arguments)};document.attachEvent?document.attachEvent("onstorage",n):window.addEventListener("storage",n,!1)}var o=t("EventEmitter"),i=t("src/shared").guid,s=function(t){return t.localStorage===void 0?{getItem:function(){},setItem:function(){},removeItem:function(){}}:t.localStorage}(this);r.prototype._transaction=function(t){function e(){if(!a){var l=Date.now(),p=0|s.getItem(u);if(p&&r>l-p)return c||(i._on("storage",e),c=!0),f=window.setTimeout(e,o),void 0;a=!0,s.setItem(u,l),t(),n()}}function n(){c&&i._off("storage",e),f&&window.clearTimeout(f),s.removeItem(u)}var r=1e3,o=20,i=this,a=!1,c=!1,f=null;e()},r.prototype._cleanup_emit=e(100,function(){var t=this;t._transaction(function(){var t,e=Date.now(),n=e-f,r=0;try{t=JSON.parse(s.getItem(a)||"[]")}catch(o){t=[]}for(var i=t.length-1;i>=0;i--)n>t[i].timestamp&&(t.splice(i,1),r++);r>0&&s.setItem(a,JSON.stringify(t))})}),r.prototype._cleanup_once=e(100,function(){var t=this;t._transaction(function(){var e,n;Date.now();var r=0;try{n=JSON.parse(s.getItem(c)||"{}")}catch(o){n={}}for(e in n)t._once_expired(e,n)&&(delete n[e],r++);r>0&&s.setItem(c,JSON.stringify(n))})}),r.prototype._once_expired=function(t,e){if(!e)return!0;if(!e.hasOwnProperty(t))return!0;if("object"!=typeof e[t])return!0;var n=e[t].ttl||l,r=Date.now(),o=e[t].timestamp;return r-n>o},r.prototype._localStorageChanged=function(t,e){if(t&&t.key)return t.key===e;var n=s.getItem(e);return n===this.previousValues[e]?!1:(this.previousValues[e]=n,!0)},r.prototype._onStorageEvent=function(t){t=t||window.event;var e=this;this._localStorageChanged(t,a)&&this._transaction(function(){var t,n=Date.now(),r=s.getItem(a);try{t=JSON.parse(r||"[]")}catch(o){t=[]}for(var i=0;t.length>i;i++)if(t[i].origin!==e.origin&&!(t[i].timestampTe?n(new Ze.ELoop):u(e.data)):n(null,e)}function u(e){e=ve(e),l=ge(e),f=me(e),Re==f?t.get(De,r):a(t,l,i)}if(e=ve(e),!e)return n(new Ze.ENoEntry("path is an empty string"));var f=me(e),l=ge(e),p=0;Re==f?t.get(De,r):a(t,l,i)}function c(t,e,n,r,o,i){function c(e,a){function c(e){e?i(e):s(t,u,a,{ctime:Date.now()},i)}a?a.xattrs[n]:null,e?i(e):o===ze&&a.xattrs.hasOwnProperty(n)?i(new Ze.EExists("attribute already exists")):o!==We||a.xattrs.hasOwnProperty(n)?(a.xattrs[n]=r,t.put(a.id,a,c)):i(new Ze.ENoAttr)}var u;"string"==typeof e?(u=e,a(t,e,c)):"object"==typeof e&&"string"==typeof e.id?(u=e.path,t.get(e.id,c)):i(new Ze.EInvalid("path or file descriptor of wrong type"))}function u(t,e){function n(n,o){!n&&o?e(new Ze.EExists):n&&!n instanceof Ze.ENoEntry?e(n):(a=new r,t.put(a.id,a,i))}function i(n){n?e(n):(c=new o(a.rnode,Oe),c.nlinks+=1,t.put(c.id,c,s))}function s(n){n?e(n):(u={},t.put(c.data,u,e))}var a,c,u;t.get(De,n)}function f(t,n,r){function i(e,n){!e&&n?r(new Ze.EExists):e&&!e instanceof Ze.ENoEntry?r(e):a(t,m,c)}function c(e,n){e?r(e):(y=n,t.get(y.data,u))}function u(e,n){e?r(e):(v=n,h=new o(void 0,Oe),h.nlinks+=1,t.put(h.id,h,f))}function f(e){e?r(e):(d={},t.put(h.data,d,p))}function l(e){if(e)r(e);else{var n=Date.now();s(t,m,y,{mtime:n,ctime:n},r)}}function p(n){n?r(n):(v[g]=new e(h.id,Oe),t.put(y.data,v,l))}n=ve(n);var h,d,y,v,g=me(n),m=ge(n);a(t,n,i)}function l(t,e,n){function r(e,r){e?n(e):(y=r,t.get(y.data,o))}function o(e,r){e?n(e):Re==g?n(new Ze.EBusy):ye(r).has(g)?(v=r,h=v[g].id,t.get(h,i)):n(new Ze.ENoEntry)}function i(e,r){e?n(e):r.mode!=Oe?n(new Ze.ENotDirectory):(h=r,t.get(h.data,c))}function c(t,e){t?n(t):(d=e,ye(d).size()>0?n(new Ze.ENotEmpty):f())}function u(e){if(e)n(e);else{var r=Date.now();s(t,m,y,{mtime:r,ctime:r},l)}}function f(){delete v[g],t.put(y.data,v,u)}function l(e){e?n(e):t.delete(h.id,p)}function p(e){e?n(e):t.delete(h.data,n)}e=ve(e);var h,d,y,v,g=me(e),m=ge(e);a(t,m,r)}function p(t,n,r,i){function c(e,n){e?i(e):(m=n,t.get(m.data,u))}function u(e,n){e?i(e):(E=n,ye(E).has(x)?ye(r).contains(je)?i(new Ze.ENoEntry("O_CREATE and O_EXCLUSIVE are set, and the named file exists")):(w=E[x],w.type==Oe&&ye(r).contains(Me)?i(new Ze.EIsDirectory("the named file is a directory and O_WRITE is set")):t.get(w.id,f)):ye(r).contains(Le)?h():i(new Ze.ENoEntry("O_CREATE is not set and the named file does not exist")))}function f(t,e){if(t)i(t);else{var n=e;n.mode==Se?(k++,k>Te?i(new Ze.ELoop("too many symbolic links were encountered")):l(n.data)):p(void 0,n)}}function l(e){e=ve(e),A=ge(e),x=me(e),Re==x&&(ye(r).contains(Me)?i(new Ze.EIsDirectory("the named file is a directory and O_WRITE is set")):a(t,n,p)),a(t,A,c)}function p(t,e){t?i(t):(b=e,i(null,b))}function h(){b=new o(void 0,ke),b.nlinks+=1,t.put(b.id,b,d)}function d(e){e?i(e):(_=new Uint8Array(0),t.put(b.data,_,v))}function y(e){if(e)i(e);else{var n=Date.now();s(t,A,m,{mtime:n,ctime:n},g)}}function v(n){n?i(n):(E[x]=new e(b.id,ke),t.put(m.data,E,y))}function g(t){t?i(t):i(null,b)}n=ve(n);var m,E,w,b,_,x=me(n),A=ge(n),k=0;Re==x?ye(r).contains(Me)?i(new Ze.EIsDirectory("the named file is a directory and O_WRITE is set")):a(t,n,p):a(t,A,c)}function h(t,e,n,r,o,i){function a(t){t?i(t):i(null,o)}function c(n){if(n)i(n);else{var r=Date.now();s(t,e.path,l,{mtime:r,ctime:r},a)}}function u(e){e?i(e):t.put(l.id,l,c)}function f(s,a){if(s)i(s);else{l=a;var c=new Uint8Array(o),f=n.subarray(r,r+o);c.set(f),e.position=o,l.size=o,l.version+=1,t.put(l.data,c,u)}}var l;t.get(e.id,f)}function d(t,e,n,r,o,i,a){function c(t){t?a(t):a(null,o)}function u(n){if(n)a(n);else{var r=Date.now();s(t,e.path,h,{mtime:r,ctime:r},c)}}function f(e){e?a(e):t.put(h.id,h,u)}function l(s,c){if(s)a(s);else{d=c;var u=void 0!==i&&null!==i?i:e.position,l=Math.max(d.length,u+o),p=new Uint8Array(l);d&&p.set(d);var y=n.subarray(r,r+o);p.set(y,u),void 0===i&&(e.position+=o),h.size=l,h.version+=1,t.put(h.data,p,f)}}function p(e,n){e?a(e):(h=n,t.get(h.data,l))}var h,d;t.get(e.id,p)}function y(t,e,n,r,o,i,s){function a(t,a){if(t)s(t);else{f=a;var c=void 0!==i&&null!==i?i:e.position;o=c+o>n.length?o-c:o;var u=f.subarray(c,c+o);n.set(u,r),void 0===i&&(e.position+=o),s(null,o)}}function c(e,n){e?s(e):(u=n,t.get(u.data,a))}var u,f;t.get(e.id,c)}function v(t,e,n){function r(t,e){t?n(t):n(null,e)}e=ve(e),me(e),a(t,e,r)}function g(t,e,n){function r(t,e){t?n(t):n(null,e)}t.get(e.id,r)}function m(t,e,n){function r(e,r){e?n(e):(s=r,t.get(s.data,o))}function o(e,r){e?n(e):(c=r,ye(c).has(u)?t.get(c[u].id,i):n(new Ze.ENoEntry("a component of the path does not name an existing file")))}function i(t,e){t?n(t):n(null,e)}e=ve(e);var s,c,u=me(e),f=ge(e);Re==u?a(t,e,i):a(t,f,r)}function E(t,e,n,r){function o(e){e?r(e):s(t,n,E,{ctime:Date.now()},r)}function i(e,n){e?r(e):(E=n,E.nlinks+=1,t.put(E.id,E,o))}function c(e){e?r(e):t.get(m[w].id,i)}function u(e,n){e?r(e):(m=n,ye(m).has(w)?r(new Ze.EExists("newpath resolves to an existing file")):(m[w]=v[h],t.put(g.data,m,c)))}function f(e,n){e?r(e):(g=n,t.get(g.data,u))}function l(e,n){e?r(e):(v=n,ye(v).has(h)?a(t,b,f):r(new Ze.ENoEntry("a component of either path prefix does not exist")))}function p(e,n){e?r(e):(y=n,t.get(y.data,l))}e=ve(e);var h=me(e),d=ge(e);n=ve(n);var y,v,g,m,E,w=me(n),b=ge(n);a(t,d,p)}function w(t,e,n){function r(e){e?n(e):(delete l[h],t.put(f.data,l,function(){var e=Date.now();s(t,d,f,{mtime:e,ctime:e},n)}))}function o(e){e?n(e):t.delete(p.data,r)}function i(i,a){i?n(i):(p=a,p.nlinks-=1,1>p.nlinks?t.delete(p.id,o):t.put(p.id,p,function(){s(t,e,p,{ctime:Date.now()},r)}))}function c(e,r){e?n(e):(l=r,ye(l).has(h)?t.get(l[h].id,i):n(new Ze.ENoEntry("a component of the path does not name an existing file")))}function u(e,r){e?n(e):(f=r,t.get(f.data,c))}e=ve(e);var f,l,p,h=me(e),d=ge(e);a(t,d,u)}function b(t,e,n){function r(t,e){if(t)n(t);else{s=e;var r=Object.keys(s);n(null,r)}}function o(e,o){e?n(e):(i=o,t.get(i.data,r))}e=ve(e),me(e);var i,s;a(t,e,o)}function _(t,n,r,i){function c(e,n){e?i(e):(h=n,t.get(h.data,u))}function u(t,e){t?i(t):(d=e,ye(d).has(v)?i(new Ze.EExists("the destination path already exists")):f())}function f(){y=new o(void 0,Se),y.nlinks+=1,y.size=n.length,y.data=n,t.put(y.id,y,p)}function l(e){if(e)i(e);else{var n=Date.now();s(t,g,h,{mtime:n,ctime:n},i)}}function p(n){n?i(n):(d[v]=new e(y.id,Se),t.put(h.data,d,l))}r=ve(r);var h,d,y,v=me(r),g=ge(r);Re==v?i(new Ze.EExists("the destination path already exists")):a(t,g,c)}function x(t,e,n){function r(e,r){e?n(e):(s=r,t.get(s.data,o))}function o(e,r){e?n(e):(c=r,ye(c).has(u)?t.get(c[u].id,i):n(new Ze.ENoEntry("a component of the path does not name an existing file")))}function i(t,e){t?n(t):e.mode!=Se?n(new Ze.EInvalid("path not a symbolic link")):n(null,e.data)}e=ve(e);var s,c,u=me(e),f=ge(e);a(t,f,r)}function A(t,e,n,r){function o(e,n){e?r(e):n.mode==Oe?r(new Ze.EIsDirectory("the named file is a directory")):(f=n,t.get(f.data,i))}function i(e,o){if(e)r(e);else{var i=new Uint8Array(n);o&&i.set(o.subarray(0,n)),t.put(f.data,i,u)}}function c(n){if(n)r(n);else{var o=Date.now();s(t,e,f,{mtime:o,ctime:o},r)}}function u(e){e?r(e):(f.size=n,f.version+=1,t.put(f.id,f,c))}e=ve(e);var f;0>n?r(new Ze.EInvalid("length cannot be negative")):a(t,e,o)}function k(t,e,n,r){function o(e,n){e?r(e):n.mode==Oe?r(new Ze.EIsDirectory("the named file is a directory")):(u=n,t.get(u.data,i))}function i(e,o){if(e)r(e);else{var i=new Uint8Array(n);o&&i.set(o.subarray(0,n)),t.put(u.data,i,c)}}function a(n){if(n)r(n);else{var o=Date.now();s(t,e.path,u,{mtime:o,ctime:o},r)}}function c(e){e?r(e):(u.size=n,u.version+=1,t.put(u.id,u,a))}var u;0>n?r(new Ze.EInvalid("length cannot be negative")):t.get(e.id,o)}function O(t,e,n,r,o){function i(i,a){i?o(i):s(t,e,a,{atime:n,ctime:r,mtime:r},o)}e=ve(e),"number"!=typeof n||"number"!=typeof r?o(new Ze.EInvalid("atime and mtime must be number")):0>n||0>r?o(new Ze.EInvalid("atime and mtime must be positive integers")):a(t,e,i)}function S(t,e,n,r,o){function i(i,a){i?o(i):s(t,e.path,a,{atime:n,ctime:r,mtime:r},o)}"number"!=typeof n||"number"!=typeof r?o(new Ze.EInvalid("atime and mtime must be a number")):0>n||0>r?o(new Ze.EInvalid("atime and mtime must be positive integers")):t.get(e.id,i)}function I(t,e,n,r,o,i){e=ve(e),"string"!=typeof n?i(new Ze.EInvalid("attribute name must be a string")):n?null!==o&&o!==ze&&o!==We?i(new Ze.EInvalid("invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE")):c(t,e,n,r,o,i):i(new Ze.EInvalid("attribute name cannot be an empty string"))}function R(t,e,n,r,o,i){"string"!=typeof n?i(new Ze.EInvalid("attribute name must be a string")):n?null!==o&&o!==ze&&o!==We?i(new Ze.EInvalid("invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE")):c(t,e,n,r,o,i):i(new Ze.EInvalid("attribute name cannot be an empty string"))}function D(t,e,n,r){function o(t,e){e?e.xattrs[n]:null,t?r(t):e.xattrs.hasOwnProperty(n)?r(null,e.xattrs[n]):r(new Ze.ENoAttr("attribute does not exist"))}e=ve(e),"string"!=typeof n?r(new Ze.EInvalid("attribute name must be a string")):n?a(t,e,o):r(new Ze.EInvalid("attribute name cannot be an empty string"))}function T(t,e,n,r){function o(t,e){e?e.xattrs[n]:null,t?r(t):e.xattrs.hasOwnProperty(n)?r(null,e.xattrs[n]):r(new Ze.ENoAttr("attribute does not exist"))}"string"!=typeof n?r(new Ze.EInvalid("attribute name must be a string")):n?t.get(e.id,o):r(new Ze.EInvalid("attribute name cannot be an empty string"))}function C(t,e,n,r){function o(o,i){function a(n){n?r(n):s(t,e,i,{ctime:Date.now()},r)}var c=i?i.xattrs:null;o?r(o):c.hasOwnProperty(n)?(delete i.xattrs[n],t.put(i.id,i,a)):r(new Ze.ENoAttr("attribute does not exist"))}e=ve(e),"string"!=typeof n?r(new Ze.EInvalid("attribute name must be a string")):n?a(t,e,o):r(new Ze.EInvalid("attribute name cannot be an empty string"))}function N(t,e,n,r){function o(o,i){function a(n){n?r(n):s(t,e.path,i,{ctime:Date.now()},r)}o?r(o):i.xattrs.hasOwnProperty(n)?(delete i.xattrs[n],t.put(i.id,i,a)):r(new Ze.ENoAttr("attribute does not exist"))}"string"!=typeof n?r(new Ze.EInvalid("attribute name must be a string")):n?t.get(e.id,o):r(new Ze.EInvalid("attribute name cannot be an empty string"))}function B(t){return ye(Pe).has(t)?Pe[t]:null}function F(t,e,n){return t?"function"==typeof t?t={encoding:e,flag:n}:"string"==typeof t&&(t={encoding:t,flag:n}):t={encoding:e,flag:n},t}function M(t,e){var n;return we(t)?n=Error("Path must be a string without null bytes."):Ee(t)||(n=Error("Path must be absolute.")),n?(e(n),!1):!0}function L(t){return"function"==typeof t?t:function(t){if(t)throw t}}function j(t,e){function n(){p.forEach(function(t){t.call(this)}.bind(c)),p=null}function r(t){if(t.length){var e=Ve.getInstance();t.forEach(function(t){e.emit(t.event,t.event,t.path)})}}t=t||{},e=e||_e;var o=t.name||xe,i=t.flags,s=t.provider||new Ye.Default(o),a=ye(i).contains(Ae),c=this;c.readyState=Ne,c.name=o,c.error=null;var f={},l=1;Object.defineProperty(this,"openFiles",{get:function(){return f}}),this.allocDescriptor=function(t){var e=l++;return f[e]=t,e},this.releaseDescriptor=function(t){delete f[t]};var p=[];this.queueOrRun=function(t){var e;return Ce==c.readyState?t.call(c):Be==c.readyState?e=new EFileSystemError("unknown error"):p.push(t),e},this.watch=function(t,e,n){if(we(t))throw Error("Path must be a string without null bytes.");"function"==typeof e&&(n=e,e={}),e=e||{},n=n||_e;var r=new Je;return r.start(t,!1,e.recursive),r.on("change",n),r},s.open(function(t,o){function f(t){function o(t){var e=s[t]();return e.flags=i,e.changes=[],e.close=function(){var t=e.changes;r(t),t.length=0},e}c.provider={openReadWriteContext:function(){return o("getReadWriteContext")},openReadOnlyContext:function(){return o("getReadOnlyContext")}},t?c.readyState=Be:(c.readyState=Ce,n()),e(t,c)}if(t)return f(t);if(!a&&!o)return f(null);var l=s.getReadWriteContext();l.clear(function(t){return t?(f(t),void 0):(u(l,f),void 0)})})}function U(t,e,r,o,i){function s(e,s){if(e)i(e);else{var a;a=ye(o).contains(Ue)?s.size:0;var c=new n(r,s.id,o,a),u=t.allocDescriptor(c);i(null,u)}}M(r,i)&&(o=B(o),o||i(new Ze.EInvalid("flags is not valid")),p(e,r,o,s))}function P(t,e,n){ye(t.openFiles).has(e)?(t.releaseDescriptor(e),n(null)):n(new Ze.EBadFileDescriptor("invalid file descriptor"))}function z(t,e,n){function r(t){t?n(t):n(null)}M(e,n)&&f(t,e,r)}function W(t,e,n){function r(t){t?n(t):n(null)}M(e,n)&&l(t,e,r)}function q(t,e,n,r){function o(t,n){if(t)r(t);else{var o=new i(n,e);r(null,o)}}M(n,r)&&v(t,n,o)}function H(t,e,n,r){function o(e,n){if(e)r(e);else{var o=new i(n,t.name);r(null,o)}}var s=t.openFiles[n];s?g(e,s,o):r(new EBadFileDescriptor("invalid file descriptor"))}function Y(t,e,n,r){function o(t){t?r(t):r(null)}M(e,r)&&M(n,r)&&E(t,e,n,o)}function X(t,e,n){function r(t){t?n(t):n(null)}M(e,n)&&w(t,e,r)}function K(t,e,n,r,o,i,s,a){function c(t,e){t?a(t):a(null,e)}o=void 0===o?0:o,i=void 0===i?r.length-o:i;var u=t.openFiles[n];u?ye(u.flags).contains(Fe)?y(e,u,r,o,i,s,c):a(new Ze.EBadFileDescriptor("descriptor does not permit reading")):a(new Ze.EBadFileDescriptor("invalid file descriptor"))}function V(t,e,r,o,s){if(o=F(o,null,"r"),M(r,s)){var a=B(o.flag||"r");a||s(new Ze.EInvalid("flags is not valid")),p(e,r,a,function(c,u){if(c)return s(c);var f=new n(r,u.id,a,0),l=t.allocDescriptor(f);g(e,f,function(n,r){if(n)return s(n);var a=new i(r,t.name),c=a.size,u=new Uint8Array(c);y(e,f,u,0,c,0,function(e){if(e)return s(e);t.releaseDescriptor(l);var n;n="utf8"===o.encoding?new TextDecoder("utf-8").decode(u):u,s(null,n)})})})}}function J(t,e,n,r,o,i,s,a){function c(t,e){t?a(t):a(null,e)}o=void 0===o?0:o,i=void 0===i?r.length-o:i;var u=t.openFiles[n];u?ye(u.flags).contains(Me)?i>r.length-o?a(new Ze.EIO("intput buffer is too small")):d(e,u,r,o,i,s,c):a(new Ze.EBadFileDescriptor("descriptor does not permit writing")):a(new Ze.EBadFileDescriptor("invalid file descriptor"))}function Z(t,e,r,o,i,s){if(i=F(i,"utf8","w"),M(r,s)){var a=B(i.flag||"w");a||s(new Ze.EInvalid("flags is not valid")),o=o||"","number"==typeof o&&(o=""+o),"string"==typeof o&&"utf8"===i.encoding&&(o=new TextEncoder("utf-8").encode(o)),p(e,r,a,function(i,c){if(i)return s(i);var u=new n(r,c.id,a,0),f=t.allocDescriptor(u);h(e,u,o,0,o.length,function(e){return e?s(e):(t.releaseDescriptor(f),s(null),void 0)})})}}function G(t,e,r,o,i,s){if(i=F(i,"utf8","a"),M(r,s)){var a=B(i.flag||"a");a||s(new Ze.EInvalid("flags is not valid")),o=o||"","number"==typeof o&&(o=""+o),"string"==typeof o&&"utf8"===i.encoding&&(o=new TextEncoder("utf-8").encode(o)),p(e,r,a,function(i,c){if(i)return s(i);var u=new n(r,c.id,a,c.size),f=t.allocDescriptor(u);d(e,u,o,0,o.length,u.position,function(e){return e?s(e):(t.releaseDescriptor(f),s(null),void 0)})})}}function Q(t,e,n,r){function o(t){r(t?!1:!0)}q(t,e,n,o)}function $(t,e,n,r){function o(t,e){t?r(t):r(null,e)}M(e,r)&&D(t,e,n,o)}function te(t,e,n,r,o){function i(t,e){t?o(t):o(null,e)}var s=t.openFiles[n];s?T(e,s,r,i):o(new Ze.EBadFileDescriptor("invalid file descriptor"))}function ee(t,e,n,r,o,i){function s(t){t?i(t):i(null)}M(e,i)&&I(t,e,n,r,o,s)}function ne(t,e,n,r,o,i,s){function a(t){t?s(t):s(null)}var c=t.openFiles[n];c?ye(c.flags).contains(Me)?R(e,c,r,o,i,a):s(new Ze.EBadFileDescriptor("descriptor does not permit writing")):s(new Ze.EBadFileDescriptor("invalid file descriptor"))}function re(t,e,n,r){function o(t){t?r(t):r(null)}M(e,r)&&C(t,e,n,o)}function oe(t,e,n,r,o){function i(t){t?o(t):o(null)}var s=t.openFiles[n];s?ye(s.flags).contains(Me)?N(e,s,r,i):o(new Ze.EBadFileDescriptor("descriptor does not permit writing")):o(new Ze.EBadFileDescriptor("invalid file descriptor"))}function ie(t,e,n,r,o,i){function s(t,e){t?i(t):0>e.size+r?i(new Ze.EInvalid("resulting file offset would be negative")):(a.position=e.size+r,i(null,a.position))}var a=t.openFiles[n];a||i(new Ze.EBadFileDescriptor("invalid file descriptor")),"SET"===o?0>r?i(new Ze.EInvalid("resulting file offset would be negative")):(a.position=r,i(null,a.position)):"CUR"===o?0>a.position+r?i(new Ze.EInvalid("resulting file offset would be negative")):(a.position+=r,i(null,a.position)):"END"===o?g(e,a,s):i(new Ze.EInvalid("whence argument is not a proper value"))}function se(t,e,n){function r(t,e){t?n(t):n(null,e)}M(e,n)&&b(t,e,r)}function ae(t,e,n,r,o){function i(t){t?o(t):o(null)}if(M(e,o)){var s=Date.now();n=n?n:s,r=r?r:s,O(t,e,n,r,i)}}function ce(t,e,n,r,o,i){function s(t){t?i(t):i(null)}var a=Date.now();r=r?r:a,o=o?o:a;var c=t.openFiles[n];c?ye(c.flags).contains(Me)?S(e,c,r,o,s):i(new Ze.EBadFileDescriptor("descriptor does not permit writing")):i(new Ze.EBadFileDescriptor("invalid file descriptor"))}function ue(t,e,n,r){function o(t){t?r(t):r(null)}function i(n){n?r(n):w(t,e,o)}M(e,r)&&M(n,r)&&E(t,e,n,i)}function fe(t,e,n,r){function o(t){t?r(t):r(null)}M(e,r)&&M(n,r)&&_(t,e,n,o)}function le(t,e,n){function r(t,e){t?n(t):n(null,e)}M(e,n)&&x(t,e,r)}function pe(t,e,n,r){function o(e,n){if(e)r(e);else{var o=new i(n,t.name);r(null,o)}}M(n,r)&&m(e,n,o)}function he(t,e,n,r){function o(t){t?r(t):r(null)}M(e,r)&&A(t,e,n,o)}function de(t,e,n,r,o){function i(t){t?o(t):o(null)}var s=t.openFiles[n];s?ye(s.flags).contains(Me)?k(e,s,r,i):o(new Ze.EBadFileDescriptor("descriptor does not permit writing")):o(new Ze.EBadFileDescriptor("invalid file descriptor"))}var ye=t("nodash");t("encoding");var ve=t("src/path").normalize,ge=t("src/path").dirname,me=t("src/path").basename,Ee=t("src/path").isAbsolute,we=t("src/path").isNull,be=t("src/shared").guid;t("src/shared").hash;var _e=t("src/shared").nop,xe=t("src/constants").FILE_SYSTEM_NAME,Ae=t("src/constants").FS_FORMAT,ke=t("src/constants").MODE_FILE,Oe=t("src/constants").MODE_DIRECTORY,Se=t("src/constants").MODE_SYMBOLIC_LINK,Ie=t("src/constants").MODE_META,Re=t("src/constants").ROOT_DIRECTORY_NAME,De=t("src/constants").SUPER_NODE_ID,Te=t("src/constants").SYMLOOP_MAX,Ce=t("src/constants").FS_READY,Ne=t("src/constants").FS_PENDING,Be=t("src/constants").FS_ERROR,Fe=t("src/constants").O_READ,Me=t("src/constants").O_WRITE,Le=t("src/constants").O_CREATE,je=t("src/constants").O_EXCLUSIVE;t("src/constants").O_TRUNCATE;var Ue=t("src/constants").O_APPEND,Pe=t("src/constants").O_FLAGS,ze=t("src/constants").XATTR_CREATE,We=t("src/constants").XATTR_REPLACE,qe=t("src/constants").FS_NOMTIME,He=t("src/constants").FS_NOCTIME,Ye=t("src/providers/providers"),Xe=t("src/adapters/adapters"),Ke=t("src/shell"),Ve=t("intercom"),Je=t("src/fswatcher"),Ze=t("src/errors");return i.prototype.isFile=function(){return this.type===ke},i.prototype.isDirectory=function(){return this.type===Oe},i.prototype.isBlockDevice=function(){return!1},i.prototype.isCharacterDevice=function(){return!1},i.prototype.isSymbolicLink=function(){return this.type===Se},i.prototype.isFIFO=function(){return!1},i.prototype.isSocket=function(){return!1},j.providers=Ye,j.adapters=Xe,j.prototype.open=function(t,e,n,r){r=L(arguments[arguments.length-1]);var o=this,i=o.queueOrRun(function(){function n(){i.close(),r.apply(o,arguments)}var i=o.provider.openReadWriteContext();U(o,i,t,e,n)});i&&r(i)},j.prototype.close=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();P(n,t,r)});r&&e(r)},j.prototype.mkdir=function(t,e,n){"function"==typeof e&&(n=e),n=L(n);var r=this,o=r.queueOrRun(function(){function e(){o.close(),n.apply(r,arguments)}var o=r.provider.openReadWriteContext();z(o,t,e)});o&&n(o)},j.prototype.rmdir=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();W(o,t,r)});r&&e(r)},j.prototype.stat=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();q(o,n.name,t,r)});r&&e(r)},j.prototype.fstat=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();H(n,o,t,r)});r&&e(r)},j.prototype.link=function(t,e,n){n=L(n);var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();Y(i,t,e,o)});o&&n(o)},j.prototype.unlink=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();X(o,t,r)});r&&e(r)},j.prototype.read=function(t,e,n,r,o,i){function s(t,n){i(t,n||0,e)}i=L(i);var a=this,c=a.queueOrRun(function(){function i(){c.close(),s.apply(this,arguments)}var c=a.provider.openReadWriteContext();K(a,c,t,e,n,r,o,i)});c&&i(c)},j.prototype.readFile=function(t,e){var n=L(arguments[arguments.length-1]),r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();V(r,i,t,e,o)});o&&n(o)},j.prototype.write=function(t,e,n,r,o,i){i=L(i);var s=this,a=s.queueOrRun(function(){function a(){c.close(),i.apply(s,arguments)}var c=s.provider.openReadWriteContext();J(s,c,t,e,n,r,o,a)});a&&i(a)},j.prototype.writeFile=function(t,e,n){var r=L(arguments[arguments.length-1]),o=this,i=o.queueOrRun(function(){function i(){s.close(),r.apply(o,arguments)}var s=o.provider.openReadWriteContext();Z(o,s,t,e,n,i)});i&&r(i)},j.prototype.appendFile=function(t,e,n){var r=L(arguments[arguments.length-1]),o=this,i=o.queueOrRun(function(){function i(){s.close(),r.apply(o,arguments)}var s=o.provider.openReadWriteContext();G(o,s,t,e,n,i)});i&&r(i)},j.prototype.exists=function(t){var e=L(arguments[arguments.length-1]),n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();Q(o,n.name,t,r)});r&&e(r)},j.prototype.lseek=function(t,e,n,r){r=L(r);var o=this,i=o.queueOrRun(function(){function i(){s.close(),r.apply(o,arguments)}var s=o.provider.openReadWriteContext();ie(o,s,t,e,n,i)});i&&r(i)},j.prototype.readdir=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();se(o,t,r)});r&&e(r)},j.prototype.rename=function(t,e,n){n=L(n);var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();ue(i,t,e,o)});o&&n(o)},j.prototype.readlink=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();le(o,t,r)});r&&e(r)},j.prototype.symlink=function(t,e){var n=L(arguments[arguments.length-1]),r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();fe(i,t,e,o)});o&&n(o)},j.prototype.lstat=function(t,e){e=L(e);var n=this,r=n.queueOrRun(function(){function r(){o.close(),e.apply(n,arguments)}var o=n.provider.openReadWriteContext();pe(n,o,t,r)});r&&e(r)},j.prototype.truncate=function(t,e,n){"function"==typeof e&&(n=e,e=0),n=L(n),e="number"==typeof e?e:0;var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();he(i,t,e,o)});o&&n(o)},j.prototype.ftruncate=function(t,e,n){n=L(n);var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();de(r,i,t,e,o)});o&&n(o)},j.prototype.utimes=function(t,e,n,r){r=L(r);var o=this,i=o.queueOrRun(function(){function i(){s.close(),r.apply(o,arguments)}var s=o.provider.openReadWriteContext();ae(s,t,e,n,i)});i&&r(i)},j.prototype.futimes=function(t,e,n,r){r=L(r);var o=this,i=o.queueOrRun(function(){function i(){s.close(),r.apply(o,arguments)}var s=o.provider.openReadWriteContext();ce(o,s,t,e,n,i)});i&&r(i)},j.prototype.setxattr=function(t,e,n,r,o){o=L(arguments[arguments.length-1]);var i="function"!=typeof r?r:null,s=this,a=s.queueOrRun(function(){function r(){a.close(),o.apply(s,arguments) -}var a=s.provider.openReadWriteContext();ee(a,t,e,n,i,r)});a&&o(a)},j.prototype.getxattr=function(t,e,n){n=L(n);var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();$(i,t,e,o)});o&&n(o)},j.prototype.fsetxattr=function(t,e,n,r,o){o=L(arguments[arguments.length-1]);var i="function"!=typeof r?r:null,s=this,a=s.queueOrRun(function(){function r(){a.close(),o.apply(s,arguments)}var a=s.provider.openReadWriteContext();ne(s,a,t,e,n,i,r)});a&&o(a)},j.prototype.fgetxattr=function(t,e,n){n=L(n);var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();te(r,i,t,e,o)});o&&n(o)},j.prototype.removexattr=function(t,e,n){n=L(n);var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();re(i,t,e,o)});o&&n(o)},j.prototype.fremovexattr=function(t,e,n){n=L(n);var r=this,o=r.queueOrRun(function(){function o(){i.close(),n.apply(r,arguments)}var i=r.provider.openReadWriteContext();oe(r,i,t,e,o)});o&&n(o)},j.prototype.Shell=function(t){return new Ke(this,t)},j}),n("src/index",["require","src/fs","src/path","src/errors"],function(t){return{FileSystem:t("src/fs"),Path:t("src/path"),Errors:t("src/errors")}});var o=e("src/index");return o}); \ No newline at end of file +/*! filer 2014-03-28 */ +(function(t,n){"object"==typeof exports?module.exports=n():"function"==typeof define&&define.amd?define(n):t.Filer||(t.Filer=n())})(this,function(){var t,n,e;(function(r){function i(t,n){return w.call(t,n)}function o(t,n){var e,r,i,o,s,a,c,u,f,l,p=n&&n.split("/"),h=m.map,d=h&&h["*"]||{};if(t&&"."===t.charAt(0))if(n){for(p=p.slice(0,p.length-1),t=p.concat(t.split("/")),u=0;t.length>u;u+=1)if(l=t[u],"."===l)t.splice(u,1),u-=1;else if(".."===l){if(1===u&&(".."===t[2]||".."===t[0]))break;u>0&&(t.splice(u-1,2),u-=2)}t=t.join("/")}else 0===t.indexOf("./")&&(t=t.substring(2));if((p||d)&&h){for(e=t.split("/"),u=e.length;u>0;u-=1){if(r=e.slice(0,u).join("/"),p)for(f=p.length;f>0;f-=1)if(i=h[p.slice(0,f).join("/")],i&&(i=i[r])){o=i,s=u;break}if(o)break;!a&&d&&d[r]&&(a=d[r],c=u)}!o&&a&&(o=a,s=c),o&&(e.splice(0,s,o),t=e.join("/"))}return t}function s(t,n){return function(){return h.apply(r,b.call(arguments,0).concat([t,n]))}}function a(t){return function(n){return o(n,t)}}function c(t){return function(n){g[t]=n}}function u(t){if(i(y,t)){var n=y[t];delete y[t],E[t]=!0,p.apply(r,n)}if(!i(g,t)&&!i(E,t))throw Error("No "+t);return g[t]}function f(t){var n,e=t?t.indexOf("!"):-1;return e>-1&&(n=t.substring(0,e),t=t.substring(e+1,t.length)),[n,t]}function l(t){return function(){return m&&m.config&&m.config[t]||{}}}var p,h,d,v,g={},y={},m={},E={},w=Object.prototype.hasOwnProperty,b=[].slice;d=function(t,n){var e,r=f(t),i=r[0];return t=r[1],i&&(i=o(i,n),e=u(i)),i?t=e&&e.normalize?e.normalize(t,a(n)):o(t,n):(t=o(t,n),r=f(t),i=r[0],t=r[1],i&&(e=u(i))),{f:i?i+"!"+t:t,n:t,pr:i,p:e}},v={require:function(t){return s(t)},exports:function(t){var n=g[t];return n!==void 0?n:g[t]={}},module:function(t){return{id:t,uri:"",exports:g[t],config:l(t)}}},p=function(t,n,e,o){var a,f,l,p,h,m,w=[];if(o=o||t,"function"==typeof e){for(n=!n.length&&e.length?["require","exports","module"]:n,h=0;n.length>h;h+=1)if(p=d(n[h],o),f=p.f,"require"===f)w[h]=v.require(t);else if("exports"===f)w[h]=v.exports(t),m=!0;else if("module"===f)a=w[h]=v.module(t);else if(i(g,f)||i(y,f)||i(E,f))w[h]=u(f);else{if(!p.p)throw Error(t+" missing "+f);p.p.load(p.n,s(o,!0),c(f),{}),w[h]=g[f]}l=e.apply(g[t],w),t&&(a&&a.exports!==r&&a.exports!==g[t]?g[t]=a.exports:l===r&&m||(g[t]=l))}else t&&(g[t]=e)},t=n=h=function(t,n,e,i,o){return"string"==typeof t?v[t]?v[t](n):u(d(t,n).f):(t.splice||(m=t,n.splice?(t=n,n=e,e=null):t=r),n=n||function(){},"function"==typeof e&&(e=i,i=o),i?p(r,t,n,e):setTimeout(function(){p(r,t,n,e)},4),h)},h.config=function(t){return m=t,m.deps&&h(m.deps,m.callback),h},e=function(t,n,e){n.splice||(e=n,n=[]),i(g,t)||i(y,t)||(y[t]=[t,n,e])},e.amd={jQuery:!0}})(),e("build/almond",function(){}),e("nodash",["require"],function(){function t(t,n){return h.call(t,n)}function n(t){return null==t?0:t.length===+t.length?t.length:g(t).length}function e(t){return t}function r(t,n,e){var r,i;if(null!=t)if(u&&t.forEach===u)t.forEach(n,e);else if(t.length===+t.length){for(r=0,i=t.length;i>r;r++)if(n.call(e,t[r],r,t)===v)return}else{var o=o(t);for(r=0,i=o.length;i>r;r++)if(n.call(e,t[o[r]],o[r],t)===v)return}}function i(t,n,i){n||(n=e);var o=!1;return null==t?o:l&&t.some===l?t.some(n,i):(r(t,function(t,e,r){return o||(o=n.call(i,t,e,r))?v:void 0}),!!o)}function o(t,n){return null==t?!1:f&&t.indexOf===f?-1!=t.indexOf(n):i(t,function(t){return t===n})}function s(t){this.value=t}function a(t){return t&&"object"==typeof t&&!Array.isArray(t)&&h.call(t,"__wrapped__")?t:new s(t)}var c=Array.prototype,u=c.forEach,f=c.indexOf,l=c.some,p=Object.prototype,h=p.hasOwnProperty,d=Object.keys,v={},g=d||function(n){if(n!==Object(n))throw new TypeError("Invalid object");var e=[];for(var r in n)t(n,r)&&e.push(r);return e};return s.prototype.has=function(n){return t(this.value,n)},s.prototype.contains=function(t){return o(this.value,t)},s.prototype.size=function(){return n(this.value)},a}),function(t){t["encoding-indexes"]=t["encoding-indexes"]||[]}(this),e("encoding-indexes-shim",function(){}),function(t){function n(t,n,e){return t>=n&&e>=t}function e(t,n){return Math.floor(t/n)}function r(t){var n=0;this.get=function(){return n>=t.length?j:Number(t[n])},this.offset=function(e){if(n+=e,0>n)throw Error("Seeking past start of the buffer");if(n>t.length)throw Error("Seeking past EOF")},this.match=function(e){if(e.length>n+t.length)return!1;var r;for(r=0;e.length>r;r+=1)if(Number(t[n+r])!==e[r])return!1;return!0}}function i(t){var n=0;this.emit=function(){var e,r=j;for(e=0;arguments.length>e;++e)r=Number(arguments[e]),t[n++]=r;return r}}function o(t){function e(t){for(var e=[],r=0,i=t.length;t.length>r;){var o=t.charCodeAt(r);if(n(o,55296,57343))if(n(o,56320,57343))e.push(65533);else if(r===i-1)e.push(65533);else{var s=t.charCodeAt(r+1);if(n(s,56320,57343)){var a=1023&o,c=1023&s;r+=1,e.push(65536+(a<<10)+c)}else e.push(65533)}else e.push(o);r+=1}return e}var r=0,i=e(t);this.offset=function(t){if(r+=t,0>r)throw Error("Seeking past start of the buffer");if(r>i.length)throw Error("Seeking past EOF")},this.get=function(){return r>=i.length?U:i[r]}}function s(){var t="";this.string=function(){return t},this.emit=function(n){65535>=n?t+=String.fromCharCode(n):(n-=65536,t+=String.fromCharCode(55296+(1023&n>>10)),t+=String.fromCharCode(56320+(1023&n)))}}function a(t){this.name="EncodingError",this.message=t,this.code=0}function c(t,n){if(t)throw new a("Decoder error");return n||65533}function u(t){throw new a("The code point "+t+" could not be encoded.")}function f(t){return t=(t+"").trim().toLowerCase(),Object.prototype.hasOwnProperty.call(W,t)?W[t]:null}function l(t,n){return(n||[])[t]||null}function p(t,n){var e=n.indexOf(t);return-1===e?null:e}function h(n){if(!("encoding-indexes"in t))throw Error("Indexes missing. Did you forget to include encoding-indexes.js?");return t["encoding-indexes"][n]}function d(t){if(t>39419&&189e3>t||t>1237575)return null;var n,e=0,r=0,i=h("gb18030");for(n=0;i.length>n;++n){var o=i[n];if(!(t>=o[0]))break;e=o[0],r=o[1]}return r+t-e}function v(t){var n,e=0,r=0,i=h("gb18030");for(n=0;i.length>n;++n){var o=i[n];if(!(t>=o[1]))break;e=o[1],r=o[0]}return r+t-e}function g(t){var e=t.fatal,r=0,i=0,o=0,s=0;this.decode=function(t){var a=t.get();if(a===j)return 0!==i?c(e):U;if(t.offset(1),0===i){if(n(a,0,127))return a;if(n(a,194,223))i=1,s=128,r=a-192;else if(n(a,224,239))i=2,s=2048,r=a-224;else{if(!n(a,240,244))return c(e);i=3,s=65536,r=a-240}return r*=Math.pow(64,i),null}if(!n(a,128,191))return r=0,i=0,o=0,s=0,t.offset(-1),c(e);if(o+=1,r+=(a-128)*Math.pow(64,i-o),o!==i)return null;var u=r,f=s;return r=0,i=0,o=0,s=0,n(u,f,1114111)&&!n(u,55296,57343)?u:c(e)}}function y(t){t.fatal,this.encode=function(t,r){var i=r.get();if(i===U)return j;if(r.offset(1),n(i,55296,57343))return u(i);if(n(i,0,127))return t.emit(i);var o,s;n(i,128,2047)?(o=1,s=192):n(i,2048,65535)?(o=2,s=224):n(i,65536,1114111)&&(o=3,s=240);for(var a=t.emit(e(i,Math.pow(64,o))+s);o>0;){var c=e(i,Math.pow(64,o-1));a=t.emit(128+c%64),o-=1}return a}}function m(t,e){var r=e.fatal;this.decode=function(e){var i=e.get();if(i===j)return U;if(e.offset(1),n(i,0,127))return i;var o=t[i-128];return null===o?c(r):o}}function E(t,e){e.fatal,this.encode=function(e,r){var i=r.get();if(i===U)return j;if(r.offset(1),n(i,0,127))return e.emit(i);var o=p(i,t);return null===o&&u(i),e.emit(o+128)}}function w(t,e){var r=e.fatal,i=0,o=0,s=0;this.decode=function(e){var a=e.get();if(a===j&&0===i&&0===o&&0===s)return U;a!==j||0===i&&0===o&&0===s||(i=0,o=0,s=0,c(r)),e.offset(1);var u;if(0!==s)return u=null,n(a,48,57)&&(u=d(10*(126*(10*(i-129)+(o-48))+(s-129))+a-48)),i=0,o=0,s=0,null===u?(e.offset(-3),c(r)):u;if(0!==o)return n(a,129,254)?(s=a,null):(e.offset(-2),i=0,o=0,c(r));if(0!==i){if(n(a,48,57)&&t)return o=a,null;var f=i,p=null;i=0;var v=127>a?64:65;return(n(a,64,126)||n(a,128,254))&&(p=190*(f-129)+(a-v)),u=null===p?null:l(p,h("gbk")),null===p&&e.offset(-1),null===u?c(r):u}return n(a,0,127)?a:128===a?8364:n(a,129,254)?(i=a,null):c(r)}}function b(t,r){r.fatal,this.encode=function(r,i){var o=i.get();if(o===U)return j;if(i.offset(1),n(o,0,127))return r.emit(o);var s=p(o,h("gbk"));if(null!==s){var a=e(s,190)+129,c=s%190,f=63>c?64:65;return r.emit(a,c+f)}if(null===s&&!t)return u(o);s=v(o);var l=e(e(e(s,10),126),10);s-=10*126*10*l;var d=e(e(s,10),126);s-=126*10*d;var g=e(s,10),y=s-10*g;return r.emit(l+129,d+48,g+129,y+48)}}function _(t){var e=t.fatal,r=!1,i=0;this.decode=function(t){var o=t.get();if(o===j&&0===i)return U;if(o===j&&0!==i)return i=0,c(e);if(t.offset(1),126===i)return i=0,123===o?(r=!0,null):125===o?(r=!1,null):126===o?126:10===o?null:(t.offset(-1),c(e));if(0!==i){var s=i;i=0;var a=null;return n(o,33,126)&&(a=l(190*(s-1)+(o+63),h("gbk"))),10===o&&(r=!1),null===a?c(e):a}return 126===o?(i=126,null):r?n(o,32,127)?(i=o,null):(10===o&&(r=!1),c(e)):n(o,0,127)?o:c(e)}}function A(t){t.fatal;var r=!1;this.encode=function(t,i){var o=i.get();if(o===U)return j;if(i.offset(1),n(o,0,127)&&r)return i.offset(-1),r=!1,t.emit(126,125);if(126===o)return t.emit(126,126);if(n(o,0,127))return t.emit(o);if(!r)return i.offset(-1),r=!0,t.emit(126,123);var s=p(o,h("gbk"));if(null===s)return u(o);var a=e(s,190)+1,c=s%190-63;return n(a,33,126)&&n(c,33,126)?t.emit(a,c):u(o)}}function x(t){var e=t.fatal,r=0,i=null;this.decode=function(t){if(null!==i){var o=i;return i=null,o}var s=t.get();if(s===j&&0===r)return U;if(s===j&&0!==r)return r=0,c(e);if(t.offset(1),0!==r){var a=r,u=null;r=0;var f=127>s?64:98;if((n(s,64,126)||n(s,161,254))&&(u=157*(a-129)+(s-f)),1133===u)return i=772,202;if(1135===u)return i=780,202;if(1164===u)return i=772,234;if(1166===u)return i=780,234;var p=null===u?null:l(u,h("big5"));return null===u&&t.offset(-1),null===p?c(e):p}return n(s,0,127)?s:n(s,129,254)?(r=s,null):c(e)}}function O(t){t.fatal,this.encode=function(t,r){var i=r.get();if(i===U)return j;if(r.offset(1),n(i,0,127))return t.emit(i);var o=p(i,h("big5"));if(null===o)return u(i);var s=e(o,157)+129,a=o%157,c=63>a?64:98;return t.emit(s,a+c)}}function k(t){var e=t.fatal,r=0,i=0;this.decode=function(t){var o=t.get();if(o===j)return 0===r&&0===i?U:(r=0,i=0,c(e));t.offset(1);var s,a;return 0!==i?(s=i,i=0,a=null,n(s,161,254)&&n(o,161,254)&&(a=l(94*(s-161)+o-161,h("jis0212"))),n(o,161,254)||t.offset(-1),null===a?c(e):a):142===r&&n(o,161,223)?(r=0,65377+o-161):143===r&&n(o,161,254)?(r=0,i=o,null):0!==r?(s=r,r=0,a=null,n(s,161,254)&&n(o,161,254)&&(a=l(94*(s-161)+o-161,h("jis0208"))),n(o,161,254)||t.offset(-1),null===a?c(e):a):n(o,0,127)?o:142===o||143===o||n(o,161,254)?(r=o,null):c(e)}}function S(t){t.fatal,this.encode=function(t,r){var i=r.get();if(i===U)return j;if(r.offset(1),n(i,0,127))return t.emit(i);if(165===i)return t.emit(92);if(8254===i)return t.emit(126);if(n(i,65377,65439))return t.emit(142,i-65377+161);var o=p(i,h("jis0208"));if(null===o)return u(i);var s=e(o,94)+161,a=o%94+161;return t.emit(s,a)}}function I(t){var e=t.fatal,r={ASCII:0,escape_start:1,escape_middle:2,escape_final:3,lead:4,trail:5,Katakana:6},i=r.ASCII,o=!1,s=0;this.decode=function(t){var a=t.get();switch(a!==j&&t.offset(1),i){default:case r.ASCII:return 27===a?(i=r.escape_start,null):n(a,0,127)?a:a===j?U:c(e);case r.escape_start:return 36===a||40===a?(s=a,i=r.escape_middle,null):(a!==j&&t.offset(-1),i=r.ASCII,c(e));case r.escape_middle:var u=s;return s=0,36!==u||64!==a&&66!==a?36===u&&40===a?(i=r.escape_final,null):40!==u||66!==a&&74!==a?40===u&&73===a?(i=r.Katakana,null):(a===j?t.offset(-1):t.offset(-2),i=r.ASCII,c(e)):(i=r.ASCII,null):(o=!1,i=r.lead,null);case r.escape_final:return 68===a?(o=!0,i=r.lead,null):(a===j?t.offset(-2):t.offset(-3),i=r.ASCII,c(e));case r.lead:return 10===a?(i=r.ASCII,c(e,10)):27===a?(i=r.escape_start,null):a===j?U:(s=a,i=r.trail,null);case r.trail:if(i=r.lead,a===j)return c(e);var f=null,p=94*(s-33)+a-33;return n(s,33,126)&&n(a,33,126)&&(f=o===!1?l(p,h("jis0208")):l(p,h("jis0212"))),null===f?c(e):f;case r.Katakana:return 27===a?(i=r.escape_start,null):n(a,33,95)?65377+a-33:a===j?U:c(e)}}}function R(t){t.fatal;var r={ASCII:0,lead:1,Katakana:2},i=r.ASCII;this.encode=function(t,o){var s=o.get();if(s===U)return j;if(o.offset(1),(n(s,0,127)||165===s||8254===s)&&i!==r.ASCII)return o.offset(-1),i=r.ASCII,t.emit(27,40,66);if(n(s,0,127))return t.emit(s);if(165===s)return t.emit(92);if(8254===s)return t.emit(126);if(n(s,65377,65439)&&i!==r.Katakana)return o.offset(-1),i=r.Katakana,t.emit(27,40,73);if(n(s,65377,65439))return t.emit(s-65377-33);if(i!==r.lead)return o.offset(-1),i=r.lead,t.emit(27,36,66);var a=p(s,h("jis0208"));if(null===a)return u(s);var c=e(a,94)+33,f=a%94+33;return t.emit(c,f)}}function T(t){var e=t.fatal,r=0;this.decode=function(t){var i=t.get();if(i===j&&0===r)return U;if(i===j&&0!==r)return r=0,c(e);if(t.offset(1),0!==r){var o=r;if(r=0,n(i,64,126)||n(i,128,252)){var s=127>i?64:65,a=160>o?129:193,u=l(188*(o-a)+i-s,h("jis0208"));return null===u?c(e):u}return t.offset(-1),c(e)}return n(i,0,128)?i:n(i,161,223)?65377+i-161:n(i,129,159)||n(i,224,252)?(r=i,null):c(e)}}function N(t){t.fatal,this.encode=function(t,r){var i=r.get();if(i===U)return j;if(r.offset(1),n(i,0,128))return t.emit(i);if(165===i)return t.emit(92);if(8254===i)return t.emit(126);if(n(i,65377,65439))return t.emit(i-65377+161);var o=p(i,h("jis0208"));if(null===o)return u(i);var s=e(o,188),a=31>s?129:193,c=o%188,f=63>c?64:65;return t.emit(s+a,c+f)}}function D(t){var e=t.fatal,r=0;this.decode=function(t){var i=t.get();if(i===j&&0===r)return U;if(i===j&&0!==r)return r=0,c(e);if(t.offset(1),0!==r){var o=r,s=null;if(r=0,n(o,129,198)){var a=178*(o-129);n(i,65,90)?s=a+i-65:n(i,97,122)?s=a+26+i-97:n(i,129,254)&&(s=a+26+26+i-129)}n(o,199,253)&&n(i,161,254)&&(s=12460+94*(o-199)+(i-161));var u=null===s?null:l(s,h("euc-kr"));return null===s&&t.offset(-1),null===u?c(e):u}return n(i,0,127)?i:n(i,129,253)?(r=i,null):c(e)}}function C(t){t.fatal,this.encode=function(t,r){var i=r.get();if(i===U)return j;if(r.offset(1),n(i,0,127))return t.emit(i);var o=p(i,h("euc-kr"));if(null===o)return u(i);var s,a;if(12460>o){s=e(o,178)+129,a=o%178;var c=26>a?65:52>a?71:77;return t.emit(s,a+c)}return o-=12460,s=e(o,94)+199,a=o%94+161,t.emit(s,a)}}function B(t,e){var r=e.fatal,i=null,o=null;this.decode=function(e){var s=e.get();if(s===j&&null===i&&null===o)return U;if(s===j&&(null!==i||null!==o))return c(r);if(e.offset(1),null===i)return i=s,null;var a;if(a=t?(i<<8)+s:(s<<8)+i,i=null,null!==o){var u=o;return o=null,n(a,56320,57343)?65536+1024*(u-55296)+(a-56320):(e.offset(-2),c(r))}return n(a,55296,56319)?(o=a,null):n(a,56320,57343)?c(r):a}}function M(t,r){r.fatal,this.encode=function(r,i){function o(n){var e=n>>8,i=255&n;return t?r.emit(e,i):r.emit(i,e)}var s=i.get();if(s===U)return j;if(i.offset(1),n(s,55296,57343)&&u(s),65535>=s)return o(s);var a=e(s-65536,1024)+55296,c=(s-65536)%1024+56320;return o(a),o(c)}}function L(t,n){if(!(this instanceof L))throw new TypeError("Constructor cannot be called as a function");if(t=t?t+"":q,n=Object(n),this._encoding=f(t),null===this._encoding||"utf-8"!==this._encoding.name&&"utf-16le"!==this._encoding.name&&"utf-16be"!==this._encoding.name)throw new TypeError("Unknown encoding: "+t);return this._streaming=!1,this._encoder=null,this._options={fatal:Boolean(n.fatal)},Object.defineProperty?Object.defineProperty(this,"encoding",{get:function(){return this._encoding.name}}):this.encoding=this._encoding.name,this}function F(t,n){if(!(this instanceof F))throw new TypeError("Constructor cannot be called as a function");if(t=t?t+"":q,n=Object(n),this._encoding=f(t),null===this._encoding)throw new TypeError("Unknown encoding: "+t);return this._streaming=!1,this._decoder=null,this._options={fatal:Boolean(n.fatal)},Object.defineProperty?Object.defineProperty(this,"encoding",{get:function(){return this._encoding.name}}):this.encoding=this._encoding.name,this}var j=-1,U=-1;a.prototype=Error.prototype;var P=[{encodings:[{labels:["unicode-1-1-utf-8","utf-8","utf8"],name:"utf-8"}],heading:"The Encoding"},{encodings:[{labels:["866","cp866","csibm866","ibm866"],name:"ibm866"},{labels:["csisolatin2","iso-8859-2","iso-ir-101","iso8859-2","iso88592","iso_8859-2","iso_8859-2:1987","l2","latin2"],name:"iso-8859-2"},{labels:["csisolatin3","iso-8859-3","iso-ir-109","iso8859-3","iso88593","iso_8859-3","iso_8859-3:1988","l3","latin3"],name:"iso-8859-3"},{labels:["csisolatin4","iso-8859-4","iso-ir-110","iso8859-4","iso88594","iso_8859-4","iso_8859-4:1988","l4","latin4"],name:"iso-8859-4"},{labels:["csisolatincyrillic","cyrillic","iso-8859-5","iso-ir-144","iso8859-5","iso88595","iso_8859-5","iso_8859-5:1988"],name:"iso-8859-5"},{labels:["arabic","asmo-708","csiso88596e","csiso88596i","csisolatinarabic","ecma-114","iso-8859-6","iso-8859-6-e","iso-8859-6-i","iso-ir-127","iso8859-6","iso88596","iso_8859-6","iso_8859-6:1987"],name:"iso-8859-6"},{labels:["csisolatingreek","ecma-118","elot_928","greek","greek8","iso-8859-7","iso-ir-126","iso8859-7","iso88597","iso_8859-7","iso_8859-7:1987","sun_eu_greek"],name:"iso-8859-7"},{labels:["csiso88598e","csisolatinhebrew","hebrew","iso-8859-8","iso-8859-8-e","iso-ir-138","iso8859-8","iso88598","iso_8859-8","iso_8859-8:1988","visual"],name:"iso-8859-8"},{labels:["csiso88598i","iso-8859-8-i","logical"],name:"iso-8859-8-i"},{labels:["csisolatin6","iso-8859-10","iso-ir-157","iso8859-10","iso885910","l6","latin6"],name:"iso-8859-10"},{labels:["iso-8859-13","iso8859-13","iso885913"],name:"iso-8859-13"},{labels:["iso-8859-14","iso8859-14","iso885914"],name:"iso-8859-14"},{labels:["csisolatin9","iso-8859-15","iso8859-15","iso885915","iso_8859-15","l9"],name:"iso-8859-15"},{labels:["iso-8859-16"],name:"iso-8859-16"},{labels:["cskoi8r","koi","koi8","koi8-r","koi8_r"],name:"koi8-r"},{labels:["koi8-u"],name:"koi8-u"},{labels:["csmacintosh","mac","macintosh","x-mac-roman"],name:"macintosh"},{labels:["dos-874","iso-8859-11","iso8859-11","iso885911","tis-620","windows-874"],name:"windows-874"},{labels:["cp1250","windows-1250","x-cp1250"],name:"windows-1250"},{labels:["cp1251","windows-1251","x-cp1251"],name:"windows-1251"},{labels:["ansi_x3.4-1968","ascii","cp1252","cp819","csisolatin1","ibm819","iso-8859-1","iso-ir-100","iso8859-1","iso88591","iso_8859-1","iso_8859-1:1987","l1","latin1","us-ascii","windows-1252","x-cp1252"],name:"windows-1252"},{labels:["cp1253","windows-1253","x-cp1253"],name:"windows-1253"},{labels:["cp1254","csisolatin5","iso-8859-9","iso-ir-148","iso8859-9","iso88599","iso_8859-9","iso_8859-9:1989","l5","latin5","windows-1254","x-cp1254"],name:"windows-1254"},{labels:["cp1255","windows-1255","x-cp1255"],name:"windows-1255"},{labels:["cp1256","windows-1256","x-cp1256"],name:"windows-1256"},{labels:["cp1257","windows-1257","x-cp1257"],name:"windows-1257"},{labels:["cp1258","windows-1258","x-cp1258"],name:"windows-1258"},{labels:["x-mac-cyrillic","x-mac-ukrainian"],name:"x-mac-cyrillic"}],heading:"Legacy single-byte encodings"},{encodings:[{labels:["chinese","csgb2312","csiso58gb231280","gb2312","gb_2312","gb_2312-80","gbk","iso-ir-58","x-gbk"],name:"gbk"},{labels:["gb18030"],name:"gb18030"},{labels:["hz-gb-2312"],name:"hz-gb-2312"}],heading:"Legacy multi-byte Chinese (simplified) encodings"},{encodings:[{labels:["big5","big5-hkscs","cn-big5","csbig5","x-x-big5"],name:"big5"}],heading:"Legacy multi-byte Chinese (traditional) encodings"},{encodings:[{labels:["cseucpkdfmtjapanese","euc-jp","x-euc-jp"],name:"euc-jp"},{labels:["csiso2022jp","iso-2022-jp"],name:"iso-2022-jp"},{labels:["csshiftjis","ms_kanji","shift-jis","shift_jis","sjis","windows-31j","x-sjis"],name:"shift_jis"}],heading:"Legacy multi-byte Japanese encodings"},{encodings:[{labels:["cseuckr","csksc56011987","euc-kr","iso-ir-149","korean","ks_c_5601-1987","ks_c_5601-1989","ksc5601","ksc_5601","windows-949"],name:"euc-kr"}],heading:"Legacy multi-byte Korean encodings"},{encodings:[{labels:["csiso2022kr","iso-2022-kr","iso-2022-cn","iso-2022-cn-ext"],name:"replacement"},{labels:["utf-16be"],name:"utf-16be"},{labels:["utf-16","utf-16le"],name:"utf-16le"},{labels:["x-user-defined"],name:"x-user-defined"}],heading:"Legacy miscellaneous encodings"}],z={},W={};P.forEach(function(t){t.encodings.forEach(function(t){z[t.name]=t,t.labels.forEach(function(n){W[n]=t})})}),z["utf-8"].getEncoder=function(t){return new y(t)},z["utf-8"].getDecoder=function(t){return new g(t)},function(){P.forEach(function(t){"Legacy single-byte encodings"===t.heading&&t.encodings.forEach(function(t){var n=h(t.name);t.getDecoder=function(t){return new m(n,t)},t.getEncoder=function(t){return new E(n,t)}})})}(),z.gbk.getEncoder=function(t){return new b(!1,t)},z.gbk.getDecoder=function(t){return new w(!1,t)},z.gb18030.getEncoder=function(t){return new b(!0,t)},z.gb18030.getDecoder=function(t){return new w(!0,t)},z["hz-gb-2312"].getEncoder=function(t){return new A(t)},z["hz-gb-2312"].getDecoder=function(t){return new _(t)},z.big5.getEncoder=function(t){return new O(t)},z.big5.getDecoder=function(t){return new x(t)},z["euc-jp"].getEncoder=function(t){return new S(t)},z["euc-jp"].getDecoder=function(t){return new k(t)},z["iso-2022-jp"].getEncoder=function(t){return new R(t)},z["iso-2022-jp"].getDecoder=function(t){return new I(t)},z.shift_jis.getEncoder=function(t){return new N(t)},z.shift_jis.getDecoder=function(t){return new T(t)},z["euc-kr"].getEncoder=function(t){return new C(t)},z["euc-kr"].getDecoder=function(t){return new D(t)},z["utf-16le"].getEncoder=function(t){return new M(!1,t)},z["utf-16le"].getDecoder=function(t){return new B(!1,t)},z["utf-16be"].getEncoder=function(t){return new M(!0,t)},z["utf-16be"].getDecoder=function(t){return new B(!0,t)};var q="utf-8";L.prototype={encode:function(t,n){t=t?t+"":"",n=Object(n),this._streaming||(this._encoder=this._encoding.getEncoder(this._options)),this._streaming=Boolean(n.stream);for(var e=[],r=new i(e),s=new o(t);s.get()!==U;)this._encoder.encode(r,s);if(!this._streaming){var a;do a=this._encoder.encode(r,s);while(a!==j);this._encoder=null}return new Uint8Array(e)}},F.prototype={decode:function(t,n){if(t&&!("buffer"in t&&"byteOffset"in t&&"byteLength"in t))throw new TypeError("Expected ArrayBufferView");t||(t=new Uint8Array(0)),n=Object(n),this._streaming||(this._decoder=this._encoding.getDecoder(this._options),this._BOMseen=!1),this._streaming=Boolean(n.stream);for(var e,i=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),o=new r(i),a=new s;o.get()!==j;)e=this._decoder.decode(o),null!==e&&e!==U&&a.emit(e);if(!this._streaming){do e=this._decoder.decode(o),null!==e&&e!==U&&a.emit(e);while(e!==U&&o.get()!=j);this._decoder=null}var c=a.string();return!this._BOMseen&&c.length&&(this._BOMseen=!0,-1!==["utf-8","utf-16le","utf-16be"].indexOf(this.encoding)&&65279===c.charCodeAt(0)&&(c=c.substring(1))),c}},t.TextEncoder=t.TextEncoder||L,t.TextDecoder=t.TextDecoder||F}(this),e("encoding",["encoding-indexes-shim"],function(){}),e("src/path",[],function(){function t(t,n){for(var e=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),e++):e&&(t.splice(r,1),e--)}if(n)for(;e--;e)t.unshift("..");return t}function n(){for(var n="",e=!1,r=arguments.length-1;r>=-1&&!e;r--){var i=r>=0?arguments[r]:"/";"string"==typeof i&&i&&(n=i+"/"+n,e="/"===i.charAt(0))}return n=t(n.split("/").filter(function(t){return!!t}),!e).join("/"),(e?"/":"")+n||"."}function e(n){var e="/"===n.charAt(0);return"/"===n.substr(-1),n=t(n.split("/").filter(function(t){return!!t}),!e).join("/"),n||e||(n="."),(e?"/":"")+n}function r(){var t=Array.prototype.slice.call(arguments,0);return e(t.filter(function(t){return t&&"string"==typeof t}).join("/"))}function i(t,n){function e(t){for(var n=0;t.length>n&&""===t[n];n++);for(var e=t.length-1;e>=0&&""===t[e];e--);return n>e?[]:t.slice(n,e-n+1)}t=exports.resolve(t).substr(1),n=exports.resolve(n).substr(1);for(var r=e(t.split("/")),i=e(n.split("/")),o=Math.min(r.length,i.length),s=o,a=0;o>a;a++)if(r[a]!==i[a]){s=a;break}for(var c=[],a=s;r.length>a;a++)c.push("..");return c=c.concat(i.slice(s)),c.join("/")}function o(t){var n=l(t),e=n[0],r=n[1];return e||r?(r&&(r=r.substr(0,r.length-1)),e+r):"."}function s(t,n){var e=l(t)[2];return n&&e.substr(-1*n.length)===n&&(e=e.substr(0,e.length-n.length)),""===e?"/":e}function a(t){return l(t)[3]}function c(t){return"/"===t.charAt(0)?!0:!1}function u(t){return-1!==(""+t).indexOf("\0")?!0:!1}var f=/^(\/?)([\s\S]+\/(?!$)|\/)?((?:\.{1,2}$|[\s\S]+?)?(\.[^.\/]*)?)$/,l=function(t){var n=f.exec(t);return[n[1]||"",n[2]||"",n[3]||"",n[4]||""]};return{normalize:e,resolve:n,join:r,relative:i,sep:"/",delimiter:":",dirname:o,basename:s,extname:a,isAbsolute:c,isNull:u}});var r=r||function(t,n){var e={},r=e.lib={},i=r.Base=function(){function t(){}return{extend:function(n){t.prototype=this;var e=new t;return n&&e.mixIn(n),e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var n in t)t.hasOwnProperty(n)&&(this[n]=t[n]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.$super.extend(this)}}}(),o=r.WordArray=i.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=e!=n?e:4*t.length},toString:function(t){return(t||a).stringify(this)},concat:function(t){var n=this.words,e=t.words,r=this.sigBytes,t=t.sigBytes;if(this.clamp(),r%4)for(var i=0;t>i;i++)n[r+i>>>2]|=(255&e[i>>>2]>>>24-8*(i%4))<<24-8*((r+i)%4);else if(e.length>65535)for(i=0;t>i;i+=4)n[r+i>>>2]=e[i>>>2];else n.push.apply(n,e);return this.sigBytes+=t,this},clamp:function(){var n=this.words,e=this.sigBytes;n[e>>>2]&=4294967295<<32-8*(e%4),n.length=t.ceil(e/4)},clone:function(){var t=i.clone.call(this);return t.words=this.words.slice(0),t},random:function(n){for(var e=[],r=0;n>r;r+=4)e.push(0|4294967296*t.random());return o.create(e,n)}}),s=e.enc={},a=s.Hex={stringify:function(t){for(var n=t.words,t=t.sigBytes,e=[],r=0;t>r;r++){var i=255&n[r>>>2]>>>24-8*(r%4);e.push((i>>>4).toString(16)),e.push((15&i).toString(16))}return e.join("")},parse:function(t){for(var n=t.length,e=[],r=0;n>r;r+=2)e[r>>>3]|=parseInt(t.substr(r,2),16)<<24-4*(r%8);return o.create(e,n/2)}},c=s.Latin1={stringify:function(t){for(var n=t.words,t=t.sigBytes,e=[],r=0;t>r;r++)e.push(String.fromCharCode(255&n[r>>>2]>>>24-8*(r%4)));return e.join("")},parse:function(t){for(var n=t.length,e=[],r=0;n>r;r++)e[r>>>2]|=(255&t.charCodeAt(r))<<24-8*(r%4);return o.create(e,n)}},u=s.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(n){throw Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=o.create(),this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=u.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(n){var e=this._data,r=e.words,i=e.sigBytes,s=this.blockSize,a=i/(4*s),a=n?t.ceil(a):t.max((0|a)-this._minBufferSize,0),n=a*s,i=t.min(4*n,i);if(n){for(var c=0;n>c;c+=s)this._doProcessBlock(r,c);c=r.splice(0,n),e.sigBytes-=i}return o.create(c,i)},clone:function(){var t=i.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});r.Hasher=f.extend({init:function(){this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize(),this._hash},clone:function(){var t=f.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:16,_createHelper:function(t){return function(n,e){return t.create(e).finalize(n)}},_createHmacHelper:function(t){return function(n,e){return l.HMAC.create(t,e).finalize(n)}}});var l=e.algo={};return e}(Math);(function(t){var n=r,e=n.lib,i=e.WordArray,e=e.Hasher,o=n.algo,s=[],a=[];(function(){function n(n){for(var e=t.sqrt(n),r=2;e>=r;r++)if(!(n%r))return!1;return!0}function e(t){return 0|4294967296*(t-(0|t))}for(var r=2,i=0;64>i;)n(r)&&(8>i&&(s[i]=e(t.pow(r,.5))),a[i]=e(t.pow(r,1/3)),i++),r++})();var c=[],o=o.SHA256=e.extend({_doReset:function(){this._hash=i.create(s.slice(0))},_doProcessBlock:function(t,n){for(var e=this._hash.words,r=e[0],i=e[1],o=e[2],s=e[3],u=e[4],f=e[5],l=e[6],p=e[7],h=0;64>h;h++){if(16>h)c[h]=0|t[n+h];else{var d=c[h-15],v=c[h-2];c[h]=((d<<25|d>>>7)^(d<<14|d>>>18)^d>>>3)+c[h-7]+((v<<15|v>>>17)^(v<<13|v>>>19)^v>>>10)+c[h-16]}d=p+((u<<26|u>>>6)^(u<<21|u>>>11)^(u<<7|u>>>25))+(u&f^~u&l)+a[h]+c[h],v=((r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22))+(r&i^r&o^i&o),p=l,l=f,f=u,u=0|s+d,s=o,o=i,i=r,r=0|d+v}e[0]=0|e[0]+r,e[1]=0|e[1]+i,e[2]=0|e[2]+o,e[3]=0|e[3]+s,e[4]=0|e[4]+u,e[5]=0|e[5]+f,e[6]=0|e[6]+l,e[7]=0|e[7]+p},_doFinalize:function(){var t=this._data,n=t.words,e=8*this._nDataBytes,r=8*t.sigBytes;n[r>>>5]|=128<<24-r%32,n[(r+64>>>9<<4)+15]=e,t.sigBytes=4*n.length,this._process()}});n.SHA256=e._createHelper(o),n.HmacSHA256=e._createHmacHelper(o)})(Math),e("crypto-js/rollups/sha256",function(){}),e("src/shared",["require","crypto-js/rollups/sha256"],function(t){function n(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(t){var n=0|16*Math.random(),e="x"==t?n:8|3&n;return e.toString(16)}).toUpperCase()}function e(t){return s.SHA256(t).toString(s.enc.hex)}function i(){}function o(t){for(var n=[],e=t.length,r=0;e>r;r++)n[r]=t[r];return n}t("crypto-js/rollups/sha256");var s=r;return{guid:n,hash:e,u8toArray:o,nop:i}}),e("src/constants",["require"],function(){var t="READ",n="WRITE",e="CREATE",r="EXCLUSIVE",i="TRUNCATE",o="APPEND",s="CREATE",a="REPLACE";return{FILE_SYSTEM_NAME:"local",FILE_STORE_NAME:"files",IDB_RO:"readonly",IDB_RW:"readwrite",WSQL_VERSION:"1",WSQL_SIZE:5242880,WSQL_DESC:"FileSystem Storage",MODE_FILE:"FILE",MODE_DIRECTORY:"DIRECTORY",MODE_SYMBOLIC_LINK:"SYMLINK",MODE_META:"META",SYMLOOP_MAX:10,BINARY_MIME_TYPE:"application/octet-stream",JSON_MIME_TYPE:"application/json",ROOT_DIRECTORY_NAME:"/",FS_FORMAT:"FORMAT",FS_NOCTIME:"NOCTIME",FS_NOMTIME:"NOMTIME",O_READ:t,O_WRITE:n,O_CREATE:e,O_EXCLUSIVE:r,O_TRUNCATE:i,O_APPEND:o,O_FLAGS:{r:[t],"r+":[t,n],w:[n,e,i],"w+":[n,t,e,i],wx:[n,e,r,i],"wx+":[n,t,e,r,i],a:[n,e,o],"a+":[n,t,e,o],ax:[n,e,r,o],"ax+":[n,t,e,r,o]},XATTR_CREATE:s,XATTR_REPLACE:a,FS_READY:"READY",FS_PENDING:"PENDING",FS_ERROR:"ERROR",SUPER_NODE_ID:"00000000-0000-0000-0000-000000000000",ENVIRONMENT:{TMP:"/tmp",PATH:""}}}),e("src/providers/indexeddb",["require","src/constants","src/constants","src/constants","src/constants"],function(t){function n(t,n){var e=t.transaction(i,n);this.objectStore=e.objectStore(i)}function e(t){this.name=t||r,this.db=null}var r=t("src/constants").FILE_SYSTEM_NAME,i=t("src/constants").FILE_STORE_NAME,o=window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB,s=t("src/constants").IDB_RW;return t("src/constants").IDB_RO,n.prototype.clear=function(t){try{var n=this.objectStore.clear();n.onsuccess=function(){t()},n.onerror=function(n){t(n)}}catch(e){t(e)}},n.prototype.get=function(t,n){try{var e=this.objectStore.get(t);e.onsuccess=function(t){var e=t.target.result;n(null,e)},e.onerror=function(t){n(t)}}catch(r){n(r)}},n.prototype.put=function(t,n,e){try{var r=this.objectStore.put(n,t);r.onsuccess=function(t){var n=t.target.result;e(null,n)},r.onerror=function(t){e(t)}}catch(i){e(i)}},n.prototype.delete=function(t,n){try{var e=this.objectStore.delete(t);e.onsuccess=function(t){var e=t.target.result;n(null,e)},e.onerror=function(t){n(t)}}catch(r){n(r)}},e.isSupported=function(){return!!o},e.prototype.open=function(t){var n=this;if(n.db)return t(null,!1),void 0;var e=!1,r=o.open(n.name);r.onupgradeneeded=function(t){var n=t.target.result;n.objectStoreNames.contains(i)&&n.deleteObjectStore(i),n.createObjectStore(i),e=!0},r.onsuccess=function(r){n.db=r.target.result,t(null,e)},r.onerror=function(n){t(n)}},e.prototype.getReadOnlyContext=function(){return new n(this.db,s)},e.prototype.getReadWriteContext=function(){return new n(this.db,s)},e}),e("src/providers/websql",["require","src/constants","src/constants","src/constants","src/constants","src/constants","src/shared"],function(t){function n(t,n){var e=this;this.getTransaction=function(r){return e.transaction?(r(e.transaction),void 0):(t[n?"readTransaction":"transaction"](function(t){e.transaction=t,r(t) +}),void 0)}}function e(t){this.name=t||r,this.db=null}var r=t("src/constants").FILE_SYSTEM_NAME,i=t("src/constants").FILE_STORE_NAME,o=t("src/constants").WSQL_VERSION,s=t("src/constants").WSQL_SIZE,a=t("src/constants").WSQL_DESC,c=t("src/shared").u8toArray;return n.prototype.clear=function(t){function n(n,e){t(e)}function e(){t(null)}this.getTransaction(function(t){t.executeSql("DELETE FROM "+i+";",[],e,n)})},n.prototype.get=function(t,n){function e(t,e){var r=0===e.rows.length?null:e.rows.item(0).data;try{r&&(r=JSON.parse(r),r.__isUint8Array&&(r=new Uint8Array(r.__array))),n(null,r)}catch(i){n(i)}}function r(t,e){n(e)}this.getTransaction(function(n){n.executeSql("SELECT data FROM "+i+" WHERE id = ?;",[t],e,r)})},n.prototype.put=function(t,n,e){function r(){e(null)}function o(t,n){e(n)}"[object Uint8Array]"===Object.prototype.toString.call(n)&&(n={__isUint8Array:!0,__array:c(n)}),n=JSON.stringify(n),this.getTransaction(function(e){e.executeSql("INSERT OR REPLACE INTO "+i+" (id, data) VALUES (?, ?);",[t,n],r,o)})},n.prototype.delete=function(t,n){function e(){n(null)}function r(t,e){n(e)}this.getTransaction(function(n){n.executeSql("DELETE FROM "+i+" WHERE id = ?;",[t],e,r)})},e.isSupported=function(){return!!window.openDatabase},e.prototype.open=function(t){function n(n,e){t(e)}function e(n){function e(n,e){var r=0===e.rows.item(0).count;t(null,r)}function o(n,e){t(e)}r.db=c,n.executeSql("SELECT COUNT(id) AS count FROM "+i+";",[],e,o)}var r=this;if(r.db)return t(null,!1),void 0;var c=window.openDatabase(r.name,o,a,s);return c?(c.transaction(function(t){function r(t){t.executeSql("CREATE INDEX IF NOT EXISTS idx_"+i+"_id"+" on "+i+" (id);",[],e,n)}t.executeSql("CREATE TABLE IF NOT EXISTS "+i+" (id unique, data TEXT);",[],r,n)}),void 0):(t("[WebSQL] Unable to open database."),void 0)},e.prototype.getReadOnlyContext=function(){return new n(this.db,!0)},e.prototype.getReadWriteContext=function(){return new n(this.db,!1)},e}),function(){function t(t){var e=!1;return function(){if(e)throw Error("Callback was already called.");e=!0,t.apply(n,arguments)}}var n,r,i={};n=this,null!=n&&(r=n.async),i.noConflict=function(){return n.async=r,i};var o=function(t,n){if(t.forEach)return t.forEach(n);for(var e=0;t.length>e;e+=1)n(t[e],e,t)},s=function(t,n){if(t.map)return t.map(n);var e=[];return o(t,function(t,r,i){e.push(n(t,r,i))}),e},a=function(t,n,e){return t.reduce?t.reduce(n,e):(o(t,function(t,r,i){e=n(e,t,r,i)}),e)},c=function(t){if(Object.keys)return Object.keys(t);var n=[];for(var e in t)t.hasOwnProperty(e)&&n.push(e);return n};"undefined"!=typeof process&&process.nextTick?(i.nextTick=process.nextTick,i.setImmediate="undefined"!=typeof setImmediate?function(t){setImmediate(t)}:i.nextTick):"function"==typeof setImmediate?(i.nextTick=function(t){setImmediate(t)},i.setImmediate=i.nextTick):(i.nextTick=function(t){setTimeout(t,0)},i.setImmediate=i.nextTick),i.each=function(n,e,r){if(r=r||function(){},!n.length)return r();var i=0;o(n,function(o){e(o,t(function(t){t?(r(t),r=function(){}):(i+=1,i>=n.length&&r(null))}))})},i.forEach=i.each,i.eachSeries=function(t,n,e){if(e=e||function(){},!t.length)return e();var r=0,i=function(){n(t[r],function(n){n?(e(n),e=function(){}):(r+=1,r>=t.length?e(null):i())})};i()},i.forEachSeries=i.eachSeries,i.eachLimit=function(t,n,e,r){var i=u(n);i.apply(null,[t,e,r])},i.forEachLimit=i.eachLimit;var u=function(t){return function(n,e,r){if(r=r||function(){},!n.length||0>=t)return r();var i=0,o=0,s=0;(function a(){if(i>=n.length)return r();for(;t>s&&n.length>o;)o+=1,s+=1,e(n[o-1],function(t){t?(r(t),r=function(){}):(i+=1,s-=1,i>=n.length?r():a())})})()}},f=function(t){return function(){var n=Array.prototype.slice.call(arguments);return t.apply(null,[i.each].concat(n))}},l=function(t,n){return function(){var e=Array.prototype.slice.call(arguments);return n.apply(null,[u(t)].concat(e))}},p=function(t){return function(){var n=Array.prototype.slice.call(arguments);return t.apply(null,[i.eachSeries].concat(n))}},h=function(t,n,e,r){var i=[];n=s(n,function(t,n){return{index:n,value:t}}),t(n,function(t,n){e(t.value,function(e,r){i[t.index]=r,n(e)})},function(t){r(t,i)})};i.map=f(h),i.mapSeries=p(h),i.mapLimit=function(t,n,e,r){return d(n)(t,e,r)};var d=function(t){return l(t,h)};i.reduce=function(t,n,e,r){i.eachSeries(t,function(t,r){e(n,t,function(t,e){n=e,r(t)})},function(t){r(t,n)})},i.inject=i.reduce,i.foldl=i.reduce,i.reduceRight=function(t,n,e,r){var o=s(t,function(t){return t}).reverse();i.reduce(o,n,e,r)},i.foldr=i.reduceRight;var v=function(t,n,e,r){var i=[];n=s(n,function(t,n){return{index:n,value:t}}),t(n,function(t,n){e(t.value,function(e){e&&i.push(t),n()})},function(){r(s(i.sort(function(t,n){return t.index-n.index}),function(t){return t.value}))})};i.filter=f(v),i.filterSeries=p(v),i.select=i.filter,i.selectSeries=i.filterSeries;var g=function(t,n,e,r){var i=[];n=s(n,function(t,n){return{index:n,value:t}}),t(n,function(t,n){e(t.value,function(e){e||i.push(t),n()})},function(){r(s(i.sort(function(t,n){return t.index-n.index}),function(t){return t.value}))})};i.reject=f(g),i.rejectSeries=p(g);var y=function(t,n,e,r){t(n,function(t,n){e(t,function(e){e?(r(t),r=function(){}):n()})},function(){r()})};i.detect=f(y),i.detectSeries=p(y),i.some=function(t,n,e){i.each(t,function(t,r){n(t,function(t){t&&(e(!0),e=function(){}),r()})},function(){e(!1)})},i.any=i.some,i.every=function(t,n,e){i.each(t,function(t,r){n(t,function(t){t||(e(!1),e=function(){}),r()})},function(){e(!0)})},i.all=i.every,i.sortBy=function(t,n,e){i.map(t,function(t,e){n(t,function(n,r){n?e(n):e(null,{value:t,criteria:r})})},function(t,n){if(t)return e(t);var r=function(t,n){var e=t.criteria,r=n.criteria;return r>e?-1:e>r?1:0};e(null,s(n.sort(r),function(t){return t.value}))})},i.auto=function(t,n){n=n||function(){};var e=c(t);if(!e.length)return n(null);var r={},s=[],u=function(t){s.unshift(t)},f=function(t){for(var n=0;s.length>n;n+=1)if(s[n]===t)return s.splice(n,1),void 0},l=function(){o(s.slice(0),function(t){t()})};u(function(){c(r).length===e.length&&(n(null,r),n=function(){})}),o(e,function(e){var s=t[e]instanceof Function?[t[e]]:t[e],p=function(t){var s=Array.prototype.slice.call(arguments,1);if(1>=s.length&&(s=s[0]),t){var a={};o(c(r),function(t){a[t]=r[t]}),a[e]=s,n(t,a),n=function(){}}else r[e]=s,i.setImmediate(l)},h=s.slice(0,Math.abs(s.length-1))||[],d=function(){return a(h,function(t,n){return t&&r.hasOwnProperty(n)},!0)&&!r.hasOwnProperty(e)};if(d())s[s.length-1](p,r);else{var v=function(){d()&&(f(v),s[s.length-1](p,r))};u(v)}})},i.waterfall=function(t,n){if(n=n||function(){},t.constructor!==Array){var e=Error("First argument to waterfall must be an array of functions");return n(e)}if(!t.length)return n();var r=function(t){return function(e){if(e)n.apply(null,arguments),n=function(){};else{var o=Array.prototype.slice.call(arguments,1),s=t.next();s?o.push(r(s)):o.push(n),i.setImmediate(function(){t.apply(null,o)})}}};r(i.iterator(t))()};var m=function(t,n,e){if(e=e||function(){},n.constructor===Array)t.map(n,function(t,n){t&&t(function(t){var e=Array.prototype.slice.call(arguments,1);1>=e.length&&(e=e[0]),n.call(null,t,e)})},e);else{var r={};t.each(c(n),function(t,e){n[t](function(n){var i=Array.prototype.slice.call(arguments,1);1>=i.length&&(i=i[0]),r[t]=i,e(n)})},function(t){e(t,r)})}};i.parallel=function(t,n){m({map:i.map,each:i.each},t,n)},i.parallelLimit=function(t,n,e){m({map:d(n),each:u(n)},t,e)},i.series=function(t,n){if(n=n||function(){},t.constructor===Array)i.mapSeries(t,function(t,n){t&&t(function(t){var e=Array.prototype.slice.call(arguments,1);1>=e.length&&(e=e[0]),n.call(null,t,e)})},n);else{var e={};i.eachSeries(c(t),function(n,r){t[n](function(t){var i=Array.prototype.slice.call(arguments,1);1>=i.length&&(i=i[0]),e[n]=i,r(t)})},function(t){n(t,e)})}},i.iterator=function(t){var n=function(e){var r=function(){return t.length&&t[e].apply(null,arguments),r.next()};return r.next=function(){return t.length-1>e?n(e+1):null},r};return n(0)},i.apply=function(t){var n=Array.prototype.slice.call(arguments,1);return function(){return t.apply(null,n.concat(Array.prototype.slice.call(arguments)))}};var E=function(t,n,e,r){var i=[];t(n,function(t,n){e(t,function(t,e){i=i.concat(e||[]),n(t)})},function(t){r(t,i)})};i.concat=f(E),i.concatSeries=p(E),i.whilst=function(t,n,e){t()?n(function(r){return r?e(r):(i.whilst(t,n,e),void 0)}):e()},i.doWhilst=function(t,n,e){t(function(r){return r?e(r):(n()?i.doWhilst(t,n,e):e(),void 0)})},i.until=function(t,n,e){t()?e():n(function(r){return r?e(r):(i.until(t,n,e),void 0)})},i.doUntil=function(t,n,e){t(function(r){return r?e(r):(n()?e():i.doUntil(t,n,e),void 0)})},i.queue=function(n,e){function r(t,n,r,s){n.constructor!==Array&&(n=[n]),o(n,function(n){var o={data:n,callback:"function"==typeof s?s:null};r?t.tasks.unshift(o):t.tasks.push(o),t.saturated&&t.tasks.length===e&&t.saturated(),i.setImmediate(t.process)})}void 0===e&&(e=1);var s=0,a={tasks:[],concurrency:e,saturated:null,empty:null,drain:null,push:function(t,n){r(a,t,!1,n)},unshift:function(t,n){r(a,t,!0,n)},process:function(){if(a.concurrency>s&&a.tasks.length){var e=a.tasks.shift();a.empty&&0===a.tasks.length&&a.empty(),s+=1;var r=function(){s-=1,e.callback&&e.callback.apply(e,arguments),a.drain&&0===a.tasks.length+s&&a.drain(),a.process()},i=t(r);n(e.data,i)}},length:function(){return a.tasks.length},running:function(){return s}};return a},i.cargo=function(t,n){var e=!1,r=[],a={tasks:r,payload:n,saturated:null,empty:null,drain:null,push:function(t,e){t.constructor!==Array&&(t=[t]),o(t,function(t){r.push({data:t,callback:"function"==typeof e?e:null}),a.saturated&&r.length===n&&a.saturated()}),i.setImmediate(a.process)},process:function c(){if(!e){if(0===r.length)return a.drain&&a.drain(),void 0;var i="number"==typeof n?r.splice(0,n):r.splice(0),u=s(i,function(t){return t.data});a.empty&&a.empty(),e=!0,t(u,function(){e=!1;var t=arguments;o(i,function(n){n.callback&&n.callback.apply(null,t)}),c()})}},length:function(){return r.length},running:function(){return e}};return a};var w=function(t){return function(n){var e=Array.prototype.slice.call(arguments,1);n.apply(null,e.concat([function(n){var e=Array.prototype.slice.call(arguments,1);"undefined"!=typeof console&&(n?console.error&&console.error(n):console[t]&&o(e,function(n){console[t](n)}))}]))}};i.log=w("log"),i.dir=w("dir"),i.memoize=function(t,n){var e={},r={};n=n||function(t){return t};var i=function(){var i=Array.prototype.slice.call(arguments),o=i.pop(),s=n.apply(null,i);s in e?o.apply(null,e[s]):s in r?r[s].push(o):(r[s]=[o],t.apply(null,i.concat([function(){e[s]=arguments;var t=r[s];delete r[s];for(var n=0,i=t.length;i>n;n++)t[n].apply(null,arguments)}])))};return i.memo=e,i.unmemoized=t,i},i.unmemoize=function(t){return function(){return(t.unmemoized||t).apply(null,arguments)}},i.times=function(t,n,e){for(var r=[],o=0;t>o;o++)r.push(o);return i.map(r,n,e)},i.timesSeries=function(t,n,e){for(var r=[],o=0;t>o;o++)r.push(o);return i.mapSeries(r,n,e)},i.compose=function(){var t=Array.prototype.reverse.call(arguments);return function(){var n=this,e=Array.prototype.slice.call(arguments),r=e.pop();i.reduce(t,e,function(t,e,r){e.apply(n,t.concat([function(){var t=arguments[0],n=Array.prototype.slice.call(arguments,1);r(t,n)}]))},function(t,e){r.apply(n,[t].concat(e))})}};var b=function(t,n){var e=function(){var e=this,r=Array.prototype.slice.call(arguments),i=r.pop();return t(n,function(t,n){t.apply(e,r.concat([n]))},i)};if(arguments.length>2){var r=Array.prototype.slice.call(arguments,2);return e.apply(this,r)}return e};i.applyEach=f(b),i.applyEachSeries=p(b),i.forever=function(t,n){function e(r){if(r){if(n)return n(r);throw r}t(e)}e()},e!==void 0&&e.amd?e("async",[],function(){return i}):"undefined"!=typeof module&&module.exports?module.exports=i:n.async=i}(),e("src/providers/memory",["require","src/constants","async"],function(t){function n(t,n){this.readOnly=n,this.objectStore=t}function e(t){this.name=t||r,this.db={}}var r=t("src/constants").FILE_SYSTEM_NAME,i=t("async").nextTick;return n.prototype.clear=function(t){if(this.readOnly)return i(function(){t("[MemoryContext] Error: write operation on read only context")}),void 0;var n=this.objectStore;Object.keys(n).forEach(function(t){delete n[t]}),i(t)},n.prototype.get=function(t,n){var e=this;i(function(){n(null,e.objectStore[t])})},n.prototype.put=function(t,n,e){return this.readOnly?(i(function(){e("[MemoryContext] Error: write operation on read only context")}),void 0):(this.objectStore[t]=n,i(e),void 0)},n.prototype.delete=function(t,n){return this.readOnly?(i(function(){n("[MemoryContext] Error: write operation on read only context")}),void 0):(delete this.objectStore[t],i(n),void 0)},e.isSupported=function(){return!0},e.prototype.open=function(t){i(function(){t(null,!0)})},e.prototype.getReadOnlyContext=function(){return new n(this.db,!0)},e.prototype.getReadWriteContext=function(){return new n(this.db,!1)},e}),e("src/providers/providers",["require","src/providers/indexeddb","src/providers/websql","src/providers/memory"],function(t){var n=t("src/providers/indexeddb"),e=t("src/providers/websql"),r=t("src/providers/memory");return{IndexedDB:n,WebSQL:e,Memory:r,Default:n,Fallback:function(){function t(){throw"[Filer Error] Your browser doesn't support IndexedDB or WebSQL."}return n.isSupported()?n:e.isSupported()?e:(t.isSupported=function(){return!1},t)}()}}),function(){function t(t){throw t}function n(t,n){var e=t.split("."),r=_;!(e[0]in r)&&r.execScript&&r.execScript("var "+e[0]);for(var i;e.length&&(i=e.shift());)e.length||n===w?r=r[i]?r[i]:r[i]={}:r[i]=n}function e(n,e){this.index="number"==typeof e?e:0,this.i=0,this.buffer=n instanceof(A?Uint8Array:Array)?n:new(A?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&t(Error("invalid index")),this.buffer.length<=this.index&&this.f()}function r(t){this.buffer=new(A?Uint16Array:Array)(2*t),this.length=0}function i(t){var n,e,r,i,o,s,a,c,u,f=t.length,l=0,p=Number.POSITIVE_INFINITY;for(c=0;f>c;++c)t[c]>l&&(l=t[c]),p>t[c]&&(p=t[c]);for(n=1<=r;){for(c=0;f>c;++c)if(t[c]===r){for(s=0,a=i,u=0;r>u;++u)s=s<<1|1&a,a>>=1;for(u=s;n>u;u+=o)e[u]=r<<16|c;++i}++r,i<<=1,o<<=1}return[e,l,p]}function o(t,n){this.h=N,this.w=0,this.input=A&&t instanceof Array?new Uint8Array(t):t,this.b=0,n&&(n.lazy&&(this.w=n.lazy),"number"==typeof n.compressionType&&(this.h=n.compressionType),n.outputBuffer&&(this.a=A&&n.outputBuffer instanceof Array?new Uint8Array(n.outputBuffer):n.outputBuffer),"number"==typeof n.outputIndex&&(this.b=n.outputIndex)),this.a||(this.a=new(A?Uint8Array:Array)(32768))}function s(t,n){this.length=t,this.G=n}function a(n,e){function r(n,e){var r,i=n.G,o=[],s=0;r=M[n.length],o[s++]=65535&r,o[s++]=255&r>>16,o[s++]=r>>24;var a;switch(b){case 1===i:a=[0,i-1,0];break;case 2===i:a=[1,i-2,0];break;case 3===i:a=[2,i-3,0];break;case 4===i:a=[3,i-4,0];break;case 6>=i:a=[4,i-5,1];break;case 8>=i:a=[5,i-7,1];break;case 12>=i:a=[6,i-9,2];break;case 16>=i:a=[7,i-13,2];break;case 24>=i:a=[8,i-17,3];break;case 32>=i:a=[9,i-25,3];break;case 48>=i:a=[10,i-33,4];break;case 64>=i:a=[11,i-49,4];break;case 96>=i:a=[12,i-65,5];break;case 128>=i:a=[13,i-97,5];break;case 192>=i:a=[14,i-129,6];break;case 256>=i:a=[15,i-193,6];break;case 384>=i:a=[16,i-257,7];break;case 512>=i:a=[17,i-385,7];break;case 768>=i:a=[18,i-513,8];break;case 1024>=i:a=[19,i-769,8];break;case 1536>=i:a=[20,i-1025,9];break;case 2048>=i:a=[21,i-1537,9];break;case 3072>=i:a=[22,i-2049,10];break;case 4096>=i:a=[23,i-3073,10];break;case 6144>=i:a=[24,i-4097,11];break;case 8192>=i:a=[25,i-6145,11];break;case 12288>=i:a=[26,i-8193,12];break;case 16384>=i:a=[27,i-12289,12];break;case 24576>=i:a=[28,i-16385,13];break;case 32768>=i:a=[29,i-24577,13];break;default:t("invalid distance")}r=a,o[s++]=r[0],o[s++]=r[1],o[s++]=r[2];var c,u;for(c=0,u=o.length;u>c;++c)v[g++]=o[c];m[o[0]]++,E[o[3]]++,y=n.length+e-1,p=null}var i,o,s,a,u,f,l,p,h,d={},v=A?new Uint16Array(2*e.length):[],g=0,y=0,m=new(A?Uint32Array:Array)(286),E=new(A?Uint32Array:Array)(30),_=n.w;if(!A){for(s=0;285>=s;)m[s++]=0;for(s=0;29>=s;)E[s++]=0}for(m[256]=1,i=0,o=e.length;o>i;++i){for(s=u=0,a=3;a>s&&i+s!==o;++s)u=u<<8|e[i+s];if(d[u]===w&&(d[u]=[]),f=d[u],!(y-->0)){for(;f.length>0&&i-f[0]>32768;)f.shift();if(i+3>=o){for(p&&r(p,-1),s=0,a=o-i;a>s;++s)h=e[i+s],v[g++]=h,++m[h];break}f.length>0?(l=c(e,i,f),p?p.lengthl.length?p=l:r(l,0)):p?r(p,-1):(h=e[i],v[g++]=h,++m[h])}f.push(i)}return v[g++]=256,m[256]++,n.L=m,n.K=E,A?v.subarray(0,g):v}function c(t,n,e){var r,i,o,a,c,u,f=0,l=t.length;a=0,u=e.length;t:for(;u>a;a++){if(r=e[u-a-1],o=3,f>3){for(c=f;c>3;c--)if(t[r+c-1]!==t[n+c-1])continue t;o=f}for(;258>o&&l>n+o&&t[r+o]===t[n+o];)++o;if(o>f&&(i=r,f=o),258===o)break}return new s(f,n-i)}function u(t,n){var e,i,o,s,a,c=t.length,u=new r(572),l=new(A?Uint8Array:Array)(c);if(!A)for(s=0;c>s;s++)l[s]=0;for(s=0;c>s;++s)t[s]>0&&u.push(s,t[s]);if(e=Array(u.length/2),i=new(A?Uint32Array:Array)(u.length/2),1===e.length)return l[u.pop().index]=1,l;for(s=0,a=u.length/2;a>s;++s)e[s]=u.pop(),i[s]=e[s].value;for(o=f(i,i.length,n),s=0,a=e.length;a>s;++s)l[e[s].index]=o[s];return l}function f(t,n,e){function r(t){var e=h[t][d[t]];e===n?(r(t+1),r(t+1)):--l[e],++d[t]}var i,o,s,a,c,u=new(A?Uint16Array:Array)(e),f=new(A?Uint8Array:Array)(e),l=new(A?Uint8Array:Array)(n),p=Array(e),h=Array(e),d=Array(e),v=(1<o;++o)g>v?f[o]=0:(f[o]=1,v-=g),v<<=1,u[e-2-o]=(0|u[e-1-o]/2)+n;for(u[0]=f[0],p[0]=Array(u[0]),h[0]=Array(u[0]),o=1;e>o;++o)u[o]>2*u[o-1]+f[o]&&(u[o]=2*u[o-1]+f[o]),p[o]=Array(u[o]),h[o]=Array(u[o]);for(i=0;n>i;++i)l[i]=e;for(s=0;u[e-1]>s;++s)p[e-1][s]=t[s],h[e-1][s]=s;for(i=0;e>i;++i)d[i]=0;for(1===f[e-1]&&(--l[0],++d[e-1]),o=e-2;o>=0;--o){for(a=i=0,c=d[o+1],s=0;u[o]>s;s++)a=p[o+1][c]+p[o+1][c+1],a>t[i]?(p[o][s]=a,h[o][s]=n,c+=2):(p[o][s]=t[i],h[o][s]=i,++i);d[o]=0,1===f[o]&&r(o)}return l}function l(t){var n,e,r,i,o=new(A?Uint16Array:Array)(t.length),s=[],a=[],c=0;for(n=0,e=t.length;e>n;n++)s[t[n]]=(0|s[t[n]])+1;for(n=1,e=16;e>=n;n++)a[n]=c,c+=0|s[n],c<<=1;for(n=0,e=t.length;e>n;n++)for(c=a[t[n]],a[t[n]]+=1,r=o[n]=0,i=t[n];i>r;r++)o[n]=o[n]<<1|1&c,c>>>=1;return o}function p(n,e){switch(this.l=[],this.m=32768,this.e=this.g=this.c=this.q=0,this.input=A?new Uint8Array(n):n,this.s=!1,this.n=F,this.B=!1,(e||!(e={}))&&(e.index&&(this.c=e.index),e.bufferSize&&(this.m=e.bufferSize),e.bufferType&&(this.n=e.bufferType),e.resize&&(this.B=e.resize)),this.n){case L:this.b=32768,this.a=new(A?Uint8Array:Array)(32768+this.m+258);break;case F:this.b=0,this.a=new(A?Uint8Array:Array)(this.m),this.f=this.J,this.t=this.H,this.o=this.I;break;default:t(Error("invalid inflate mode"))}}function h(n,e){for(var r,i=n.g,o=n.e,s=n.input,a=n.c;e>o;)r=s[a++],r===w&&t(Error("input buffer is broken")),i|=r<>>e,n.e=o-e,n.c=a,r}function d(t,n){for(var e,r,i,o=t.g,s=t.e,a=t.input,c=t.c,u=n[0],f=n[1];f>s&&(e=a[c++],e!==w);)o|=e<>>16,t.g=o>>i,t.e=s-i,t.c=c,65535&r}function v(t){function n(t,n,e){var r,i,o,s;for(s=0;t>s;)switch(r=d(this,n)){case 16:for(o=3+h(this,2);o--;)e[s++]=i;break;case 17:for(o=3+h(this,3);o--;)e[s++]=0;i=0;break;case 18:for(o=11+h(this,7);o--;)e[s++]=0;i=0;break;default:i=e[s++]=r}return e}var e,r,o,s,a=h(t,5)+257,c=h(t,5)+1,u=h(t,4)+4,f=new(A?Uint8Array:Array)(W.length);for(s=0;u>s;++s)f[W[s]]=h(t,3);e=i(f),r=new(A?Uint8Array:Array)(a),o=new(A?Uint8Array:Array)(c),t.o(i(n.call(t,a,e,r)),i(n.call(t,c,e,o)))}function g(t){if("string"==typeof t){var n,e,r=t.split("");for(n=0,e=r.length;e>n;n++)r[n]=(255&r[n].charCodeAt(0))>>>0;t=r}for(var i,o=1,s=0,a=t.length,c=0;a>0;){i=a>1024?1024:a,a-=i;do o+=t[c++],s+=o;while(--i);o%=65521,s%=65521}return(s<<16|o)>>>0}function y(n,e){var r,i;switch(this.input=n,this.c=0,(e||!(e={}))&&(e.index&&(this.c=e.index),e.verify&&(this.M=e.verify)),r=n[this.c++],i=n[this.c++],15&r){case rn:this.method=rn;break;default:t(Error("unsupported compression method"))}0!==((r<<8)+i)%31&&t(Error("invalid fcheck flag:"+((r<<8)+i)%31)),32&i&&t(Error("fdict flag is not supported")),this.A=new p(n,{index:this.c,bufferSize:e.bufferSize,bufferType:e.bufferType,resize:e.resize})}function m(t,n){this.input=t,this.a=new(A?Uint8Array:Array)(32768),this.h=on.k;var e,r={};!n&&(n={})||"number"!=typeof n.compressionType||(this.h=n.compressionType);for(e in n)r[e]=n[e];r.outputBuffer=this.a,this.z=new o(this.input,r)}function E(t,e){var r,i,o,s;if(Object.keys)r=Object.keys(e);else for(i in r=[],o=0,e)r[o++]=i;for(o=0,s=r.length;s>o;++o)i=r[o],n(t+"."+i,e[i])}var w=void 0,b=!0,_=this,A="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;e.prototype.f=function(){var t,n=this.buffer,e=n.length,r=new(A?Uint8Array:Array)(e<<1);if(A)r.set(n);else for(t=0;e>t;++t)r[t]=n[t];return this.buffer=r},e.prototype.d=function(t,n,e){var r,i=this.buffer,o=this.index,s=this.i,a=i[o];if(e&&n>1&&(t=n>8?(R[255&t]<<24|R[255&t>>>8]<<16|R[255&t>>>16]<<8|R[255&t>>>24])>>32-n:R[t]>>8-n),8>n+s)a=a<r;++r)a=a<<1|1&t>>n-r-1,8===++s&&(s=0,i[o++]=R[a],a=0,o===i.length&&(i=this.f()));i[o]=a,this.buffer=i,this.i=s,this.index=o},e.prototype.finish=function(){var t,n=this.buffer,e=this.index;return this.i>0&&(n[e]<<=8-this.i,n[e]=R[n[e]],e++),A?t=n.subarray(0,e):(n.length=e,t=n),t};var x,O=new(A?Uint8Array:Array)(256);for(x=0;256>x;++x){for(var k=x,S=k,I=7,k=k>>>1;k;k>>>=1)S<<=1,S|=1&k,--I;O[x]=(255&S<>>0}var R=O;r.prototype.getParent=function(t){return 2*(0|(t-2)/4)},r.prototype.push=function(t,n){var e,r,i,o=this.buffer;for(e=this.length,o[this.length++]=n,o[this.length++]=t;e>0&&(r=this.getParent(e),o[e]>o[r]);)i=o[e],o[e]=o[r],o[r]=i,i=o[e+1],o[e+1]=o[r+1],o[r+1]=i,e=r;return this.length},r.prototype.pop=function(){var t,n,e,r,i,o=this.buffer;for(n=o[0],t=o[1],this.length-=2,o[0]=o[this.length],o[1]=o[this.length+1],i=0;(r=2*i+2,!(r>=this.length))&&(this.length>r+2&&o[r+2]>o[r]&&(r+=2),o[r]>o[i]);)e=o[i],o[i]=o[r],o[r]=e,e=o[i+1],o[i+1]=o[r+1],o[r+1]=e,i=r;return{index:t,value:n,length:this.length}};var T,N=2,D={NONE:0,r:1,k:N,N:3},C=[];for(T=0;288>T;T++)switch(b){case 143>=T:C.push([T+48,8]);break;case 255>=T:C.push([T-144+400,9]);break;case 279>=T:C.push([T-256+0,7]);break;case 287>=T:C.push([T-280+192,8]);break;default:t("invalid literal: "+T)}o.prototype.j=function(){var n,r,i,o,s=this.input;switch(this.h){case 0:for(i=0,o=s.length;o>i;){r=A?s.subarray(i,i+65535):s.slice(i,i+65535),i+=r.length;var c=r,f=i===o,p=w,h=w,d=w,v=w,g=w,y=this.a,m=this.b;if(A){for(y=new Uint8Array(this.a.buffer);y.length<=m+c.length+5;)y=new Uint8Array(y.length<<1);y.set(this.a)}if(p=f?1:0,y[m++]=0|p,h=c.length,d=65535&~h+65536,y[m++]=255&h,y[m++]=255&h>>>8,y[m++]=255&d,y[m++]=255&d>>>8,A)y.set(c,m),m+=c.length,y=y.subarray(0,m);else{for(v=0,g=c.length;g>v;++v)y[m++]=c[v];y.length=m}this.b=m,this.a=y}break;case 1:var E=new e(A?new Uint8Array(this.a.buffer):this.a,this.b);E.d(1,1,b),E.d(1,2,b);var _,x,O,k=a(this,s);for(_=0,x=k.length;x>_;_++)if(O=k[_],e.prototype.d.apply(E,C[O]),O>256)E.d(k[++_],k[++_],b),E.d(k[++_],5),E.d(k[++_],k[++_],b);else if(256===O)break;this.a=E.finish(),this.b=this.a.length;break;case N:var S,I,R,T,D,B,M,L,F,j,U,P,z,W,q,V=new e(A?new Uint8Array(this.a.buffer):this.a,this.b),H=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Y=Array(19);for(S=N,V.d(1,1,b),V.d(S,2,b),I=a(this,s),B=u(this.L,15),M=l(B),L=u(this.K,7),F=l(L),R=286;R>257&&0===B[R-1];R--);for(T=30;T>1&&0===L[T-1];T--);var X,K,J,Z,G,Q,$=R,tn=T,nn=new(A?Uint32Array:Array)($+tn),en=new(A?Uint32Array:Array)(316),rn=new(A?Uint8Array:Array)(19);for(X=K=0;$>X;X++)nn[K++]=B[X];for(X=0;tn>X;X++)nn[K++]=L[X];if(!A)for(X=0,Z=rn.length;Z>X;++X)rn[X]=0;for(X=G=0,Z=nn.length;Z>X;X+=K){for(K=1;Z>X+K&&nn[X+K]===nn[X];++K);if(J=K,0===nn[X])if(3>J)for(;J-->0;)en[G++]=0,rn[0]++;else for(;J>0;)Q=138>J?J:138,Q>J-3&&J>Q&&(Q=J-3),10>=Q?(en[G++]=17,en[G++]=Q-3,rn[17]++):(en[G++]=18,en[G++]=Q-11,rn[18]++),J-=Q;else if(en[G++]=nn[X],rn[nn[X]]++,J--,3>J)for(;J-->0;)en[G++]=nn[X],rn[nn[X]]++;else for(;J>0;)Q=6>J?J:6,Q>J-3&&J>Q&&(Q=J-3),en[G++]=16,en[G++]=Q-3,rn[16]++,J-=Q}for(n=A?en.subarray(0,G):en.slice(0,G),j=u(rn,7),W=0;19>W;W++)Y[W]=j[H[W]];for(D=19;D>4&&0===Y[D-1];D--);for(U=l(j),V.d(R-257,5,b),V.d(T-1,5,b),V.d(D-4,4,b),W=0;D>W;W++)V.d(Y[W],3,b);for(W=0,q=n.length;q>W;W++)if(P=n[W],V.d(U[P],j[P],b),P>=16){switch(W++,P){case 16:z=2;break;case 17:z=3;break;case 18:z=7;break;default:t("invalid code: "+P)}V.d(n[W],z,b)}var on,sn,an,cn,un,fn,ln,pn,hn=[M,B],dn=[F,L];for(un=hn[0],fn=hn[1],ln=dn[0],pn=dn[1],on=0,sn=I.length;sn>on;++on)if(an=I[on],V.d(un[an],fn[an],b),an>256)V.d(I[++on],I[++on],b),cn=I[++on],V.d(ln[cn],pn[cn],b),V.d(I[++on],I[++on],b);else if(256===an)break;this.a=V.finish(),this.b=this.a.length;break;default:t("invalid compression type")}return this.a};var B=function(){function n(n){switch(b){case 3===n:return[257,n-3,0];case 4===n:return[258,n-4,0];case 5===n:return[259,n-5,0];case 6===n:return[260,n-6,0];case 7===n:return[261,n-7,0];case 8===n:return[262,n-8,0];case 9===n:return[263,n-9,0];case 10===n:return[264,n-10,0];case 12>=n:return[265,n-11,1];case 14>=n:return[266,n-13,1];case 16>=n:return[267,n-15,1];case 18>=n:return[268,n-17,1];case 22>=n:return[269,n-19,2];case 26>=n:return[270,n-23,2];case 30>=n:return[271,n-27,2];case 34>=n:return[272,n-31,2];case 42>=n:return[273,n-35,3];case 50>=n:return[274,n-43,3];case 58>=n:return[275,n-51,3];case 66>=n:return[276,n-59,3];case 82>=n:return[277,n-67,4];case 98>=n:return[278,n-83,4];case 114>=n:return[279,n-99,4];case 130>=n:return[280,n-115,4];case 162>=n:return[281,n-131,5];case 194>=n:return[282,n-163,5];case 226>=n:return[283,n-195,5];case 257>=n:return[284,n-227,5];case 258===n:return[285,n-258,0];default:t("invalid length: "+n)}}var e,r,i=[];for(e=3;258>=e;e++)r=n(e),i[e]=r[2]<<24|r[1]<<16|r[0];return i}(),M=A?new Uint32Array(B):B,L=0,F=1,j={D:L,C:F};p.prototype.p=function(){for(;!this.s;){var n=h(this,3);switch(1&n&&(this.s=b),n>>>=1){case 0:var e=this.input,r=this.c,i=this.a,o=this.b,s=w,a=w,c=w,u=i.length,f=w;switch(this.e=this.g=0,s=e[r++],s===w&&t(Error("invalid uncompressed block header: LEN (first byte)")),a=s,s=e[r++],s===w&&t(Error("invalid uncompressed block header: LEN (second byte)")),a|=s<<8,s=e[r++],s===w&&t(Error("invalid uncompressed block header: NLEN (first byte)")),c=s,s=e[r++],s===w&&t(Error("invalid uncompressed block header: NLEN (second byte)")),c|=s<<8,a===~c&&t(Error("invalid uncompressed block header: length verify")),r+a>e.length&&t(Error("input buffer is broken")),this.n){case L:for(;o+a>i.length;){if(f=u-o,a-=f,A)i.set(e.subarray(r,r+f),o),o+=f,r+=f;else for(;f--;)i[o++]=e[r++];this.b=o,i=this.f(),o=this.b}break;case F:for(;o+a>i.length;)i=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(A)i.set(e.subarray(r,r+a),o),o+=a,r+=a;else for(;a--;)i[o++]=e[r++];this.c=r,this.b=o,this.a=i;break;case 1:this.o(tn,en);break;case 2:v(this);break;default:t(Error("unknown BTYPE: "+n))}}return this.t()};var U,P,z=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],W=A?new Uint16Array(z):z,q=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],V=A?new Uint16Array(q):q,H=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],Y=A?new Uint8Array(H):H,X=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],K=A?new Uint16Array(X):X,J=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Z=A?new Uint8Array(J):J,G=new(A?Uint8Array:Array)(288);for(U=0,P=G.length;P>U;++U)G[U]=143>=U?8:255>=U?9:279>=U?7:8;var Q,$,tn=i(G),nn=new(A?Uint8Array:Array)(30);for(Q=0,$=nn.length;$>Q;++Q)nn[Q]=5;var en=i(nn);p.prototype.o=function(t,n){var e=this.a,r=this.b;this.u=t;for(var i,o,s,a,c=e.length-258;256!==(i=d(this,t));)if(256>i)r>=c&&(this.b=r,e=this.f(),r=this.b),e[r++]=i;else for(o=i-257,a=V[o],Y[o]>0&&(a+=h(this,Y[o])),i=d(this,n),s=K[i],Z[i]>0&&(s+=h(this,Z[i])),r>=c&&(this.b=r,e=this.f(),r=this.b);a--;)e[r]=e[r++-s];for(;this.e>=8;)this.e-=8,this.c--;this.b=r},p.prototype.I=function(t,n){var e=this.a,r=this.b;this.u=t;for(var i,o,s,a,c=e.length;256!==(i=d(this,t));)if(256>i)r>=c&&(e=this.f(),c=e.length),e[r++]=i;else for(o=i-257,a=V[o],Y[o]>0&&(a+=h(this,Y[o])),i=d(this,n),s=K[i],Z[i]>0&&(s+=h(this,Z[i])),r+a>c&&(e=this.f(),c=e.length);a--;)e[r]=e[r++-s];for(;this.e>=8;)this.e-=8,this.c--;this.b=r},p.prototype.f=function(){var t,n,e=new(A?Uint8Array:Array)(this.b-32768),r=this.b-32768,i=this.a;if(A)e.set(i.subarray(32768,e.length));else for(t=0,n=e.length;n>t;++t)e[t]=i[t+32768];if(this.l.push(e),this.q+=e.length,A)i.set(i.subarray(r,r+32768));else for(t=0;32768>t;++t)i[t]=i[r+t];return this.b=32768,i},p.prototype.J=function(t){var n,e,r,i,o=0|this.input.length/this.c+1,s=this.input,a=this.a;return t&&("number"==typeof t.v&&(o=t.v),"number"==typeof t.F&&(o+=t.F)),2>o?(e=(s.length-this.c)/this.u[2],i=0|258*(e/2),r=a.length>i?a.length+i:a.length<<1):r=a.length*o,A?(n=new Uint8Array(r),n.set(a)):n=a,this.a=n},p.prototype.t=function(){var t,n,e,r,i,o=0,s=this.a,a=this.l,c=new(A?Uint8Array:Array)(this.q+(this.b-32768));if(0===a.length)return A?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);for(n=0,e=a.length;e>n;++n)for(t=a[n],r=0,i=t.length;i>r;++r)c[o++]=t[r];for(n=32768,e=this.b;e>n;++n)c[o++]=s[n];return this.l=[],this.buffer=c},p.prototype.H=function(){var t,n=this.b;return A?this.B?(t=new Uint8Array(n),t.set(this.a.subarray(0,n))):t=this.a.subarray(0,n):(this.a.length>n&&(this.a.length=n),t=this.a),this.buffer=t},y.prototype.p=function(){var n,e,r=this.input;return n=this.A.p(),this.c=this.A.c,this.M&&(e=(r[this.c++]<<24|r[this.c++]<<16|r[this.c++]<<8|r[this.c++])>>>0,e!==g(n)&&t(Error("invalid adler-32 checksum"))),n};var rn=8,on=D;m.prototype.j=function(){var n,e,r,i,o,s,a,c=0;switch(a=this.a,n=rn){case rn:e=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(r=e<<4|n,a[c++]=r,n){case rn:switch(this.h){case on.NONE:o=0;break;case on.r:o=1;break;case on.k:o=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return i=0|o<<6,a[c++]=i|31-(256*r+i)%31,s=g(this.input),this.z.b=c,a=this.z.j(),c=a.length,A&&(a=new Uint8Array(a.buffer),c+4>=a.length&&(this.a=new Uint8Array(a.length+4),this.a.set(a),a=this.a),a=a.subarray(0,c+4)),a[c++]=255&s>>24,a[c++]=255&s>>16,a[c++]=255&s>>8,a[c++]=255&s,a},n("Zlib.Inflate",y),n("Zlib.Inflate.prototype.decompress",y.prototype.p),E("Zlib.Inflate.BufferType",{ADAPTIVE:j.C,BLOCK:j.D}),n("Zlib.Deflate",m),n("Zlib.Deflate.compress",function(t,n){return new m(t,n).j()}),n("Zlib.Deflate.prototype.compress",m.prototype.j),E("Zlib.Deflate.CompressionType",{NONE:on.NONE,FIXED:on.r,DYNAMIC:on.k})}.call(this),e("zlib",function(){}),e("src/adapters/zlib",["require","zlib"],function(t){function n(t){return new o(t).decompress()}function e(t){return new s(t).compress()}function r(t){this.context=t}function i(t){this.provider=t}t("zlib");var o=Zlib.Inflate,s=Zlib.Deflate;return r.prototype.clear=function(t){this.context.clear(t)},r.prototype.get=function(t,e){this.context.get(t,function(t,r){return t?(e(t),void 0):(r&&(r=n(r)),e(null,r),void 0)})},r.prototype.put=function(t,n,r){n=e(n),this.context.put(t,n,r)},r.prototype.delete=function(t,n){this.context.delete(t,n)},i.isSupported=function(){return!0},i.prototype.open=function(t){this.provider.open(t)},i.prototype.getReadOnlyContext=function(){return new r(this.provider.getReadOnlyContext())},i.prototype.getReadWriteContext=function(){return new r(this.provider.getReadWriteContext())},i});var r=r||function(t,n){var e={},r=e.lib={},i=r.Base=function(){function t(){}return{extend:function(n){t.prototype=this;var e=new t;return n&&e.mixIn(n),e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t +},init:function(){},mixIn:function(t){for(var n in t)t.hasOwnProperty(n)&&(this[n]=t[n]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.$super.extend(this)}}}(),o=r.WordArray=i.extend({init:function(t,e){t=this.words=t||[],this.sigBytes=e!=n?e:4*t.length},toString:function(t){return(t||a).stringify(this)},concat:function(t){var n=this.words,e=t.words,r=this.sigBytes,t=t.sigBytes;if(this.clamp(),r%4)for(var i=0;t>i;i++)n[r+i>>>2]|=(255&e[i>>>2]>>>24-8*(i%4))<<24-8*((r+i)%4);else if(e.length>65535)for(i=0;t>i;i+=4)n[r+i>>>2]=e[i>>>2];else n.push.apply(n,e);return this.sigBytes+=t,this},clamp:function(){var n=this.words,e=this.sigBytes;n[e>>>2]&=4294967295<<32-8*(e%4),n.length=t.ceil(e/4)},clone:function(){var t=i.clone.call(this);return t.words=this.words.slice(0),t},random:function(n){for(var e=[],r=0;n>r;r+=4)e.push(0|4294967296*t.random());return o.create(e,n)}}),s=e.enc={},a=s.Hex={stringify:function(t){for(var n=t.words,t=t.sigBytes,e=[],r=0;t>r;r++){var i=255&n[r>>>2]>>>24-8*(r%4);e.push((i>>>4).toString(16)),e.push((15&i).toString(16))}return e.join("")},parse:function(t){for(var n=t.length,e=[],r=0;n>r;r+=2)e[r>>>3]|=parseInt(t.substr(r,2),16)<<24-4*(r%8);return o.create(e,n/2)}},c=s.Latin1={stringify:function(t){for(var n=t.words,t=t.sigBytes,e=[],r=0;t>r;r++)e.push(String.fromCharCode(255&n[r>>>2]>>>24-8*(r%4)));return e.join("")},parse:function(t){for(var n=t.length,e=[],r=0;n>r;r++)e[r>>>2]|=(255&t.charCodeAt(r))<<24-8*(r%4);return o.create(e,n)}},u=s.Utf8={stringify:function(t){try{return decodeURIComponent(escape(c.stringify(t)))}catch(n){throw Error("Malformed UTF-8 data")}},parse:function(t){return c.parse(unescape(encodeURIComponent(t)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=o.create(),this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=u.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(n){var e=this._data,r=e.words,i=e.sigBytes,s=this.blockSize,a=i/(4*s),a=n?t.ceil(a):t.max((0|a)-this._minBufferSize,0),n=a*s,i=t.min(4*n,i);if(n){for(var c=0;n>c;c+=s)this._doProcessBlock(r,c);c=r.splice(0,n),e.sigBytes-=i}return o.create(c,i)},clone:function(){var t=i.clone.call(this);return t._data=this._data.clone(),t},_minBufferSize:0});r.Hasher=f.extend({init:function(){this.reset()},reset:function(){f.reset.call(this),this._doReset()},update:function(t){return this._append(t),this._process(),this},finalize:function(t){return t&&this._append(t),this._doFinalize(),this._hash},clone:function(){var t=f.clone.call(this);return t._hash=this._hash.clone(),t},blockSize:16,_createHelper:function(t){return function(n,e){return t.create(e).finalize(n)}},_createHmacHelper:function(t){return function(n,e){return l.HMAC.create(t,e).finalize(n)}}});var l=e.algo={};return e}(Math);(function(){var t=r,n=t.lib.WordArray;t.enc.Base64={stringify:function(t){var n=t.words,e=t.sigBytes,r=this._map;t.clamp();for(var t=[],i=0;e>i;i+=3)for(var o=(255&n[i>>>2]>>>24-8*(i%4))<<16|(255&n[i+1>>>2]>>>24-8*((i+1)%4))<<8|255&n[i+2>>>2]>>>24-8*((i+2)%4),s=0;4>s&&e>i+.75*s;s++)t.push(r.charAt(63&o>>>6*(3-s)));if(n=r.charAt(64))for(;t.length%4;)t.push(n);return t.join("")},parse:function(t){var t=t.replace(/\s/g,""),e=t.length,r=this._map,i=r.charAt(64);i&&(i=t.indexOf(i),-1!=i&&(e=i));for(var i=[],o=0,s=0;e>s;s++)if(s%4){var a=r.indexOf(t.charAt(s-1))<<2*(s%4),c=r.indexOf(t.charAt(s))>>>6-2*(s%4);i[o>>>2]|=(a|c)<<24-8*(o%4),o++}return n.create(i,o)},_map:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="}})(),function(t){function n(t,n,e,r,i,o,s){return t=t+(n&e|~n&r)+i+s,(t<>>32-o)+n}function e(t,n,e,r,i,o,s){return t=t+(n&r|e&~r)+i+s,(t<>>32-o)+n}function i(t,n,e,r,i,o,s){return t=t+(n^e^r)+i+s,(t<>>32-o)+n}function o(t,n,e,r,i,o,s){return t=t+(e^(n|~r))+i+s,(t<>>32-o)+n}var s=r,a=s.lib,c=a.WordArray,a=a.Hasher,u=s.algo,f=[];(function(){for(var n=0;64>n;n++)f[n]=0|4294967296*t.abs(t.sin(n+1))})(),u=u.MD5=a.extend({_doReset:function(){this._hash=c.create([1732584193,4023233417,2562383102,271733878])},_doProcessBlock:function(t,r){for(var s=0;16>s;s++){var a=r+s,c=t[a];t[a]=16711935&(c<<8|c>>>24)|4278255360&(c<<24|c>>>8)}for(var a=this._hash.words,c=a[0],u=a[1],l=a[2],p=a[3],s=0;64>s;s+=4)16>s?(c=n(c,u,l,p,t[r+s],7,f[s]),p=n(p,c,u,l,t[r+s+1],12,f[s+1]),l=n(l,p,c,u,t[r+s+2],17,f[s+2]),u=n(u,l,p,c,t[r+s+3],22,f[s+3])):32>s?(c=e(c,u,l,p,t[r+(s+1)%16],5,f[s]),p=e(p,c,u,l,t[r+(s+6)%16],9,f[s+1]),l=e(l,p,c,u,t[r+(s+11)%16],14,f[s+2]),u=e(u,l,p,c,t[r+s%16],20,f[s+3])):48>s?(c=i(c,u,l,p,t[r+(3*s+5)%16],4,f[s]),p=i(p,c,u,l,t[r+(3*s+8)%16],11,f[s+1]),l=i(l,p,c,u,t[r+(3*s+11)%16],16,f[s+2]),u=i(u,l,p,c,t[r+(3*s+14)%16],23,f[s+3])):(c=o(c,u,l,p,t[r+3*s%16],6,f[s]),p=o(p,c,u,l,t[r+(3*s+7)%16],10,f[s+1]),l=o(l,p,c,u,t[r+(3*s+14)%16],15,f[s+2]),u=o(u,l,p,c,t[r+(3*s+5)%16],21,f[s+3]));a[0]=0|a[0]+c,a[1]=0|a[1]+u,a[2]=0|a[2]+l,a[3]=0|a[3]+p},_doFinalize:function(){var t=this._data,n=t.words,e=8*this._nDataBytes,r=8*t.sigBytes;for(n[r>>>5]|=128<<24-r%32,n[(r+64>>>9<<4)+14]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8),t.sigBytes=4*(n.length+1),this._process(),t=this._hash.words,n=0;4>n;n++)e=t[n],t[n]=16711935&(e<<8|e>>>24)|4278255360&(e<<24|e>>>8)}}),s.MD5=a._createHelper(u),s.HmacMD5=a._createHmacHelper(u)}(Math),function(){var t=r,n=t.lib,e=n.Base,i=n.WordArray,n=t.algo,o=n.EvpKDF=e.extend({cfg:e.extend({keySize:4,hasher:n.MD5,iterations:1}),init:function(t){this.cfg=this.cfg.extend(t)},compute:function(t,n){for(var e=this.cfg,r=e.hasher.create(),o=i.create(),s=o.words,a=e.keySize,e=e.iterations;a>s.length;){c&&r.update(c);var c=r.update(t).finalize(n);r.reset();for(var u=1;e>u;u++)c=r.finalize(c),r.reset();o.concat(c)}return o.sigBytes=4*a,o}});t.EvpKDF=function(t,n,e){return o.create(e).compute(t,n)}}(),r.lib.Cipher||function(t){var n=r,e=n.lib,i=e.Base,o=e.WordArray,s=e.BufferedBlockAlgorithm,a=n.enc.Base64,c=n.algo.EvpKDF,u=e.Cipher=s.extend({cfg:i.extend(),createEncryptor:function(t,n){return this.create(this._ENC_XFORM_MODE,t,n)},createDecryptor:function(t,n){return this.create(this._DEC_XFORM_MODE,t,n)},init:function(t,n,e){this.cfg=this.cfg.extend(e),this._xformMode=t,this._key=n,this.reset()},reset:function(){s.reset.call(this),this._doReset()},process:function(t){return this._append(t),this._process()},finalize:function(t){return t&&this._append(t),this._doFinalize()},keySize:4,ivSize:4,_ENC_XFORM_MODE:1,_DEC_XFORM_MODE:2,_createHelper:function(){return function(t){return{encrypt:function(n,e,r){return("string"==typeof e?v:d).encrypt(t,n,e,r)},decrypt:function(n,e,r){return("string"==typeof e?v:d).decrypt(t,n,e,r)}}}}()});e.StreamCipher=u.extend({_doFinalize:function(){return this._process(!0)},blockSize:1});var f=n.mode={},l=e.BlockCipherMode=i.extend({createEncryptor:function(t,n){return this.Encryptor.create(t,n)},createDecryptor:function(t,n){return this.Decryptor.create(t,n)},init:function(t,n){this._cipher=t,this._iv=n}}),f=f.CBC=function(){function n(n,e,r){var i=this._iv;i?this._iv=t:i=this._prevBlock;for(var o=0;r>o;o++)n[e+o]^=i[o]}var e=l.extend();return e.Encryptor=e.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize;n.call(this,t,e,i),r.encryptBlock(t,e),this._prevBlock=t.slice(e,e+i)}}),e.Decryptor=e.extend({processBlock:function(t,e){var r=this._cipher,i=r.blockSize,o=t.slice(e,e+i);r.decryptBlock(t,e),n.call(this,t,e,i),this._prevBlock=o}}),e}(),p=(n.pad={}).Pkcs7={pad:function(t,n){for(var e=4*n,e=e-t.sigBytes%e,r=e<<24|e<<16|e<<8|e,i=[],s=0;e>s;s+=4)i.push(r);e=o.create(i,e),t.concat(e)},unpad:function(t){t.sigBytes-=255&t.words[t.sigBytes-1>>>2]}};e.BlockCipher=u.extend({cfg:u.cfg.extend({mode:f,padding:p}),reset:function(){u.reset.call(this);var t=this.cfg,n=t.iv,t=t.mode;if(this._xformMode==this._ENC_XFORM_MODE)var e=t.createEncryptor;else e=t.createDecryptor,this._minBufferSize=1;this._mode=e.call(t,this,n&&n.words)},_doProcessBlock:function(t,n){this._mode.processBlock(t,n)},_doFinalize:function(){var t=this.cfg.padding;if(this._xformMode==this._ENC_XFORM_MODE){t.pad(this._data,this.blockSize);var n=this._process(!0)}else n=this._process(!0),t.unpad(n);return n},blockSize:4});var h=e.CipherParams=i.extend({init:function(t){this.mixIn(t)},toString:function(t){return(t||this.formatter).stringify(this)}}),f=(n.format={}).OpenSSL={stringify:function(t){var n=t.ciphertext,t=t.salt,n=(t?o.create([1398893684,1701076831]).concat(t).concat(n):n).toString(a);return n=n.replace(/(.{64})/g,"$1\n")},parse:function(t){var t=a.parse(t),n=t.words;if(1398893684==n[0]&&1701076831==n[1]){var e=o.create(n.slice(2,4));n.splice(0,4),t.sigBytes-=16}return h.create({ciphertext:t,salt:e})}},d=e.SerializableCipher=i.extend({cfg:i.extend({format:f}),encrypt:function(t,n,e,r){var r=this.cfg.extend(r),i=t.createEncryptor(e,r),n=i.finalize(n),i=i.cfg;return h.create({ciphertext:n,key:e,iv:i.iv,algorithm:t,mode:i.mode,padding:i.padding,blockSize:t.blockSize,formatter:r.format})},decrypt:function(t,n,e,r){return r=this.cfg.extend(r),n=this._parse(n,r.format),t.createDecryptor(e,r).finalize(n.ciphertext)},_parse:function(t,n){return"string"==typeof t?n.parse(t):t}}),n=(n.kdf={}).OpenSSL={compute:function(t,n,e,r){return r||(r=o.random(8)),t=c.create({keySize:n+e}).compute(t,r),e=o.create(t.words.slice(n),4*e),t.sigBytes=4*n,h.create({key:t,iv:e,salt:r})}},v=e.PasswordBasedCipher=d.extend({cfg:d.cfg.extend({kdf:n}),encrypt:function(t,n,e,r){return r=this.cfg.extend(r),e=r.kdf.compute(e,t.keySize,t.ivSize),r.iv=e.iv,t=d.encrypt.call(this,t,n,e.key,r),t.mixIn(e),t},decrypt:function(t,n,e,r){return r=this.cfg.extend(r),n=this._parse(n,r.format),e=r.kdf.compute(e,t.keySize,t.ivSize,n.salt),r.iv=e.iv,d.decrypt.call(this,t,n,e.key,r)}})}(),function(){var t=r,n=t.lib.BlockCipher,e=t.algo,i=[],o=[],s=[],a=[],c=[],u=[],f=[],l=[],p=[],h=[];(function(){for(var t=[],n=0;256>n;n++)t[n]=128>n?n<<1:283^n<<1;for(var e=0,r=0,n=0;256>n;n++){var d=r^r<<1^r<<2^r<<3^r<<4,d=99^(d>>>8^255&d);i[e]=d,o[d]=e;var v=t[e],g=t[v],y=t[g],m=257*t[d]^16843008*d;s[e]=m<<24|m>>>8,a[e]=m<<16|m>>>16,c[e]=m<<8|m>>>24,u[e]=m,m=16843009*y^65537*g^257*v^16843008*e,f[d]=m<<24|m>>>8,l[d]=m<<16|m>>>16,p[d]=m<<8|m>>>24,h[d]=m,e?(e=v^t[t[t[y^v]]],r^=t[t[r]]):e=r=1}})();var d=[0,1,2,4,8,16,32,64,128,27,54],e=e.AES=n.extend({_doReset:function(){for(var t=this._key,n=t.words,e=t.sigBytes/4,t=4*((this._nRounds=e+6)+1),r=this._keySchedule=[],o=0;t>o;o++)if(e>o)r[o]=n[o];else{var s=r[o-1];o%e?e>6&&4==o%e&&(s=i[s>>>24]<<24|i[255&s>>>16]<<16|i[255&s>>>8]<<8|i[255&s]):(s=s<<8|s>>>24,s=i[s>>>24]<<24|i[255&s>>>16]<<16|i[255&s>>>8]<<8|i[255&s],s^=d[0|o/e]<<24),r[o]=r[o-e]^s}for(n=this._invKeySchedule=[],e=0;t>e;e++)o=t-e,s=e%4?r[o]:r[o-4],n[e]=4>e||4>=o?s:f[i[s>>>24]]^l[i[255&s>>>16]]^p[i[255&s>>>8]]^h[i[255&s]]},encryptBlock:function(t,n){this._doCryptBlock(t,n,this._keySchedule,s,a,c,u,i)},decryptBlock:function(t,n){var e=t[n+1];t[n+1]=t[n+3],t[n+3]=e,this._doCryptBlock(t,n,this._invKeySchedule,f,l,p,h,o),e=t[n+1],t[n+1]=t[n+3],t[n+3]=e},_doCryptBlock:function(t,n,e,r,i,o,s,a){for(var c=this._nRounds,u=t[n]^e[0],f=t[n+1]^e[1],l=t[n+2]^e[2],p=t[n+3]^e[3],h=4,d=1;c>d;d++)var v=r[u>>>24]^i[255&f>>>16]^o[255&l>>>8]^s[255&p]^e[h++],g=r[f>>>24]^i[255&l>>>16]^o[255&p>>>8]^s[255&u]^e[h++],y=r[l>>>24]^i[255&p>>>16]^o[255&u>>>8]^s[255&f]^e[h++],p=r[p>>>24]^i[255&u>>>16]^o[255&f>>>8]^s[255&l]^e[h++],u=v,f=g,l=y;v=(a[u>>>24]<<24|a[255&f>>>16]<<16|a[255&l>>>8]<<8|a[255&p])^e[h++],g=(a[f>>>24]<<24|a[255&l>>>16]<<16|a[255&p>>>8]<<8|a[255&u])^e[h++],y=(a[l>>>24]<<24|a[255&p>>>16]<<16|a[255&u>>>8]<<8|a[255&f])^e[h++],p=(a[p>>>24]<<24|a[255&u>>>16]<<16|a[255&f>>>8]<<8|a[255&l])^e[h++],t[n]=v,t[n+1]=g,t[n+2]=y,t[n+3]=p},keySize:8});t.AES=n._createHelper(e)}(),e("crypto-js/rollups/aes",function(){}),e("src/adapters/crypto",["require","crypto-js/rollups/aes","encoding"],function(t){function n(t){for(var n=t.length,e=[],r=0;n>r;r++)e[r>>>2]|=(255&t[r])<<24-8*(r%4);return a.create(e,n)}function e(t){return new TextEncoder("utf-8").encode(t)}function i(t){return new TextDecoder("utf-8").decode(t)}function o(t,n,e){this.context=t,this.encrypt=n,this.decrypt=e}function s(t,o){this.provider=o;var s=r.AES;this.encrypt=function(r){var i=n(r),o=s.encrypt(i,t),a=e(o);return a},this.decrypt=function(n){var o=i(n),a=s.decrypt(o,t),c=a.toString(r.enc.Utf8),u=e(c);return u}}t("crypto-js/rollups/aes");var a=r.lib.WordArray;return t("encoding"),o.prototype.clear=function(t){this.context.clear(t)},o.prototype.get=function(t,n){var e=this.decrypt;this.context.get(t,function(t,r){return t?(n(t),void 0):(r&&(r=e(r)),n(null,r),void 0)})},o.prototype.put=function(t,n,e){var r=this.encrypt(n);this.context.put(t,r,e)},o.prototype.delete=function(t,n){this.context.delete(t,n)},s.isSupported=function(){return!0},s.prototype.open=function(t){this.provider.open(t)},s.prototype.getReadOnlyContext=function(){return new o(this.provider.getReadOnlyContext(),this.encrypt,this.decrypt)},s.prototype.getReadWriteContext=function(){return new o(this.provider.getReadWriteContext(),this.encrypt,this.decrypt)},s}),e("src/adapters/adapters",["require","src/adapters/zlib","src/adapters/crypto"],function(t){return{Compression:t("src/adapters/zlib"),Encryption:t("src/adapters/crypto")}}),e("src/errors",["require"],function(){var t={};return["-1:UNKNOWN:unknown error","0:OK:success","1:EOF:end of file","2:EADDRINFO:getaddrinfo error","3:EACCES:permission denied","4:EAGAIN:resource temporarily unavailable","5:EADDRINUSE:address already in use","6:EADDRNOTAVAIL:address not available","7:EAFNOSUPPORT:address family not supported","8:EALREADY:connection already in progress","9:EBADF:bad file descriptor","10:EBUSY:resource busy or locked","11:ECONNABORTED:software caused connection abort","12:ECONNREFUSED:connection refused","13:ECONNRESET:connection reset by peer","14:EDESTADDRREQ:destination address required","15:EFAULT:bad address in system call argument","16:EHOSTUNREACH:host is unreachable","17:EINTR:interrupted system call","18:EINVAL:invalid argument","19:EISCONN:socket is already connected","20:EMFILE:too many open files","21:EMSGSIZE:message too long","22:ENETDOWN:network is down","23:ENETUNREACH:network is unreachable","24:ENFILE:file table overflow","25:ENOBUFS:no buffer space available","26:ENOMEM:not enough memory","27:ENOTDIR:not a directory","28:EISDIR:illegal operation on a directory","29:ENONET:machine is not on the network","31:ENOTCONN:socket is not connected","32:ENOTSOCK:socket operation on non-socket","33:ENOTSUP:operation not supported on socket","34:ENOENT:no such file or directory","35:ENOSYS:function not implemented","36:EPIPE:broken pipe","37:EPROTO:protocol error","38:EPROTONOSUPPORT:protocol not supported","39:EPROTOTYPE:protocol wrong type for socket","40:ETIMEDOUT:connection timed out","41:ECHARSET:invalid Unicode character","42:EAIFAMNOSUPPORT:address family for hostname not supported","44:EAISERVICE:servname not supported for ai_socktype","45:EAISOCKTYPE:ai_socktype not supported","46:ESHUTDOWN:cannot send after transport endpoint shutdown","47:EEXIST:file already exists","48:ESRCH:no such process","49:ENAMETOOLONG:name too long","50:EPERM:operation not permitted","51:ELOOP:too many symbolic links encountered","52:EXDEV:cross-device link not permitted","53:ENOTEMPTY:directory not empty","54:ENOSPC:no space left on device","55:EIO:i/o error","56:EROFS:read-only file system","57:ENODEV:no such device","58:ESPIPE:invalid seek","59:ECANCELED:operation canceled","1000:ENOTMOUNTED:not mounted","1001:EFILESYSTEMERROR:missing super node, use 'FORMAT' flag to format filesystem.","1002:ENOATTR:attribute does not exist"].forEach(function(n){function e(t){this.message=t||o}n=n.split(":");var r=n[0],i=n[1],o=n[2],s=e.prototype=Error();s.errno=r,s.code=i,s.constructor=e,t[i]=t[r]=e}),t}),e("src/environment",["require","src/constants"],function(t){function n(t){t=t||{},t.TMP=t.TMP||e.TMP,t.PATH=t.PATH||e.PATH,this.get=function(n){return t[n]},this.set=function(n,e){t[n]=e}}var e=t("src/constants").ENVIRONMENT;return n}),e("src/shell",["require","src/path","src/errors","src/environment","async"],function(t){function n(t,n){n=n||{};var o=new i(n.env),s="/";Object.defineProperty(this,"fs",{get:function(){return t},enumerable:!0}),Object.defineProperty(this,"env",{get:function(){return o},enumerable:!0}),this.cd=function(n,i){n=e.resolve(this.cwd,n),t.stat(n,function(t,e){return t?(i(new r.ENOTDIR),void 0):("DIRECTORY"===e.type?(s=n,i()):i(new r.ENOTDIR),void 0)})},this.pwd=function(){return s}}var e=t("src/path"),r=t("src/errors"),i=t("src/environment"),o=t("async");return n.prototype.exec=function(t,n,r){var i=this.fs;"function"==typeof n&&(r=n,n=[]),n=n||[],r=r||function(){},t=e.resolve(this.cwd,t),i.readFile(t,"utf8",function(t,e){if(t)return r(t),void 0;try{var o=Function("fs","args","callback",e);o(i,n,r)}catch(s){r(s)}})},n.prototype.touch=function(t,n,r){function i(t){s.writeFile(t,"",r)}function o(t){var e=Date.now(),i=n.date||e,o=n.date||e;s.utimes(t,i,o,r)}var s=this.fs;"function"==typeof n&&(r=n,n={}),n=n||{},r=r||function(){},t=e.resolve(this.cwd,t),s.stat(t,function(e){e?n.updateOnly===!0?r():i(t):o(t)})},n.prototype.cat=function(t,n){function r(t,n){var r=e.resolve(this.cwd,t);i.readFile(r,"utf8",function(t,e){return t?(n(t),void 0):(s+=e+"\n",n(),void 0)})}var i=this.fs,s="";return n=n||function(){},t?(t="string"==typeof t?[t]:t,o.eachSeries(t,r,function(t){t?n(t):n(null,s.replace(/\n$/,""))}),void 0):(n(Error("Missing files argument")),void 0)},n.prototype.ls=function(t,n,r){function i(t,r){var a=e.resolve(this.cwd,t),c=[];s.readdir(a,function(t,u){function f(t,r){t=e.join(a,t),s.stat(t,function(o,s){if(o)return r(o),void 0;var u={path:e.basename(t),links:s.nlinks,size:s.size,modified:s.mtime,type:s.type};n.recursive&&"DIRECTORY"===s.type?i(e.join(a,u.path),function(t,n){return t?(r(t),void 0):(u.contents=n,c.push(u),r(),void 0)}):(c.push(u),r())})}return t?(r(t),void 0):(o.each(u,f,function(t){r(t,c)}),void 0)})}var s=this.fs;return"function"==typeof n&&(r=n,n={}),n=n||{},r=r||function(){},t?(i(t,r),void 0):(r(Error("Missing dir argument")),void 0)},n.prototype.rm=function(t,n,i){function s(t,i){t=e.resolve(this.cwd,t),a.stat(t,function(c,u){return c?(i(c),void 0):"FILE"===u.type?(a.unlink(t,i),void 0):(a.readdir(t,function(c,u){return c?(i(c),void 0):0===u.length?(a.rmdir(t,i),void 0):n.recursive?(u=u.map(function(n){return e.join(t,n)}),o.each(u,s,function(n){return n?(i(n),void 0):(a.rmdir(t,i),void 0)}),void 0):(i(new r.ENOTEMPTY),void 0)}),void 0)})}var a=this.fs;return"function"==typeof n&&(i=n,n={}),n=n||{},i=i||function(){},t?(s(t,i),void 0):(i(Error("Missing path argument")),void 0)},n.prototype.mv=function(t,n,r){function i(t,n,r){t=e.resolve(this.cwd,t),n=e.resolve(this.cwd,n),destdir=e.resolve(this.cwd,e.dirname(n)),a.mkdirp(destdir,function(t){return t?(r(t),void 0):void 0}),s.stat(t,function(c,u){return c?(r(c),void 0):(s.stat(n,function(c,f){return c&&"ENOENT"!==c.code?(r(c),void 0):(f&&(f.isDirectory()&&(n=e.join(n,e.basename(t))),s.unlink(n,function(t){return t&&"ENOENT"!==t.code?(r(t),void 0):void 0})),u.isFile()?s.link(t,n,function(n){return n?(r(n),void 0):(a.rm(t,{recursive:!0},function(t){return t?(r(t),void 0):(r(),void 0)}),void 0)}):u.isDirectory()&&s.mkdir(n,function(c){return c?(r(c),void 0):(s.readdir(t,function(s,c){return s?(r(s),void 0):(o.each(c,function(r,o){i(e.join(t,r),e.join(n,r),function(t){return t?(o(t),void 0):(o(),void 0)})},function(n){return n?(r(n),void 0):(a.rm(t,{recursive:!0},function(t){return t?(r(t),void 0):(r(),void 0)}),void 0)}),void 0)}),void 0)}),void 0)}),void 0)})}var s=this.fs,a=this;return r=r||function(){},t?"/"===t?(r(Error("Root is not a valid source argument")),void 0):n?(i(t,n,r),void 0):(r(Error("Missing destination path argument")),void 0):(r(Error("Missing source path argument")),void 0)},n.prototype.tempDir=function(t){var n=this.fs,e=this.env.get("TMP");t=t||function(){},n.mkdir(e,function(){t(null,e)})},n.prototype.mkdirp=function(t,n){function i(t,n){o.stat(t,function(s,a){if(s&&"ENOENT"===s.code){var c=e.dirname(t);"/"===c?o.mkdir(t,function(t){return t&&"EEXIST"!=t.code?(n(t),void 0):(n(),void 0)}):i(c,function(e){return e?n(e):(o.mkdir(t,function(t){return t&&"EEXIST"!=t.code?(n(t),void 0):(n(),void 0)}),void 0)})}else{if(s)return n(s),void 0;if("DIRECTORY"===a.type)return n(),void 0;if("FILE"===a.type)return n(new r.ENOTDIR),void 0}})}var o=this.fs;return n=n||function(){},t?"/"===t?(n(),void 0):(i(t,n),void 0):(n(new r.EINVAL("missing path argument")),void 0)},n}),e("eventemitter",["require"],function(){function t(t,n){for(var e=n.length-1;e>=0;e--)n[e]===t&&n.splice(e,1);return n}var n=function(){};n.createInterface=function(n){var e={};return e.on=function(t,e){this[n]===void 0&&(this[n]={}),this[n].hasOwnProperty(t)||(this[n][t]=[]),this[n][t].push(e)},e.off=function(e,r){void 0!==this[n]&&this[n].hasOwnProperty(e)&&t(r,this[n][e])},e.trigger=function(t){if(this[n]!==void 0&&this[n].hasOwnProperty(t))for(var e=Array.prototype.slice.call(arguments,1),r=0;this[n][t].length>r;r++)this[n][t][r].apply(this[n][t][r],e)},e.removeAllListeners=function(t){if(void 0!==this[n]){var e=this;e[n][t].forEach(function(n){e.off(t,n)})}},e};var e=n.createInterface("_handlers");n.prototype._on=e.on,n.prototype._off=e.off,n.prototype._trigger=e.trigger;var r=n.createInterface("handlers");return n.prototype.on=function(){r.on.apply(this,arguments),Array.prototype.unshift.call(arguments,"on"),this._trigger.apply(this,arguments)},n.prototype.off=r.off,n.prototype.trigger=r.trigger,n.prototype.removeAllListeners=r.removeAllListeners,n}),e("intercom",["require","eventemitter","src/shared"],function(t){function n(t,n){var e=0;return function(){var r=Date.now();r-e>t&&(e=r,n.apply(this,arguments))}}function e(t,n){if(void 0!==t&&t||(t={}),"object"==typeof n)for(var e in n)n.hasOwnProperty(e)&&(t[e]=n[e]);return t}function r(){var t=this,n=Date.now();this.origin=o(),this.lastMessage=n,this.receivedIDs={},this.previousValues={};var e=function(){t._onStorageEvent.apply(t,arguments)};document.attachEvent?document.attachEvent("onstorage",e):window.addEventListener("storage",e,!1)}var i=t("eventemitter"),o=t("src/shared").guid,s=function(t){return t.localStorage===void 0?{getItem:function(){},setItem:function(){},removeItem:function(){}}:t.localStorage}(this);r.prototype._transaction=function(t){function n(){if(!a){var l=Date.now(),p=0|s.getItem(u);if(p&&r>l-p)return c||(o._on("storage",n),c=!0),f=window.setTimeout(n,i),void 0;a=!0,s.setItem(u,l),t(),e()}}function e(){c&&o._off("storage",n),f&&window.clearTimeout(f),s.removeItem(u)}var r=1e3,i=20,o=this,a=!1,c=!1,f=null;n()},r.prototype._cleanup_emit=n(100,function(){var t=this;t._transaction(function(){var t,n=Date.now(),e=n-f,r=0;try{t=JSON.parse(s.getItem(a)||"[]")}catch(i){t=[]}for(var o=t.length-1;o>=0;o--)e>t[o].timestamp&&(t.splice(o,1),r++);r>0&&s.setItem(a,JSON.stringify(t))})}),r.prototype._cleanup_once=n(100,function(){var t=this;t._transaction(function(){var n,e;Date.now();var r=0;try{e=JSON.parse(s.getItem(c)||"{}")}catch(i){e={}}for(n in e)t._once_expired(n,e)&&(delete e[n],r++);r>0&&s.setItem(c,JSON.stringify(e))})}),r.prototype._once_expired=function(t,n){if(!n)return!0;if(!n.hasOwnProperty(t))return!0;if("object"!=typeof n[t])return!0;var e=n[t].ttl||l,r=Date.now(),i=n[t].timestamp;return r-e>i},r.prototype._localStorageChanged=function(t,n){if(t&&t.key)return t.key===n;var e=s.getItem(n);return e===this.previousValues[n]?!1:(this.previousValues[n]=e,!0)},r.prototype._onStorageEvent=function(t){t=t||window.event;var n=this;this._localStorageChanged(t,a)&&this._transaction(function(){var t,e=Date.now(),r=s.getItem(a);try{t=JSON.parse(r||"[]")}catch(i){t=[]}for(var o=0;t.length>o;o++)if(t[o].origin!==n.origin&&!(t[o].timestampDn?e(new Gn.ELOOP):u(n.data)):e(null,n)}function u(n){n=yn(n),l=mn(n),f=En(n),Tn==f?t.get(Nn,r):a(t,l,o)}if(n=yn(n),!n)return e(new Gn.ENOENT("path is an empty string"));var f=En(n),l=mn(n),p=0;Tn==f?t.get(Nn,r):a(t,l,o)}function c(t,n,e,r,i,o){function c(n,a){function c(n){n?o(n):s(t,u,a,{ctime:Date.now()},o)}a?a.xattrs[e]:null,n?o(n):i===Wn&&a.xattrs.hasOwnProperty(e)?o(new Gn.EEXIST("attribute already exists")):i!==qn||a.xattrs.hasOwnProperty(e)?(a.xattrs[e]=r,t.put(a.id,a,c)):o(new Gn.ENOATTR)}var u;"string"==typeof n?(u=n,a(t,n,c)):"object"==typeof n&&"string"==typeof n.id?(u=n.path,t.get(n.id,c)):o(new Gn.EINVAL("path or file descriptor of wrong type"))}function u(t,n){function e(e,i){!e&&i?n(new Gn.EEXIST):!e||e instanceof Gn.ENOENT?(a=new r,t.put(a.id,a,o)):n(e)}function o(e){e?n(e):(c=new i(a.rnode,Sn),c.nlinks+=1,t.put(c.id,c,s))}function s(e){e?n(e):(u={},t.put(c.data,u,n))}var a,c,u;t.get(Nn,e)}function f(t,e,r){function o(n,e){!n&&e?r(new Gn.EEXIST):!n||n instanceof Gn.ENOENT?a(t,m,c):r(n)}function c(n,e){n?r(n):(v=e,t.get(v.data,u))}function u(n,e){n?r(n):(g=e,h=new i(void 0,Sn),h.nlinks+=1,t.put(h.id,h,f))}function f(n){n?r(n):(d={},t.put(h.data,d,p))}function l(n){if(n)r(n);else{var e=Date.now();s(t,m,v,{mtime:e,ctime:e},r)}}function p(e){e?r(e):(g[y]=new n(h.id,Sn),t.put(v.data,g,l))}e=yn(e);var h,d,v,g,y=En(e),m=mn(e);a(t,e,o)}function l(t,n,e){function r(n,r){n?e(n):(v=r,t.get(v.data,i))}function i(n,r){n?e(n):Tn==y?e(new Gn.EBUSY):gn(r).has(y)?(g=r,h=g[y].id,t.get(h,o)):e(new Gn.ENOENT)}function o(n,r){n?e(n):r.mode!=Sn?e(new Gn.ENOTDIR):(h=r,t.get(h.data,c))}function c(t,n){t?e(t):(d=n,gn(d).size()>0?e(new Gn.ENOTEMPTY):f())}function u(n){if(n)e(n);else{var r=Date.now();s(t,m,v,{mtime:r,ctime:r},l)}}function f(){delete g[y],t.put(v.data,g,u)}function l(n){n?e(n):t.delete(h.id,p)}function p(n){n?e(n):t.delete(h.data,e)}n=yn(n);var h,d,v,g,y=En(n),m=mn(n);a(t,m,r)}function p(t,e,r,o){function c(n,e){n?o(n):(m=e,t.get(m.data,u))}function u(n,e){n?o(n):(E=e,gn(E).has(A)?gn(r).contains(Un)?o(new Gn.ENOENT("O_CREATE and O_EXCLUSIVE are set, and the named file exists")):(w=E[A],w.type==Sn&&gn(r).contains(Fn)?o(new Gn.EISDIR("the named file is a directory and O_WRITE is set")):t.get(w.id,f)):gn(r).contains(jn)?h():o(new Gn.ENOENT("O_CREATE is not set and the named file does not exist")))}function f(t,n){if(t)o(t);else{var e=n;e.mode==In?(O++,O>Dn?o(new Gn.ELOOP):l(e.data)):p(void 0,e)}}function l(n){n=yn(n),x=mn(n),A=En(n),Tn==A&&(gn(r).contains(Fn)?o(new Gn.EISDIR("the named file is a directory and O_WRITE is set")):a(t,e,p)),a(t,x,c)}function p(t,n){t?o(t):(b=n,o(null,b))}function h(){b=new i(void 0,kn),b.nlinks+=1,t.put(b.id,b,d)}function d(n){n?o(n):(_=new Uint8Array(0),t.put(b.data,_,g))}function v(n){if(n)o(n);else{var e=Date.now();s(t,x,m,{mtime:e,ctime:e},y)}}function g(e){e?o(e):(E[A]=new n(b.id,kn),t.put(m.data,E,v))}function y(t){t?o(t):o(null,b)}e=yn(e);var m,E,w,b,_,A=En(e),x=mn(e),O=0;Tn==A?gn(r).contains(Fn)?o(new Gn.EISDIR("the named file is a directory and O_WRITE is set")):a(t,e,p):a(t,x,c)}function h(t,n,e,r,i,o){function a(t){t?o(t):o(null,i)}function c(e){if(e)o(e);else{var r=Date.now();s(t,n.path,l,{mtime:r,ctime:r},a)}}function u(n){n?o(n):t.put(l.id,l,c)}function f(s,a){if(s)o(s);else{l=a;var c=new Uint8Array(i),f=e.subarray(r,r+i);c.set(f),n.position=i,l.size=i,l.version+=1,t.put(l.data,c,u)}}var l;t.get(n.id,f)}function d(t,n,e,r,i,o,a){function c(t){t?a(t):a(null,i)}function u(e){if(e)a(e);else{var r=Date.now();s(t,n.path,h,{mtime:r,ctime:r},c)}}function f(n){n?a(n):t.put(h.id,h,u)}function l(s,c){if(s)a(s);else{d=c;var u=void 0!==o&&null!==o?o:n.position,l=Math.max(d.length,u+i),p=new Uint8Array(l);d&&p.set(d);var v=e.subarray(r,r+i);p.set(v,u),void 0===o&&(n.position+=i),h.size=l,h.version+=1,t.put(h.data,p,f)}}function p(n,e){n?a(n):(h=e,t.get(h.data,l))}var h,d;t.get(n.id,p)}function v(t,n,e,r,i,o,s){function a(t,a){if(t)s(t);else{f=a;var c=void 0!==o&&null!==o?o:n.position;i=c+i>e.length?i-c:i;var u=f.subarray(c,c+i);e.set(u,r),void 0===o&&(n.position+=i),s(null,i)}}function c(n,e){n?s(n):(u=e,t.get(u.data,a))}var u,f;t.get(n.id,c)}function g(t,n,e){function r(t,n){t?e(t):e(null,n)}n=yn(n),En(n),a(t,n,r)}function y(t,n,e){function r(t,n){t?e(t):e(null,n) +}t.get(n.id,r)}function m(t,n,e){function r(n,r){n?e(n):(s=r,t.get(s.data,i))}function i(n,r){n?e(n):(c=r,gn(c).has(u)?t.get(c[u].id,o):e(new Gn.ENOENT("a component of the path does not name an existing file")))}function o(t,n){t?e(t):e(null,n)}n=yn(n);var s,c,u=En(n),f=mn(n);Tn==u?a(t,n,o):a(t,f,r)}function E(t,n,e,r){function i(n){n?r(n):s(t,e,E,{ctime:Date.now()},r)}function o(n,e){n?r(n):(E=e,E.nlinks+=1,t.put(E.id,E,i))}function c(n){n?r(n):t.get(m[w].id,o)}function u(n,e){n?r(n):(m=e,gn(m).has(w)?r(new Gn.EEXIST("newpath resolves to an existing file")):(m[w]=g[h],t.put(y.data,m,c)))}function f(n,e){n?r(n):(y=e,t.get(y.data,u))}function l(n,e){n?r(n):(g=e,gn(g).has(h)?a(t,b,f):r(new Gn.ENOENT("a component of either path prefix does not exist")))}function p(n,e){n?r(n):(v=e,t.get(v.data,l))}n=yn(n);var h=En(n),d=mn(n);e=yn(e);var v,g,y,m,E,w=En(e),b=mn(e);a(t,d,p)}function w(t,n,e){function r(n){n?e(n):(delete l[h],t.put(f.data,l,function(){var n=Date.now();s(t,d,f,{mtime:n,ctime:n},e)}))}function i(n){n?e(n):t.delete(p.data,r)}function o(o,a){o?e(o):(p=a,p.nlinks-=1,1>p.nlinks?t.delete(p.id,i):t.put(p.id,p,function(){s(t,n,p,{ctime:Date.now()},r)}))}function c(n,r){n?e(n):(l=r,gn(l).has(h)?t.get(l[h].id,o):e(new Gn.ENOENT("a component of the path does not name an existing file")))}function u(n,r){n?e(n):(f=r,t.get(f.data,c))}n=yn(n);var f,l,p,h=En(n),d=mn(n);a(t,d,u)}function b(t,n,e){function r(t,n){if(t)e(t);else{s=n;var r=Object.keys(s);e(null,r)}}function i(n,i){n?e(n):(o=i,t.get(o.data,r))}n=yn(n),En(n);var o,s;a(t,n,i)}function _(t,e,r,o){function c(n,e){n?o(n):(h=e,t.get(h.data,u))}function u(t,n){t?o(t):(d=n,gn(d).has(g)?o(new Gn.EEXIST):f())}function f(){v=new i(void 0,In),v.nlinks+=1,v.size=e.length,v.data=e,t.put(v.id,v,p)}function l(n){if(n)o(n);else{var e=Date.now();s(t,y,h,{mtime:e,ctime:e},o)}}function p(e){e?o(e):(d[g]=new n(v.id,In),t.put(h.data,d,l))}r=yn(r);var h,d,v,g=En(r),y=mn(r);Tn==g?o(new Gn.EEXIST):a(t,y,c)}function A(t,n,e){function r(n,r){n?e(n):(s=r,t.get(s.data,i))}function i(n,r){n?e(n):(c=r,gn(c).has(u)?t.get(c[u].id,o):e(new Gn.ENOENT("a component of the path does not name an existing file")))}function o(t,n){t?e(t):n.mode!=In?e(new Gn.EINVAL("path not a symbolic link")):e(null,n.data)}n=yn(n);var s,c,u=En(n),f=mn(n);a(t,f,r)}function x(t,n,e,r){function i(n,e){n?r(n):e.mode==Sn?r(new Gn.EISDIR):(f=e,t.get(f.data,o))}function o(n,i){if(n)r(n);else{var o=new Uint8Array(e);i&&o.set(i.subarray(0,e)),t.put(f.data,o,u)}}function c(e){if(e)r(e);else{var i=Date.now();s(t,n,f,{mtime:i,ctime:i},r)}}function u(n){n?r(n):(f.size=e,f.version+=1,t.put(f.id,f,c))}n=yn(n);var f;0>e?r(new Gn.EINVAL("length cannot be negative")):a(t,n,i)}function O(t,n,e,r){function i(n,e){n?r(n):e.mode==Sn?r(new Gn.EISDIR):(u=e,t.get(u.data,o))}function o(n,i){if(n)r(n);else{var o=new Uint8Array(e);i&&o.set(i.subarray(0,e)),t.put(u.data,o,c)}}function a(e){if(e)r(e);else{var i=Date.now();s(t,n.path,u,{mtime:i,ctime:i},r)}}function c(n){n?r(n):(u.size=e,u.version+=1,t.put(u.id,u,a))}var u;0>e?r(new Gn.EINVAL("length cannot be negative")):t.get(n.id,i)}function k(t,n,e,r,i){function o(o,a){o?i(o):s(t,n,a,{atime:e,ctime:r,mtime:r},i)}n=yn(n),"number"!=typeof e||"number"!=typeof r?i(new Gn.EINVAL("atime and mtime must be number")):0>e||0>r?i(new Gn.EINVAL("atime and mtime must be positive integers")):a(t,n,o)}function S(t,n,e,r,i){function o(o,a){o?i(o):s(t,n.path,a,{atime:e,ctime:r,mtime:r},i)}"number"!=typeof e||"number"!=typeof r?i(new Gn.EINVAL("atime and mtime must be a number")):0>e||0>r?i(new Gn.EINVAL("atime and mtime must be positive integers")):t.get(n.id,o)}function I(t,n,e,r,i,o){n=yn(n),"string"!=typeof e?o(new Gn.EINVAL("attribute name must be a string")):e?null!==i&&i!==Wn&&i!==qn?o(new Gn.EINVAL("invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE")):c(t,n,e,r,i,o):o(new Gn.EINVAL("attribute name cannot be an empty string"))}function R(t,n,e,r,i,o){"string"!=typeof e?o(new Gn.EINVAL("attribute name must be a string")):e?null!==i&&i!==Wn&&i!==qn?o(new Gn.EINVAL("invalid flag, must be null, XATTR_CREATE or XATTR_REPLACE")):c(t,n,e,r,i,o):o(new Gn.EINVAL("attribute name cannot be an empty string"))}function T(t,n,e,r){function i(t,n){n?n.xattrs[e]:null,t?r(t):n.xattrs.hasOwnProperty(e)?r(null,n.xattrs[e]):r(new Gn.ENOATTR)}n=yn(n),"string"!=typeof e?r(new Gn.EINVAL("attribute name must be a string")):e?a(t,n,i):r(new Gn.EINVAL("attribute name cannot be an empty string"))}function N(t,n,e,r){function i(t,n){n?n.xattrs[e]:null,t?r(t):n.xattrs.hasOwnProperty(e)?r(null,n.xattrs[e]):r(new Gn.ENOATTR)}"string"!=typeof e?r(new Gn.EINVAL):e?t.get(n.id,i):r(new Gn.EINVAL("attribute name cannot be an empty string"))}function D(t,n,e,r){function i(i,o){function a(e){e?r(e):s(t,n,o,{ctime:Date.now()},r)}var c=o?o.xattrs:null;i?r(i):c.hasOwnProperty(e)?(delete o.xattrs[e],t.put(o.id,o,a)):r(new Gn.ENOATTR)}n=yn(n),"string"!=typeof e?r(new Gn.EINVAL("attribute name must be a string")):e?a(t,n,i):r(new Gn.EINVAL("attribute name cannot be an empty string"))}function C(t,n,e,r){function i(i,o){function a(e){e?r(e):s(t,n.path,o,{ctime:Date.now()},r)}i?r(i):o.xattrs.hasOwnProperty(e)?(delete o.xattrs[e],t.put(o.id,o,a)):r(new Gn.ENOATTR)}"string"!=typeof e?r(new Gn.EINVAL("attribute name must be a string")):e?t.get(n.id,i):r(new Gn.EINVAL("attribute name cannot be an empty string"))}function B(t){return gn(zn).has(t)?zn[t]:null}function M(t,n,e){return t?"function"==typeof t?t={encoding:n,flag:e}:"string"==typeof t&&(t={encoding:t,flag:e}):t={encoding:n,flag:e},t}function L(t,n){var e;return bn(t)?e=Error("Path must be a string without null bytes."):wn(t)||(e=Error("Path must be absolute.")),e?(n(e),!1):!0}function F(t){return"function"==typeof t?t:function(t){if(t)throw t}}function j(t,n){function e(){p.forEach(function(t){t.call(this)}.bind(c)),p=null}function r(t){if(t.length){var n=Jn.getInstance();t.forEach(function(t){n.emit(t.event,t.path)})}}t=t||{},n=n||An;var i=t.name||xn,o=t.flags,s=t.provider||new Yn.Default(i),a=gn(o).contains(On),c=this;c.readyState=Bn,c.name=i,c.error=null;var f={},l=1;Object.defineProperty(this,"openFiles",{get:function(){return f}}),this.allocDescriptor=function(t){var n=l++;return f[n]=t,n},this.releaseDescriptor=function(t){delete f[t]};var p=[];this.queueOrRun=function(t){var n;return Cn==c.readyState?t.call(c):Mn==c.readyState?n=new EFileSystemError("unknown error"):p.push(t),n},this.watch=function(t,n,e){if(bn(t))throw Error("Path must be a string without null bytes.");"function"==typeof n&&(e=n,n={}),n=n||{},e=e||An;var r=new Zn;return r.start(t,!1,n.recursive),r.on("change",e),r},s.open(function(t,i){function f(t){function i(t){var n=s[t]();return n.flags=o,n.changes=[],n.close=function(){var t=n.changes;r(t),t.length=0},n}c.provider={openReadWriteContext:function(){return i("getReadWriteContext")},openReadOnlyContext:function(){return i("getReadOnlyContext")}},t?c.readyState=Mn:(c.readyState=Cn,e()),n(t,c)}if(t)return f(t);if(!a&&!i)return f(null);var l=s.getReadWriteContext();l.clear(function(t){return t?(f(t),void 0):(u(l,f),void 0)})})}function U(t,n,r,i,o){function s(n,s){if(n)o(n);else{var a;a=gn(i).contains(Pn)?s.size:0;var c=new e(r,s.id,i,a),u=t.allocDescriptor(c);o(null,u)}}L(r,o)&&(i=B(i),i||o(new Gn.EINVAL("flags is not valid")),p(n,r,i,s))}function P(t,n,e){gn(t.openFiles).has(n)?(t.releaseDescriptor(n),e(null)):e(new Gn.EBADF)}function z(t,n,e){function r(t){t?e(t):e(null)}L(n,e)&&f(t,n,r)}function W(t,n,e){function r(t){t?e(t):e(null)}L(n,e)&&l(t,n,r)}function q(t,n,e,r){function i(t,e){if(t)r(t);else{var i=new o(e,n);r(null,i)}}L(e,r)&&g(t,e,i)}function V(t,n,e,r){function i(n,e){if(n)r(n);else{var i=new o(e,t.name);r(null,i)}}var s=t.openFiles[e];s?y(n,s,i):r(new EBadFileDescriptor("invalid file descriptor"))}function H(t,n,e,r){function i(t){t?r(t):r(null)}L(n,r)&&L(e,r)&&E(t,n,e,i)}function Y(t,n,e){function r(t){t?e(t):e(null)}L(n,e)&&w(t,n,r)}function X(t,n,e,r,i,o,s,a){function c(t,n){t?a(t):a(null,n)}i=void 0===i?0:i,o=void 0===o?r.length-i:o;var u=t.openFiles[e];u?gn(u.flags).contains(Ln)?v(n,u,r,i,o,s,c):a(new Gn.EBADF("descriptor does not permit reading")):a(new Gn.EBADF)}function K(t,n,r,i,s){if(i=M(i,null,"r"),L(r,s)){var a=B(i.flag||"r");a||s(new Gn.EINVAL("flags is not valid")),p(n,r,a,function(c,u){if(c)return s(c);var f=new e(r,u.id,a,0),l=t.allocDescriptor(f);y(n,f,function(e,r){if(e)return s(e);var a=new o(r,t.name),c=a.size,u=new Uint8Array(c);v(n,f,u,0,c,0,function(n){if(n)return s(n);t.releaseDescriptor(l);var e;e="utf8"===i.encoding?new TextDecoder("utf-8").decode(u):u,s(null,e)})})})}}function J(t,n,e,r,i,o,s,a){function c(t,n){t?a(t):a(null,n)}i=void 0===i?0:i,o=void 0===o?r.length-i:o;var u=t.openFiles[e];u?gn(u.flags).contains(Fn)?o>r.length-i?a(new Gn.EIO("intput buffer is too small")):d(n,u,r,i,o,s,c):a(new Gn.EBADF("descriptor does not permit writing")):a(new Gn.EBADF)}function Z(t,n,r,i,o,s){if(o=M(o,"utf8","w"),L(r,s)){var a=B(o.flag||"w");a||s(new Gn.EINVAL("flags is not valid")),i=i||"","number"==typeof i&&(i=""+i),"string"==typeof i&&"utf8"===o.encoding&&(i=new TextEncoder("utf-8").encode(i)),p(n,r,a,function(o,c){if(o)return s(o);var u=new e(r,c.id,a,0),f=t.allocDescriptor(u);h(n,u,i,0,i.length,function(n){return n?s(n):(t.releaseDescriptor(f),s(null),void 0)})})}}function G(t,n,r,i,o,s){if(o=M(o,"utf8","a"),L(r,s)){var a=B(o.flag||"a");a||s(new Gn.EINVAL("flags is not valid")),i=i||"","number"==typeof i&&(i=""+i),"string"==typeof i&&"utf8"===o.encoding&&(i=new TextEncoder("utf-8").encode(i)),p(n,r,a,function(o,c){if(o)return s(o);var u=new e(r,c.id,a,c.size),f=t.allocDescriptor(u);d(n,u,i,0,i.length,u.position,function(n){return n?s(n):(t.releaseDescriptor(f),s(null),void 0)})})}}function Q(t,n,e,r){function i(t){r(t?!1:!0)}q(t,n,e,i)}function $(t,n,e,r){function i(t,n){t?r(t):r(null,n)}L(n,r)&&T(t,n,e,i)}function tn(t,n,e,r,i){function o(t,n){t?i(t):i(null,n)}var s=t.openFiles[e];s?N(n,s,r,o):i(new Gn.EBADF)}function nn(t,n,e,r,i,o){function s(t){t?o(t):o(null)}L(n,o)&&I(t,n,e,r,i,s)}function en(t,n,e,r,i,o,s){function a(t){t?s(t):s(null)}var c=t.openFiles[e];c?gn(c.flags).contains(Fn)?R(n,c,r,i,o,a):s(new Gn.EBADF("descriptor does not permit writing")):s(new Gn.EBADF)}function rn(t,n,e,r){function i(t){t?r(t):r(null)}L(n,r)&&D(t,n,e,i)}function on(t,n,e,r,i){function o(t){t?i(t):i(null)}var s=t.openFiles[e];s?gn(s.flags).contains(Fn)?C(n,s,r,o):i(new Gn.EBADF("descriptor does not permit writing")):i(new Gn.EBADF)}function sn(t,n,e,r,i,o){function s(t,n){t?o(t):0>n.size+r?o(new Gn.EINVAL("resulting file offset would be negative")):(a.position=n.size+r,o(null,a.position))}var a=t.openFiles[e];a||o(new Gn.EBADF),"SET"===i?0>r?o(new Gn.EINVAL("resulting file offset would be negative")):(a.position=r,o(null,a.position)):"CUR"===i?0>a.position+r?o(new Gn.EINVAL("resulting file offset would be negative")):(a.position+=r,o(null,a.position)):"END"===i?y(n,a,s):o(new Gn.EINVAL("whence argument is not a proper value"))}function an(t,n,e){function r(t,n){t?e(t):e(null,n)}L(n,e)&&b(t,n,r)}function cn(t,n,e,r,i){function o(t){t?i(t):i(null)}if(L(n,i)){var s=Date.now();e=e?e:s,r=r?r:s,k(t,n,e,r,o)}}function un(t,n,e,r,i,o){function s(t){t?o(t):o(null)}var a=Date.now();r=r?r:a,i=i?i:a;var c=t.openFiles[e];c?gn(c.flags).contains(Fn)?S(n,c,r,i,s):o(new Gn.EBADF("descriptor does not permit writing")):o(new Gn.EBADF)}function fn(t,n,e,r){function i(t){t?r(t):r(null)}function o(e){e?r(e):w(t,n,i)}L(n,r)&&L(e,r)&&E(t,n,e,o)}function ln(t,n,e,r){function i(t){t?r(t):r(null)}L(n,r)&&L(e,r)&&_(t,n,e,i)}function pn(t,n,e){function r(t,n){t?e(t):e(null,n)}L(n,e)&&A(t,n,r)}function hn(t,n,e,r){function i(n,e){if(n)r(n);else{var i=new o(e,t.name);r(null,i)}}L(e,r)&&m(n,e,i)}function dn(t,n,e,r){function i(t){t?r(t):r(null)}L(n,r)&&x(t,n,e,i)}function vn(t,n,e,r,i){function o(t){t?i(t):i(null)}var s=t.openFiles[e];s?gn(s.flags).contains(Fn)?O(n,s,r,o):i(new Gn.EBADF("descriptor does not permit writing")):i(new Gn.EBADF)}var gn=t("nodash");t("encoding");var yn=t("src/path").normalize,mn=t("src/path").dirname,En=t("src/path").basename,wn=t("src/path").isAbsolute,bn=t("src/path").isNull,_n=t("src/shared").guid;t("src/shared").hash;var An=t("src/shared").nop,xn=t("src/constants").FILE_SYSTEM_NAME,On=t("src/constants").FS_FORMAT,kn=t("src/constants").MODE_FILE,Sn=t("src/constants").MODE_DIRECTORY,In=t("src/constants").MODE_SYMBOLIC_LINK,Rn=t("src/constants").MODE_META,Tn=t("src/constants").ROOT_DIRECTORY_NAME,Nn=t("src/constants").SUPER_NODE_ID,Dn=t("src/constants").SYMLOOP_MAX,Cn=t("src/constants").FS_READY,Bn=t("src/constants").FS_PENDING,Mn=t("src/constants").FS_ERROR,Ln=t("src/constants").O_READ,Fn=t("src/constants").O_WRITE,jn=t("src/constants").O_CREATE,Un=t("src/constants").O_EXCLUSIVE;t("src/constants").O_TRUNCATE;var Pn=t("src/constants").O_APPEND,zn=t("src/constants").O_FLAGS,Wn=t("src/constants").XATTR_CREATE,qn=t("src/constants").XATTR_REPLACE,Vn=t("src/constants").FS_NOMTIME,Hn=t("src/constants").FS_NOCTIME,Yn=t("src/providers/providers"),Xn=t("src/adapters/adapters"),Kn=t("src/shell"),Jn=t("intercom"),Zn=t("src/fswatcher"),Gn=t("src/errors");return o.prototype.isFile=function(){return this.type===kn},o.prototype.isDirectory=function(){return this.type===Sn},o.prototype.isBlockDevice=function(){return!1},o.prototype.isCharacterDevice=function(){return!1},o.prototype.isSymbolicLink=function(){return this.type===In},o.prototype.isFIFO=function(){return!1},o.prototype.isSocket=function(){return!1},j.providers=Yn,j.adapters=Xn,j.prototype.open=function(t,n,e,r){r=F(arguments[arguments.length-1]);var i=this,o=i.queueOrRun(function(){function e(){o.close(),r.apply(i,arguments)}var o=i.provider.openReadWriteContext();U(i,o,t,n,e)});o&&r(o)},j.prototype.close=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();P(e,t,r)});r&&n(r)},j.prototype.mkdir=function(t,n,e){"function"==typeof n&&(e=n),e=F(e);var r=this,i=r.queueOrRun(function(){function n(){i.close(),e.apply(r,arguments)}var i=r.provider.openReadWriteContext();z(i,t,n)});i&&e(i)},j.prototype.rmdir=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();W(i,t,r)});r&&n(r)},j.prototype.stat=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();q(i,e.name,t,r)});r&&n(r)},j.prototype.fstat=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();V(e,i,t,r)});r&&n(r)},j.prototype.link=function(t,n,e){e=F(e);var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();H(o,t,n,i)});i&&e(i)},j.prototype.unlink=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();Y(i,t,r)});r&&n(r)},j.prototype.read=function(t,n,e,r,i,o){function s(t,e){o(t,e||0,n)}o=F(o);var a=this,c=a.queueOrRun(function(){function o(){c.close(),s.apply(this,arguments)}var c=a.provider.openReadWriteContext();X(a,c,t,n,e,r,i,o)});c&&o(c)},j.prototype.readFile=function(t,n){var e=F(arguments[arguments.length-1]),r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();K(r,o,t,n,i)});i&&e(i)},j.prototype.write=function(t,n,e,r,i,o){o=F(o);var s=this,a=s.queueOrRun(function(){function a(){c.close(),o.apply(s,arguments)}var c=s.provider.openReadWriteContext();J(s,c,t,n,e,r,i,a)});a&&o(a)},j.prototype.writeFile=function(t,n,e){var r=F(arguments[arguments.length-1]),i=this,o=i.queueOrRun(function(){function o(){s.close(),r.apply(i,arguments)}var s=i.provider.openReadWriteContext();Z(i,s,t,n,e,o)});o&&r(o)},j.prototype.appendFile=function(t,n,e){var r=F(arguments[arguments.length-1]),i=this,o=i.queueOrRun(function(){function o(){s.close(),r.apply(i,arguments)}var s=i.provider.openReadWriteContext();G(i,s,t,n,e,o)});o&&r(o)},j.prototype.exists=function(t){var n=F(arguments[arguments.length-1]),e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();Q(i,e.name,t,r)});r&&n(r)},j.prototype.lseek=function(t,n,e,r){r=F(r);var i=this,o=i.queueOrRun(function(){function o(){s.close(),r.apply(i,arguments)}var s=i.provider.openReadWriteContext();sn(i,s,t,n,e,o)});o&&r(o)},j.prototype.readdir=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();an(i,t,r)});r&&n(r)},j.prototype.rename=function(t,n,e){e=F(e);var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();fn(o,t,n,i)});i&&e(i)},j.prototype.readlink=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();pn(i,t,r)});r&&n(r)},j.prototype.symlink=function(t,n){var e=F(arguments[arguments.length-1]),r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();ln(o,t,n,i)});i&&e(i)},j.prototype.lstat=function(t,n){n=F(n);var e=this,r=e.queueOrRun(function(){function r(){i.close(),n.apply(e,arguments)}var i=e.provider.openReadWriteContext();hn(e,i,t,r)});r&&n(r)},j.prototype.truncate=function(t,n,e){"function"==typeof n&&(e=n,n=0),e=F(e),n="number"==typeof n?n:0;var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();dn(o,t,n,i)});i&&e(i)},j.prototype.ftruncate=function(t,n,e){e=F(e);var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();vn(r,o,t,n,i)});i&&e(i)},j.prototype.utimes=function(t,n,e,r){r=F(r);var i=this,o=i.queueOrRun(function(){function o(){s.close(),r.apply(i,arguments)}var s=i.provider.openReadWriteContext();cn(s,t,n,e,o)});o&&r(o)},j.prototype.futimes=function(t,n,e,r){r=F(r);var i=this,o=i.queueOrRun(function(){function o(){s.close(),r.apply(i,arguments)}var s=i.provider.openReadWriteContext();un(i,s,t,n,e,o)});o&&r(o)},j.prototype.setxattr=function(t,n,e,r,i){i=F(arguments[arguments.length-1]);var o="function"!=typeof r?r:null,s=this,a=s.queueOrRun(function(){function r(){a.close(),i.apply(s,arguments)}var a=s.provider.openReadWriteContext();nn(a,t,n,e,o,r)});a&&i(a)},j.prototype.getxattr=function(t,n,e){e=F(e);var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();$(o,t,n,i)});i&&e(i)},j.prototype.fsetxattr=function(t,n,e,r,i){i=F(arguments[arguments.length-1]);var o="function"!=typeof r?r:null,s=this,a=s.queueOrRun(function(){function r(){a.close(),i.apply(s,arguments)}var a=s.provider.openReadWriteContext();en(s,a,t,n,e,o,r)});a&&i(a)},j.prototype.fgetxattr=function(t,n,e){e=F(e);var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();tn(r,o,t,n,i)});i&&e(i)},j.prototype.removexattr=function(t,n,e){e=F(e);var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();rn(o,t,n,i)});i&&e(i)},j.prototype.fremovexattr=function(t,n,e){e=F(e);var r=this,i=r.queueOrRun(function(){function i(){o.close(),e.apply(r,arguments)}var o=r.provider.openReadWriteContext();on(r,o,t,n,i)});i&&e(i)},j.prototype.Shell=function(t){return new Kn(this,t)},j}),e("src/index",["require","src/fs","src/path","src/errors"],function(t){return{FileSystem:t("src/fs"),Path:t("src/path"),Errors:t("src/errors")}});var i=n("src/index");return i}); \ No newline at end of file