YUI.add("jsonp",function(u,t){var c=u.Lang.isFunction;function e(){this._init.apply(this,arguments)}e.prototype={_init:function(t,e){this.url=t,this._requests={},this._timeouts={},this._failures={};var s=(e=c(e)?{on:{success:e}}:e||{}).on||{};s.success||(s.success=this._defaultCallback(t,e)),this._config=u.merge({context:this,args:[],format:this._format,allowCache:!1},e,{on:s})},_defaultCallback:function(){},send:function(){var r=this,t=u.Array(arguments,0,!0),o=r._config,a=r._proxy||u.guid();return o.allowCache&&(r._proxy=a),r._requests[a]===undefined&&(r._requests[a]=0),r._timeouts[a]===undefined&&(r._timeouts[a]=0),r._failures[a]===undefined&&(r._failures[a]=0),r._requests[a]++,t.unshift(r.url,"YUI.Env.JSONP."+a),t=o.format.apply(r,t),o.on.success&&(YUI.Env.JSONP[a]=e(o.on.success),u.Get.js(t,{onFailure:e(o.on.failure,!1,!0),onTimeout:e(o.on.timeout,!0,!1),timeout:o.timeout,charset:o.charset,attributes:o.attributes,"async":o["async"]}).execute()),r;function e(u,n,i){return c(u)?function(t){var e=!0,s="_requests";n?(++r._timeouts[a],--r._requests[a]):i?(++r._failures[a],0<r._timeouts[a]?--r._timeouts[a]:--r._requests[a]):(r._requests[a]||(e=!1,0<r._timeouts[a]?s="_timeouts":0<r._failures[a]&&(s="_failures")),--r[s][a]),r._requests[a]||r._timeouts[a]||r._failures[a]||delete YUI.Env.JSONP[a],e&&u.apply(o.context,[t].concat(o.args))}:null}},_format:function(t,e){return t.replace(/\{callback\}/,e)}},u.JSONPRequest=e,u.jsonp=function(t,e){var s=new u.JSONPRequest(t,e);return s.send.apply(s,u.Array(arguments,2,!0))},YUI.Env.JSONP||(YUI.Env.JSONP={})},"patched-v3.18.4",{requires:["get","oop"]});