!function (a) {
    "use strict";
    var b = function (a, c, d) {
        var e, f, g = document.createElement("img");
        if (g.onerror = c, g.onload = function () {
                !f || d && d.noRevoke || b.revokeObjectURL(f), c && c(b.scale(g, d))
            }, b.isInstanceOf("Blob", a) || b.isInstanceOf("File", a))e = f = b.createObjectURL(a), g._type = a.type; else {
            if ("string" != typeof a)return !1;
            e = a, d && d.crossOrigin && (g.crossOrigin = d.crossOrigin)
        }
        return e ? (g.src = e, g) : b.readFile(a, function (a) {
            var b = a.target;
            b && b.result ? g.src = b.result : c && c(a)
        })
    }, c = window.createObjectURL && window || window.URL && URL.revokeObjectURL && URL || window.webkitURL && webkitURL;
    b.isInstanceOf = function (a, b) {
        return Object.prototype.toString.call(b) === "[object " + a + "]"
    }, b.transformCoordinates = function () {
    }, b.getTransformedOptions = function (a, b) {
        var c, d, e, f, g = b.aspectRatio;
        if (!g)return b;
        c = {};
        for (d in b)b.hasOwnProperty(d) && (c[d] = b[d]);
        return c.crop = !0, e = a.naturalWidth || a.width, f = a.naturalHeight || a.height, e / f > g ? (c.maxWidth = f * g, c.maxHeight = f) : (c.maxWidth = e, c.maxHeight = e / g), c
    }, b.renderImageToCanvas = function (a, b, c, d, e, f, g, h, i, j) {
        return a.getContext("2d").drawImage(b, c, d, e, f, g, h, i, j), a
    }, b.hasCanvasOption = function (a) {
        return a.canvas || a.crop || a.aspectRatio
    }, b.scale = function (a, c) {
        c = c || {};
        var d, e, f, g, h, i, j, k, l, m = document.createElement("canvas"), n = a.getContext || b.hasCanvasOption(c) && m.getContext, o = a.naturalWidth || a.width, p = a.naturalHeight || a.height, q = o, r = p, s = function () {
            var a = Math.max((f || q) / q, (g || r) / r);
            a > 1 && (q *= a, r *= a)
        }, t = function () {
            var a = Math.min((d || q) / q, (e || r) / r);
            1 > a && (q *= a, r *= a)
        };
        return n && (c = b.getTransformedOptions(a, c), j = c.left || 0, k = c.top || 0, c.sourceWidth ? (h = c.sourceWidth, void 0 !== c.right && void 0 === c.left && (j = o - h - c.right)) : h = o - j - (c.right || 0), c.sourceHeight ? (i = c.sourceHeight, void 0 !== c.bottom && void 0 === c.top && (k = p - i - c.bottom)) : i = p - k - (c.bottom || 0), q = h, r = i), d = c.maxWidth, e = c.maxHeight, f = c.minWidth, g = c.minHeight, n && d && e && c.crop ? (q = d, r = e, l = h / i - d / e, 0 > l ? (i = e * h / d, void 0 === c.top && void 0 === c.bottom && (k = (p - i) / 2)) : l > 0 && (h = d * i / e, void 0 === c.left && void 0 === c.right && (j = (o - h) / 2))) : ((c.contain || c.cover) && (f = d = d || f, g = e = e || g), c.cover ? (t(), s()) : (s(), t())), n ? (m.width = q, m.height = r, b.transformCoordinates(m, c), b.renderImageToCanvas(m, a, j, k, h, i, 0, 0, q, r)) : (a.width = q, a.height = r, a)
    }, b.createObjectURL = function (a) {
        return c ? c.createObjectURL(a) : !1
    }, b.revokeObjectURL = function (a) {
        return c ? c.revokeObjectURL(a) : !1
    }, b.readFile = function (a, b, c) {
        if (window.FileReader) {
            var d = new FileReader;
            if (d.onload = d.onerror = b, c = c || "readAsDataURL", d[c])return d[c](a), d
        }
        return !1
    }, "function" == typeof define && define.amd ? define(function () {
        return b
    }) : a.loadImage = b
}(this), function (a) {
    "use strict";
    "function" == typeof define && define.amd ? define(["load-image"], a) : a(window.loadImage)
}(function (a) {
    "use strict";
    if (window.navigator && window.navigator.platform && /iP(hone|od|ad)/.test(window.navigator.platform)) {
        var b = a.renderImageToCanvas;
        a.detectSubsampling = function (a) {
            var b, c;
            return a.width * a.height > 1048576 ? (b = document.createElement("canvas"), b.width = b.height = 1, c = b.getContext("2d"), c.drawImage(a, -a.width + 1, 0), 0 === c.getImageData(0, 0, 1, 1).data[3]) : !1
        }, a.detectVerticalSquash = function (a, b) {
            var c, d, e, f, g, h = a.naturalHeight || a.height, i = document.createElement("canvas"), j = i.getContext("2d");
            for (b && (h /= 2), i.width = 1, i.height = h, j.drawImage(a, 0, 0), c = j.getImageData(0, 0, 1, h).data, d = 0, e = h, f = h; f > d;)g = c[4 * (f - 1) + 3], 0 === g ? e = f : d = f, f = e + d >> 1;
            return f / h || 1
        }, a.renderImageToCanvas = function (c, d, e, f, g, h, i, j, k, l) {
            if ("image/jpeg" === d._type) {
                var m, n, o, p, q = c.getContext("2d"), r = document.createElement("canvas"), s = 1024, t = r.getContext("2d");
                if (r.width = s, r.height = s, q.save(), m = a.detectSubsampling(d), m && (e /= 2, f /= 2, g /= 2, h /= 2), n = a.detectVerticalSquash(d, m), m || 1 !== n) {
                    for (f *= n, k = Math.ceil(s * k / g), l = Math.ceil(s * l / h / n), j = 0, p = 0; h > p;) {
                        for (i = 0, o = 0; g > o;)t.clearRect(0, 0, s, s), t.drawImage(d, e, f, g, h, -o, -p, g, h), q.drawImage(r, 0, 0, s, s, i, j, k, l), o += s, i += k;
                        p += s, j += l
                    }
                    return q.restore(), c
                }
            }
            return b(c, d, e, f, g, h, i, j, k, l)
        }
    }
}), function (a) {
    "use strict";
    "function" == typeof define && define.amd ? define(["load-image"], a) : a(window.loadImage)
}(function (a) {
    "use strict";
    var b = a.hasCanvasOption, c = a.transformCoordinates, d = a.getTransformedOptions;
    a.hasCanvasOption = function (c) {
        return b.call(a, c) || c.orientation
    }, a.transformCoordinates = function (b, d) {
        c.call(a, b, d);
        var e = b.getContext("2d"), f = b.width, g = b.height, h = d.orientation;
        if (h && !(h > 8))switch (h > 4 && (b.width = g, b.height = f), h) {
            case 2:
                e.translate(f, 0), e.scale(-1, 1);
                break;
            case 3:
                e.translate(f, g), e.rotate(Math.PI);
                break;
            case 4:
                e.translate(0, g), e.scale(1, -1);
                break;
            case 5:
                e.rotate(.5 * Math.PI), e.scale(1, -1);
                break;
            case 6:
                e.rotate(.5 * Math.PI), e.translate(0, -g);
                break;
            case 7:
                e.rotate(.5 * Math.PI), e.translate(f, -g), e.scale(-1, 1);
                break;
            case 8:
                e.rotate(-.5 * Math.PI), e.translate(-f, 0)
        }
    }, a.getTransformedOptions = function (b, c) {
        var e, f, g = d.call(a, b, c), h = g.orientation;
        if (!h || h > 8 || 1 === h)return g;
        e = {};
        for (f in g)g.hasOwnProperty(f) && (e[f] = g[f]);
        switch (g.orientation) {
            case 2:
                e.left = g.right, e.right = g.left;
                break;
            case 3:
                e.left = g.right, e.top = g.bottom, e.right = g.left, e.bottom = g.top;
                break;
            case 4:
                e.top = g.bottom, e.bottom = g.top;
                break;
            case 5:
                e.left = g.top, e.top = g.left, e.right = g.bottom, e.bottom = g.right;
                break;
            case 6:
                e.left = g.top, e.top = g.right, e.right = g.bottom, e.bottom = g.left;
                break;
            case 7:
                e.left = g.bottom, e.top = g.right, e.right = g.top, e.bottom = g.left;
                break;
            case 8:
                e.left = g.bottom, e.top = g.left, e.right = g.top, e.bottom = g.right
        }
        return g.orientation > 4 && (e.maxWidth = g.maxHeight, e.maxHeight = g.maxWidth, e.minWidth = g.minHeight, e.minHeight = g.minWidth, e.sourceWidth = g.sourceHeight, e.sourceHeight = g.sourceWidth), e
    }
}), function (a) {
    "use strict";
    "function" == typeof define && define.amd ? define(["load-image"], a) : a(window.loadImage)
}(function (a) {
    "use strict";
    var b = window.Blob && (Blob.prototype.slice || Blob.prototype.webkitSlice || Blob.prototype.mozSlice);
    a.blobSlice = b && function () {
        var a = this.slice || this.webkitSlice || this.mozSlice;
        return a.apply(this, arguments)
    }, a.metaDataParsers = {jpeg: {65505: []}}, a.parseMetaData = function (b, c, d) {
        d = d || {};
        var e = this, f = d.maxMetaDataSize || 262144, g = {}, h = !(window.DataView && b && b.size >= 12 && "image/jpeg" === b.type && a.blobSlice);
        (h || !a.readFile(a.blobSlice.call(b, 0, f), function (b) {
            if (b.target.error)return console.log(b.target.error), void c(g);
            var f, h, i, j, k = b.target.result, l = new DataView(k), m = 2, n = l.byteLength - 4, o = m;
            if (65496 === l.getUint16(0)) {
                for (; n > m && (f = l.getUint16(m), f >= 65504 && 65519 >= f || 65534 === f);) {
                    if (h = l.getUint16(m + 2) + 2, m + h > l.byteLength) {
                        console.log("Invalid meta data: Invalid segment size.");
                        break
                    }
                    if (i = a.metaDataParsers.jpeg[f])for (j = 0; j < i.length; j += 1)i[j].call(e, l, m, h, g, d);
                    m += h, o = m
                }
                !d.disableImageHead && o > 6 && (g.imageHead = k.slice ? k.slice(0, o) : new Uint8Array(k).subarray(0, o))
            } else console.log("Invalid JPEG file: Missing JPEG marker.");
            c(g)
        }, "readAsArrayBuffer")) && c(g)
    }
}), function (a) {
    "use strict";
    "function" == typeof define && define.amd ? define(["load-image", "load-image-meta"], a) : a(window.loadImage)
}(function (a) {
    "use strict";
    a.ExifMap = function () {
        return this
    }, a.ExifMap.prototype.map = {Orientation: 274}, a.ExifMap.prototype.get = function (a) {
        return this[a] || this[this.map[a]]
    }, a.getExifThumbnail = function (a, b, c) {
        var d, e, f;
        if (!c || b + c > a.byteLength)return void console.log("Invalid Exif data: Invalid thumbnail data.");
        for (d = [], e = 0; c > e; e += 1)f = a.getUint8(b + e), d.push((16 > f ? "0" : "") + f.toString(16));
        return "data:image/jpeg,%" + d.join("%")
    }, a.exifTagTypes = {
        1: {
            getValue: function (a, b) {
                return a.getUint8(b)
            }, size: 1
        }, 2: {
            getValue: function (a, b) {
                return String.fromCharCode(a.getUint8(b))
            }, size: 1, ascii: !0
        }, 3: {
            getValue: function (a, b, c) {
                return a.getUint16(b, c)
            }, size: 2
        }, 4: {
            getValue: function (a, b, c) {
                return a.getUint32(b, c)
            }, size: 4
        }, 5: {
            getValue: function (a, b, c) {
                return a.getUint32(b, c) / a.getUint32(b + 4, c)
            }, size: 8
        }, 9: {
            getValue: function (a, b, c) {
                return a.getInt32(b, c)
            }, size: 4
        }, 10: {
            getValue: function (a, b, c) {
                return a.getInt32(b, c) / a.getInt32(b + 4, c)
            }, size: 8
        }
    }, a.exifTagTypes[7] = a.exifTagTypes[1], a.getExifValue = function (b, c, d, e, f, g) {
        var h, i, j, k, l, m, n = a.exifTagTypes[e];
        if (!n)return void console.log("Invalid Exif data: Invalid tag type.");
        if (h = n.size * f, i = h > 4 ? c + b.getUint32(d + 8, g) : d + 8, i + h > b.byteLength)return void console.log("Invalid Exif data: Invalid data offset.");
        if (1 === f)return n.getValue(b, i, g);
        for (j = [], k = 0; f > k; k += 1)j[k] = n.getValue(b, i + k * n.size, g);
        if (n.ascii) {
            for (l = "", k = 0; k < j.length && (m = j[k], "\x00" !== m); k += 1)l += m;
            return l
        }
        return j
    }, a.parseExifTag = function (b, c, d, e, f) {
        var g = b.getUint16(d, e);
        f.exif[g] = a.getExifValue(b, c, d, b.getUint16(d + 2, e), b.getUint32(d + 4, e), e)
    }, a.parseExifTags = function (a, b, c, d, e) {
        var f, g, h;
        if (c + 6 > a.byteLength)return void console.log("Invalid Exif data: Invalid directory offset.");
        if (f = a.getUint16(c, d), g = c + 2 + 12 * f, g + 4 > a.byteLength)return void console.log("Invalid Exif data: Invalid directory size.");
        for (h = 0; f > h; h += 1)this.parseExifTag(a, b, c + 2 + 12 * h, d, e);
        return a.getUint32(g, d)
    }, a.parseExifData = function (b, c, d, e, f) {
        if (!f.disableExif) {
            var g, h, i, j = c + 10;
            if (1165519206 === b.getUint32(c + 4)) {
                if (j + 8 > b.byteLength)return void console.log("Invalid Exif data: Invalid segment size.");
                if (0 !== b.getUint16(c + 8))return void console.log("Invalid Exif data: Missing byte alignment offset.");
                switch (b.getUint16(j)) {
                    case 18761:
                        g = !0;
                        break;
                    case 19789:
                        g = !1;
                        break;
                    default:
                        return void console.log("Invalid Exif data: Invalid byte alignment marker.")
                }
                if (42 !== b.getUint16(j + 2, g))return void console.log("Invalid Exif data: Missing TIFF marker.");
                h = b.getUint32(j + 4, g), e.exif = new a.ExifMap, h = a.parseExifTags(b, j, j + h, g, e), h && !f.disableExifThumbnail && (i = {exif: {}}, h = a.parseExifTags(b, j, j + h, g, i), i.exif[513] && (e.exif.Thumbnail = a.getExifThumbnail(b, j + i.exif[513], i.exif[514]))), e.exif[34665] && !f.disableExifSub && a.parseExifTags(b, j, j + e.exif[34665], g, e), e.exif[34853] && !f.disableExifGps && a.parseExifTags(b, j, j + e.exif[34853], g, e)
            }
        }
    }, a.metaDataParsers.jpeg[65505].push(a.parseExifData)
}), function (a) {
    "use strict";
    "function" == typeof define && define.amd ? define(["load-image", "load-image-exif"], a) : a(window.loadImage)
}(function (a) {
    "use strict";
    a.ExifMap.prototype.tags = {
        256: "ImageWidth",
        257: "ImageHeight",
        34665: "ExifIFDPointer",
        34853: "GPSInfoIFDPointer",
        40965: "InteroperabilityIFDPointer",
        258: "BitsPerSample",
        259: "Compression",
        262: "PhotometricInterpretation",
        274: "Orientation",
        277: "SamplesPerPixel",
        284: "PlanarConfiguration",
        530: "YCbCrSubSampling",
        531: "YCbCrPositioning",
        282: "XResolution",
        283: "YResolution",
        296: "ResolutionUnit",
        273: "StripOffsets",
        278: "RowsPerStrip",
        279: "StripByteCounts",
        513: "JPEGInterchangeFormat",
        514: "JPEGInterchangeFormatLength",
        301: "TransferFunction",
        318: "WhitePoint",
        319: "PrimaryChromaticities",
        529: "YCbCrCoefficients",
        532: "ReferenceBlackWhite",
        306: "DateTime",
        270: "ImageDescription",
        271: "Make",
        272: "Model",
        305: "Software",
        315: "Artist",
        33432: "Copyright",
        36864: "ExifVersion",
        40960: "FlashpixVersion",
        40961: "ColorSpace",
        40962: "PixelXDimension",
        40963: "PixelYDimension",
        42240: "Gamma",
        37121: "ComponentsConfiguration",
        37122: "CompressedBitsPerPixel",
        37500: "MakerNote",
        37510: "UserComment",
        40964: "RelatedSoundFile",
        36867: "DateTimeOriginal",
        36868: "DateTimeDigitized",
        37520: "SubSecTime",
        37521: "SubSecTimeOriginal",
        37522: "SubSecTimeDigitized",
        33434: "ExposureTime",
        33437: "FNumber",
        34850: "ExposureProgram",
        34852: "SpectralSensitivity",
        34855: "PhotographicSensitivity",
        34856: "OECF",
        34864: "SensitivityType",
        34865: "StandardOutputSensitivity",
        34866: "RecommendedExposureIndex",
        34867: "ISOSpeed",
        34868: "ISOSpeedLatitudeyyy",
        34869: "ISOSpeedLatitudezzz",
        37377: "ShutterSpeedValue",
        37378: "ApertureValue",
        37379: "BrightnessValue",
        37380: "ExposureBias",
        37381: "MaxApertureValue",
        37382: "SubjectDistance",
        37383: "MeteringMode",
        37384: "LightSource",
        37385: "Flash",
        37396: "SubjectArea",
        37386: "FocalLength",
        41483: "FlashEnergy",
        41484: "SpatialFrequencyResponse",
        41486: "FocalPlaneXResolution",
        41487: "FocalPlaneYResolution",
        41488: "FocalPlaneResolutionUnit",
        41492: "SubjectLocation",
        41493: "ExposureIndex",
        41495: "SensingMethod",
        41728: "FileSource",
        41729: "SceneType",
        41730: "CFAPattern",
        41985: "CustomRendered",
        41986: "ExposureMode",
        41987: "WhiteBalance",
        41988: "DigitalZoomRatio",
        41989: "FocalLengthIn35mmFilm",
        41990: "SceneCaptureType",
        41991: "GainControl",
        41992: "Contrast",
        41993: "Saturation",
        41994: "Sharpness",
        41995: "DeviceSettingDescription",
        41996: "SubjectDistanceRange",
        42016: "ImageUniqueID",
        42032: "CameraOwnerName",
        42033: "BodySerialNumber",
        42034: "LensSpecification",
        42035: "LensMake",
        42036: "LensModel",
        42037: "LensSerialNumber",
        0: "GPSVersionID",
        1: "GPSLatitudeRef",
        2: "GPSLatitude",
        3: "GPSLongitudeRef",
        4: "GPSLongitude",
        5: "GPSAltitudeRef",
        6: "GPSAltitude",
        7: "GPSTimeStamp",
        8: "GPSSatellites",
        9: "GPSStatus",
        10: "GPSMeasureMode",
        11: "GPSDOP",
        12: "GPSSpeedRef",
        13: "GPSSpeed",
        14: "GPSTrackRef",
        15: "GPSTrack",
        16: "GPSImgDirectionRef",
        17: "GPSImgDirection",
        18: "GPSMapDatum",
        19: "GPSDestLatitudeRef",
        20: "GPSDestLatitude",
        21: "GPSDestLongitudeRef",
        22: "GPSDestLongitude",
        23: "GPSDestBearingRef",
        24: "GPSDestBearing",
        25: "GPSDestDistanceRef",
        26: "GPSDestDistance",
        27: "GPSProcessingMethod",
        28: "GPSAreaInformation",
        29: "GPSDateStamp",
        30: "GPSDifferential",
        31: "GPSHPositioningError"
    }, a.ExifMap.prototype.stringValues = {
        ExposureProgram: {
            0: "Undefined",
            1: "Manual",
            2: "Normal program",
            3: "Aperture priority",
            4: "Shutter priority",
            5: "Creative program",
            6: "Action program",
            7: "Portrait mode",
            8: "Landscape mode"
        },
        MeteringMode: {
            0: "Unknown",
            1: "Average",
            2: "CenterWeightedAverage",
            3: "Spot",
            4: "MultiSpot",
            5: "Pattern",
            6: "Partial",
            255: "Other"
        },
        LightSource: {
            0: "Unknown",
            1: "Daylight",
            2: "Fluorescent",
            3: "Tungsten (incandescent light)",
            4: "Flash",
            9: "Fine weather",
            10: "Cloudy weather",
            11: "Shade",
            12: "Daylight fluorescent (D 5700 - 7100K)",
            13: "Day white fluorescent (N 4600 - 5400K)",
            14: "Cool white fluorescent (W 3900 - 4500K)",
            15: "White fluorescent (WW 3200 - 3700K)",
            17: "Standard light A",
            18: "Standard light B",
            19: "Standard light C",
            20: "D55",
            21: "D65",
            22: "D75",
            23: "D50",
            24: "ISO studio tungsten",
            255: "Other"
        },
        Flash: {
            0: "Flash did not fire",
            1: "Flash fired",
            5: "Strobe return light not detected",
            7: "Strobe return light detected",
            9: "Flash fired, compulsory flash mode",
            13: "Flash fired, compulsory flash mode, return light not detected",
            15: "Flash fired, compulsory flash mode, return light detected",
            16: "Flash did not fire, compulsory flash mode",
            24: "Flash did not fire, auto mode",
            25: "Flash fired, auto mode",
            29: "Flash fired, auto mode, return light not detected",
            31: "Flash fired, auto mode, return light detected",
            32: "No flash function",
            65: "Flash fired, red-eye reduction mode",
            69: "Flash fired, red-eye reduction mode, return light not detected",
            71: "Flash fired, red-eye reduction mode, return light detected",
            73: "Flash fired, compulsory flash mode, red-eye reduction mode",
            77: "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",
            79: "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",
            89: "Flash fired, auto mode, red-eye reduction mode",
            93: "Flash fired, auto mode, return light not detected, red-eye reduction mode",
            95: "Flash fired, auto mode, return light detected, red-eye reduction mode"
        },
        SensingMethod: {
            1: "Undefined",
            2: "One-chip color area sensor",
            3: "Two-chip color area sensor",
            4: "Three-chip color area sensor",
            5: "Color sequential area sensor",
            7: "Trilinear sensor",
            8: "Color sequential linear sensor"
        },
        SceneCaptureType: {0: "Standard", 1: "Landscape", 2: "Portrait", 3: "Night scene"},
        SceneType: {1: "Directly photographed"},
        CustomRendered: {0: "Normal process", 1: "Custom process"},
        WhiteBalance: {0: "Auto white balance", 1: "Manual white balance"},
        GainControl: {0: "None", 1: "Low gain up", 2: "High gain up", 3: "Low gain down", 4: "High gain down"},
        Contrast: {0: "Normal", 1: "Soft", 2: "Hard"},
        Saturation: {0: "Normal", 1: "Low saturation", 2: "High saturation"},
        Sharpness: {0: "Normal", 1: "Soft", 2: "Hard"},
        SubjectDistanceRange: {0: "Unknown", 1: "Macro", 2: "Close view", 3: "Distant view"},
        FileSource: {3: "DSC"},
        ComponentsConfiguration: {0: "", 1: "Y", 2: "Cb", 3: "Cr", 4: "R", 5: "G", 6: "B"},
        Orientation: {
            1: "top-left",
            2: "top-right",
            3: "bottom-right",
            4: "bottom-left",
            5: "left-top",
            6: "right-top",
            7: "right-bottom",
            8: "left-bottom"
        }
    }, a.ExifMap.prototype.getText = function (a) {
        var b = this.get(a);
        switch (a) {
            case"LightSource":
            case"Flash":
            case"MeteringMode":
            case"ExposureProgram":
            case"SensingMethod":
            case"SceneCaptureType":
            case"SceneType":
            case"CustomRendered":
            case"WhiteBalance":
            case"GainControl":
            case"Contrast":
            case"Saturation":
            case"Sharpness":
            case"SubjectDistanceRange":
            case"FileSource":
            case"Orientation":
                return this.stringValues[a][b];
            case"ExifVersion":
            case"FlashpixVersion":
                return String.fromCharCode(b[0], b[1], b[2], b[3]);
            case"ComponentsConfiguration":
                return this.stringValues[a][b[0]] + this.stringValues[a][b[1]] + this.stringValues[a][b[2]] + this.stringValues[a][b[3]];
            case"GPSVersionID":
                return b[0] + "." + b[1] + "." + b[2] + "." + b[3]
        }
        return String(b)
    }, function (a) {
        var b, c = a.tags, d = a.map;
        for (b in c)c.hasOwnProperty(b) && (d[c[b]] = b)
    }(a.ExifMap.prototype), a.ExifMap.prototype.getAll = function () {
        var a, b, c = {};
        for (a in this)this.hasOwnProperty(a) && (b = this.tags[a], b && (c[b] = this.getText(b)));
        return c
    }
});