//>>built define(["dojo/_base/kernel","dojox","dojo/_base/array"],function(q,h){q.getObject("json.schema",!0,h);h.json.schema.validate=function(d,m){return this._validate(d,m,!1)};h.json.schema.checkPropertyChange=function(d,m,h){return this._validate(d,m,h||"property")};h.json.schema.mustBeValid=function(d){if(!d.valid)throw new TypeError(q.map(d.errors,function(d){return"for property "+d.property+": "+d.message}).join(", "));};h.json.schema._validate=function(d,h,n){function l(b,a,k,e){function c(a){f.push({property:k, message:a})}function g(a,b){if(a){if(!("string"!=typeof a||"any"==a||("null"==a?null===b:typeof b==a)||b instanceof Array&&"array"==a||"integer"==a&&0===b%1))return[{property:k,message:typeof b+" value found, but a "+a+" is required"}];if(a instanceof Array){for(var c=[],e=0;ea.maxItems&&c("There must be a maximum of "+a.maxItems+" in the array")}else a.properties&&f.concat(m(b,a.properties,k,a.additionalProperties));a.pattern&&"string"==typeof b&&!b.match(a.pattern)&&c("does not match the regex pattern "+a.pattern);a.maxLength&&"string"== typeof b&&b.length>a.maxLength&&c("may only be "+a.maxLength+" characters long");a.minLength&&"string"==typeof b&&b.lengthb&&c("must have a minimum value of "+a.minimum);typeof b==typeof a.maximum&&a.maximum