//>>built define("dojo/_base/declare dojo/_base/lang dojo/_base/xhr dojo/_base/kernel dojo/data/util/simpleFetch dojo/data/util/filter".split(" "),function(f,h,p,q,r,m){f=f("dojox.data.KeyValueStore",null,{constructor:function(a){a.url&&(this.url=a.url);this._keyValueString=a.data;this._keyValueVar=a.dataVar;this._keyAttribute="key";this._valueAttribute="value";this._storeProp="_keyValueStore";this._features={"dojo.data.api.Read":!0,"dojo.data.api.Identity":!0};this._loadInProgress=!1;this._queuedFetches=[]; a&&"urlPreventCache"in a&&(this.urlPreventCache=a.urlPreventCache?!0:!1)},url:"",data:"",urlPreventCache:!1,_assertIsItem:function(a){if(!this.isItem(a))throw Error("dojox.data.KeyValueStore: a function was passed an item argument that was not an item");},_assertIsAttribute:function(a,b){if(!h.isString(b))throw Error("dojox.data.KeyValueStore: a function was passed an attribute argument that was not an attribute object nor an attribute name string");},getValue:function(a,b,c){this._assertIsItem(a); this._assertIsAttribute(a,b);a=b==this._keyAttribute?a[this._keyAttribute]:a[this._valueAttribute];void 0===a&&(a=c);return a},getValues:function(a,b){return(a=this.getValue(a,b))?[a]:[]},getAttributes:function(a){return[this._keyAttribute,this._valueAttribute,a[this._keyAttribute]]},hasAttribute:function(a,b){this._assertIsItem(a);this._assertIsAttribute(a,b);return b==this._keyAttribute||b==this._valueAttribute||b==a[this._keyAttribute]},containsValue:function(a,b,c){var e=void 0;"string"===typeof c&& (e=m.patternToRegExp(c,!1));return this._containsValue(a,b,c,e)},_containsValue:function(a,b,c,e){a=this.getValues(a,b);for(b=0;b