YUI.add("datasource-get",function(n,a){var e=function(){e.superclass.constructor.apply(this,arguments)};n.DataSource.Get=n.extend(e,n.DataSource.Local,{_defRequestFn:function(e){var a=this.get("source"),t=this.get("get"),c=n.guid().replace(/\-/g,"_"),r=this.get("generateRequestCallback"),l=e.details[0],o=this;return this._last=c,YUI.Env.DataSource.callbacks[c]=function(a){delete YUI.Env.DataSource.callbacks[c],delete n.DataSource.Local.transactions[e.tId],"ignoreStaleResponses"===o.get("asyncMode")&&o._last!==c||(l.data=a,o.fire("data",l))},a+=e.request+r.call(this,c),n.DataSource.Local.transactions[e.tId]=t.script(a,{autopurge:!0,onFailure:function(a){delete YUI.Env.DataSource.callbacks[c],delete n.DataSource.Local.transactions[e.tId],l.error=new Error(a.msg||"Script node data failure"),o.fire("data",l)},onTimeout:function(a){delete YUI.Env.DataSource.callbacks[c],delete n.DataSource.Local.transactions[e.tId],l.error=new Error(a.msg||"Script node data timeout"),o.fire("data",l)}}),e.tId},_generateRequest:function(a){return"&"+this.get("scriptCallbackParam")+"=YUI.Env.DataSource.callbacks."+a}},{NAME:"dataSourceGet",ATTRS:{get:{value:n.Get,cloneDefaultValue:!1},asyncMode:{value:"allowAll"},scriptCallbackParam:{value:"callback"},generateRequestCallback:{value:function(){return this._generateRequest.apply(this,arguments)}}}}),YUI.namespace("Env.DataSource.callbacks")},"patched-v3.18.4",{requires:["datasource-local","get"]});