You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					1751 lines
				
				113 KiB
			
		
		
			
		
	
	
					1751 lines
				
				113 KiB
			| 
											3 years ago
										 | // This file is autogenerated by build-schema-validator.js, do not edit
 | ||
|  | 
 | ||
|  | function nop () { return true } | ||
|  | 
 | ||
|  | 'use strict'; | ||
|  | var formats = require('ajv/lib/compile/formats')(); | ||
|  | var equal = require('ajv/lib/compile/equal'); | ||
|  | var validate = (function() { | ||
|  |   var refVal = []; | ||
|  |   var refVal1 = { | ||
|  |     "type": "integer", | ||
|  |     "minimum": 0 | ||
|  |   }; | ||
|  |   refVal[1] = refVal1; | ||
|  |   var refVal2 = (function() { | ||
|  |     return function validate(data, dataPath, parentData, parentDataProperty, rootData) { | ||
|  |       'use strict'; | ||
|  |       var vErrors = null; | ||
|  |       var errors = 0; | ||
|  |       var errs_1 = errors; | ||
|  |       var errs_2 = errors; | ||
|  |       if ((typeof data !== "number" || (data % 1) || data !== data)) { | ||
|  |         validate.errors = [{ | ||
|  |           keyword: 'type', | ||
|  |           dataPath: (dataPath || '') + "", | ||
|  |           schemaPath: '#/definitions/nonNegativeInteger/type', | ||
|  |           params: { | ||
|  |             type: 'integer' | ||
|  |           }, | ||
|  |           message: 'should be integer' | ||
|  |         }]; | ||
|  |         return false; | ||
|  |       } | ||
|  |       if (typeof data === "number") { | ||
|  |         if (data < 0 || data !== data) { | ||
|  |           validate.errors = [{ | ||
|  |             keyword: 'minimum', | ||
|  |             dataPath: (dataPath || '') + "", | ||
|  |             schemaPath: '#/definitions/nonNegativeInteger/minimum', | ||
|  |             params: { | ||
|  |               comparison: '>=', | ||
|  |               limit: 0, | ||
|  |               exclusive: false | ||
|  |             }, | ||
|  |             message: 'should be >= 0' | ||
|  |           }]; | ||
|  |           return false; | ||
|  |         } | ||
|  |       } | ||
|  |       var valid2 = errors === errs_2; | ||
|  |       var valid1 = errors === errs_1; | ||
|  |       validate.errors = vErrors; | ||
|  |       return errors === 0; | ||
|  |     }; | ||
|  |   })(); | ||
|  |   refVal2.schema = { | ||
|  |     "allOf": [{ | ||
|  |       "$ref": "#/definitions/nonNegativeInteger" | ||
|  |     }, { | ||
|  |       "default": 0 | ||
|  |     }] | ||
|  |   }; | ||
|  |   refVal2.errors = null; | ||
|  |   refVal[2] = refVal2; | ||
|  |   var refVal3 = (function() { | ||
|  |     return function validate(data, dataPath, parentData, parentDataProperty, rootData) { | ||
|  |       'use strict'; | ||
|  |       var vErrors = null; | ||
|  |       var errors = 0; | ||
|  |       if (rootData === undefined) rootData = data; | ||
|  |       if (Array.isArray(data)) { | ||
|  |         if (data.length < 1) { | ||
|  |           validate.errors = [{ | ||
|  |             keyword: 'minItems', | ||
|  |             dataPath: (dataPath || '') + "", | ||
|  |             schemaPath: '#/minItems', | ||
|  |             params: { | ||
|  |               limit: 1 | ||
|  |             }, | ||
|  |             message: 'should NOT have fewer than 1 items' | ||
|  |           }]; | ||
|  |           return false; | ||
|  |         } else { | ||
|  |           var errs__0 = errors; | ||
|  |           var valid0; | ||
|  |           for (var i0 = 0; i0 < data.length; i0++) { | ||
|  |             var errs_1 = errors; | ||
|  |             if (!nop(data[i0], (dataPath || '') + '[' + i0 + ']', data, i0, rootData)) { | ||
|  |               if (vErrors === null) vErrors = nop.errors; | ||
|  |               else vErrors = vErrors.concat(nop.errors); | ||
|  |               errors = vErrors.length; | ||
|  |             } | ||
|  |             var valid1 = errors === errs_1; | ||
|  |             if (!valid1) break; | ||
|  |           } | ||
|  |         } | ||
|  |       } else { | ||
|  |         validate.errors = [{ | ||
|  |           keyword: 'type', | ||
|  |           dataPath: (dataPath || '') + "", | ||
|  |           schemaPath: '#/type', | ||
|  |           params: { | ||
|  |             type: 'array' | ||
|  |           }, | ||
|  |           message: 'should be array' | ||
|  |         }]; | ||
|  |         return false; | ||
|  |       } | ||
|  |       validate.errors = vErrors; | ||
|  |       return errors === 0; | ||
|  |     }; | ||
|  |   })(); | ||
|  |   refVal3.schema = { | ||
|  |     "type": "array", | ||
|  |     "minItems": 1, | ||
|  |     "items": { | ||
|  |       "$ref": "#" | ||
|  |     } | ||
|  |   }; | ||
|  |   refVal3.errors = null; | ||
|  |   refVal[3] = refVal3; | ||
|  |   var refVal4 = { | ||
|  |     "type": "array", | ||
|  |     "items": { | ||
|  |       "type": "string" | ||
|  |     }, | ||
|  |     "uniqueItems": true, | ||
|  |     "default": [] | ||
|  |   }; | ||
|  |   refVal[4] = refVal4; | ||
|  |   var refVal5 = { | ||
|  |     "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] | ||
|  |   }; | ||
|  |   refVal[5] = refVal5; | ||
|  |   return function validate(data, dataPath, parentData, parentDataProperty, rootData) { | ||
|  |     'use strict'; /*# sourceURL=http://json-schema.org/draft-07/schema# */ | ||
|  |     var vErrors = null; | ||
|  |     var errors = 0; | ||
|  |     if (rootData === undefined) rootData = data; | ||
|  |     if ((!data || typeof data !== "object" || Array.isArray(data)) && typeof data !== "boolean") { | ||
|  |       validate.errors = [{ | ||
|  |         keyword: 'type', | ||
|  |         dataPath: (dataPath || '') + "", | ||
|  |         schemaPath: '#/type', | ||
|  |         params: { | ||
|  |           type: 'object,boolean' | ||
|  |         }, | ||
|  |         message: 'should be object,boolean' | ||
|  |       }]; | ||
|  |       return false; | ||
|  |     } | ||
|  |     if ((data && typeof data === "object" && !Array.isArray(data))) { | ||
|  |       var errs__0 = errors; | ||
|  |       var valid1 = true; | ||
|  |       var data1 = data.$id; | ||
|  |       if (data1 === undefined) { | ||
|  |         valid1 = true; | ||
|  |       } else { | ||
|  |         var errs_1 = errors; | ||
|  |         if (errors === errs_1) { | ||
|  |           if (typeof data1 === "string") { | ||
|  |             if (!formats['uri-reference'].test(data1)) { | ||
|  |               validate.errors = [{ | ||
|  |                 keyword: 'format', | ||
|  |                 dataPath: (dataPath || '') + '.$id', | ||
|  |                 schemaPath: '#/properties/%24id/format', | ||
|  |                 params: { | ||
|  |                   format: 'uri-reference' | ||
|  |                 }, | ||
|  |                 message: 'should match format "uri-reference"' | ||
|  |               }]; | ||
|  |               return false; | ||
|  |             } | ||
|  |           } else { | ||
|  |             validate.errors = [{ | ||
|  |               keyword: 'type', | ||
|  |               dataPath: (dataPath || '') + '.$id', | ||
|  |               schemaPath: '#/properties/%24id/type', | ||
|  |               params: { | ||
|  |                 type: 'string' | ||
|  |               }, | ||
|  |               message: 'should be string' | ||
|  |             }]; | ||
|  |             return false; | ||
|  |           } | ||
|  |         } | ||
|  |         var valid1 = errors === errs_1; | ||
|  |       } | ||
|  |       if (valid1) { | ||
|  |         var data1 = data.$schema; | ||
|  |         if (data1 === undefined) { | ||
|  |           valid1 = true; | ||
|  |         } else { | ||
|  |           var errs_1 = errors; | ||
|  |           if (errors === errs_1) { | ||
|  |             if (typeof data1 === "string") { | ||
|  |               if (!formats.uri.test(data1)) { | ||
|  |                 validate.errors = [{ | ||
|  |                   keyword: 'format', | ||
|  |                   dataPath: (dataPath || '') + '.$schema', | ||
|  |                   schemaPath: '#/properties/%24schema/format', | ||
|  |                   params: { | ||
|  |                     format: 'uri' | ||
|  |                   }, | ||
|  |                   message: 'should match format "uri"' | ||
|  |                 }]; | ||
|  |                 return false; | ||
|  |               } | ||
|  |             } else { | ||
|  |               validate.errors = [{ | ||
|  |                 keyword: 'type', | ||
|  |                 dataPath: (dataPath || '') + '.$schema', | ||
|  |                 schemaPath: '#/properties/%24schema/type', | ||
|  |                 params: { | ||
|  |                   type: 'string' | ||
|  |                 }, | ||
|  |                 message: 'should be string' | ||
|  |               }]; | ||
|  |               return false; | ||
|  |             } | ||
|  |           } | ||
|  |           var valid1 = errors === errs_1; | ||
|  |         } | ||
|  |         if (valid1) { | ||
|  |           var data1 = data.$ref; | ||
|  |           if (data1 === undefined) { | ||
|  |             valid1 = true; | ||
|  |           } else { | ||
|  |             var errs_1 = errors; | ||
|  |             if (errors === errs_1) { | ||
|  |               if (typeof data1 === "string") { | ||
|  |                 if (!formats['uri-reference'].test(data1)) { | ||
|  |                   validate.errors = [{ | ||
|  |                     keyword: 'format', | ||
|  |                     dataPath: (dataPath || '') + '.$ref', | ||
|  |                     schemaPath: '#/properties/%24ref/format', | ||
|  |                     params: { | ||
|  |                       format: 'uri-reference' | ||
|  |                     }, | ||
|  |                     message: 'should match format "uri-reference"' | ||
|  |                   }]; | ||
|  |                   return false; | ||
|  |                 } | ||
|  |               } else { | ||
|  |                 validate.errors = [{ | ||
|  |                   keyword: 'type', | ||
|  |                   dataPath: (dataPath || '') + '.$ref', | ||
|  |                   schemaPath: '#/properties/%24ref/type', | ||
|  |                   params: { | ||
|  |                     type: 'string' | ||
|  |                   }, | ||
|  |                   message: 'should be string' | ||
|  |                 }]; | ||
|  |                 return false; | ||
|  |               } | ||
|  |             } | ||
|  |             var valid1 = errors === errs_1; | ||
|  |           } | ||
|  |           if (valid1) { | ||
|  |             if (data.$comment === undefined) { | ||
|  |               valid1 = true; | ||
|  |             } else { | ||
|  |               var errs_1 = errors; | ||
|  |               if (typeof data.$comment !== "string") { | ||
|  |                 validate.errors = [{ | ||
|  |                   keyword: 'type', | ||
|  |                   dataPath: (dataPath || '') + '.$comment', | ||
|  |                   schemaPath: '#/properties/%24comment/type', | ||
|  |                   params: { | ||
|  |                     type: 'string' | ||
|  |                   }, | ||
|  |                   message: 'should be string' | ||
|  |                 }]; | ||
|  |                 return false; | ||
|  |               } | ||
|  |               var valid1 = errors === errs_1; | ||
|  |             } | ||
|  |             if (valid1) { | ||
|  |               if (data.title === undefined) { | ||
|  |                 valid1 = true; | ||
|  |               } else { | ||
|  |                 var errs_1 = errors; | ||
|  |                 if (typeof data.title !== "string") { | ||
|  |                   validate.errors = [{ | ||
|  |                     keyword: 'type', | ||
|  |                     dataPath: (dataPath || '') + '.title', | ||
|  |                     schemaPath: '#/properties/title/type', | ||
|  |                     params: { | ||
|  |                       type: 'string' | ||
|  |                     }, | ||
|  |                     message: 'should be string' | ||
|  |                   }]; | ||
|  |                   return false; | ||
|  |                 } | ||
|  |                 var valid1 = errors === errs_1; | ||
|  |               } | ||
|  |               if (valid1) { | ||
|  |                 if (data.description === undefined) { | ||
|  |                   valid1 = true; | ||
|  |                 } else { | ||
|  |                   var errs_1 = errors; | ||
|  |                   if (typeof data.description !== "string") { | ||
|  |                     validate.errors = [{ | ||
|  |                       keyword: 'type', | ||
|  |                       dataPath: (dataPath || '') + '.description', | ||
|  |                       schemaPath: '#/properties/description/type', | ||
|  |                       params: { | ||
|  |                         type: 'string' | ||
|  |                       }, | ||
|  |                       message: 'should be string' | ||
|  |                     }]; | ||
|  |                     return false; | ||
|  |                   } | ||
|  |                   var valid1 = errors === errs_1; | ||
|  |                 } | ||
|  |                 if (valid1) { | ||
|  |                   if (valid1) { | ||
|  |                     if (data.readOnly === undefined) { | ||
|  |                       valid1 = true; | ||
|  |                     } else { | ||
|  |                       var errs_1 = errors; | ||
|  |                       if (typeof data.readOnly !== "boolean") { | ||
|  |                         validate.errors = [{ | ||
|  |                           keyword: 'type', | ||
|  |                           dataPath: (dataPath || '') + '.readOnly', | ||
|  |                           schemaPath: '#/properties/readOnly/type', | ||
|  |                           params: { | ||
|  |                             type: 'boolean' | ||
|  |                           }, | ||
|  |                           message: 'should be boolean' | ||
|  |                         }]; | ||
|  |                         return false; | ||
|  |                       } | ||
|  |                       var valid1 = errors === errs_1; | ||
|  |                     } | ||
|  |                     if (valid1) { | ||
|  |                       if (data.examples === undefined) { | ||
|  |                         valid1 = true; | ||
|  |                       } else { | ||
|  |                         var errs_1 = errors; | ||
|  |                         if (Array.isArray(data.examples)) { | ||
|  |                           var errs__1 = errors; | ||
|  |                           var valid1; | ||
|  |                         } else { | ||
|  |                           validate.errors = [{ | ||
|  |                             keyword: 'type', | ||
|  |                             dataPath: (dataPath || '') + '.examples', | ||
|  |                             schemaPath: '#/properties/examples/type', | ||
|  |                             params: { | ||
|  |                               type: 'array' | ||
|  |                             }, | ||
|  |                             message: 'should be array' | ||
|  |                           }]; | ||
|  |                           return false; | ||
|  |                         } | ||
|  |                         var valid1 = errors === errs_1; | ||
|  |                       } | ||
|  |                       if (valid1) { | ||
|  |                         var data1 = data.multipleOf; | ||
|  |                         if (data1 === undefined) { | ||
|  |                           valid1 = true; | ||
|  |                         } else { | ||
|  |                           var errs_1 = errors; | ||
|  |                           if (typeof data1 === "number") { | ||
|  |                             if (data1 <= 0 || data1 !== data1) { | ||
|  |                               validate.errors = [{ | ||
|  |                                 keyword: 'exclusiveMinimum', | ||
|  |                                 dataPath: (dataPath || '') + '.multipleOf', | ||
|  |                                 schemaPath: '#/properties/multipleOf/exclusiveMinimum', | ||
|  |                                 params: { | ||
|  |                                   comparison: '>', | ||
|  |                                   limit: 0, | ||
|  |                                   exclusive: true | ||
|  |                                 }, | ||
|  |                                 message: 'should be > 0' | ||
|  |                               }]; | ||
|  |                               return false; | ||
|  |                             } | ||
|  |                           } else { | ||
|  |                             validate.errors = [{ | ||
|  |                               keyword: 'type', | ||
|  |                               dataPath: (dataPath || '') + '.multipleOf', | ||
|  |                               schemaPath: '#/properties/multipleOf/type', | ||
|  |                               params: { | ||
|  |                                 type: 'number' | ||
|  |                               }, | ||
|  |                               message: 'should be number' | ||
|  |                             }]; | ||
|  |                             return false; | ||
|  |                           } | ||
|  |                           var valid1 = errors === errs_1; | ||
|  |                         } | ||
|  |                         if (valid1) { | ||
|  |                           if (data.maximum === undefined) { | ||
|  |                             valid1 = true; | ||
|  |                           } else { | ||
|  |                             var errs_1 = errors; | ||
|  |                             if (typeof data.maximum !== "number") { | ||
|  |                               validate.errors = [{ | ||
|  |                                 keyword: 'type', | ||
|  |                                 dataPath: (dataPath || '') + '.maximum', | ||
|  |                                 schemaPath: '#/properties/maximum/type', | ||
|  |                                 params: { | ||
|  |                                   type: 'number' | ||
|  |                                 }, | ||
|  |                                 message: 'should be number' | ||
|  |                               }]; | ||
|  |                               return false; | ||
|  |                             } | ||
|  |                             var valid1 = errors === errs_1; | ||
|  |                           } | ||
|  |                           if (valid1) { | ||
|  |                             if (data.exclusiveMaximum === undefined) { | ||
|  |                               valid1 = true; | ||
|  |                             } else { | ||
|  |                               var errs_1 = errors; | ||
|  |                               if (typeof data.exclusiveMaximum !== "number") { | ||
|  |                                 validate.errors = [{ | ||
|  |                                   keyword: 'type', | ||
|  |                                   dataPath: (dataPath || '') + '.exclusiveMaximum', | ||
|  |                                   schemaPath: '#/properties/exclusiveMaximum/type', | ||
|  |                                   params: { | ||
|  |                                     type: 'number' | ||
|  |                                   }, | ||
|  |                                   message: 'should be number' | ||
|  |                                 }]; | ||
|  |                                 return false; | ||
|  |                               } | ||
|  |                               var valid1 = errors === errs_1; | ||
|  |                             } | ||
|  |                             if (valid1) { | ||
|  |                               if (data.minimum === undefined) { | ||
|  |                                 valid1 = true; | ||
|  |                               } else { | ||
|  |                                 var errs_1 = errors; | ||
|  |                                 if (typeof data.minimum !== "number") { | ||
|  |                                   validate.errors = [{ | ||
|  |                                     keyword: 'type', | ||
|  |                                     dataPath: (dataPath || '') + '.minimum', | ||
|  |                                     schemaPath: '#/properties/minimum/type', | ||
|  |                                     params: { | ||
|  |                                       type: 'number' | ||
|  |                                     }, | ||
|  |                                     message: 'should be number' | ||
|  |                                   }]; | ||
|  |                                   return false; | ||
|  |                                 } | ||
|  |                                 var valid1 = errors === errs_1; | ||
|  |                               } | ||
|  |                               if (valid1) { | ||
|  |                                 if (data.exclusiveMinimum === undefined) { | ||
|  |                                   valid1 = true; | ||
|  |                                 } else { | ||
|  |                                   var errs_1 = errors; | ||
|  |                                   if (typeof data.exclusiveMinimum !== "number") { | ||
|  |                                     validate.errors = [{ | ||
|  |                                       keyword: 'type', | ||
|  |                                       dataPath: (dataPath || '') + '.exclusiveMinimum', | ||
|  |                                       schemaPath: '#/properties/exclusiveMinimum/type', | ||
|  |                                       params: { | ||
|  |                                         type: 'number' | ||
|  |                                       }, | ||
|  |                                       message: 'should be number' | ||
|  |                                     }]; | ||
|  |                                     return false; | ||
|  |                                   } | ||
|  |                                   var valid1 = errors === errs_1; | ||
|  |                                 } | ||
|  |                                 if (valid1) { | ||
|  |                                   var data1 = data.maxLength; | ||
|  |                                   if (data1 === undefined) { | ||
|  |                                     valid1 = true; | ||
|  |                                   } else { | ||
|  |                                     var errs_1 = errors; | ||
|  |                                     var errs_2 = errors; | ||
|  |                                     if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                                       validate.errors = [{ | ||
|  |                                         keyword: 'type', | ||
|  |                                         dataPath: (dataPath || '') + '.maxLength', | ||
|  |                                         schemaPath: '#/definitions/nonNegativeInteger/type', | ||
|  |                                         params: { | ||
|  |                                           type: 'integer' | ||
|  |                                         }, | ||
|  |                                         message: 'should be integer' | ||
|  |                                       }]; | ||
|  |                                       return false; | ||
|  |                                     } | ||
|  |                                     if (typeof data1 === "number") { | ||
|  |                                       if (data1 < 0 || data1 !== data1) { | ||
|  |                                         validate.errors = [{ | ||
|  |                                           keyword: 'minimum', | ||
|  |                                           dataPath: (dataPath || '') + '.maxLength', | ||
|  |                                           schemaPath: '#/definitions/nonNegativeInteger/minimum', | ||
|  |                                           params: { | ||
|  |                                             comparison: '>=', | ||
|  |                                             limit: 0, | ||
|  |                                             exclusive: false | ||
|  |                                           }, | ||
|  |                                           message: 'should be >= 0' | ||
|  |                                         }]; | ||
|  |                                         return false; | ||
|  |                                       } | ||
|  |                                     } | ||
|  |                                     var valid2 = errors === errs_2; | ||
|  |                                     var valid1 = errors === errs_1; | ||
|  |                                   } | ||
|  |                                   if (valid1) { | ||
|  |                                     if (data.minLength === undefined) { | ||
|  |                                       valid1 = true; | ||
|  |                                     } else { | ||
|  |                                       var errs_1 = errors; | ||
|  |                                       if (!refVal2(data.minLength, (dataPath || '') + '.minLength', data, 'minLength', rootData)) { | ||
|  |                                         if (vErrors === null) vErrors = refVal2.errors; | ||
|  |                                         else vErrors = vErrors.concat(refVal2.errors); | ||
|  |                                         errors = vErrors.length; | ||
|  |                                       } | ||
|  |                                       var valid1 = errors === errs_1; | ||
|  |                                     } | ||
|  |                                     if (valid1) { | ||
|  |                                       var data1 = data.pattern; | ||
|  |                                       if (data1 === undefined) { | ||
|  |                                         valid1 = true; | ||
|  |                                       } else { | ||
|  |                                         var errs_1 = errors; | ||
|  |                                         if (errors === errs_1) { | ||
|  |                                           if (typeof data1 === "string") { | ||
|  |                                             if (!formats.regex(data1)) { | ||
|  |                                               validate.errors = [{ | ||
|  |                                                 keyword: 'format', | ||
|  |                                                 dataPath: (dataPath || '') + '.pattern', | ||
|  |                                                 schemaPath: '#/properties/pattern/format', | ||
|  |                                                 params: { | ||
|  |                                                   format: 'regex' | ||
|  |                                                 }, | ||
|  |                                                 message: 'should match format "regex"' | ||
|  |                                               }]; | ||
|  |                                               return false; | ||
|  |                                             } | ||
|  |                                           } else { | ||
|  |                                             validate.errors = [{ | ||
|  |                                               keyword: 'type', | ||
|  |                                               dataPath: (dataPath || '') + '.pattern', | ||
|  |                                               schemaPath: '#/properties/pattern/type', | ||
|  |                                               params: { | ||
|  |                                                 type: 'string' | ||
|  |                                               }, | ||
|  |                                               message: 'should be string' | ||
|  |                                             }]; | ||
|  |                                             return false; | ||
|  |                                           } | ||
|  |                                         } | ||
|  |                                         var valid1 = errors === errs_1; | ||
|  |                                       } | ||
|  |                                       if (valid1) { | ||
|  |                                         if (data.additionalItems === undefined) { | ||
|  |                                           valid1 = true; | ||
|  |                                         } else { | ||
|  |                                           var errs_1 = errors; | ||
|  |                                           if (!validate(data.additionalItems, (dataPath || '') + '.additionalItems', data, 'additionalItems', rootData)) { | ||
|  |                                             if (vErrors === null) vErrors = validate.errors; | ||
|  |                                             else vErrors = vErrors.concat(validate.errors); | ||
|  |                                             errors = vErrors.length; | ||
|  |                                           } | ||
|  |                                           var valid1 = errors === errs_1; | ||
|  |                                         } | ||
|  |                                         if (valid1) { | ||
|  |                                           var data1 = data.items; | ||
|  |                                           if (data1 === undefined) { | ||
|  |                                             valid1 = true; | ||
|  |                                           } else { | ||
|  |                                             var errs_1 = errors; | ||
|  |                                             var errs__1 = errors; | ||
|  |                                             var valid1 = false; | ||
|  |                                             var errs_2 = errors; | ||
|  |                                             if (!validate(data1, (dataPath || '') + '.items', data, 'items', rootData)) { | ||
|  |                                               if (vErrors === null) vErrors = validate.errors; | ||
|  |                                               else vErrors = vErrors.concat(validate.errors); | ||
|  |                                               errors = vErrors.length; | ||
|  |                                             } | ||
|  |                                             var valid2 = errors === errs_2; | ||
|  |                                             valid1 = valid1 || valid2; | ||
|  |                                             if (!valid1) { | ||
|  |                                               var errs_2 = errors; | ||
|  |                                               if (!refVal3(data1, (dataPath || '') + '.items', data, 'items', rootData)) { | ||
|  |                                                 if (vErrors === null) vErrors = refVal3.errors; | ||
|  |                                                 else vErrors = vErrors.concat(refVal3.errors); | ||
|  |                                                 errors = vErrors.length; | ||
|  |                                               } | ||
|  |                                               var valid2 = errors === errs_2; | ||
|  |                                               valid1 = valid1 || valid2; | ||
|  |                                             } | ||
|  |                                             if (!valid1) { | ||
|  |                                               var err = { | ||
|  |                                                 keyword: 'anyOf', | ||
|  |                                                 dataPath: (dataPath || '') + '.items', | ||
|  |                                                 schemaPath: '#/properties/items/anyOf', | ||
|  |                                                 params: {}, | ||
|  |                                                 message: 'should match some schema in anyOf' | ||
|  |                                               }; | ||
|  |                                               if (vErrors === null) vErrors = [err]; | ||
|  |                                               else vErrors.push(err); | ||
|  |                                               errors++; | ||
|  |                                               validate.errors = vErrors; | ||
|  |                                               return false; | ||
|  |                                             } else { | ||
|  |                                               errors = errs__1; | ||
|  |                                               if (vErrors !== null) { | ||
|  |                                                 if (errs__1) vErrors.length = errs__1; | ||
|  |                                                 else vErrors = null; | ||
|  |                                               } | ||
|  |                                             } | ||
|  |                                             var valid1 = errors === errs_1; | ||
|  |                                           } | ||
|  |                                           if (valid1) { | ||
|  |                                             var data1 = data.maxItems; | ||
|  |                                             if (data1 === undefined) { | ||
|  |                                               valid1 = true; | ||
|  |                                             } else { | ||
|  |                                               var errs_1 = errors; | ||
|  |                                               var errs_2 = errors; | ||
|  |                                               if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                                                 validate.errors = [{ | ||
|  |                                                   keyword: 'type', | ||
|  |                                                   dataPath: (dataPath || '') + '.maxItems', | ||
|  |                                                   schemaPath: '#/definitions/nonNegativeInteger/type', | ||
|  |                                                   params: { | ||
|  |                                                     type: 'integer' | ||
|  |                                                   }, | ||
|  |                                                   message: 'should be integer' | ||
|  |                                                 }]; | ||
|  |                                                 return false; | ||
|  |                                               } | ||
|  |                                               if (typeof data1 === "number") { | ||
|  |                                                 if (data1 < 0 || data1 !== data1) { | ||
|  |                                                   validate.errors = [{ | ||
|  |                                                     keyword: 'minimum', | ||
|  |                                                     dataPath: (dataPath || '') + '.maxItems', | ||
|  |                                                     schemaPath: '#/definitions/nonNegativeInteger/minimum', | ||
|  |                                                     params: { | ||
|  |                                                       comparison: '>=', | ||
|  |                                                       limit: 0, | ||
|  |                                                       exclusive: false | ||
|  |                                                     }, | ||
|  |                                                     message: 'should be >= 0' | ||
|  |                                                   }]; | ||
|  |                                                   return false; | ||
|  |                                                 } | ||
|  |                                               } | ||
|  |                                               var valid2 = errors === errs_2; | ||
|  |                                               var valid1 = errors === errs_1; | ||
|  |                                             } | ||
|  |                                             if (valid1) { | ||
|  |                                               if (data.minItems === undefined) { | ||
|  |                                                 valid1 = true; | ||
|  |                                               } else { | ||
|  |                                                 var errs_1 = errors; | ||
|  |                                                 if (!refVal[2](data.minItems, (dataPath || '') + '.minItems', data, 'minItems', rootData)) { | ||
|  |                                                   if (vErrors === null) vErrors = refVal[2].errors; | ||
|  |                                                   else vErrors = vErrors.concat(refVal[2].errors); | ||
|  |                                                   errors = vErrors.length; | ||
|  |                                                 } | ||
|  |                                                 var valid1 = errors === errs_1; | ||
|  |                                               } | ||
|  |                                               if (valid1) { | ||
|  |                                                 if (data.uniqueItems === undefined) { | ||
|  |                                                   valid1 = true; | ||
|  |                                                 } else { | ||
|  |                                                   var errs_1 = errors; | ||
|  |                                                   if (typeof data.uniqueItems !== "boolean") { | ||
|  |                                                     validate.errors = [{ | ||
|  |                                                       keyword: 'type', | ||
|  |                                                       dataPath: (dataPath || '') + '.uniqueItems', | ||
|  |                                                       schemaPath: '#/properties/uniqueItems/type', | ||
|  |                                                       params: { | ||
|  |                                                         type: 'boolean' | ||
|  |                                                       }, | ||
|  |                                                       message: 'should be boolean' | ||
|  |                                                     }]; | ||
|  |                                                     return false; | ||
|  |                                                   } | ||
|  |                                                   var valid1 = errors === errs_1; | ||
|  |                                                 } | ||
|  |                                                 if (valid1) { | ||
|  |                                                   if (data.contains === undefined) { | ||
|  |                                                     valid1 = true; | ||
|  |                                                   } else { | ||
|  |                                                     var errs_1 = errors; | ||
|  |                                                     if (!validate(data.contains, (dataPath || '') + '.contains', data, 'contains', rootData)) { | ||
|  |                                                       if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                       else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                       errors = vErrors.length; | ||
|  |                                                     } | ||
|  |                                                     var valid1 = errors === errs_1; | ||
|  |                                                   } | ||
|  |                                                   if (valid1) { | ||
|  |                                                     var data1 = data.maxProperties; | ||
|  |                                                     if (data1 === undefined) { | ||
|  |                                                       valid1 = true; | ||
|  |                                                     } else { | ||
|  |                                                       var errs_1 = errors; | ||
|  |                                                       var errs_2 = errors; | ||
|  |                                                       if ((typeof data1 !== "number" || (data1 % 1) || data1 !== data1)) { | ||
|  |                                                         validate.errors = [{ | ||
|  |                                                           keyword: 'type', | ||
|  |                                                           dataPath: (dataPath || '') + '.maxProperties', | ||
|  |                                                           schemaPath: '#/definitions/nonNegativeInteger/type', | ||
|  |                                                           params: { | ||
|  |                                                             type: 'integer' | ||
|  |                                                           }, | ||
|  |                                                           message: 'should be integer' | ||
|  |                                                         }]; | ||
|  |                                                         return false; | ||
|  |                                                       } | ||
|  |                                                       if (typeof data1 === "number") { | ||
|  |                                                         if (data1 < 0 || data1 !== data1) { | ||
|  |                                                           validate.errors = [{ | ||
|  |                                                             keyword: 'minimum', | ||
|  |                                                             dataPath: (dataPath || '') + '.maxProperties', | ||
|  |                                                             schemaPath: '#/definitions/nonNegativeInteger/minimum', | ||
|  |                                                             params: { | ||
|  |                                                               comparison: '>=', | ||
|  |                                                               limit: 0, | ||
|  |                                                               exclusive: false | ||
|  |                                                             }, | ||
|  |                                                             message: 'should be >= 0' | ||
|  |                                                           }]; | ||
|  |                                                           return false; | ||
|  |                                                         } | ||
|  |                                                       } | ||
|  |                                                       var valid2 = errors === errs_2; | ||
|  |                                                       var valid1 = errors === errs_1; | ||
|  |                                                     } | ||
|  |                                                     if (valid1) { | ||
|  |                                                       if (data.minProperties === undefined) { | ||
|  |                                                         valid1 = true; | ||
|  |                                                       } else { | ||
|  |                                                         var errs_1 = errors; | ||
|  |                                                         if (!refVal[2](data.minProperties, (dataPath || '') + '.minProperties', data, 'minProperties', rootData)) { | ||
|  |                                                           if (vErrors === null) vErrors = refVal[2].errors; | ||
|  |                                                           else vErrors = vErrors.concat(refVal[2].errors); | ||
|  |                                                           errors = vErrors.length; | ||
|  |                                                         } | ||
|  |                                                         var valid1 = errors === errs_1; | ||
|  |                                                       } | ||
|  |                                                       if (valid1) { | ||
|  |                                                         var data1 = data.required; | ||
|  |                                                         if (data1 === undefined) { | ||
|  |                                                           valid1 = true; | ||
|  |                                                         } else { | ||
|  |                                                           var errs_1 = errors; | ||
|  |                                                           var errs_2 = errors; | ||
|  |                                                           if (Array.isArray(data1)) { | ||
|  |                                                             var errs__2 = errors; | ||
|  |                                                             var valid2; | ||
|  |                                                             for (var i2 = 0; i2 < data1.length; i2++) { | ||
|  |                                                               var errs_3 = errors; | ||
|  |                                                               if (typeof data1[i2] !== "string") { | ||
|  |                                                                 validate.errors = [{ | ||
|  |                                                                   keyword: 'type', | ||
|  |                                                                   dataPath: (dataPath || '') + '.required[' + i2 + ']', | ||
|  |                                                                   schemaPath: '#/definitions/stringArray/items/type', | ||
|  |                                                                   params: { | ||
|  |                                                                     type: 'string' | ||
|  |                                                                   }, | ||
|  |                                                                   message: 'should be string' | ||
|  |                                                                 }]; | ||
|  |                                                                 return false; | ||
|  |                                                               } | ||
|  |                                                               var valid3 = errors === errs_3; | ||
|  |                                                               if (!valid3) break; | ||
|  |                                                             } | ||
|  |                                                             if (errs__2 == errors) { | ||
|  |                                                               var i = data1.length, | ||
|  |                                                                 valid2 = true, | ||
|  |                                                                 j; | ||
|  |                                                               if (i > 1) { | ||
|  |                                                                 var itemIndices = {}, | ||
|  |                                                                   item; | ||
|  |                                                                 for (; i--;) { | ||
|  |                                                                   var item = data1[i]; | ||
|  |                                                                   if (typeof item !== "string") continue; | ||
|  |                                                                   if (typeof itemIndices[item] == 'number') { | ||
|  |                                                                     valid2 = false; | ||
|  |                                                                     j = itemIndices[item]; | ||
|  |                                                                     break; | ||
|  |                                                                   } | ||
|  |                                                                   itemIndices[item] = i; | ||
|  |                                                                 } | ||
|  |                                                               } | ||
|  |                                                               if (!valid2) { | ||
|  |                                                                 validate.errors = [{ | ||
|  |                                                                   keyword: 'uniqueItems', | ||
|  |                                                                   dataPath: (dataPath || '') + '.required', | ||
|  |                                                                   schemaPath: '#/definitions/stringArray/uniqueItems', | ||
|  |                                                                   params: { | ||
|  |                                                                     i: i, | ||
|  |                                                                     j: j | ||
|  |                                                                   }, | ||
|  |                                                                   message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' | ||
|  |                                                                 }]; | ||
|  |                                                                 return false; | ||
|  |                                                               } | ||
|  |                                                             } | ||
|  |                                                           } else { | ||
|  |                                                             validate.errors = [{ | ||
|  |                                                               keyword: 'type', | ||
|  |                                                               dataPath: (dataPath || '') + '.required', | ||
|  |                                                               schemaPath: '#/definitions/stringArray/type', | ||
|  |                                                               params: { | ||
|  |                                                                 type: 'array' | ||
|  |                                                               }, | ||
|  |                                                               message: 'should be array' | ||
|  |                                                             }]; | ||
|  |                                                             return false; | ||
|  |                                                           } | ||
|  |                                                           var valid2 = errors === errs_2; | ||
|  |                                                           var valid1 = errors === errs_1; | ||
|  |                                                         } | ||
|  |                                                         if (valid1) { | ||
|  |                                                           if (data.additionalProperties === undefined) { | ||
|  |                                                             valid1 = true; | ||
|  |                                                           } else { | ||
|  |                                                             var errs_1 = errors; | ||
|  |                                                             if (!validate(data.additionalProperties, (dataPath || '') + '.additionalProperties', data, 'additionalProperties', rootData)) { | ||
|  |                                                               if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                               else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                               errors = vErrors.length; | ||
|  |                                                             } | ||
|  |                                                             var valid1 = errors === errs_1; | ||
|  |                                                           } | ||
|  |                                                           if (valid1) { | ||
|  |                                                             var data1 = data.definitions; | ||
|  |                                                             if (data1 === undefined) { | ||
|  |                                                               valid1 = true; | ||
|  |                                                             } else { | ||
|  |                                                               var errs_1 = errors; | ||
|  |                                                               if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) { | ||
|  |                                                                 var errs__1 = errors; | ||
|  |                                                                 var valid2 = true; | ||
|  |                                                                 for (var key1 in data1) { | ||
|  |                                                                   var errs_2 = errors; | ||
|  |                                                                   if (!validate(data1[key1], (dataPath || '') + '.definitions[\'' + key1 + '\']', data1, key1, rootData)) { | ||
|  |                                                                     if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                     else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                     errors = vErrors.length; | ||
|  |                                                                   } | ||
|  |                                                                   var valid2 = errors === errs_2; | ||
|  |                                                                   if (!valid2) break; | ||
|  |                                                                 } | ||
|  |                                                               } else { | ||
|  |                                                                 validate.errors = [{ | ||
|  |                                                                   keyword: 'type', | ||
|  |                                                                   dataPath: (dataPath || '') + '.definitions', | ||
|  |                                                                   schemaPath: '#/properties/definitions/type', | ||
|  |                                                                   params: { | ||
|  |                                                                     type: 'object' | ||
|  |                                                                   }, | ||
|  |                                                                   message: 'should be object' | ||
|  |                                                                 }]; | ||
|  |                                                                 return false; | ||
|  |                                                               } | ||
|  |                                                               var valid1 = errors === errs_1; | ||
|  |                                                             } | ||
|  |                                                             if (valid1) { | ||
|  |                                                               var data1 = data.properties; | ||
|  |                                                               if (data1 === undefined) { | ||
|  |                                                                 valid1 = true; | ||
|  |                                                               } else { | ||
|  |                                                                 var errs_1 = errors; | ||
|  |                                                                 if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) { | ||
|  |                                                                   var errs__1 = errors; | ||
|  |                                                                   var valid2 = true; | ||
|  |                                                                   for (var key1 in data1) { | ||
|  |                                                                     var errs_2 = errors; | ||
|  |                                                                     if (!validate(data1[key1], (dataPath || '') + '.properties[\'' + key1 + '\']', data1, key1, rootData)) { | ||
|  |                                                                       if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                       else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                       errors = vErrors.length; | ||
|  |                                                                     } | ||
|  |                                                                     var valid2 = errors === errs_2; | ||
|  |                                                                     if (!valid2) break; | ||
|  |                                                                   } | ||
|  |                                                                 } else { | ||
|  |                                                                   validate.errors = [{ | ||
|  |                                                                     keyword: 'type', | ||
|  |                                                                     dataPath: (dataPath || '') + '.properties', | ||
|  |                                                                     schemaPath: '#/properties/properties/type', | ||
|  |                                                                     params: { | ||
|  |                                                                       type: 'object' | ||
|  |                                                                     }, | ||
|  |                                                                     message: 'should be object' | ||
|  |                                                                   }]; | ||
|  |                                                                   return false; | ||
|  |                                                                 } | ||
|  |                                                                 var valid1 = errors === errs_1; | ||
|  |                                                               } | ||
|  |                                                               if (valid1) { | ||
|  |                                                                 var data1 = data.patternProperties; | ||
|  |                                                                 if (data1 === undefined) { | ||
|  |                                                                   valid1 = true; | ||
|  |                                                                 } else { | ||
|  |                                                                   var errs_1 = errors; | ||
|  |                                                                   if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) { | ||
|  |                                                                     var errs__1 = errors; | ||
|  |                                                                     for (var key1 in data1) { | ||
|  |                                                                       var startErrs1 = errors; | ||
|  |                                                                       var data2 = key1; | ||
|  |                                                                       var errs_2 = errors; | ||
|  |                                                                       if (errors === errs_2) { | ||
|  |                                                                         if (typeof data2 === "string") { | ||
|  |                                                                           if (!formats.regex(data2)) { | ||
|  |                                                                             var err = { | ||
|  |                                                                               keyword: 'format', | ||
|  |                                                                               dataPath: (dataPath || '') + '.patternProperties', | ||
|  |                                                                               schemaPath: '#/properties/patternProperties/propertyNames/format', | ||
|  |                                                                               params: { | ||
|  |                                                                                 format: 'regex' | ||
|  |                                                                               }, | ||
|  |                                                                               message: 'should match format "regex"' | ||
|  |                                                                             }; | ||
|  |                                                                             if (vErrors === null) vErrors = [err]; | ||
|  |                                                                             else vErrors.push(err); | ||
|  |                                                                             errors++; | ||
|  |                                                                           } | ||
|  |                                                                         } | ||
|  |                                                                       } | ||
|  |                                                                       var valid2 = errors === errs_2; | ||
|  |                                                                       if (!valid2) { | ||
|  |                                                                         for (var i1 = startErrs1; i1 < errors; i1++) { | ||
|  |                                                                           vErrors[i1].propertyName = key1; | ||
|  |                                                                         } | ||
|  |                                                                         var err = { | ||
|  |                                                                           keyword: 'propertyNames', | ||
|  |                                                                           dataPath: (dataPath || '') + '.patternProperties', | ||
|  |                                                                           schemaPath: '#/properties/patternProperties/propertyNames', | ||
|  |                                                                           params: { | ||
|  |                                                                             propertyName: '' + key1 + '' | ||
|  |                                                                           }, | ||
|  |                                                                           message: 'property name \'' + key1 + '\' is invalid' | ||
|  |                                                                         }; | ||
|  |                                                                         if (vErrors === null) vErrors = [err]; | ||
|  |                                                                         else vErrors.push(err); | ||
|  |                                                                         errors++; | ||
|  |                                                                         validate.errors = vErrors; | ||
|  |                                                                         return false; | ||
|  |                                                                         break; | ||
|  |                                                                       } | ||
|  |                                                                     } | ||
|  |                                                                     if (errs__1 == errors) { | ||
|  |                                                                       var errs__1 = errors; | ||
|  |                                                                       var valid2 = true; | ||
|  |                                                                       for (var key1 in data1) { | ||
|  |                                                                         var errs_2 = errors; | ||
|  |                                                                         if (!validate(data1[key1], (dataPath || '') + '.patternProperties[\'' + key1 + '\']', data1, key1, rootData)) { | ||
|  |                                                                           if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                           else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                           errors = vErrors.length; | ||
|  |                                                                         } | ||
|  |                                                                         var valid2 = errors === errs_2; | ||
|  |                                                                         if (!valid2) break; | ||
|  |                                                                       } | ||
|  |                                                                     } | ||
|  |                                                                   } else { | ||
|  |                                                                     validate.errors = [{ | ||
|  |                                                                       keyword: 'type', | ||
|  |                                                                       dataPath: (dataPath || '') + '.patternProperties', | ||
|  |                                                                       schemaPath: '#/properties/patternProperties/type', | ||
|  |                                                                       params: { | ||
|  |                                                                         type: 'object' | ||
|  |                                                                       }, | ||
|  |                                                                       message: 'should be object' | ||
|  |                                                                     }]; | ||
|  |                                                                     return false; | ||
|  |                                                                   } | ||
|  |                                                                   var valid1 = errors === errs_1; | ||
|  |                                                                 } | ||
|  |                                                                 if (valid1) { | ||
|  |                                                                   var data1 = data.dependencies; | ||
|  |                                                                   if (data1 === undefined) { | ||
|  |                                                                     valid1 = true; | ||
|  |                                                                   } else { | ||
|  |                                                                     var errs_1 = errors; | ||
|  |                                                                     if ((data1 && typeof data1 === "object" && !Array.isArray(data1))) { | ||
|  |                                                                       var errs__1 = errors; | ||
|  |                                                                       var valid2 = true; | ||
|  |                                                                       for (var key1 in data1) { | ||
|  |                                                                         var data2 = data1[key1]; | ||
|  |                                                                         var errs_2 = errors; | ||
|  |                                                                         var errs__2 = errors; | ||
|  |                                                                         var valid2 = false; | ||
|  |                                                                         var errs_3 = errors; | ||
|  |                                                                         if (!validate(data2, (dataPath || '') + '.dependencies[\'' + key1 + '\']', data1, key1, rootData)) { | ||
|  |                                                                           if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                           else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                           errors = vErrors.length; | ||
|  |                                                                         } | ||
|  |                                                                         var valid3 = errors === errs_3; | ||
|  |                                                                         valid2 = valid2 || valid3; | ||
|  |                                                                         if (!valid2) { | ||
|  |                                                                           var errs_3 = errors; | ||
|  |                                                                           var errs_4 = errors; | ||
|  |                                                                           if (Array.isArray(data2)) { | ||
|  |                                                                             var errs__4 = errors; | ||
|  |                                                                             var valid4; | ||
|  |                                                                             for (var i4 = 0; i4 < data2.length; i4++) { | ||
|  |                                                                               var errs_5 = errors; | ||
|  |                                                                               if (typeof data2[i4] !== "string") { | ||
|  |                                                                                 var err = { | ||
|  |                                                                                   keyword: 'type', | ||
|  |                                                                                   dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\'][' + i4 + ']', | ||
|  |                                                                                   schemaPath: '#/definitions/stringArray/items/type', | ||
|  |                                                                                   params: { | ||
|  |                                                                                     type: 'string' | ||
|  |                                                                                   }, | ||
|  |                                                                                   message: 'should be string' | ||
|  |                                                                                 }; | ||
|  |                                                                                 if (vErrors === null) vErrors = [err]; | ||
|  |                                                                                 else vErrors.push(err); | ||
|  |                                                                                 errors++; | ||
|  |                                                                               } | ||
|  |                                                                               var valid5 = errors === errs_5; | ||
|  |                                                                               if (!valid5) break; | ||
|  |                                                                             } | ||
|  |                                                                             if (errs__4 == errors) { | ||
|  |                                                                               var i = data2.length, | ||
|  |                                                                                 valid4 = true, | ||
|  |                                                                                 j; | ||
|  |                                                                               if (i > 1) { | ||
|  |                                                                                 var itemIndices = {}, | ||
|  |                                                                                   item; | ||
|  |                                                                                 for (; i--;) { | ||
|  |                                                                                   var item = data2[i]; | ||
|  |                                                                                   if (typeof item !== "string") continue; | ||
|  |                                                                                   if (typeof itemIndices[item] == 'number') { | ||
|  |                                                                                     valid4 = false; | ||
|  |                                                                                     j = itemIndices[item]; | ||
|  |                                                                                     break; | ||
|  |                                                                                   } | ||
|  |                                                                                   itemIndices[item] = i; | ||
|  |                                                                                 } | ||
|  |                                                                               } | ||
|  |                                                                               if (!valid4) { | ||
|  |                                                                                 var err = { | ||
|  |                                                                                   keyword: 'uniqueItems', | ||
|  |                                                                                   dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\']', | ||
|  |                                                                                   schemaPath: '#/definitions/stringArray/uniqueItems', | ||
|  |                                                                                   params: { | ||
|  |                                                                                     i: i, | ||
|  |                                                                                     j: j | ||
|  |                                                                                   }, | ||
|  |                                                                                   message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' | ||
|  |                                                                                 }; | ||
|  |                                                                                 if (vErrors === null) vErrors = [err]; | ||
|  |                                                                                 else vErrors.push(err); | ||
|  |                                                                                 errors++; | ||
|  |                                                                               } | ||
|  |                                                                             } | ||
|  |                                                                           } else { | ||
|  |                                                                             var err = { | ||
|  |                                                                               keyword: 'type', | ||
|  |                                                                               dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\']', | ||
|  |                                                                               schemaPath: '#/definitions/stringArray/type', | ||
|  |                                                                               params: { | ||
|  |                                                                                 type: 'array' | ||
|  |                                                                               }, | ||
|  |                                                                               message: 'should be array' | ||
|  |                                                                             }; | ||
|  |                                                                             if (vErrors === null) vErrors = [err]; | ||
|  |                                                                             else vErrors.push(err); | ||
|  |                                                                             errors++; | ||
|  |                                                                           } | ||
|  |                                                                           var valid4 = errors === errs_4; | ||
|  |                                                                           var valid3 = errors === errs_3; | ||
|  |                                                                           valid2 = valid2 || valid3; | ||
|  |                                                                         } | ||
|  |                                                                         if (!valid2) { | ||
|  |                                                                           var err = { | ||
|  |                                                                             keyword: 'anyOf', | ||
|  |                                                                             dataPath: (dataPath || '') + '.dependencies[\'' + key1 + '\']', | ||
|  |                                                                             schemaPath: '#/properties/dependencies/additionalProperties/anyOf', | ||
|  |                                                                             params: {}, | ||
|  |                                                                             message: 'should match some schema in anyOf' | ||
|  |                                                                           }; | ||
|  |                                                                           if (vErrors === null) vErrors = [err]; | ||
|  |                                                                           else vErrors.push(err); | ||
|  |                                                                           errors++; | ||
|  |                                                                           validate.errors = vErrors; | ||
|  |                                                                           return false; | ||
|  |                                                                         } else { | ||
|  |                                                                           errors = errs__2; | ||
|  |                                                                           if (vErrors !== null) { | ||
|  |                                                                             if (errs__2) vErrors.length = errs__2; | ||
|  |                                                                             else vErrors = null; | ||
|  |                                                                           } | ||
|  |                                                                         } | ||
|  |                                                                         var valid2 = errors === errs_2; | ||
|  |                                                                         if (!valid2) break; | ||
|  |                                                                       } | ||
|  |                                                                     } else { | ||
|  |                                                                       validate.errors = [{ | ||
|  |                                                                         keyword: 'type', | ||
|  |                                                                         dataPath: (dataPath || '') + '.dependencies', | ||
|  |                                                                         schemaPath: '#/properties/dependencies/type', | ||
|  |                                                                         params: { | ||
|  |                                                                           type: 'object' | ||
|  |                                                                         }, | ||
|  |                                                                         message: 'should be object' | ||
|  |                                                                       }]; | ||
|  |                                                                       return false; | ||
|  |                                                                     } | ||
|  |                                                                     var valid1 = errors === errs_1; | ||
|  |                                                                   } | ||
|  |                                                                   if (valid1) { | ||
|  |                                                                     if (data.propertyNames === undefined) { | ||
|  |                                                                       valid1 = true; | ||
|  |                                                                     } else { | ||
|  |                                                                       var errs_1 = errors; | ||
|  |                                                                       if (!validate(data.propertyNames, (dataPath || '') + '.propertyNames', data, 'propertyNames', rootData)) { | ||
|  |                                                                         if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                         else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                         errors = vErrors.length; | ||
|  |                                                                       } | ||
|  |                                                                       var valid1 = errors === errs_1; | ||
|  |                                                                     } | ||
|  |                                                                     if (valid1) { | ||
|  |                                                                       if (valid1) { | ||
|  |                                                                         var data1 = data.enum; | ||
|  |                                                                         if (data1 === undefined) { | ||
|  |                                                                           valid1 = true; | ||
|  |                                                                         } else { | ||
|  |                                                                           var errs_1 = errors; | ||
|  |                                                                           if (Array.isArray(data1)) { | ||
|  |                                                                             if (data1.length < 1) { | ||
|  |                                                                               validate.errors = [{ | ||
|  |                                                                                 keyword: 'minItems', | ||
|  |                                                                                 dataPath: (dataPath || '') + '.enum', | ||
|  |                                                                                 schemaPath: '#/properties/enum/minItems', | ||
|  |                                                                                 params: { | ||
|  |                                                                                   limit: 1 | ||
|  |                                                                                 }, | ||
|  |                                                                                 message: 'should NOT have fewer than 1 items' | ||
|  |                                                                               }]; | ||
|  |                                                                               return false; | ||
|  |                                                                             } else { | ||
|  |                                                                               var errs__1 = errors; | ||
|  |                                                                               var valid1; | ||
|  |                                                                               if (errs__1 == errors) { | ||
|  |                                                                                 var i = data1.length, | ||
|  |                                                                                   valid1 = true, | ||
|  |                                                                                   j; | ||
|  |                                                                                 if (i > 1) { | ||
|  |                                                                                   outer: for (; i--;) { | ||
|  |                                                                                     for (j = i; j--;) { | ||
|  |                                                                                       if (equal(data1[i], data1[j])) { | ||
|  |                                                                                         valid1 = false; | ||
|  |                                                                                         break outer; | ||
|  |                                                                                       } | ||
|  |                                                                                     } | ||
|  |                                                                                   } | ||
|  |                                                                                 } | ||
|  |                                                                                 if (!valid1) { | ||
|  |                                                                                   validate.errors = [{ | ||
|  |                                                                                     keyword: 'uniqueItems', | ||
|  |                                                                                     dataPath: (dataPath || '') + '.enum', | ||
|  |                                                                                     schemaPath: '#/properties/enum/uniqueItems', | ||
|  |                                                                                     params: { | ||
|  |                                                                                       i: i, | ||
|  |                                                                                       j: j | ||
|  |                                                                                     }, | ||
|  |                                                                                     message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' | ||
|  |                                                                                   }]; | ||
|  |                                                                                   return false; | ||
|  |                                                                                 } | ||
|  |                                                                               } | ||
|  |                                                                             } | ||
|  |                                                                           } else { | ||
|  |                                                                             validate.errors = [{ | ||
|  |                                                                               keyword: 'type', | ||
|  |                                                                               dataPath: (dataPath || '') + '.enum', | ||
|  |                                                                               schemaPath: '#/properties/enum/type', | ||
|  |                                                                               params: { | ||
|  |                                                                                 type: 'array' | ||
|  |                                                                               }, | ||
|  |                                                                               message: 'should be array' | ||
|  |                                                                             }]; | ||
|  |                                                                             return false; | ||
|  |                                                                           } | ||
|  |                                                                           var valid1 = errors === errs_1; | ||
|  |                                                                         } | ||
|  |                                                                         if (valid1) { | ||
|  |                                                                           var data1 = data.type; | ||
|  |                                                                           if (data1 === undefined) { | ||
|  |                                                                             valid1 = true; | ||
|  |                                                                           } else { | ||
|  |                                                                             var errs_1 = errors; | ||
|  |                                                                             var errs__1 = errors; | ||
|  |                                                                             var valid1 = false; | ||
|  |                                                                             var errs_2 = errors; | ||
|  |                                                                             var errs_3 = errors; | ||
|  |                                                                             var schema3 = refVal5.enum; | ||
|  |                                                                             var valid3; | ||
|  |                                                                             valid3 = false; | ||
|  |                                                                             for (var i3 = 0; i3 < schema3.length; i3++) | ||
|  |                                                                               if (equal(data1, schema3[i3])) { | ||
|  |                                                                                 valid3 = true; | ||
|  |                                                                                 break; | ||
|  |                                                                               } if (!valid3) { | ||
|  |                                                                               var err = { | ||
|  |                                                                                 keyword: 'enum', | ||
|  |                                                                                 dataPath: (dataPath || '') + '.type', | ||
|  |                                                                                 schemaPath: '#/definitions/simpleTypes/enum', | ||
|  |                                                                                 params: { | ||
|  |                                                                                   allowedValues: schema3 | ||
|  |                                                                                 }, | ||
|  |                                                                                 message: 'should be equal to one of the allowed values' | ||
|  |                                                                               }; | ||
|  |                                                                               if (vErrors === null) vErrors = [err]; | ||
|  |                                                                               else vErrors.push(err); | ||
|  |                                                                               errors++; | ||
|  |                                                                             } | ||
|  |                                                                             var valid3 = errors === errs_3; | ||
|  |                                                                             var valid2 = errors === errs_2; | ||
|  |                                                                             valid1 = valid1 || valid2; | ||
|  |                                                                             if (!valid1) { | ||
|  |                                                                               var errs_2 = errors; | ||
|  |                                                                               if (Array.isArray(data1)) { | ||
|  |                                                                                 if (data1.length < 1) { | ||
|  |                                                                                   var err = { | ||
|  |                                                                                     keyword: 'minItems', | ||
|  |                                                                                     dataPath: (dataPath || '') + '.type', | ||
|  |                                                                                     schemaPath: '#/properties/type/anyOf/1/minItems', | ||
|  |                                                                                     params: { | ||
|  |                                                                                       limit: 1 | ||
|  |                                                                                     }, | ||
|  |                                                                                     message: 'should NOT have fewer than 1 items' | ||
|  |                                                                                   }; | ||
|  |                                                                                   if (vErrors === null) vErrors = [err]; | ||
|  |                                                                                   else vErrors.push(err); | ||
|  |                                                                                   errors++; | ||
|  |                                                                                 } else { | ||
|  |                                                                                   var errs__2 = errors; | ||
|  |                                                                                   var valid2; | ||
|  |                                                                                   for (var i2 = 0; i2 < data1.length; i2++) { | ||
|  |                                                                                     var errs_3 = errors; | ||
|  |                                                                                     var errs_4 = errors; | ||
|  |                                                                                     var schema4 = refVal[5].enum; | ||
|  |                                                                                     var valid4; | ||
|  |                                                                                     valid4 = false; | ||
|  |                                                                                     for (var i4 = 0; i4 < schema4.length; i4++) | ||
|  |                                                                                       if (equal(data1[i2], schema4[i4])) { | ||
|  |                                                                                         valid4 = true; | ||
|  |                                                                                         break; | ||
|  |                                                                                       } if (!valid4) { | ||
|  |                                                                                       var err = { | ||
|  |                                                                                         keyword: 'enum', | ||
|  |                                                                                         dataPath: (dataPath || '') + '.type[' + i2 + ']', | ||
|  |                                                                                         schemaPath: '#/definitions/simpleTypes/enum', | ||
|  |                                                                                         params: { | ||
|  |                                                                                           allowedValues: schema4 | ||
|  |                                                                                         }, | ||
|  |                                                                                         message: 'should be equal to one of the allowed values' | ||
|  |                                                                                       }; | ||
|  |                                                                                       if (vErrors === null) vErrors = [err]; | ||
|  |                                                                                       else vErrors.push(err); | ||
|  |                                                                                       errors++; | ||
|  |                                                                                     } | ||
|  |                                                                                     var valid4 = errors === errs_4; | ||
|  |                                                                                     var valid3 = errors === errs_3; | ||
|  |                                                                                     if (!valid3) break; | ||
|  |                                                                                   } | ||
|  |                                                                                   if (errs__2 == errors) { | ||
|  |                                                                                     var i = data1.length, | ||
|  |                                                                                       valid2 = true, | ||
|  |                                                                                       j; | ||
|  |                                                                                     if (i > 1) { | ||
|  |                                                                                       outer: for (; i--;) { | ||
|  |                                                                                         for (j = i; j--;) { | ||
|  |                                                                                           if (equal(data1[i], data1[j])) { | ||
|  |                                                                                             valid2 = false; | ||
|  |                                                                                             break outer; | ||
|  |                                                                                           } | ||
|  |                                                                                         } | ||
|  |                                                                                       } | ||
|  |                                                                                     } | ||
|  |                                                                                     if (!valid2) { | ||
|  |                                                                                       var err = { | ||
|  |                                                                                         keyword: 'uniqueItems', | ||
|  |                                                                                         dataPath: (dataPath || '') + '.type', | ||
|  |                                                                                         schemaPath: '#/properties/type/anyOf/1/uniqueItems', | ||
|  |                                                                                         params: { | ||
|  |                                                                                           i: i, | ||
|  |                                                                                           j: j | ||
|  |                                                                                         }, | ||
|  |                                                                                         message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' | ||
|  |                                                                                       }; | ||
|  |                                                                                       if (vErrors === null) vErrors = [err]; | ||
|  |                                                                                       else vErrors.push(err); | ||
|  |                                                                                       errors++; | ||
|  |                                                                                     } | ||
|  |                                                                                   } | ||
|  |                                                                                 } | ||
|  |                                                                               } else { | ||
|  |                                                                                 var err = { | ||
|  |                                                                                   keyword: 'type', | ||
|  |                                                                                   dataPath: (dataPath || '') + '.type', | ||
|  |                                                                                   schemaPath: '#/properties/type/anyOf/1/type', | ||
|  |                                                                                   params: { | ||
|  |                                                                                     type: 'array' | ||
|  |                                                                                   }, | ||
|  |                                                                                   message: 'should be array' | ||
|  |                                                                                 }; | ||
|  |                                                                                 if (vErrors === null) vErrors = [err]; | ||
|  |                                                                                 else vErrors.push(err); | ||
|  |                                                                                 errors++; | ||
|  |                                                                               } | ||
|  |                                                                               var valid2 = errors === errs_2; | ||
|  |                                                                               valid1 = valid1 || valid2; | ||
|  |                                                                             } | ||
|  |                                                                             if (!valid1) { | ||
|  |                                                                               var err = { | ||
|  |                                                                                 keyword: 'anyOf', | ||
|  |                                                                                 dataPath: (dataPath || '') + '.type', | ||
|  |                                                                                 schemaPath: '#/properties/type/anyOf', | ||
|  |                                                                                 params: {}, | ||
|  |                                                                                 message: 'should match some schema in anyOf' | ||
|  |                                                                               }; | ||
|  |                                                                               if (vErrors === null) vErrors = [err]; | ||
|  |                                                                               else vErrors.push(err); | ||
|  |                                                                               errors++; | ||
|  |                                                                               validate.errors = vErrors; | ||
|  |                                                                               return false; | ||
|  |                                                                             } else { | ||
|  |                                                                               errors = errs__1; | ||
|  |                                                                               if (vErrors !== null) { | ||
|  |                                                                                 if (errs__1) vErrors.length = errs__1; | ||
|  |                                                                                 else vErrors = null; | ||
|  |                                                                               } | ||
|  |                                                                             } | ||
|  |                                                                             var valid1 = errors === errs_1; | ||
|  |                                                                           } | ||
|  |                                                                           if (valid1) { | ||
|  |                                                                             if (data.format === undefined) { | ||
|  |                                                                               valid1 = true; | ||
|  |                                                                             } else { | ||
|  |                                                                               var errs_1 = errors; | ||
|  |                                                                               if (typeof data.format !== "string") { | ||
|  |                                                                                 validate.errors = [{ | ||
|  |                                                                                   keyword: 'type', | ||
|  |                                                                                   dataPath: (dataPath || '') + '.format', | ||
|  |                                                                                   schemaPath: '#/properties/format/type', | ||
|  |                                                                                   params: { | ||
|  |                                                                                     type: 'string' | ||
|  |                                                                                   }, | ||
|  |                                                                                   message: 'should be string' | ||
|  |                                                                                 }]; | ||
|  |                                                                                 return false; | ||
|  |                                                                               } | ||
|  |                                                                               var valid1 = errors === errs_1; | ||
|  |                                                                             } | ||
|  |                                                                             if (valid1) { | ||
|  |                                                                               if (data.contentMediaType === undefined) { | ||
|  |                                                                                 valid1 = true; | ||
|  |                                                                               } else { | ||
|  |                                                                                 var errs_1 = errors; | ||
|  |                                                                                 if (typeof data.contentMediaType !== "string") { | ||
|  |                                                                                   validate.errors = [{ | ||
|  |                                                                                     keyword: 'type', | ||
|  |                                                                                     dataPath: (dataPath || '') + '.contentMediaType', | ||
|  |                                                                                     schemaPath: '#/properties/contentMediaType/type', | ||
|  |                                                                                     params: { | ||
|  |                                                                                       type: 'string' | ||
|  |                                                                                     }, | ||
|  |                                                                                     message: 'should be string' | ||
|  |                                                                                   }]; | ||
|  |                                                                                   return false; | ||
|  |                                                                                 } | ||
|  |                                                                                 var valid1 = errors === errs_1; | ||
|  |                                                                               } | ||
|  |                                                                               if (valid1) { | ||
|  |                                                                                 if (data.contentEncoding === undefined) { | ||
|  |                                                                                   valid1 = true; | ||
|  |                                                                                 } else { | ||
|  |                                                                                   var errs_1 = errors; | ||
|  |                                                                                   if (typeof data.contentEncoding !== "string") { | ||
|  |                                                                                     validate.errors = [{ | ||
|  |                                                                                       keyword: 'type', | ||
|  |                                                                                       dataPath: (dataPath || '') + '.contentEncoding', | ||
|  |                                                                                       schemaPath: '#/properties/contentEncoding/type', | ||
|  |                                                                                       params: { | ||
|  |                                                                                         type: 'string' | ||
|  |                                                                                       }, | ||
|  |                                                                                       message: 'should be string' | ||
|  |                                                                                     }]; | ||
|  |                                                                                     return false; | ||
|  |                                                                                   } | ||
|  |                                                                                   var valid1 = errors === errs_1; | ||
|  |                                                                                 } | ||
|  |                                                                                 if (valid1) { | ||
|  |                                                                                   if (data.if === undefined) { | ||
|  |                                                                                     valid1 = true; | ||
|  |                                                                                   } else { | ||
|  |                                                                                     var errs_1 = errors; | ||
|  |                                                                                     if (!validate(data.if, (dataPath || '') + '.if', data, 'if', rootData)) { | ||
|  |                                                                                       if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                                       else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                                       errors = vErrors.length; | ||
|  |                                                                                     } | ||
|  |                                                                                     var valid1 = errors === errs_1; | ||
|  |                                                                                   } | ||
|  |                                                                                   if (valid1) { | ||
|  |                                                                                     if (data.then === undefined) { | ||
|  |                                                                                       valid1 = true; | ||
|  |                                                                                     } else { | ||
|  |                                                                                       var errs_1 = errors; | ||
|  |                                                                                       if (!validate(data.then, (dataPath || '') + '.then', data, 'then', rootData)) { | ||
|  |                                                                                         if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                                         else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                                         errors = vErrors.length; | ||
|  |                                                                                       } | ||
|  |                                                                                       var valid1 = errors === errs_1; | ||
|  |                                                                                     } | ||
|  |                                                                                     if (valid1) { | ||
|  |                                                                                       if (data.else === undefined) { | ||
|  |                                                                                         valid1 = true; | ||
|  |                                                                                       } else { | ||
|  |                                                                                         var errs_1 = errors; | ||
|  |                                                                                         if (!validate(data.else, (dataPath || '') + '.else', data, 'else', rootData)) { | ||
|  |                                                                                           if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                                           else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                                           errors = vErrors.length; | ||
|  |                                                                                         } | ||
|  |                                                                                         var valid1 = errors === errs_1; | ||
|  |                                                                                       } | ||
|  |                                                                                       if (valid1) { | ||
|  |                                                                                         if (data.allOf === undefined) { | ||
|  |                                                                                           valid1 = true; | ||
|  |                                                                                         } else { | ||
|  |                                                                                           var errs_1 = errors; | ||
|  |                                                                                           if (!refVal[3](data.allOf, (dataPath || '') + '.allOf', data, 'allOf', rootData)) { | ||
|  |                                                                                             if (vErrors === null) vErrors = refVal[3].errors; | ||
|  |                                                                                             else vErrors = vErrors.concat(refVal[3].errors); | ||
|  |                                                                                             errors = vErrors.length; | ||
|  |                                                                                           } | ||
|  |                                                                                           var valid1 = errors === errs_1; | ||
|  |                                                                                         } | ||
|  |                                                                                         if (valid1) { | ||
|  |                                                                                           if (data.anyOf === undefined) { | ||
|  |                                                                                             valid1 = true; | ||
|  |                                                                                           } else { | ||
|  |                                                                                             var errs_1 = errors; | ||
|  |                                                                                             if (!refVal[3](data.anyOf, (dataPath || '') + '.anyOf', data, 'anyOf', rootData)) { | ||
|  |                                                                                               if (vErrors === null) vErrors = refVal[3].errors; | ||
|  |                                                                                               else vErrors = vErrors.concat(refVal[3].errors); | ||
|  |                                                                                               errors = vErrors.length; | ||
|  |                                                                                             } | ||
|  |                                                                                             var valid1 = errors === errs_1; | ||
|  |                                                                                           } | ||
|  |                                                                                           if (valid1) { | ||
|  |                                                                                             if (data.oneOf === undefined) { | ||
|  |                                                                                               valid1 = true; | ||
|  |                                                                                             } else { | ||
|  |                                                                                               var errs_1 = errors; | ||
|  |                                                                                               if (!refVal[3](data.oneOf, (dataPath || '') + '.oneOf', data, 'oneOf', rootData)) { | ||
|  |                                                                                                 if (vErrors === null) vErrors = refVal[3].errors; | ||
|  |                                                                                                 else vErrors = vErrors.concat(refVal[3].errors); | ||
|  |                                                                                                 errors = vErrors.length; | ||
|  |                                                                                               } | ||
|  |                                                                                               var valid1 = errors === errs_1; | ||
|  |                                                                                             } | ||
|  |                                                                                             if (valid1) { | ||
|  |                                                                                               if (data.not === undefined) { | ||
|  |                                                                                                 valid1 = true; | ||
|  |                                                                                               } else { | ||
|  |                                                                                                 var errs_1 = errors; | ||
|  |                                                                                                 if (!validate(data.not, (dataPath || '') + '.not', data, 'not', rootData)) { | ||
|  |                                                                                                   if (vErrors === null) vErrors = validate.errors; | ||
|  |                                                                                                   else vErrors = vErrors.concat(validate.errors); | ||
|  |                                                                                                   errors = vErrors.length; | ||
|  |                                                                                                 } | ||
|  |                                                                                                 var valid1 = errors === errs_1; | ||
|  |                                                                                               } | ||
|  |                                                                                             } | ||
|  |                                                                                           } | ||
|  |                                                                                         } | ||
|  |                                                                                       } | ||
|  |                                                                                     } | ||
|  |                                                                                   } | ||
|  |                                                                                 } | ||
|  |                                                                               } | ||
|  |                                                                             } | ||
|  |                                                                           } | ||
|  |                                                                         } | ||
|  |                                                                       } | ||
|  |                                                                     } | ||
|  |                                                                   } | ||
|  |                                                                 } | ||
|  |                                                               } | ||
|  |                                                             } | ||
|  |                                                           } | ||
|  |                                                         } | ||
|  |                                                       } | ||
|  |                                                     } | ||
|  |                                                   } | ||
|  |                                                 } | ||
|  |                                               } | ||
|  |                                             } | ||
|  |                                           } | ||
|  |                                         } | ||
|  |                                       } | ||
|  |                                     } | ||
|  |                                   } | ||
|  |                                 } | ||
|  |                               } | ||
|  |                             } | ||
|  |                           } | ||
|  |                         } | ||
|  |                       } | ||
|  |                     } | ||
|  |                   } | ||
|  |                 } | ||
|  |               } | ||
|  |             } | ||
|  |           } | ||
|  |         } | ||
|  |       } | ||
|  |     } | ||
|  |     validate.errors = vErrors; | ||
|  |     return errors === 0; | ||
|  |   }; | ||
|  | })(); | ||
|  | validate.schema = { | ||
|  |   "$schema": "http://json-schema.org/draft-07/schema#", | ||
|  |   "$id": "http://json-schema.org/draft-07/schema#", | ||
|  |   "title": "Core schema meta-schema", | ||
|  |   "definitions": { | ||
|  |     "schemaArray": { | ||
|  |       "type": "array", | ||
|  |       "minItems": 1, | ||
|  |       "items": { | ||
|  |         "$ref": "#" | ||
|  |       } | ||
|  |     }, | ||
|  |     "nonNegativeInteger": { | ||
|  |       "type": "integer", | ||
|  |       "minimum": 0 | ||
|  |     }, | ||
|  |     "nonNegativeIntegerDefault0": { | ||
|  |       "allOf": [{ | ||
|  |         "$ref": "#/definitions/nonNegativeInteger" | ||
|  |       }, { | ||
|  |         "default": 0 | ||
|  |       }] | ||
|  |     }, | ||
|  |     "simpleTypes": { | ||
|  |       "enum": ["array", "boolean", "integer", "null", "number", "object", "string"] | ||
|  |     }, | ||
|  |     "stringArray": { | ||
|  |       "type": "array", | ||
|  |       "items": { | ||
|  |         "type": "string" | ||
|  |       }, | ||
|  |       "uniqueItems": true, | ||
|  |       "default": [] | ||
|  |     } | ||
|  |   }, | ||
|  |   "type": ["object", "boolean"], | ||
|  |   "properties": { | ||
|  |     "$id": { | ||
|  |       "type": "string", | ||
|  |       "format": "uri-reference" | ||
|  |     }, | ||
|  |     "$schema": { | ||
|  |       "type": "string", | ||
|  |       "format": "uri" | ||
|  |     }, | ||
|  |     "$ref": { | ||
|  |       "type": "string", | ||
|  |       "format": "uri-reference" | ||
|  |     }, | ||
|  |     "$comment": { | ||
|  |       "type": "string" | ||
|  |     }, | ||
|  |     "title": { | ||
|  |       "type": "string" | ||
|  |     }, | ||
|  |     "description": { | ||
|  |       "type": "string" | ||
|  |     }, | ||
|  |     "default": true, | ||
|  |     "readOnly": { | ||
|  |       "type": "boolean", | ||
|  |       "default": false | ||
|  |     }, | ||
|  |     "examples": { | ||
|  |       "type": "array", | ||
|  |       "items": true | ||
|  |     }, | ||
|  |     "multipleOf": { | ||
|  |       "type": "number", | ||
|  |       "exclusiveMinimum": 0 | ||
|  |     }, | ||
|  |     "maximum": { | ||
|  |       "type": "number" | ||
|  |     }, | ||
|  |     "exclusiveMaximum": { | ||
|  |       "type": "number" | ||
|  |     }, | ||
|  |     "minimum": { | ||
|  |       "type": "number" | ||
|  |     }, | ||
|  |     "exclusiveMinimum": { | ||
|  |       "type": "number" | ||
|  |     }, | ||
|  |     "maxLength": { | ||
|  |       "$ref": "#/definitions/nonNegativeInteger" | ||
|  |     }, | ||
|  |     "minLength": { | ||
|  |       "$ref": "#/definitions/nonNegativeIntegerDefault0" | ||
|  |     }, | ||
|  |     "pattern": { | ||
|  |       "type": "string", | ||
|  |       "format": "regex" | ||
|  |     }, | ||
|  |     "additionalItems": { | ||
|  |       "$ref": "#" | ||
|  |     }, | ||
|  |     "items": { | ||
|  |       "anyOf": [{ | ||
|  |         "$ref": "#" | ||
|  |       }, { | ||
|  |         "$ref": "#/definitions/schemaArray" | ||
|  |       }], | ||
|  |       "default": true | ||
|  |     }, | ||
|  |     "maxItems": { | ||
|  |       "$ref": "#/definitions/nonNegativeInteger" | ||
|  |     }, | ||
|  |     "minItems": { | ||
|  |       "$ref": "#/definitions/nonNegativeIntegerDefault0" | ||
|  |     }, | ||
|  |     "uniqueItems": { | ||
|  |       "type": "boolean", | ||
|  |       "default": false | ||
|  |     }, | ||
|  |     "contains": { | ||
|  |       "$ref": "#" | ||
|  |     }, | ||
|  |     "maxProperties": { | ||
|  |       "$ref": "#/definitions/nonNegativeInteger" | ||
|  |     }, | ||
|  |     "minProperties": { | ||
|  |       "$ref": "#/definitions/nonNegativeIntegerDefault0" | ||
|  |     }, | ||
|  |     "required": { | ||
|  |       "$ref": "#/definitions/stringArray" | ||
|  |     }, | ||
|  |     "additionalProperties": { | ||
|  |       "$ref": "#" | ||
|  |     }, | ||
|  |     "definitions": { | ||
|  |       "type": "object", | ||
|  |       "additionalProperties": { | ||
|  |         "$ref": "#" | ||
|  |       }, | ||
|  |       "default": {} | ||
|  |     }, | ||
|  |     "properties": { | ||
|  |       "type": "object", | ||
|  |       "additionalProperties": { | ||
|  |         "$ref": "#" | ||
|  |       }, | ||
|  |       "default": {} | ||
|  |     }, | ||
|  |     "patternProperties": { | ||
|  |       "type": "object", | ||
|  |       "additionalProperties": { | ||
|  |         "$ref": "#" | ||
|  |       }, | ||
|  |       "propertyNames": { | ||
|  |         "format": "regex" | ||
|  |       }, | ||
|  |       "default": {} | ||
|  |     }, | ||
|  |     "dependencies": { | ||
|  |       "type": "object", | ||
|  |       "additionalProperties": { | ||
|  |         "anyOf": [{ | ||
|  |           "$ref": "#" | ||
|  |         }, { | ||
|  |           "$ref": "#/definitions/stringArray" | ||
|  |         }] | ||
|  |       } | ||
|  |     }, | ||
|  |     "propertyNames": { | ||
|  |       "$ref": "#" | ||
|  |     }, | ||
|  |     "const": true, | ||
|  |     "enum": { | ||
|  |       "type": "array", | ||
|  |       "items": true, | ||
|  |       "minItems": 1, | ||
|  |       "uniqueItems": true | ||
|  |     }, | ||
|  |     "type": { | ||
|  |       "anyOf": [{ | ||
|  |         "$ref": "#/definitions/simpleTypes" | ||
|  |       }, { | ||
|  |         "type": "array", | ||
|  |         "items": { | ||
|  |           "$ref": "#/definitions/simpleTypes" | ||
|  |         }, | ||
|  |         "minItems": 1, | ||
|  |         "uniqueItems": true | ||
|  |       }] | ||
|  |     }, | ||
|  |     "format": { | ||
|  |       "type": "string" | ||
|  |     }, | ||
|  |     "contentMediaType": { | ||
|  |       "type": "string" | ||
|  |     }, | ||
|  |     "contentEncoding": { | ||
|  |       "type": "string" | ||
|  |     }, | ||
|  |     "if": { | ||
|  |       "$ref": "#" | ||
|  |     }, | ||
|  |     "then": { | ||
|  |       "$ref": "#" | ||
|  |     }, | ||
|  |     "else": { | ||
|  |       "$ref": "#" | ||
|  |     }, | ||
|  |     "allOf": { | ||
|  |       "$ref": "#/definitions/schemaArray" | ||
|  |     }, | ||
|  |     "anyOf": { | ||
|  |       "$ref": "#/definitions/schemaArray" | ||
|  |     }, | ||
|  |     "oneOf": { | ||
|  |       "$ref": "#/definitions/schemaArray" | ||
|  |     }, | ||
|  |     "not": { | ||
|  |       "$ref": "#" | ||
|  |     } | ||
|  |   }, | ||
|  |   "default": true | ||
|  | }; | ||
|  | validate.errors = null; | ||
|  | module.exports = validate; |