// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This file was auto-generated by the vanadium vdl tool.
var vdl = require('../../../../../../vdl');
var canonicalize = require('../../../../../../vdl/canonicalize');






module.exports = {};



// Types:
var _type1 = new vdl.Type();
var _type10 = new vdl.Type();
var _type11 = new vdl.Type();
var _type12 = new vdl.Type();
var _type13 = new vdl.Type();
var _type14 = new vdl.Type();
var _type15 = new vdl.Type();
var _type2 = new vdl.Type();
var _type3 = new vdl.Type();
var _type4 = new vdl.Type();
var _type5 = new vdl.Type();
var _type6 = new vdl.Type();
var _type7 = new vdl.Type();
var _type8 = new vdl.Type();
var _type9 = new vdl.Type();
var _typeAbcStruct = new vdl.Type();
var _typeAdeStruct = new vdl.Type();
var _typeAnySlice = new vdl.Type();
var _typeArray3String = new vdl.Type();
var _typeArray4String = new vdl.Type();
var _typeBdeUnion = new vdl.Type();
var _typeBeanEnum = new vdl.Type();
var _typeBrieEnum = new vdl.Type();
var _typeConvertGroup = new vdl.Type();
var _typeFoodEnum = new vdl.Type();
var _typeLargeAnyMessageType = new vdl.Type();
var _typeLargeMessageType = new vdl.Type();
var _typeListString = new vdl.Type();
var _typeMBool = new vdl.Type();
var _typeMByteSlice = new vdl.Type();
var _typeMInt8Slice = new vdl.Type();
var _typeMList = new vdl.Type();
var _typeMMap = new vdl.Type();
var _typeMStruct = new vdl.Type();
var _typeMapOnlyA = new vdl.Type();
var _typeMapOnlyA2 = new vdl.Type();
var _typeMapOnlyB = new vdl.Type();
var _typeMapOnlyB2 = new vdl.Type();
var _typeMapOnlySet = new vdl.Type();
var _typeMapOnlyStruct = new vdl.Type();
var _typeMapSetStruct = new vdl.Type();
var _typeMapStructSet = new vdl.Type();
var _typeNArray2Uint64 = new vdl.Type();
var _typeNBool = new vdl.Type();
var _typeNByte = new vdl.Type();
var _typeNByteArray = new vdl.Type();
var _typeNByteSlice = new vdl.Type();
var _typeNComplex128 = new vdl.Type();
var _typeNComplex64 = new vdl.Type();
var _typeNEnum = new vdl.Type();
var _typeNFloat32 = new vdl.Type();
var _typeNFloat64 = new vdl.Type();
var _typeNInt16 = new vdl.Type();
var _typeNInt32 = new vdl.Type();
var _typeNInt64 = new vdl.Type();
var _typeNInt8 = new vdl.Type();
var _typeNListUint64 = new vdl.Type();
var _typeNMapUint64String = new vdl.Type();
var _typeNSetUint64 = new vdl.Type();
var _typeNString = new vdl.Type();
var _typeNStruct = new vdl.Type();
var _typeNUint16 = new vdl.Type();
var _typeNUint32 = new vdl.Type();
var _typeNUint64 = new vdl.Type();
var _typeNUnion = new vdl.Type();
var _typeRec1 = new vdl.Type();
var _typeRec1234 = new vdl.Type();
var _typeRec1234A = new vdl.Type();
var _typeRec1234All = new vdl.Type();
var _typeRec1234B = new vdl.Type();
var _typeRec2 = new vdl.Type();
var _typeRec3 = new vdl.Type();
var _typeRec4 = new vdl.Type();
var _typeRecA = new vdl.Type();
var _typeRecStruct = new vdl.Type();
var _typeRecX = new vdl.Type();
var _typeRecY = new vdl.Type();
var _typeSetOnlyA = new vdl.Type();
var _typeSetOnlyA2 = new vdl.Type();
var _typeSetOnlyB = new vdl.Type();
var _typeSetOnlyB2 = new vdl.Type();
var _typeSetOnlyMap = new vdl.Type();
var _typeSetStructMap = new vdl.Type();
var _typeSometimesSetMap = new vdl.Type();
var _typeStructAny = new vdl.Type();
var _typeStructManyTypes = new vdl.Type();
var _typeStructMap = new vdl.Type();
var _typeStructOnlyMap = new vdl.Type();
var _typeTestCase = new vdl.Type();
var _typeVomdataStruct = new vdl.Type();
var _typeXyzStruct = new vdl.Type();
var _typeYzStruct = new vdl.Type();
var _typeZStruct = new vdl.Type();
_type1.kind = vdl.kind.LIST;
_type1.name = "";
_type1.elem = vdl.types.ANY;
_type10.kind = vdl.kind.LIST;
_type10.name = "";
_type10.elem = _typeRec1234;
_type11.kind = vdl.kind.LIST;
_type11.name = "";
_type11.elem = _typeRec1234B;
_type12.kind = vdl.kind.MAP;
_type12.name = "";
_type12.elem = vdl.types.INT64;
_type12.key = vdl.types.INT64;
_type13.kind = vdl.kind.LIST;
_type13.name = "";
_type13.elem = vdl.types.BYTE;
_type14.kind = vdl.kind.OPTIONAL;
_type14.name = "";
_type14.elem = _typeLargeMessageType;
_type15.kind = vdl.kind.OPTIONAL;
_type15.name = "";
_type15.elem = _typeLargeAnyMessageType;
_type2.kind = vdl.kind.MAP;
_type2.name = "";
_type2.elem = _type1;
_type2.key = vdl.types.BYTE;
_type3.kind = vdl.kind.MAP;
_type3.name = "";
_type3.elem = _type4;
_type3.key = vdl.types.STRING;
_type4.kind = vdl.kind.LIST;
_type4.name = "";
_type4.elem = vdl.types.TYPEOBJECT;
_type5.kind = vdl.kind.MAP;
_type5.name = "";
_type5.elem = _type6;
_type5.key = vdl.types.STRING;
_type6.kind = vdl.kind.LIST;
_type6.name = "";
_type6.elem = _typeConvertGroup;
_type7.kind = vdl.kind.OPTIONAL;
_type7.name = "";
_type7.elem = _typeNStruct;
_type8.kind = vdl.kind.OPTIONAL;
_type8.name = "";
_type8.elem = _typeRecStruct;
_type9.kind = vdl.kind.LIST;
_type9.name = "";
_type9.elem = _typeRec1234A;
_typeAbcStruct.kind = vdl.kind.STRUCT;
_typeAbcStruct.name = "v.io/v23/vom/testdata/types.AbcStruct";
_typeAbcStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: vdl.types.STRING}, {name: "C", type: vdl.types.INT64}];
_typeAdeStruct.kind = vdl.kind.STRUCT;
_typeAdeStruct.name = "v.io/v23/vom/testdata/types.AdeStruct";
_typeAdeStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "D", type: vdl.types.ANY}, {name: "E", type: vdl.types.TYPEOBJECT}];
_typeAnySlice.kind = vdl.kind.LIST;
_typeAnySlice.name = "v.io/v23/vom/testdata/types.AnySlice";
_typeAnySlice.elem = vdl.types.ANY;
_typeArray3String.kind = vdl.kind.ARRAY;
_typeArray3String.name = "v.io/v23/vom/testdata/types.Array3String";
_typeArray3String.len = 3;
_typeArray3String.elem = vdl.types.STRING;
_typeArray4String.kind = vdl.kind.ARRAY;
_typeArray4String.name = "v.io/v23/vom/testdata/types.Array4String";
_typeArray4String.len = 4;
_typeArray4String.elem = vdl.types.STRING;
_typeBdeUnion.kind = vdl.kind.UNION;
_typeBdeUnion.name = "v.io/v23/vom/testdata/types.BdeUnion";
_typeBdeUnion.fields = [{name: "B", type: vdl.types.STRING}, {name: "D", type: vdl.types.ANY}, {name: "E", type: vdl.types.TYPEOBJECT}];
_typeBeanEnum.kind = vdl.kind.ENUM;
_typeBeanEnum.name = "v.io/v23/vom/testdata/types.BeanEnum";
_typeBeanEnum.labels = ["Bean"];
_typeBrieEnum.kind = vdl.kind.ENUM;
_typeBrieEnum.name = "v.io/v23/vom/testdata/types.BrieEnum";
_typeBrieEnum.labels = ["Glee", "Brie", "Three"];
_typeConvertGroup.kind = vdl.kind.STRUCT;
_typeConvertGroup.name = "v.io/v23/vom/testdata/types.ConvertGroup";
_typeConvertGroup.fields = [{name: "Name", type: vdl.types.STRING}, {name: "PrimaryType", type: vdl.types.TYPEOBJECT}, {name: "Values", type: _type1}];
_typeFoodEnum.kind = vdl.kind.ENUM;
_typeFoodEnum.name = "v.io/v23/vom/testdata/types.FoodEnum";
_typeFoodEnum.labels = ["Bean", "Brie", "Cherry"];
_typeLargeAnyMessageType.kind = vdl.kind.STRUCT;
_typeLargeAnyMessageType.name = "v.io/v23/vom/testdata/types.LargeAnyMessageType";
_typeLargeAnyMessageType.fields = [{name: "Payload", type: vdl.types.ANY}, {name: "Next", type: _type15}];
_typeLargeMessageType.kind = vdl.kind.STRUCT;
_typeLargeMessageType.name = "v.io/v23/vom/testdata/types.LargeMessageType";
_typeLargeMessageType.fields = [{name: "Payload", type: _type13}, {name: "Next", type: _type14}];
_typeListString.kind = vdl.kind.LIST;
_typeListString.name = "v.io/v23/vom/testdata/types.ListString";
_typeListString.elem = vdl.types.STRING;
_typeMBool.kind = vdl.kind.BOOL;
_typeMBool.name = "v.io/v23/vom/testdata/types.MBool";
_typeMByteSlice.kind = vdl.kind.LIST;
_typeMByteSlice.name = "v.io/v23/vom/testdata/types.MByteSlice";
_typeMByteSlice.elem = vdl.types.BYTE;
_typeMInt8Slice.kind = vdl.kind.LIST;
_typeMInt8Slice.name = "v.io/v23/vom/testdata/types.MInt8Slice";
_typeMInt8Slice.elem = vdl.types.INT8;
_typeMList.kind = vdl.kind.LIST;
_typeMList.name = "v.io/v23/vom/testdata/types.MList";
_typeMList.elem = _typeNListUint64;
_typeMMap.kind = vdl.kind.MAP;
_typeMMap.name = "v.io/v23/vom/testdata/types.MMap";
_typeMMap.elem = _typeNListUint64;
_typeMMap.key = _typeNFloat32;
_typeMStruct.kind = vdl.kind.STRUCT;
_typeMStruct.name = "v.io/v23/vom/testdata/types.MStruct";
_typeMStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: _typeNBool}, {name: "C", type: _typeMBool}, {name: "D", type: _type7}, {name: "E", type: vdl.types.TYPEOBJECT}, {name: "F", type: vdl.types.ANY}];
_typeMapOnlyA.kind = vdl.kind.MAP;
_typeMapOnlyA.name = "v.io/v23/vom/testdata/types.MapOnlyA";
_typeMapOnlyA.elem = vdl.types.UINT32;
_typeMapOnlyA.key = vdl.types.UINT32;
_typeMapOnlyA2.kind = vdl.kind.MAP;
_typeMapOnlyA2.name = "v.io/v23/vom/testdata/types.MapOnlyA2";
_typeMapOnlyA2.elem = vdl.types.FLOAT64;
_typeMapOnlyA2.key = vdl.types.INT64;
_typeMapOnlyB.kind = vdl.kind.MAP;
_typeMapOnlyB.name = "v.io/v23/vom/testdata/types.MapOnlyB";
_typeMapOnlyB.elem = vdl.types.STRING;
_typeMapOnlyB.key = vdl.types.BOOL;
_typeMapOnlyB2.kind = vdl.kind.MAP;
_typeMapOnlyB2.name = "v.io/v23/vom/testdata/types.MapOnlyB2";
_typeMapOnlyB2.elem = _typeNString;
_typeMapOnlyB2.key = _typeNBool;
_typeMapOnlySet.kind = vdl.kind.SET;
_typeMapOnlySet.name = "v.io/v23/vom/testdata/types.MapOnlySet";
_typeMapOnlySet.key = vdl.types.FLOAT64;
_typeMapOnlyStruct.kind = vdl.kind.STRUCT;
_typeMapOnlyStruct.name = "v.io/v23/vom/testdata/types.MapOnlyStruct";
_typeMapOnlyStruct.fields = [{name: "Key1", type: vdl.types.INT64}, {name: "Key2", type: vdl.types.UINT32}, {name: "Key3", type: vdl.types.COMPLEX128}];
_typeMapSetStruct.kind = vdl.kind.STRUCT;
_typeMapSetStruct.name = "v.io/v23/vom/testdata/types.MapSetStruct";
_typeMapSetStruct.fields = [{name: "Feat", type: vdl.types.BOOL}, {name: "Tire", type: vdl.types.BOOL}, {name: "Eel", type: vdl.types.BOOL}];
_typeMapStructSet.kind = vdl.kind.SET;
_typeMapStructSet.name = "v.io/v23/vom/testdata/types.MapStructSet";
_typeMapStructSet.key = vdl.types.STRING;
_typeNArray2Uint64.kind = vdl.kind.ARRAY;
_typeNArray2Uint64.name = "v.io/v23/vom/testdata/types.NArray2Uint64";
_typeNArray2Uint64.len = 2;
_typeNArray2Uint64.elem = vdl.types.UINT64;
_typeNBool.kind = vdl.kind.BOOL;
_typeNBool.name = "v.io/v23/vom/testdata/types.NBool";
_typeNByte.kind = vdl.kind.BYTE;
_typeNByte.name = "v.io/v23/vom/testdata/types.NByte";
_typeNByteArray.kind = vdl.kind.ARRAY;
_typeNByteArray.name = "v.io/v23/vom/testdata/types.NByteArray";
_typeNByteArray.len = 4;
_typeNByteArray.elem = vdl.types.BYTE;
_typeNByteSlice.kind = vdl.kind.LIST;
_typeNByteSlice.name = "v.io/v23/vom/testdata/types.NByteSlice";
_typeNByteSlice.elem = vdl.types.BYTE;
_typeNComplex128.kind = vdl.kind.COMPLEX128;
_typeNComplex128.name = "v.io/v23/vom/testdata/types.NComplex128";
_typeNComplex64.kind = vdl.kind.COMPLEX64;
_typeNComplex64.name = "v.io/v23/vom/testdata/types.NComplex64";
_typeNEnum.kind = vdl.kind.ENUM;
_typeNEnum.name = "v.io/v23/vom/testdata/types.NEnum";
_typeNEnum.labels = ["A", "B", "C"];
_typeNFloat32.kind = vdl.kind.FLOAT32;
_typeNFloat32.name = "v.io/v23/vom/testdata/types.NFloat32";
_typeNFloat64.kind = vdl.kind.FLOAT64;
_typeNFloat64.name = "v.io/v23/vom/testdata/types.NFloat64";
_typeNInt16.kind = vdl.kind.INT16;
_typeNInt16.name = "v.io/v23/vom/testdata/types.NInt16";
_typeNInt32.kind = vdl.kind.INT32;
_typeNInt32.name = "v.io/v23/vom/testdata/types.NInt32";
_typeNInt64.kind = vdl.kind.INT64;
_typeNInt64.name = "v.io/v23/vom/testdata/types.NInt64";
_typeNInt8.kind = vdl.kind.INT8;
_typeNInt8.name = "v.io/v23/vom/testdata/types.NInt8";
_typeNListUint64.kind = vdl.kind.LIST;
_typeNListUint64.name = "v.io/v23/vom/testdata/types.NListUint64";
_typeNListUint64.elem = vdl.types.UINT64;
_typeNMapUint64String.kind = vdl.kind.MAP;
_typeNMapUint64String.name = "v.io/v23/vom/testdata/types.NMapUint64String";
_typeNMapUint64String.elem = vdl.types.STRING;
_typeNMapUint64String.key = vdl.types.UINT64;
_typeNSetUint64.kind = vdl.kind.SET;
_typeNSetUint64.name = "v.io/v23/vom/testdata/types.NSetUint64";
_typeNSetUint64.key = vdl.types.UINT64;
_typeNString.kind = vdl.kind.STRING;
_typeNString.name = "v.io/v23/vom/testdata/types.NString";
_typeNStruct.kind = vdl.kind.STRUCT;
_typeNStruct.name = "v.io/v23/vom/testdata/types.NStruct";
_typeNStruct.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: vdl.types.STRING}, {name: "C", type: vdl.types.INT64}];
_typeNUint16.kind = vdl.kind.UINT16;
_typeNUint16.name = "v.io/v23/vom/testdata/types.NUint16";
_typeNUint32.kind = vdl.kind.UINT32;
_typeNUint32.name = "v.io/v23/vom/testdata/types.NUint32";
_typeNUint64.kind = vdl.kind.UINT64;
_typeNUint64.name = "v.io/v23/vom/testdata/types.NUint64";
_typeNUnion.kind = vdl.kind.UNION;
_typeNUnion.name = "v.io/v23/vom/testdata/types.NUnion";
_typeNUnion.fields = [{name: "A", type: vdl.types.BOOL}, {name: "B", type: vdl.types.STRING}, {name: "C", type: vdl.types.INT64}];
_typeRec1.kind = vdl.kind.LIST;
_typeRec1.name = "v.io/v23/vom/testdata/types.Rec1";
_typeRec1.elem = _typeRec2;
_typeRec1234.kind = vdl.kind.STRUCT;
_typeRec1234.name = "v.io/v23/vom/testdata/types.Rec1234";
_typeRec1234.fields = [{name: "R1", type: _typeRec1}, {name: "R2", type: _typeRec2}, {name: "R3", type: _typeRec3}, {name: "R4", type: _typeRec4}];
_typeRec1234A.kind = vdl.kind.STRUCT;
_typeRec1234A.name = "v.io/v23/vom/testdata/types.Rec1234A";
_typeRec1234A.fields = [{name: "A", type: _type9}, {name: "Rec1234", type: _type10}];
_typeRec1234All.kind = vdl.kind.STRUCT;
_typeRec1234All.name = "v.io/v23/vom/testdata/types.Rec1234All";
_typeRec1234All.fields = [{name: "A", type: _typeRec1234A}, {name: "B", type: _typeRec1234B}];
_typeRec1234B.kind = vdl.kind.STRUCT;
_typeRec1234B.name = "v.io/v23/vom/testdata/types.Rec1234B";
_typeRec1234B.fields = [{name: "B", type: _type11}, {name: "Rec1234", type: _type10}];
_typeRec2.kind = vdl.kind.LIST;
_typeRec2.name = "v.io/v23/vom/testdata/types.Rec2";
_typeRec2.elem = _typeRec3;
_typeRec3.kind = vdl.kind.LIST;
_typeRec3.name = "v.io/v23/vom/testdata/types.Rec3";
_typeRec3.elem = _typeRec4;
_typeRec4.kind = vdl.kind.LIST;
_typeRec4.name = "v.io/v23/vom/testdata/types.Rec4";
_typeRec4.elem = _typeRec1;
_typeRecA.kind = vdl.kind.LIST;
_typeRecA.name = "v.io/v23/vom/testdata/types.RecA";
_typeRecA.elem = _typeRecA;
_typeRecStruct.kind = vdl.kind.STRUCT;
_typeRecStruct.name = "v.io/v23/vom/testdata/types.RecStruct";
_typeRecStruct.fields = [{name: "A", type: _type8}];
_typeRecX.kind = vdl.kind.LIST;
_typeRecX.name = "v.io/v23/vom/testdata/types.RecX";
_typeRecX.elem = _typeRecY;
_typeRecY.kind = vdl.kind.LIST;
_typeRecY.name = "v.io/v23/vom/testdata/types.RecY";
_typeRecY.elem = _typeRecX;
_typeSetOnlyA.kind = vdl.kind.SET;
_typeSetOnlyA.name = "v.io/v23/vom/testdata/types.SetOnlyA";
_typeSetOnlyA.key = vdl.types.BOOL;
_typeSetOnlyA2.kind = vdl.kind.SET;
_typeSetOnlyA2.name = "v.io/v23/vom/testdata/types.SetOnlyA2";
_typeSetOnlyA2.key = _typeNBool;
_typeSetOnlyB.kind = vdl.kind.SET;
_typeSetOnlyB.name = "v.io/v23/vom/testdata/types.SetOnlyB";
_typeSetOnlyB.key = vdl.types.INT16;
_typeSetOnlyB2.kind = vdl.kind.SET;
_typeSetOnlyB2.name = "v.io/v23/vom/testdata/types.SetOnlyB2";
_typeSetOnlyB2.key = _typeNInt16;
_typeSetOnlyMap.kind = vdl.kind.MAP;
_typeSetOnlyMap.name = "v.io/v23/vom/testdata/types.SetOnlyMap";
_typeSetOnlyMap.elem = vdl.types.BOOL;
_typeSetOnlyMap.key = vdl.types.FLOAT64;
_typeSetStructMap.kind = vdl.kind.MAP;
_typeSetStructMap.name = "v.io/v23/vom/testdata/types.SetStructMap";
_typeSetStructMap.elem = vdl.types.BOOL;
_typeSetStructMap.key = vdl.types.STRING;
_typeSometimesSetMap.kind = vdl.kind.MAP;
_typeSometimesSetMap.name = "v.io/v23/vom/testdata/types.SometimesSetMap";
_typeSometimesSetMap.elem = vdl.types.ANY;
_typeSometimesSetMap.key = vdl.types.FLOAT64;
_typeStructAny.kind = vdl.kind.STRUCT;
_typeStructAny.name = "v.io/v23/vom/testdata/types.StructAny";
_typeStructAny.fields = [{name: "Any", type: vdl.types.ANY}];
_typeStructManyTypes.kind = vdl.kind.STRUCT;
_typeStructManyTypes.name = "v.io/v23/vom/testdata/types.StructManyTypes";
_typeStructManyTypes.fields = [{name: "Bool", type: vdl.types.BOOL}, {name: "AByte", type: vdl.types.BYTE}, {name: "Int16", type: vdl.types.INT16}, {name: "Int32", type: vdl.types.INT32}, {name: "Int64", type: vdl.types.INT64}, {name: "Uint16", type: vdl.types.UINT16}, {name: "Uint32", type: vdl.types.UINT32}, {name: "Uint64", type: vdl.types.UINT64}, {name: "String", type: vdl.types.STRING}, {name: "Bytes", type: _type13}, {name: "Float32", type: vdl.types.FLOAT32}, {name: "Float64", type: vdl.types.FLOAT64}, {name: "Complex64", type: vdl.types.COMPLEX64}, {name: "Complex128", type: vdl.types.COMPLEX128}, {name: "FoodEnum", type: _typeFoodEnum}, {name: "NEnum", type: _typeNEnum}, {name: "NListUint64", type: _typeNListUint64}, {name: "NByteArray", type: _typeNByteArray}, {name: "NArray2Uint64", type: _typeNArray2Uint64}, {name: "NSetUint64", type: _typeNSetUint64}, {name: "NMapUint64String", type: _typeNMapUint64String}, {name: "NStruct", type: _typeNStruct}, {name: "NUnion", type: _typeNUnion}, {name: "TypeObject", type: vdl.types.TYPEOBJECT}];
_typeStructMap.kind = vdl.kind.STRUCT;
_typeStructMap.name = "v.io/v23/vom/testdata/types.StructMap";
_typeStructMap.fields = [{name: "Map", type: _type12}];
_typeStructOnlyMap.kind = vdl.kind.MAP;
_typeStructOnlyMap.name = "v.io/v23/vom/testdata/types.StructOnlyMap";
_typeStructOnlyMap.elem = vdl.types.UINT64;
_typeStructOnlyMap.key = vdl.types.STRING;
_typeTestCase.kind = vdl.kind.STRUCT;
_typeTestCase.name = "v.io/v23/vom/testdata/types.TestCase";
_typeTestCase.fields = [{name: "Name", type: vdl.types.STRING}, {name: "Value", type: vdl.types.ANY}, {name: "TypeString", type: vdl.types.STRING}, {name: "Hex", type: vdl.types.STRING}, {name: "HexVersion", type: vdl.types.STRING}, {name: "HexType", type: vdl.types.STRING}, {name: "HexValue", type: vdl.types.STRING}];
_typeVomdataStruct.kind = vdl.kind.STRUCT;
_typeVomdataStruct.name = "v.io/v23/vom/testdata/types.VomdataStruct";
_typeVomdataStruct.fields = [{name: "EncodeDecodeData", type: _type2}, {name: "CompatData", type: _type3}, {name: "ConvertData", type: _type5}];
_typeXyzStruct.kind = vdl.kind.STRUCT;
_typeXyzStruct.name = "v.io/v23/vom/testdata/types.XyzStruct";
_typeXyzStruct.fields = [{name: "X", type: vdl.types.BOOL}, {name: "Y", type: _typeMBool}, {name: "Z", type: vdl.types.STRING}];
_typeYzStruct.kind = vdl.kind.STRUCT;
_typeYzStruct.name = "v.io/v23/vom/testdata/types.YzStruct";
_typeYzStruct.fields = [{name: "Y", type: _typeNBool}, {name: "Z", type: _typeNString}];
_typeZStruct.kind = vdl.kind.STRUCT;
_typeZStruct.name = "v.io/v23/vom/testdata/types.ZStruct";
_typeZStruct.fields = [{name: "Z", type: vdl.types.STRING}];
_type1.freeze();
_type10.freeze();
_type11.freeze();
_type12.freeze();
_type13.freeze();
_type14.freeze();
_type15.freeze();
_type2.freeze();
_type3.freeze();
_type4.freeze();
_type5.freeze();
_type6.freeze();
_type7.freeze();
_type8.freeze();
_type9.freeze();
_typeAbcStruct.freeze();
_typeAdeStruct.freeze();
_typeAnySlice.freeze();
_typeArray3String.freeze();
_typeArray4String.freeze();
_typeBdeUnion.freeze();
_typeBeanEnum.freeze();
_typeBrieEnum.freeze();
_typeConvertGroup.freeze();
_typeFoodEnum.freeze();
_typeLargeAnyMessageType.freeze();
_typeLargeMessageType.freeze();
_typeListString.freeze();
_typeMBool.freeze();
_typeMByteSlice.freeze();
_typeMInt8Slice.freeze();
_typeMList.freeze();
_typeMMap.freeze();
_typeMStruct.freeze();
_typeMapOnlyA.freeze();
_typeMapOnlyA2.freeze();
_typeMapOnlyB.freeze();
_typeMapOnlyB2.freeze();
_typeMapOnlySet.freeze();
_typeMapOnlyStruct.freeze();
_typeMapSetStruct.freeze();
_typeMapStructSet.freeze();
_typeNArray2Uint64.freeze();
_typeNBool.freeze();
_typeNByte.freeze();
_typeNByteArray.freeze();
_typeNByteSlice.freeze();
_typeNComplex128.freeze();
_typeNComplex64.freeze();
_typeNEnum.freeze();
_typeNFloat32.freeze();
_typeNFloat64.freeze();
_typeNInt16.freeze();
_typeNInt32.freeze();
_typeNInt64.freeze();
_typeNInt8.freeze();
_typeNListUint64.freeze();
_typeNMapUint64String.freeze();
_typeNSetUint64.freeze();
_typeNString.freeze();
_typeNStruct.freeze();
_typeNUint16.freeze();
_typeNUint32.freeze();
_typeNUint64.freeze();
_typeNUnion.freeze();
_typeRec1.freeze();
_typeRec1234.freeze();
_typeRec1234A.freeze();
_typeRec1234All.freeze();
_typeRec1234B.freeze();
_typeRec2.freeze();
_typeRec3.freeze();
_typeRec4.freeze();
_typeRecA.freeze();
_typeRecStruct.freeze();
_typeRecX.freeze();
_typeRecY.freeze();
_typeSetOnlyA.freeze();
_typeSetOnlyA2.freeze();
_typeSetOnlyB.freeze();
_typeSetOnlyB2.freeze();
_typeSetOnlyMap.freeze();
_typeSetStructMap.freeze();
_typeSometimesSetMap.freeze();
_typeStructAny.freeze();
_typeStructManyTypes.freeze();
_typeStructMap.freeze();
_typeStructOnlyMap.freeze();
_typeTestCase.freeze();
_typeVomdataStruct.freeze();
_typeXyzStruct.freeze();
_typeYzStruct.freeze();
_typeZStruct.freeze();
module.exports.AbcStruct = (vdl.registry.lookupOrCreateConstructor(_typeAbcStruct));
module.exports.AdeStruct = (vdl.registry.lookupOrCreateConstructor(_typeAdeStruct));
module.exports.AnySlice = (vdl.registry.lookupOrCreateConstructor(_typeAnySlice));
module.exports.Array3String = (vdl.registry.lookupOrCreateConstructor(_typeArray3String));
module.exports.Array4String = (vdl.registry.lookupOrCreateConstructor(_typeArray4String));
module.exports.BdeUnion = (vdl.registry.lookupOrCreateConstructor(_typeBdeUnion));
module.exports.BeanEnum = {
  BEAN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBeanEnum))('Bean', true), _typeBeanEnum),
};
module.exports.BrieEnum = {
  GLEE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBrieEnum))('Glee', true), _typeBrieEnum),
  BRIE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBrieEnum))('Brie', true), _typeBrieEnum),
  THREE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeBrieEnum))('Three', true), _typeBrieEnum),
};
module.exports.ConvertGroup = (vdl.registry.lookupOrCreateConstructor(_typeConvertGroup));
module.exports.FoodEnum = {
  BEAN: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeFoodEnum))('Bean', true), _typeFoodEnum),
  BRIE: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeFoodEnum))('Brie', true), _typeFoodEnum),
  CHERRY: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeFoodEnum))('Cherry', true), _typeFoodEnum),
};
module.exports.LargeAnyMessageType = (vdl.registry.lookupOrCreateConstructor(_typeLargeAnyMessageType));
module.exports.LargeMessageType = (vdl.registry.lookupOrCreateConstructor(_typeLargeMessageType));
module.exports.ListString = (vdl.registry.lookupOrCreateConstructor(_typeListString));
module.exports.MBool = (vdl.registry.lookupOrCreateConstructor(_typeMBool));
module.exports.MByteSlice = (vdl.registry.lookupOrCreateConstructor(_typeMByteSlice));
module.exports.MInt8Slice = (vdl.registry.lookupOrCreateConstructor(_typeMInt8Slice));
module.exports.MList = (vdl.registry.lookupOrCreateConstructor(_typeMList));
module.exports.MMap = (vdl.registry.lookupOrCreateConstructor(_typeMMap));
module.exports.MStruct = (vdl.registry.lookupOrCreateConstructor(_typeMStruct));
module.exports.MapOnlyA = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyA));
module.exports.MapOnlyA2 = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyA2));
module.exports.MapOnlyB = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyB));
module.exports.MapOnlyB2 = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyB2));
module.exports.MapOnlySet = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlySet));
module.exports.MapOnlyStruct = (vdl.registry.lookupOrCreateConstructor(_typeMapOnlyStruct));
module.exports.MapSetStruct = (vdl.registry.lookupOrCreateConstructor(_typeMapSetStruct));
module.exports.MapStructSet = (vdl.registry.lookupOrCreateConstructor(_typeMapStructSet));
module.exports.NArray2Uint64 = (vdl.registry.lookupOrCreateConstructor(_typeNArray2Uint64));
module.exports.NBool = (vdl.registry.lookupOrCreateConstructor(_typeNBool));
module.exports.NByte = (vdl.registry.lookupOrCreateConstructor(_typeNByte));
module.exports.NByteArray = (vdl.registry.lookupOrCreateConstructor(_typeNByteArray));
module.exports.NByteSlice = (vdl.registry.lookupOrCreateConstructor(_typeNByteSlice));
module.exports.NComplex128 = (vdl.registry.lookupOrCreateConstructor(_typeNComplex128));
module.exports.NComplex64 = (vdl.registry.lookupOrCreateConstructor(_typeNComplex64));
module.exports.NEnum = {
  A: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeNEnum))('A', true), _typeNEnum),
  B: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeNEnum))('B', true), _typeNEnum),
  C: canonicalize.reduce(new (vdl.registry.lookupOrCreateConstructor(_typeNEnum))('C', true), _typeNEnum),
};
module.exports.NFloat32 = (vdl.registry.lookupOrCreateConstructor(_typeNFloat32));
module.exports.NFloat64 = (vdl.registry.lookupOrCreateConstructor(_typeNFloat64));
module.exports.NInt16 = (vdl.registry.lookupOrCreateConstructor(_typeNInt16));
module.exports.NInt32 = (vdl.registry.lookupOrCreateConstructor(_typeNInt32));
module.exports.NInt64 = (vdl.registry.lookupOrCreateConstructor(_typeNInt64));
module.exports.NInt8 = (vdl.registry.lookupOrCreateConstructor(_typeNInt8));
module.exports.NListUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNListUint64));
module.exports.NMapUint64String = (vdl.registry.lookupOrCreateConstructor(_typeNMapUint64String));
module.exports.NSetUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNSetUint64));
module.exports.NString = (vdl.registry.lookupOrCreateConstructor(_typeNString));
module.exports.NStruct = (vdl.registry.lookupOrCreateConstructor(_typeNStruct));
module.exports.NUint16 = (vdl.registry.lookupOrCreateConstructor(_typeNUint16));
module.exports.NUint32 = (vdl.registry.lookupOrCreateConstructor(_typeNUint32));
module.exports.NUint64 = (vdl.registry.lookupOrCreateConstructor(_typeNUint64));
module.exports.NUnion = (vdl.registry.lookupOrCreateConstructor(_typeNUnion));
module.exports.Rec1 = (vdl.registry.lookupOrCreateConstructor(_typeRec1));
module.exports.Rec1234 = (vdl.registry.lookupOrCreateConstructor(_typeRec1234));
module.exports.Rec1234A = (vdl.registry.lookupOrCreateConstructor(_typeRec1234A));
module.exports.Rec1234All = (vdl.registry.lookupOrCreateConstructor(_typeRec1234All));
module.exports.Rec1234B = (vdl.registry.lookupOrCreateConstructor(_typeRec1234B));
module.exports.Rec2 = (vdl.registry.lookupOrCreateConstructor(_typeRec2));
module.exports.Rec3 = (vdl.registry.lookupOrCreateConstructor(_typeRec3));
module.exports.Rec4 = (vdl.registry.lookupOrCreateConstructor(_typeRec4));
module.exports.RecA = (vdl.registry.lookupOrCreateConstructor(_typeRecA));
module.exports.RecStruct = (vdl.registry.lookupOrCreateConstructor(_typeRecStruct));
module.exports.RecX = (vdl.registry.lookupOrCreateConstructor(_typeRecX));
module.exports.RecY = (vdl.registry.lookupOrCreateConstructor(_typeRecY));
module.exports.SetOnlyA = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyA));
module.exports.SetOnlyA2 = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyA2));
module.exports.SetOnlyB = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyB));
module.exports.SetOnlyB2 = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyB2));
module.exports.SetOnlyMap = (vdl.registry.lookupOrCreateConstructor(_typeSetOnlyMap));
module.exports.SetStructMap = (vdl.registry.lookupOrCreateConstructor(_typeSetStructMap));
module.exports.SometimesSetMap = (vdl.registry.lookupOrCreateConstructor(_typeSometimesSetMap));
module.exports.StructAny = (vdl.registry.lookupOrCreateConstructor(_typeStructAny));
module.exports.StructManyTypes = (vdl.registry.lookupOrCreateConstructor(_typeStructManyTypes));
module.exports.StructMap = (vdl.registry.lookupOrCreateConstructor(_typeStructMap));
module.exports.StructOnlyMap = (vdl.registry.lookupOrCreateConstructor(_typeStructOnlyMap));
module.exports.TestCase = (vdl.registry.lookupOrCreateConstructor(_typeTestCase));
module.exports.VomdataStruct = (vdl.registry.lookupOrCreateConstructor(_typeVomdataStruct));
module.exports.XyzStruct = (vdl.registry.lookupOrCreateConstructor(_typeXyzStruct));
module.exports.YzStruct = (vdl.registry.lookupOrCreateConstructor(_typeYzStruct));
module.exports.ZStruct = (vdl.registry.lookupOrCreateConstructor(_typeZStruct));




// Consts:



// Errors:



// Services:

   

   
 


