{"version":3,"sources":["jsdelivr-header.js","/npm/jquery-ajax-native@2.0.0/src/jquery-ajax-native.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCFC,SAAU,EAAM,GACS,mBAAX,QAAyB,OAAO,IAEvC,OAAO,CAAC,UAAW,GACO,iBAAZ,QAId,OAAO,QAAU,EAAQ,QAAQ,WAGjC,EAAQ,EAAK,OAErB,CAbA,CAaE,MAAM,SAAW,GACf,IAAI,EAAe,EAAE,aACrB,EAAa,eAAe,OAAS,iBACrC,EAAa,WAAY,aAAe,EACxC,IAAI,EAAU,CAAC,EACX,EAAQ,EACR,EAAmB,CAEf,EAAG,IAGH,KAAM,KAEV,EAAe,CAAC,EAChB,EAAe,OAAO,aAAa,MA2IvC,OAxIK,OAAO,eACR,EAAG,QAAS,GAAI,UAAU,WACtB,IAAM,IAAI,KAAO,EACb,EAAc,IAEtB,IAEJ,EAAQ,OAAS,GAAkB,oBAAqB,EACxD,EAAQ,KAAO,IAAiB,EAGhC,EAAE,cAAc,UAAU,SAAW,GACjC,IAAI,EAEJ,GAAK,EAAQ,MAAQ,IAAiB,EAAQ,YAC1C,MAAO,CACH,KAAM,SAAU,EAAS,GACrB,IAAI,EACA,EAAM,EAAQ,MACd,IAAO,EACP,EAAY,CAAC,EAKjB,GAHA,EAAI,KAAM,EAAQ,KAAM,EAAQ,IAAK,EAAQ,MAAO,EAAQ,SAAU,EAAQ,UAGzE,EAAQ,UACT,IAAM,KAAK,EAAQ,UACf,EAAK,GAAM,EAAQ,UAAW,GAmBtC,IAAM,KAdD,EAAQ,UAAY,EAAI,kBACzB,EAAI,iBAAkB,EAAQ,UAQ5B,EAAQ,aAAgB,EAAQ,sBAClC,EAAQ,oBAAsB,kBAIvB,EACP,EAAI,iBAAkB,EAAG,EAAS,IAItC,EAAW,SAAU,GACjB,OAAO,WACE,WACM,EAAc,GACrB,EAAW,EAAI,OAAS,EAAI,QAAU,KAExB,UAAT,EACD,EAAI,QACa,UAAT,EACR,EAEI,EAAI,OACJ,EAAI,aAKH,EAAI,WACL,EAAU,OAAS,EAAI,UAG3B,EACI,EAAkB,EAAI,SAAY,EAAI,OACtC,EAAI,WACJ,EACA,EAAI,0BAIpB,CACJ,EAGA,EAAI,OAAS,IACb,EAAI,QAAU,EAAS,SAGvB,EAAW,EAAc,GAAO,EAAS,SAEzC,IAEI,EAAI,KAAM,EAAQ,YAAc,EAAQ,MAAQ,KACpD,CAAE,MAAQ,GAEN,GAAK,EACD,MAAM,CAEd,CACJ,EAEA,MAAO,WACE,GACD,GAER,EAGZ,IAIA,EAAE,UAAY,SAAW,EAAK,GAC1B,OAAO,EAAE,KAAK,CACV,SAAU,SACV,IAAK,EACL,UAAW,CACP,aAAc,eAElB,QAAS,GAEjB,EAGA,EAAE,QAAU,SAAW,EAAK,GACxB,OAAO,EAAE,KAAK,CACV,SAAU,SACV,IAAK,EACL,UAAW,CACP,aAAc,QAElB,QAAS,GAEjB,EAGO,CAEX","file":"/npm/jquery-ajax-native@2.0.0/src/jquery-ajax-native.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/jquery-ajax-native@2.0.0/src/jquery-ajax-native.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","//     jQuery Ajax Native Plugin\n\n//     (c) 2015 Tarik Zakaria Benmerar, Acigna Inc.\n//      jQuery Ajax Native Plugin may be freely distributed under the MIT license.\n(function (root, factory) {\n    if (typeof define === 'function' && define.amd) {\n        // AMD. Register as an anonymous module.\n        define(['jquery'], factory);\n    } else if (typeof exports === 'object') {\n        // Node. Does not work with strict CommonJS, but\n        // only CommonJS-like environments that support module.exports,\n        // like Node.\n        module.exports = factory(require('jquery'));\n    } else {\n        // Browser globals (root is window)\n        factory(root.jQuery);\n    }\n}(this, function ( $ ) {\n    var ajaxSettings = $.ajaxSettings;\n    ajaxSettings.responseFields.native = 'responseNative';\n    ajaxSettings.converters[ '* native' ] = true;\n    var support = {},\n        xhrId = 0,\n        xhrSuccessStatus = {\n            // file protocol always yields status code 0, assume 200\n            0: 200,\n            // Support: IE9\n            // #1450: sometimes IE returns 1223 when it should be 204\n            1223: 204\n        },\n        xhrCallbacks = {},\n        xhrSupported = jQuery.ajaxSettings.xhr();\n    // Support: IE9\n    // Open requests must be manually aborted on unload (#5280)\n    if ( window.ActiveXObject ) {\n        $( window ).on( \"unload\", function() {\n            for ( var key in xhrCallbacks ) {\n                xhrCallbacks[ key ]();\n            }\n        });\n    }\n    support.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\n    support.ajax = xhrSupported = !!xhrSupported;\n\n    //Native Data Type Ajax Transport\n    $.ajaxTransport('native', function ( options ) {\n        var callback;\n        // Cross domain only allowed if supported through XMLHttpRequest\n        if ( support.cors || xhrSupported && !options.crossDomain ) {\n            return {\n                send: function( headers, complete ) {\n                    var i,\n                        xhr = options.xhr(),\n                        id = ++xhrId,\n                        responses = {};\n\n                    xhr.open( options.type, options.url, options.async, options.username, options.password );\n\n                    // Apply custom fields if provided\n                    if ( options.xhrFields ) {\n                        for ( i in options.xhrFields ) {\n                            xhr[ i ] = options.xhrFields[ i ];\n                        }\n                    }\n\n                    // Override mime type if needed\n                    if ( options.mimeType && xhr.overrideMimeType ) {\n                        xhr.overrideMimeType( options.mimeType );\n                    }\n\n                    // X-Requested-With header\n                    // For cross-domain requests, seeing as conditions for a preflight are\n                    // akin to a jigsaw puzzle, we simply never set it to be sure.\n                    // (it can always be set on a per-request basis or even using ajaxSetup)\n                    // For same-domain requests, won't change header if already provided.\n                    if ( !options.crossDomain && !headers[\"X-Requested-With\"] ) {\n                        headers[\"X-Requested-With\"] = \"XMLHttpRequest\";\n                    }\n\n                    // Set headers\n                    for ( i in headers ) {\n                        xhr.setRequestHeader( i, headers[ i ] );\n                    }\n\n                    // Callback\n                    callback = function( type ) {\n                        return function() {\n                            if ( callback ) {\n                                delete xhrCallbacks[ id ];\n                                callback = xhr.onload = xhr.onerror = null;\n\n                                if ( type === \"abort\" ) {\n                                    xhr.abort();\n                                } else if ( type === \"error\" ) {\n                                    complete(\n                                        // file: protocol always yields status 0; see #8605, #14207\n                                        xhr.status,\n                                        xhr.statusText\n                                    );\n                                } else {\n                                    // The native response associated with the responseType\n                                    // Stored in the xhr.response attribute (XHR2 Spec)\n                                    if ( xhr.response ) {\n                                        responses.native = xhr.response;\n                                    }\n\n                                    complete(\n                                        xhrSuccessStatus[ xhr.status ] || xhr.status,\n                                        xhr.statusText,\n                                        responses,\n                                        xhr.getAllResponseHeaders()\n                                    );\n                                }\n                            }\n                        };\n                    };\n\n                    // Listen to events\n                    xhr.onload = callback();\n                    xhr.onerror = callback(\"error\");\n\n                    // Create the abort callback\n                    callback = xhrCallbacks[ id ] = callback(\"abort\");\n\n                    try {\n                        // Do send the request (this may raise an exception)\n                        xhr.send( options.hasContent && options.data || null );\n                    } catch ( e ) {\n                        // #14683: Only rethrow if this hasn't been notified as an error yet\n                        if ( callback ) {\n                            throw e;\n                        }\n                    }\n                },\n\n                abort: function() {\n                    if ( callback ) {\n                        callback();\n                    }\n                }\n            };\n        }\n    });\n\n\n    //$.getNative wrapper\n    $.getNative = function ( url, callback ) {\n        return $.ajax({\n            dataType: 'native',\n            url: url,\n            xhrFields: {\n                responseType: 'arraybuffer'\n            },\n            success: callback\n        });\n    };\n\n    //$.getBlob wrapper\n    $.getBlob = function ( url, callback ) {\n        return $.ajax({\n            dataType: 'native',\n            url: url,\n            xhrFields: {\n                responseType: 'blob'\n            },\n            success: callback\n        });\n    };\n\n    //Return the jQuery Object\n    return $;\n\n}));\n"]}