(function (_, kotlin_com_github_UstadMobile_door_door_runtime, kotlin_kotlin, kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core) {
  'use strict';
  //region block: imports
  var imul = Math.imul;
  var RoomDatabase = kotlin_com_github_UstadMobile_door_door_runtime.$_$.l;
  var protoOf = kotlin_kotlin.$_$.tf;
  var classMeta = kotlin_kotlin.$_$.ee;
  var setMetadataFor = kotlin_kotlin.$_$.uf;
  var VOID = kotlin_kotlin.$_$.g;
  var Long = kotlin_kotlin.$_$.vl;
  var IntCompanionObject_getInstance = kotlin_kotlin.$_$.r5;
  var Unit_getInstance = kotlin_kotlin.$_$.g6;
  var objectMeta = kotlin_kotlin.$_$.sf;
  var interfaceMeta = kotlin_kotlin.$_$.ue;
  var CoroutineImpl = kotlin_kotlin.$_$.md;
  var get_COROUTINE_SUSPENDED = kotlin_kotlin.$_$.xc;
  var ArrayList_init_$Create$ = kotlin_kotlin.$_$.q;
  var dbType = kotlin_com_github_UstadMobile_door_door_runtime.$_$.b;
  var Companion_getInstance = kotlin_com_github_UstadMobile_door_door_runtime.$_$.q;
  var listOf = kotlin_kotlin.$_$.pa;
  var emptyList = kotlin_kotlin.$_$.d9;
  var Companion_getInstance_0 = kotlin_kotlin.$_$.a6;
  var systemTimeInMillis = kotlin_com_github_UstadMobile_door_door_runtime.$_$.m;
  var numberRangeToNumber = kotlin_kotlin.$_$.lf;
  var listOf_0 = kotlin_kotlin.$_$.qa;
  var Pair = kotlin_kotlin.$_$.zl;
  var DoorMigrationStatementList = kotlin_com_github_UstadMobile_door_door_runtime.$_$.i;
  var THROW_CCE = kotlin_kotlin.$_$.cm;
  var PluginGeneratedSerialDescriptor = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x2;
  var BooleanSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s;
  var LongSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.w;
  var UnknownFieldException_init_$Create$ = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.g;
  var typeParametersSerializers = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.r2;
  var GeneratedSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.s2;
  var throwMissingFieldException = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.c3;
  var objectCreate = kotlin_kotlin.$_$.rf;
  var getBooleanHashCode = kotlin_kotlin.$_$.me;
  var StringSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.x;
  var get_nullable = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b1;
  var getStringHashCode = kotlin_kotlin.$_$.re;
  var IntSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.v;
  var FloatSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.u;
  var getNumberHashCode = kotlin_kotlin.$_$.oe;
  var equals = kotlin_kotlin.$_$.ie;
  var hashCode = kotlin_kotlin.$_$.se;
  var ArrayListSerializer = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.p2;
  var THROW_IAE = kotlin_kotlin.$_$.dm;
  var enumEntries = kotlin_kotlin.$_$.sd;
  var Enum = kotlin_kotlin.$_$.pl;
  var getKClassFromExpression = kotlin_kotlin.$_$.d;
  var throwArrayMissingFieldException = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.b3;
  var ensureNotNull = kotlin_kotlin.$_$.xm;
  var ByteSerializer_getInstance = kotlin_org_jetbrains_kotlinx_kotlinx_serialization_core.$_$.t;
  var toString = kotlin_kotlin.$_$.tn;
  var to = kotlin_kotlin.$_$.un;
  var mapOf = kotlin_kotlin.$_$.ta;
  var StringBuilder_init_$Create$ = kotlin_kotlin.$_$.n1;
  var trimIndent = kotlin_kotlin.$_$.wk;
  //endregion
  //region block: pre-declaration
  setMetadataFor(UmAppDatabase, 'UmAppDatabase', classMeta, RoomDatabase, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(CacheLockJoinDao, 'CacheLockJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [0, 3, 1, 2]);
  setMetadataFor(BaseDao, 'BaseDao', interfaceMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(OneToManyJoinDao, 'OneToManyJoinDao', interfaceMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ClazzAssignmentDao, 'ClazzAssignmentDao', classMeta, VOID, [BaseDao, OneToManyJoinDao], VOID, VOID, VOID, [1, 3, 4, 2]);
  setMetadataFor(ClazzDao, 'ClazzDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2]);
  setMetadataFor(ClazzEnrolmentDao, 'ClazzEnrolmentDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 3, 4, 9, 2, 10, 5]);
  setMetadataFor(ClazzLogAttendanceRecordDao, 'ClazzLogAttendanceRecordDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ClazzLogDao, 'ClazzLogDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(CommentsDao, 'CommentsDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(ContentCategoryDao, 'ContentCategoryDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(ContentCategorySchemaDao, 'ContentCategorySchemaDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryContentCategoryJoinDao, 'ContentEntryContentCategoryJoinDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryDao, 'ContentEntryDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryImportJobDao, 'ContentEntryImportJobDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(ContentEntryParentChildJoinDao, 'ContentEntryParentChildJoinDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(ImageDao, 'ImageDao', interfaceMeta, VOID, VOID, VOID, VOID, VOID, [4]);
  setMetadataFor(ContentEntryPicture2Dao, 'ContentEntryPicture2Dao', classMeta, VOID, [ImageDao], VOID, VOID, VOID, [1, 4]);
  setMetadataFor(ContentEntryPictureDao, 'ContentEntryPictureDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryRelatedEntryJoinDao, 'ContentEntryRelatedEntryJoinDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(ContentEntryVersionDao, 'ContentEntryVersionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 0]);
  setMetadataFor(CourseAssignmentMarkDao, 'CourseAssignmentMarkDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [2, 3, 1]);
  setMetadataFor(CourseAssignmentSubmissionDao, 'CourseAssignmentSubmissionDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2]);
  setMetadataFor(CourseAssignmentSubmissionFileDao, 'CourseAssignmentSubmissionFileDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 3]);
  setMetadataFor(CourseBlockDao, 'CourseBlockDao', classMeta, VOID, [BaseDao, OneToManyJoinDao], VOID, VOID, VOID, [1, 2, 3, 9]);
  setMetadataFor(CourseBlockPictureDao, 'CourseBlockPictureDao', classMeta, VOID, [ImageDao], VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CourseGroupMemberDao, 'CourseGroupMemberDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2, 5]);
  setMetadataFor(CourseGroupSetDao, 'CourseGroupSetDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(CoursePermissionDao, 'CoursePermissionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [2, 1, 3, 4]);
  setMetadataFor(CoursePictureDao, 'CoursePictureDao', classMeta, VOID, [ImageDao], VOID, VOID, VOID, [1, 4]);
  setMetadataFor(CourseTerminologyDao, 'CourseTerminologyDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(DeletedItemDao, 'DeletedItemDao', classMeta, VOID, VOID, VOID, VOID, VOID, [3, 2]);
  setMetadataFor(DiscussionPostDao, 'DiscussionPostDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 3]);
  setMetadataFor(EnrolmentRequestDao, 'EnrolmentRequestDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(ErrorReportDao, 'ErrorReportDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ExternalAppPermissionDao, 'ExternalAppPermissionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(HolidayCalendarDao, 'HolidayCalendarDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(HolidayDao, 'HolidayDao', classMeta, VOID, [BaseDao, OneToManyJoinDao], VOID, VOID, VOID, [1]);
  setMetadataFor(LanguageDao, 'LanguageDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 3]);
  setMetadataFor(LanguageVariantDao, 'LanguageVariantDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(LeavingReasonDao, 'LeavingReasonDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [0, 1]);
  setMetadataFor(MessageDao, 'MessageDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(OfflineItemDao, 'OfflineItemDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(OutgoingReplicationDao, 'OutgoingReplicationDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 0]);
  setMetadataFor(PeerReviewerAllocationDao, 'PeerReviewerAllocationDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PersonAuth2Dao, 'PersonAuth2Dao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(PersonAuthDao, 'PersonAuthDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2]);
  setMetadataFor(PersonDao, 'PersonDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2, 3]);
  setMetadataFor(PersonGroupDao, 'PersonGroupDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1]);
  setMetadataFor(PersonGroupMemberDao, 'PersonGroupMemberDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(PersonParentJoinDao, 'PersonParentJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(PersonPictureDao, 'PersonPictureDao', classMeta, VOID, [BaseDao, ImageDao], VOID, VOID, VOID, [1, 2, 4]);
  setMetadataFor(ReportDao, 'ReportDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ScheduleDao, 'ScheduleDao', classMeta, VOID, [BaseDao], VOID, VOID, VOID, [1, 3]);
  setMetadataFor(ScopedGrantDao, 'ScopedGrantDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(SiteDao, 'SiteDao', classMeta, VOID, VOID, VOID, VOID, VOID, [0, 1]);
  setMetadataFor(SiteTermsDao, 'SiteTermsDao', classMeta, VOID, [OneToManyJoinDao], VOID, VOID, VOID, [1, 0, 3]);
  setMetadataFor(StudentResultDao, 'StudentResultDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(SyncNodeDao, 'SyncNodeDao', classMeta, VOID, VOID, VOID, VOID, VOID, [0]);
  setMetadataFor(SystemPermissionDao, 'SystemPermissionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [2, 1, 3]);
  setMetadataFor(TransferJobDao, 'TransferJobDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(TransferJobErrorDao, 'TransferJobErrorDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(TransferJobItemDao, 'TransferJobItemDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(UserSessionDao, 'UserSessionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 0, 4, 5, 2]);
  setMetadataFor(ActivityEntityDao, 'ActivityEntityDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(ActivityExtensionDao, 'ActivityExtensionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityInteractionDao, 'ActivityInteractionDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(ActivityLangMapEntryDao, 'ActivityLangMapEntryDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 6, 4]);
  setMetadataFor(ActorDao, 'ActorDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 2]);
  setMetadataFor(GroupMemberActorJoinDao, 'GroupMemberActorJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StateDeleteCommandDao, 'StateDeleteCommandDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(StateEntityDao, 'StateEntityDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 4, 6, 5]);
  setMetadataFor(StatementContextActivityJoinDao, 'StatementContextActivityJoinDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3]);
  setMetadataFor(StatementDao, 'StatementDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2, 3, 10]);
  setMetadataFor(StatementEntityJsonDao, 'StatementEntityJsonDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 2]);
  setMetadataFor(VerbDao, 'VerbDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(VerbLangMapEntryDao, 'VerbLangMapEntryDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1]);
  setMetadataFor(XapiSessionEntityDao, 'XapiSessionEntityDao', classMeta, VOID, VOID, VOID, VOID, VOID, [1, 3, 5]);
  setMetadataFor(PermissionFlags, 'PermissionFlags', objectMeta);
  setMetadataFor(ClazzAssignmentDaoCommon, 'ClazzAssignmentDaoCommon', objectMeta);
  setMetadataFor(ClazzDaoCommon, 'ClazzDaoCommon', objectMeta);
  setMetadataFor(ClazzEnrolmentDaoCommon, 'ClazzEnrolmentDaoCommon', objectMeta);
  setMetadataFor(ContentEntryDaoCommon, 'ContentEntryDaoCommon', objectMeta);
  setMetadataFor(CourseAssignmentMarkDaoCommon, 'CourseAssignmentMarkDaoCommon', objectMeta);
  setMetadataFor($deactivateByUidsCOROUTINE$0, '$deactivateByUidsCOROUTINE$0', classMeta, CoroutineImpl);
  setMetadataFor(CourseGroupSetDaoConstants, 'CourseGroupSetDaoConstants', objectMeta);
  setMetadataFor($deactivateByUidsCOROUTINE$1, '$deactivateByUidsCOROUTINE$1', classMeta, CoroutineImpl);
  setMetadataFor(PersonDaoCommon, 'PersonDaoCommon', objectMeta);
  setMetadataFor($deactivateByUidsCOROUTINE$2, '$deactivateByUidsCOROUTINE$2', classMeta, CoroutineImpl);
  setMetadataFor(ActorUidEtagAndLastMod, 'ActorUidEtagAndLastMod', classMeta, VOID, VOID, ActorUidEtagAndLastMod);
  setMetadataFor(Companion, 'Companion', objectMeta);
  setMetadataFor($serializer, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentPermissionAndActiveUserSubmitterUid, 'AssignmentPermissionAndActiveUserSubmitterUid', classMeta, VOID, VOID, AssignmentPermissionAndActiveUserSubmitterUid, VOID, {0: $serializer_getInstance});
  setMetadataFor(Companion_0, 'Companion', objectMeta);
  setMetadataFor($serializer_0, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentSubmitterUidAndName, 'AssignmentSubmitterUidAndName', classMeta, VOID, VOID, AssignmentSubmitterUidAndName, VOID, {0: $serializer_getInstance_0});
  setMetadataFor(Companion_1, 'Companion', objectMeta);
  setMetadataFor($serializer_1, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(BlockStatus, 'BlockStatus', classMeta, VOID, VOID, BlockStatus, VOID, {0: $serializer_getInstance_1});
  setMetadataFor(Companion_2, 'Companion', objectMeta);
  setMetadataFor($serializer_2, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAndDetailPermissions, 'ClazzAndDetailPermissions', classMeta, VOID, VOID, ClazzAndDetailPermissions, VOID, {0: $serializer_getInstance_2});
  setMetadataFor(ClazzAndDisplayDetails, 'ClazzAndDisplayDetails', classMeta, VOID, VOID, ClazzAndDisplayDetails);
  setMetadataFor(Companion_3, 'Companion', objectMeta);
  setMetadataFor($serializer_3, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAssignmentAndBlock, 'ClazzAssignmentAndBlock', classMeta, VOID, VOID, ClazzAssignmentAndBlock, VOID, {0: $serializer_getInstance_3});
  setMetadataFor(Companion_4, 'Companion', objectMeta);
  setMetadataFor($serializer_4, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolmentAndPerson, 'ClazzEnrolmentAndPerson', classMeta, VOID, VOID, ClazzEnrolmentAndPerson, VOID, {0: $serializer_getInstance_4});
  setMetadataFor(Companion_5, 'Companion', objectMeta);
  setMetadataFor($serializer_5, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolmentAndPersonDetailDetails, 'ClazzEnrolmentAndPersonDetailDetails', classMeta, VOID, VOID, ClazzEnrolmentAndPersonDetailDetails, VOID, {0: $serializer_getInstance_5});
  setMetadataFor(Companion_6, 'Companion', objectMeta);
  setMetadataFor($serializer_6, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzNameAndTerminology, 'ClazzNameAndTerminology', classMeta, VOID, VOID, ClazzNameAndTerminology, VOID, {0: $serializer_getInstance_6});
  setMetadataFor(Companion_7, 'Companion', objectMeta);
  setMetadataFor($serializer_7, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CommentsAndName, 'CommentsAndName', classMeta, VOID, VOID, CommentsAndName, VOID, {0: $serializer_getInstance_7});
  setMetadataFor(Companion_8, 'Companion', objectMeta);
  setMetadataFor($serializer_8, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryAndContentJob, 'ContentEntryAndContentJob', classMeta, VOID, VOID, ContentEntryAndContentJob, VOID, {0: $serializer_getInstance_8});
  setMetadataFor(Companion_9, 'Companion', objectMeta);
  setMetadataFor($serializer_9, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryAndDetail, 'ContentEntryAndDetail', classMeta, VOID, VOID, ContentEntryAndDetail, VOID, {0: $serializer_getInstance_9});
  setMetadataFor(Companion_10, 'Companion', objectMeta);
  setMetadataFor($serializer_10, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryAndLanguage, 'ContentEntryAndLanguage', classMeta, VOID, VOID, ContentEntryAndLanguage, VOID, {0: $serializer_getInstance_10});
  setMetadataFor(ContentEntryAndListDetail, 'ContentEntryAndListDetail', classMeta, VOID, VOID, ContentEntryAndListDetail);
  setMetadataFor(Companion_11, 'Companion', objectMeta);
  setMetadataFor($serializer_11, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryAndPicture, 'ContentEntryAndPicture', classMeta, VOID, VOID, ContentEntryAndPicture, VOID, {0: $serializer_getInstance_11});
  setMetadataFor(Companion_12, 'Companion', objectMeta);
  setMetadataFor($serializer_12, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryImportJobProgress, 'ContentEntryImportJobProgress', classMeta, VOID, VOID, ContentEntryImportJobProgress, VOID, {0: $serializer_getInstance_12});
  setMetadataFor(Companion_13, 'Companion', objectMeta);
  setMetadataFor($serializer_13, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentMarkAndMarkerName, 'CourseAssignmentMarkAndMarkerName', classMeta, VOID, VOID, CourseAssignmentMarkAndMarkerName, VOID, {0: $serializer_getInstance_13});
  setMetadataFor(Companion_14, 'Companion', objectMeta);
  setMetadataFor($serializer_14, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentSubmissionFileAndTransferJob, 'CourseAssignmentSubmissionFileAndTransferJob', classMeta, VOID, VOID, CourseAssignmentSubmissionFileAndTransferJob, VOID, {0: $serializer_getInstance_14});
  setMetadataFor(Companion_15, 'Companion', objectMeta);
  setMetadataFor($serializer_15, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndAssignment, 'CourseBlockAndAssignment', classMeta, VOID, VOID, CourseBlockAndAssignment, VOID, {0: $serializer_getInstance_15});
  setMetadataFor(Companion_16, 'Companion', objectMeta);
  setMetadataFor($serializer_16, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndDbEntities, 'CourseBlockAndDbEntities', classMeta, VOID, VOID, CourseBlockAndDbEntities, VOID, {0: $serializer_getInstance_16});
  setMetadataFor(Companion_17, 'Companion', objectMeta);
  setMetadataFor($serializer_17, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndDisplayDetails, 'CourseBlockAndDisplayDetails', classMeta, VOID, VOID, CourseBlockAndDisplayDetails, VOID, {0: $serializer_getInstance_17});
  setMetadataFor(Companion_18, 'Companion', objectMeta);
  setMetadataFor($serializer_18, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndEditEntities, 'CourseBlockAndEditEntities', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_18});
  setMetadataFor(Companion_19, 'Companion', objectMeta);
  setMetadataFor($serializer_19, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndGradebookDisplayDetails, 'CourseBlockAndGradebookDisplayDetails', classMeta, VOID, VOID, CourseBlockAndGradebookDisplayDetails, VOID, {0: $serializer_getInstance_19});
  setMetadataFor(Companion_20, 'Companion', objectMeta);
  setMetadataFor($serializer_20, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockAndPicture, 'CourseBlockAndPicture', classMeta, VOID, VOID, CourseBlockAndPicture, VOID, {0: $serializer_getInstance_20});
  setMetadataFor(Companion_21, 'Companion', objectMeta);
  setMetadataFor($serializer_21, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockUidAndClazzUid, 'CourseBlockUidAndClazzUid', classMeta, VOID, VOID, CourseBlockUidAndClazzUid, VOID, {0: $serializer_getInstance_21});
  setMetadataFor(Companion_22, 'Companion', objectMeta);
  setMetadataFor($serializer_22, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupMemberAndPerson, 'CourseGroupMemberAndPerson', classMeta, VOID, VOID, CourseGroupMemberAndPerson, VOID, {0: $serializer_getInstance_22});
  setMetadataFor(Companion_23, 'Companion', objectMeta);
  setMetadataFor($serializer_23, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseNameAndPersonName, 'CourseNameAndPersonName', classMeta, VOID, VOID, CourseNameAndPersonName, VOID, {0: $serializer_getInstance_23});
  setMetadataFor(Companion_24, 'Companion', objectMeta);
  setMetadataFor($serializer_24, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CoursePermissionAndEnrolment, 'CoursePermissionAndEnrolment', classMeta, VOID, VOID, CoursePermissionAndEnrolment, VOID, {0: $serializer_getInstance_24});
  setMetadataFor(CoursePermissionAndListDetail, 'CoursePermissionAndListDetail', classMeta, VOID, VOID, CoursePermissionAndListDetail);
  setMetadataFor(Companion_25, 'Companion', objectMeta);
  setMetadataFor($serializer_25, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DiscussionPostAndPosterNames, 'DiscussionPostAndPosterNames', classMeta, VOID, VOID, DiscussionPostAndPosterNames, VOID, {0: $serializer_getInstance_25});
  setMetadataFor(Companion_26, 'Companion', objectMeta);
  setMetadataFor($serializer_26, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(EditAndViewPermission, 'EditAndViewPermission', classMeta, VOID, VOID, EditAndViewPermission, VOID, {0: $serializer_getInstance_26});
  setMetadataFor(Companion_27, 'Companion', objectMeta);
  setMetadataFor($serializer_27, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(EnrolmentRequestAndCoursePic, 'EnrolmentRequestAndCoursePic', classMeta, VOID, VOID, EnrolmentRequestAndCoursePic, VOID, {0: $serializer_getInstance_27});
  setMetadataFor(EnrolmentRequestAndPersonDetails, 'EnrolmentRequestAndPersonDetails', classMeta, VOID, VOID, EnrolmentRequestAndPersonDetails);
  setMetadataFor(Companion_28, 'Companion', objectMeta);
  setMetadataFor($serializer_28, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(MessageAndOtherPerson, 'MessageAndOtherPerson', classMeta, VOID, VOID, MessageAndOtherPerson, VOID, {0: $serializer_getInstance_28});
  setMetadataFor(Companion_29, 'Companion', objectMeta);
  setMetadataFor($serializer_29, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(OfflineItemAndState, 'OfflineItemAndState', classMeta, VOID, VOID, OfflineItemAndState, VOID, {0: $serializer_getInstance_29});
  setMetadataFor(Companion_30, 'Companion', objectMeta);
  setMetadataFor($serializer_30, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PermissionPair, 'PermissionPair', classMeta, VOID, VOID, PermissionPair, VOID, {0: $serializer_getInstance_30});
  setMetadataFor(Companion_31, 'Companion', objectMeta);
  setMetadataFor($serializer_31, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PermissionTriple, 'PermissionTriple', classMeta, VOID, VOID, PermissionTriple, VOID, {0: $serializer_getInstance_31});
  setMetadataFor(Companion_32, 'Companion', objectMeta);
  setMetadataFor($serializer_32, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndClazzLogAttendanceRecord, 'PersonAndClazzLogAttendanceRecord', classMeta, VOID, VOID, PersonAndClazzLogAttendanceRecord, VOID, {0: $serializer_getInstance_32});
  setMetadataFor(Companion_33, 'Companion', objectMeta);
  setMetadataFor($serializer_33, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndClazzMemberListDetails, 'PersonAndClazzMemberListDetails', classMeta, VOID, VOID, PersonAndClazzMemberListDetails, VOID, {0: $serializer_getInstance_33});
  setMetadataFor(PersonAndListDisplayDetails, 'PersonAndListDisplayDetails', classMeta, VOID, VOID, PersonAndListDisplayDetails);
  setMetadataFor(Companion_34, 'Companion', objectMeta);
  setMetadataFor($serializer_34, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndPicture, 'PersonAndPicture', classMeta, VOID, VOID, PersonAndPicture, VOID, {0: $serializer_getInstance_34});
  setMetadataFor(Companion_35, 'Companion', objectMeta);
  setMetadataFor($serializer_35, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonNames, 'PersonNames', classMeta, VOID, VOID, PersonNames, VOID, {0: $serializer_getInstance_35});
  setMetadataFor(Companion_36, 'Companion', objectMeta);
  setMetadataFor($serializer_36, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StudentAndBlockStatuses, 'StudentAndBlockStatuses', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_36});
  setMetadataFor(StudentResultAndCourseBlockSourcedId, 'StudentResultAndCourseBlockSourcedId', classMeta, VOID, VOID, StudentResultAndCourseBlockSourcedId);
  setMetadataFor(Companion_37, 'Companion', objectMeta);
  setMetadataFor($serializer_37, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SubmissionAndFiles, 'SubmissionAndFiles', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_37});
  setMetadataFor(Companion_38, 'Companion', objectMeta);
  setMetadataFor($serializer_38, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJobAndTotals, 'TransferJobAndTotals', classMeta, VOID, VOID, TransferJobAndTotals, VOID, {0: $serializer_getInstance_38});
  setMetadataFor(Companion_39, 'Companion', objectMeta);
  setMetadataFor(TransferJobItemStatus, 'TransferJobItemStatus', classMeta, Enum);
  setMetadataFor(StateIdAndLastModified, 'StateIdAndLastModified', classMeta, VOID, VOID, StateIdAndLastModified);
  setMetadataFor(Companion_40, 'Companion', objectMeta);
  setMetadataFor($serializer_39, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StatementEntityAndRelated, 'StatementEntityAndRelated', classMeta, VOID, VOID, StatementEntityAndRelated, VOID, {0: $serializer_getInstance_39});
  setMetadataFor(Companion_41, 'Companion', objectMeta);
  setMetadataFor($serializer_40, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentProgressSummary, 'AssignmentProgressSummary', classMeta, VOID, VOID, AssignmentProgressSummary, VOID, {0: $serializer_getInstance_40});
  setMetadataFor(Companion_42, 'Companion', objectMeta);
  setMetadataFor($serializer_41, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentSubmitterAndAllocations, 'AssignmentSubmitterAndAllocations', classMeta, VOID, VOID, AssignmentSubmitterAndAllocations, VOID, {0: $serializer_getInstance_41});
  setMetadataFor(Companion_43, 'Companion', objectMeta);
  setMetadataFor($serializer_42, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AssignmentSubmitterSummary, 'AssignmentSubmitterSummary', classMeta, VOID, VOID, AssignmentSubmitterSummary, VOID, {0: $serializer_getInstance_42});
  setMetadataFor(Companion_44, 'Companion', objectMeta);
  setMetadataFor($serializer_43, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(AverageCourseAssignmentMark, 'AverageCourseAssignmentMark', classMeta, VOID, VOID, AverageCourseAssignmentMark, VOID, {0: $serializer_getInstance_43});
  setMetadataFor(Companion_45, 'Companion', objectMeta);
  setMetadataFor(CacheLockJoin, 'CacheLockJoin', classMeta, VOID, VOID, CacheLockJoin);
  setMetadataFor(Companion_46, 'Companion', objectMeta);
  setMetadataFor($serializer_44, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Clazz, 'Clazz', classMeta, VOID, VOID, Clazz, VOID, {0: $serializer_getInstance_44});
  setMetadataFor(Companion_47, 'Companion', objectMeta);
  setMetadataFor($serializer_45, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAssignment, 'ClazzAssignment', classMeta, VOID, VOID, ClazzAssignment, VOID, {0: $serializer_getInstance_45});
  setMetadataFor(Companion_48, 'Companion', objectMeta);
  setMetadataFor($serializer_46, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzAssignmentCourseBlockAndSubmitterUid, 'ClazzAssignmentCourseBlockAndSubmitterUid', classMeta, VOID, VOID, ClazzAssignmentCourseBlockAndSubmitterUid, VOID, {0: $serializer_getInstance_46});
  setMetadataFor(Companion_49, 'Companion', objectMeta);
  setMetadataFor($serializer_47, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolment, 'ClazzEnrolment', classMeta, VOID, VOID, ClazzEnrolment, VOID, {0: $serializer_getInstance_47});
  setMetadataFor(Companion_50, 'Companion', objectMeta);
  setMetadataFor($serializer_48, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolmentWithClazz, 'ClazzEnrolmentWithClazz', classMeta, ClazzEnrolment, VOID, ClazzEnrolmentWithClazz, VOID, {0: $serializer_getInstance_48});
  setMetadataFor(Companion_51, 'Companion', objectMeta);
  setMetadataFor($serializer_49, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolmentWithLeavingReason, 'ClazzEnrolmentWithLeavingReason', classMeta, ClazzEnrolment, VOID, ClazzEnrolmentWithLeavingReason, VOID, {0: $serializer_getInstance_49});
  setMetadataFor(Companion_52, 'Companion', objectMeta);
  setMetadataFor($serializer_50, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzEnrolmentWithPerson, 'ClazzEnrolmentWithPerson', classMeta, ClazzEnrolment, VOID, ClazzEnrolmentWithPerson, VOID, {0: $serializer_getInstance_50});
  setMetadataFor(Companion_53, 'Companion', objectMeta);
  setMetadataFor($serializer_51, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzLog, 'ClazzLog', classMeta, VOID, VOID, ClazzLog, VOID, {0: $serializer_getInstance_51});
  setMetadataFor(Companion_54, 'Companion', objectMeta);
  setMetadataFor($serializer_52, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzLogAttendanceRecord, 'ClazzLogAttendanceRecord', classMeta, VOID, VOID, ClazzLogAttendanceRecord, VOID, {0: $serializer_getInstance_52});
  setMetadataFor(Companion_55, 'Companion', objectMeta);
  setMetadataFor($serializer_53, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzLogAttendanceRecordWithPerson, 'ClazzLogAttendanceRecordWithPerson', classMeta, ClazzLogAttendanceRecord, VOID, ClazzLogAttendanceRecordWithPerson, VOID, {0: $serializer_getInstance_53});
  setMetadataFor(Companion_56, 'Companion', objectMeta);
  setMetadataFor($serializer_54, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzWithDisplayDetails, 'ClazzWithDisplayDetails', classMeta, Clazz, VOID, ClazzWithDisplayDetails, VOID, {0: $serializer_getInstance_54});
  setMetadataFor(Companion_57, 'Companion', objectMeta);
  setMetadataFor($serializer_55, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzWithHolidayCalendarAndAndTerminology, 'ClazzWithHolidayCalendarAndAndTerminology', classMeta, Clazz, VOID, ClazzWithHolidayCalendarAndAndTerminology, VOID, {0: $serializer_getInstance_55});
  setMetadataFor(Companion_58, 'Companion', objectMeta);
  setMetadataFor($serializer_56, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ClazzWithListDisplayDetails, 'ClazzWithListDisplayDetails', classMeta, Clazz, VOID, ClazzWithListDisplayDetails, VOID, {0: $serializer_getInstance_56});
  setMetadataFor(Companion_59, 'Companion', objectMeta);
  setMetadataFor($serializer_57, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Comments, 'Comments', classMeta, VOID, VOID, Comments, VOID, {0: $serializer_getInstance_57});
  setMetadataFor(Companion_60, 'Companion', objectMeta);
  setMetadataFor($serializer_58, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentCategory, 'ContentCategory', classMeta, VOID, VOID, ContentCategory, VOID, {0: $serializer_getInstance_58});
  setMetadataFor(Companion_61, 'Companion', objectMeta);
  setMetadataFor($serializer_59, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentCategorySchema, 'ContentCategorySchema', classMeta, VOID, VOID, ContentCategorySchema, VOID, {0: $serializer_getInstance_59});
  setMetadataFor(Companion_62, 'Companion', objectMeta);
  setMetadataFor($serializer_60, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntry, 'ContentEntry', classMeta, VOID, VOID, ContentEntry, VOID, {0: $serializer_getInstance_60});
  setMetadataFor(ContentEntryButtonModel, 'ContentEntryButtonModel', classMeta, VOID, VOID, ContentEntryButtonModel);
  setMetadataFor(Companion_63, 'Companion', objectMeta);
  setMetadataFor($serializer_61, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryContentCategoryJoin, 'ContentEntryContentCategoryJoin', classMeta, VOID, VOID, ContentEntryContentCategoryJoin, VOID, {0: $serializer_getInstance_61});
  setMetadataFor(Companion_64, 'Companion', objectMeta);
  setMetadataFor($serializer_62, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryImportJob, 'ContentEntryImportJob', classMeta, VOID, VOID, ContentEntryImportJob, VOID, {0: $serializer_getInstance_62});
  setMetadataFor(Companion_65, 'Companion', objectMeta);
  setMetadataFor($serializer_63, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryParentChildJoin, 'ContentEntryParentChildJoin', classMeta, VOID, VOID, ContentEntryParentChildJoin, VOID, {0: $serializer_getInstance_63});
  setMetadataFor(Companion_66, 'Companion', objectMeta);
  setMetadataFor($serializer_64, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryPicture, 'ContentEntryPicture', classMeta, VOID, VOID, ContentEntryPicture, VOID, {0: $serializer_getInstance_64});
  setMetadataFor(Companion_67, 'Companion', objectMeta);
  setMetadataFor($serializer_65, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryPicture2, 'ContentEntryPicture2', classMeta, VOID, VOID, ContentEntryPicture2, VOID, {0: $serializer_getInstance_65});
  setMetadataFor(Companion_68, 'Companion', objectMeta);
  setMetadataFor($serializer_66, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryRelatedEntryJoin, 'ContentEntryRelatedEntryJoin', classMeta, VOID, VOID, ContentEntryRelatedEntryJoin, VOID, {0: $serializer_getInstance_66});
  setMetadataFor(Companion_69, 'Companion', objectMeta);
  setMetadataFor($serializer_67, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryRelatedEntryJoinWithLangName, 'ContentEntryRelatedEntryJoinWithLangName', classMeta, VOID, VOID, ContentEntryRelatedEntryJoinWithLangName, VOID, {0: $serializer_getInstance_67});
  setMetadataFor(Companion_70, 'Companion', objectMeta);
  setMetadataFor($serializer_68, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryRelatedEntryJoinWithLanguage, 'ContentEntryRelatedEntryJoinWithLanguage', classMeta, ContentEntryRelatedEntryJoin, VOID, ContentEntryRelatedEntryJoinWithLanguage, VOID, {0: $serializer_getInstance_68});
  setMetadataFor(Companion_71, 'Companion', objectMeta);
  setMetadataFor($serializer_69, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryStatementScoreProgress, 'ContentEntryStatementScoreProgress', classMeta, VOID, VOID, ContentEntryStatementScoreProgress, VOID, {0: $serializer_getInstance_69});
  setMetadataFor(Companion_72, 'Companion', objectMeta);
  setMetadataFor($serializer_70, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryVersion, 'ContentEntryVersion', classMeta, VOID, VOID, ContentEntryVersion, VOID, {0: $serializer_getInstance_70});
  setMetadataFor(Companion_73, 'Companion', objectMeta);
  setMetadataFor($serializer_71, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentEntryWithLanguage, 'ContentEntryWithLanguage', classMeta, ContentEntry, VOID, ContentEntryWithLanguage, VOID, {0: $serializer_getInstance_71});
  setMetadataFor(Companion_74, 'Companion', objectMeta);
  setMetadataFor($serializer_72, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ContentJob, 'ContentJob', classMeta, VOID, VOID, ContentJob, VOID, {0: $serializer_getInstance_72});
  setMetadataFor(Companion_75, 'Companion', objectMeta);
  setMetadataFor($serializer_73, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentMark, 'CourseAssignmentMark', classMeta, VOID, VOID, CourseAssignmentMark, VOID, {0: $serializer_getInstance_73});
  setMetadataFor(CourseAssignmentMarkWithPersonMarker, 'CourseAssignmentMarkWithPersonMarker', classMeta, CourseAssignmentMark, VOID, CourseAssignmentMarkWithPersonMarker);
  setMetadataFor(Companion_76, 'Companion', objectMeta);
  setMetadataFor($serializer_74, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentSubmission, 'CourseAssignmentSubmission', classMeta, VOID, VOID, CourseAssignmentSubmission, VOID, {0: $serializer_getInstance_74});
  setMetadataFor(Companion_77, 'Companion', objectMeta);
  setMetadataFor($serializer_75, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseAssignmentSubmissionFile, 'CourseAssignmentSubmissionFile', classMeta, VOID, VOID, CourseAssignmentSubmissionFile, VOID, {0: $serializer_getInstance_75});
  setMetadataFor(Companion_78, 'Companion', objectMeta);
  setMetadataFor($serializer_76, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlock, 'CourseBlock', classMeta, VOID, VOID, CourseBlock, VOID, {0: $serializer_getInstance_76});
  setMetadataFor(Companion_79, 'Companion', objectMeta);
  setMetadataFor($serializer_77, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseBlockPicture, 'CourseBlockPicture', classMeta, VOID, VOID, CourseBlockPicture, VOID, {0: $serializer_getInstance_77});
  setMetadataFor(Companion_80, 'Companion', objectMeta);
  setMetadataFor($serializer_78, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupMember, 'CourseGroupMember', classMeta, VOID, VOID, CourseGroupMember, VOID, {0: $serializer_getInstance_78});
  setMetadataFor(Companion_81, 'Companion', objectMeta);
  setMetadataFor($serializer_79, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupMemberAndName, 'CourseGroupMemberAndName', classMeta, VOID, VOID, CourseGroupMemberAndName, VOID, {0: $serializer_getInstance_79});
  setMetadataFor(Companion_82, 'Companion', objectMeta);
  setMetadataFor($serializer_80, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseGroupSet, 'CourseGroupSet', classMeta, VOID, VOID, CourseGroupSet, VOID, {0: $serializer_getInstance_80});
  setMetadataFor(Companion_83, 'Companion', objectMeta);
  setMetadataFor($serializer_81, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CoursePermission, 'CoursePermission', classMeta, VOID, VOID, CoursePermission, VOID, {0: $serializer_getInstance_81});
  setMetadataFor(Companion_84, 'Companion', objectMeta);
  setMetadataFor($serializer_82, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CoursePicture, 'CoursePicture', classMeta, VOID, VOID, CoursePicture, VOID, {0: $serializer_getInstance_82});
  setMetadataFor(Companion_85, 'Companion', objectMeta);
  setMetadataFor($serializer_83, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(CourseTerminology, 'CourseTerminology', classMeta, VOID, VOID, CourseTerminology, VOID, {0: $serializer_getInstance_83});
  setMetadataFor(Companion_86, 'Companion', objectMeta);
  setMetadataFor($serializer_84, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DeletedItem, 'DeletedItem', classMeta, VOID, VOID, DeletedItem, VOID, {0: $serializer_getInstance_84});
  setMetadataFor(Companion_87, 'Companion', objectMeta);
  setMetadataFor($serializer_85, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DiscussionPost, 'DiscussionPost', classMeta, VOID, VOID, DiscussionPost, VOID, {0: $serializer_getInstance_85});
  setMetadataFor(Companion_88, 'Companion', objectMeta);
  setMetadataFor($serializer_86, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(DiscussionPostWithDetails, 'DiscussionPostWithDetails', classMeta, DiscussionPost, VOID, DiscussionPostWithDetails, VOID, {0: $serializer_getInstance_86});
  setMetadataFor(Companion_89, 'Companion', objectMeta);
  setMetadataFor($serializer_87, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(EnrolmentRequest, 'EnrolmentRequest', classMeta, VOID, VOID, EnrolmentRequest, VOID, {0: $serializer_getInstance_87});
  setMetadataFor(ErrorReport, 'ErrorReport', classMeta, VOID, VOID, ErrorReport);
  setMetadataFor(Companion_90, 'Companion', objectMeta);
  setMetadataFor($serializer_88, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ExternalAppPermission, 'ExternalAppPermission', classMeta, VOID, VOID, ExternalAppPermission, VOID, {0: $serializer_getInstance_88});
  setMetadataFor(Companion_91, 'Companion', objectMeta);
  setMetadataFor($serializer_89, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Holiday, 'Holiday', classMeta, VOID, VOID, Holiday, VOID, {0: $serializer_getInstance_89});
  setMetadataFor(Companion_92, 'Companion', objectMeta);
  setMetadataFor($serializer_90, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(HolidayCalendar, 'HolidayCalendar', classMeta, VOID, VOID, HolidayCalendar, VOID, {0: $serializer_getInstance_90});
  setMetadataFor(Companion_93, 'Companion', objectMeta);
  setMetadataFor($serializer_91, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(HolidayCalendarWithNumEntries, 'HolidayCalendarWithNumEntries', classMeta, HolidayCalendar, VOID, HolidayCalendarWithNumEntries, VOID, {0: $serializer_getInstance_91});
  setMetadataFor(Companion_94, 'Companion', objectMeta);
  setMetadataFor($serializer_92, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Language, 'Language', classMeta, VOID, VOID, Language, VOID, {0: $serializer_getInstance_92});
  setMetadataFor(Companion_95, 'Companion', objectMeta);
  setMetadataFor($serializer_93, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(LanguageVariant, 'LanguageVariant', classMeta, VOID, VOID, LanguageVariant, VOID, {0: $serializer_getInstance_93});
  setMetadataFor(Companion_96, 'Companion', objectMeta);
  setMetadataFor($serializer_94, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(LeavingReason, 'LeavingReason', classMeta, VOID, VOID, LeavingReason, VOID, {0: $serializer_getInstance_94});
  setMetadataFor(Companion_97, 'Companion', objectMeta);
  setMetadataFor($serializer_95, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Message, 'Message', classMeta, VOID, VOID, Message, VOID, {0: $serializer_getInstance_95});
  setMetadataFor(Companion_98, 'Companion', objectMeta);
  setMetadataFor($serializer_96, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(OfflineItem, 'OfflineItem', classMeta, VOID, VOID, OfflineItem, VOID, {0: $serializer_getInstance_96});
  setMetadataFor(ParentEnrolmentRequired, 'ParentEnrolmentRequired', classMeta, VOID, VOID, ParentEnrolmentRequired);
  setMetadataFor(Companion_99, 'Companion', objectMeta);
  setMetadataFor($serializer_97, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PeerReviewerAllocation, 'PeerReviewerAllocation', classMeta, VOID, VOID, PeerReviewerAllocation, VOID, {0: $serializer_getInstance_97});
  setMetadataFor(Companion_100, 'Companion', objectMeta);
  setMetadataFor($serializer_98, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Person, 'Person', classMeta, VOID, VOID, Person, VOID, {0: $serializer_getInstance_98});
  setMetadataFor(Companion_101, 'Companion', objectMeta);
  setMetadataFor($serializer_99, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAndDisplayDetail, 'PersonAndDisplayDetail', classMeta, VOID, VOID, PersonAndDisplayDetail, VOID, {0: $serializer_getInstance_99});
  setMetadataFor(Companion_102, 'Companion', objectMeta);
  setMetadataFor($serializer_100, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonAuth, 'PersonAuth', classMeta, VOID, VOID, PersonAuth, VOID, {0: $serializer_getInstance_100});
  setMetadataFor(Companion_103, 'Companion', objectMeta);
  setMetadataFor(PersonAuth2, 'PersonAuth2', classMeta, VOID, VOID, PersonAuth2);
  setMetadataFor(Companion_104, 'Companion', objectMeta);
  setMetadataFor($serializer_101, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonGroup, 'PersonGroup', classMeta, VOID, VOID, PersonGroup, VOID, {0: $serializer_getInstance_101});
  setMetadataFor(Companion_105, 'Companion', objectMeta);
  setMetadataFor($serializer_102, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonGroupMember, 'PersonGroupMember', classMeta, VOID, VOID, PersonGroupMember, VOID, {0: $serializer_getInstance_102});
  setMetadataFor(Companion_106, 'Companion', objectMeta);
  setMetadataFor($serializer_103, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonParentJoin, 'PersonParentJoin', classMeta, VOID, VOID, PersonParentJoin, VOID, {0: $serializer_getInstance_103});
  setMetadataFor(Companion_107, 'Companion', objectMeta);
  setMetadataFor($serializer_104, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonParentJoinAndMinorPerson, 'PersonParentJoinAndMinorPerson', classMeta, VOID, VOID, PersonParentJoinAndMinorPerson, VOID, {0: $serializer_getInstance_104});
  setMetadataFor(Companion_108, 'Companion', objectMeta);
  setMetadataFor($serializer_105, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(PersonPicture, 'PersonPicture', classMeta, VOID, VOID, PersonPicture, VOID, {0: $serializer_getInstance_105});
  setMetadataFor(PersonUidAndPasswordHash, 'PersonUidAndPasswordHash', classMeta, VOID, VOID, PersonUidAndPasswordHash);
  setMetadataFor(Companion_109, 'Companion', objectMeta);
  setMetadataFor($serializer_106, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Report, 'Report', classMeta, VOID, VOID, Report, VOID, {0: $serializer_getInstance_106});
  setMetadataFor(Companion_110, 'Companion', objectMeta);
  setMetadataFor($serializer_107, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ReportFilter, 'ReportFilter', classMeta, VOID, VOID, ReportFilter, VOID, {0: $serializer_getInstance_107});
  setMetadataFor(Companion_111, 'Companion', objectMeta);
  setMetadataFor($serializer_108, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ReportSeries, 'ReportSeries', classMeta, VOID, VOID, ReportSeries, VOID, {0: $serializer_getInstance_108});
  setMetadataFor(Companion_112, 'Companion', objectMeta);
  setMetadataFor($serializer_109, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Schedule, 'Schedule', classMeta, VOID, VOID, Schedule, VOID, {0: $serializer_getInstance_109});
  setMetadataFor(Companion_113, 'Companion', objectMeta);
  setMetadataFor($serializer_110, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ScopedGrant, 'ScopedGrant', classMeta, VOID, VOID, ScopedGrant, VOID, {0: $serializer_getInstance_110});
  setMetadataFor(Companion_114, 'Companion', objectMeta);
  setMetadataFor($serializer_111, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(Site, 'Site', classMeta, VOID, VOID, Site, VOID, {0: $serializer_getInstance_111});
  setMetadataFor(Companion_115, 'Companion', objectMeta);
  setMetadataFor($serializer_112, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SiteTerms, 'SiteTerms', classMeta, VOID, VOID, SiteTerms, VOID, {0: $serializer_getInstance_112});
  setMetadataFor(Companion_116, 'Companion', objectMeta);
  setMetadataFor($serializer_113, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SiteTermsWithLanguage, 'SiteTermsWithLanguage', classMeta, SiteTerms, VOID, SiteTermsWithLanguage, VOID, {0: $serializer_getInstance_113});
  setMetadataFor(Companion_117, 'Companion', objectMeta);
  setMetadataFor($serializer_114, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StatementEntityAndDisplayDetails, 'StatementEntityAndDisplayDetails', classMeta, VOID, VOID, StatementEntityAndDisplayDetails, VOID, {0: $serializer_getInstance_114});
  setMetadataFor(Companion_118, 'Companion', objectMeta);
  setMetadataFor($serializer_115, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StatementReportData, 'StatementReportData', classMeta, VOID, VOID, StatementReportData, VOID, {0: $serializer_getInstance_115});
  setMetadataFor(Companion_119, 'Companion', objectMeta);
  setMetadataFor($serializer_116, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StudentResult, 'StudentResult', classMeta, VOID, VOID, StudentResult, VOID, {0: $serializer_getInstance_116});
  setMetadataFor(Companion_120, 'Companion', objectMeta);
  setMetadataFor($serializer_117, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(SystemPermission, 'SystemPermission', classMeta, VOID, VOID, SystemPermission, VOID, {0: $serializer_getInstance_117});
  setMetadataFor(Companion_121, 'Companion', objectMeta);
  setMetadataFor($serializer_118, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJob, 'TransferJob', classMeta, VOID, VOID, TransferJob, VOID, {0: $serializer_getInstance_118});
  setMetadataFor(Companion_122, 'Companion', objectMeta);
  setMetadataFor($serializer_119, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJobError, 'TransferJobError', classMeta, VOID, VOID, TransferJobError, VOID, {0: $serializer_getInstance_119});
  setMetadataFor(Companion_123, 'Companion', objectMeta);
  setMetadataFor($serializer_120, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(TransferJobItem, 'TransferJobItem', classMeta, VOID, VOID, TransferJobItem, VOID, {0: $serializer_getInstance_120});
  setMetadataFor(Companion_124, 'Companion', objectMeta);
  setMetadataFor($serializer_121, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(UidAndLabel, 'UidAndLabel', classMeta, VOID, VOID, UidAndLabel, VOID, {0: $serializer_getInstance_121});
  setMetadataFor(Companion_125, 'Companion', objectMeta);
  setMetadataFor($serializer_122, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(UmAccount, 'UmAccount', classMeta, VOID, VOID, VOID, VOID, {0: $serializer_getInstance_122});
  setMetadataFor(Companion_126, 'Companion', objectMeta);
  setMetadataFor($serializer_123, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(UserSession, 'UserSession', classMeta, VOID, VOID, UserSession, VOID, {0: $serializer_getInstance_123});
  setMetadataFor(UserSessionAndPerson, 'UserSessionAndPerson', classMeta, VOID, VOID, UserSessionAndPerson);
  setMetadataFor(Companion_127, 'Companion', objectMeta);
  setMetadataFor($serializer_124, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActivityEntity, 'ActivityEntity', classMeta, VOID, VOID, ActivityEntity, VOID, {0: $serializer_getInstance_124});
  setMetadataFor(Companion_128, 'Companion', objectMeta);
  setMetadataFor(ActivityExtensionEntity, 'ActivityExtensionEntity', classMeta, VOID, VOID, ActivityExtensionEntity);
  setMetadataFor(Companion_129, 'Companion', objectMeta);
  setMetadataFor($serializer_125, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActivityInteractionEntity, 'ActivityInteractionEntity', classMeta, VOID, VOID, ActivityInteractionEntity, VOID, {0: $serializer_getInstance_125});
  setMetadataFor(Companion_130, 'Companion', objectMeta);
  setMetadataFor($serializer_126, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActivityLangMapEntry, 'ActivityLangMapEntry', classMeta, VOID, VOID, ActivityLangMapEntry, VOID, {0: $serializer_getInstance_126});
  setMetadataFor(Companion_131, 'Companion', objectMeta);
  setMetadataFor($serializer_127, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(ActorEntity, 'ActorEntity', classMeta, VOID, VOID, ActorEntity, VOID, {0: $serializer_getInstance_127});
  setMetadataFor(Companion_132, 'Companion', objectMeta);
  setMetadataFor($serializer_128, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(GroupMemberActorJoin, 'GroupMemberActorJoin', classMeta, VOID, VOID, GroupMemberActorJoin, VOID, {0: $serializer_getInstance_128});
  setMetadataFor(Companion_133, 'Companion', objectMeta);
  setMetadataFor($serializer_129, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StateDeleteCommand, 'StateDeleteCommand', classMeta, VOID, VOID, StateDeleteCommand, VOID, {0: $serializer_getInstance_129});
  setMetadataFor(Companion_134, 'Companion', objectMeta);
  setMetadataFor($serializer_130, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StateEntity, 'StateEntity', classMeta, VOID, VOID, StateEntity, VOID, {0: $serializer_getInstance_130});
  setMetadataFor(Companion_135, 'Companion', objectMeta);
  setMetadataFor(StatementContextActivityJoin, 'StatementContextActivityJoin', classMeta, VOID, VOID, StatementContextActivityJoin);
  setMetadataFor(Companion_136, 'Companion', objectMeta);
  setMetadataFor($serializer_131, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StatementEntity, 'StatementEntity', classMeta, VOID, VOID, StatementEntity, VOID, {0: $serializer_getInstance_131});
  setMetadataFor(Companion_137, 'Companion', objectMeta);
  setMetadataFor($serializer_132, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(StatementEntityJson, 'StatementEntityJson', classMeta, VOID, VOID, StatementEntityJson, VOID, {0: $serializer_getInstance_132});
  setMetadataFor(Companion_138, 'Companion', objectMeta);
  setMetadataFor($serializer_133, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(VerbEntity, 'VerbEntity', classMeta, VOID, VOID, VerbEntity, VOID, {0: $serializer_getInstance_133});
  setMetadataFor(Companion_139, 'Companion', objectMeta);
  setMetadataFor($serializer_134, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(VerbLangMapEntry, 'VerbLangMapEntry', classMeta, VOID, VOID, VerbLangMapEntry, VOID, {0: $serializer_getInstance_134});
  setMetadataFor(XapiEntityObjectTypeFlags, 'XapiEntityObjectTypeFlags', objectMeta);
  setMetadataFor(Companion_140, 'Companion', objectMeta);
  setMetadataFor($serializer_135, '$serializer', objectMeta, VOID, [GeneratedSerializer]);
  setMetadataFor(XapiSessionEntity, 'XapiSessionEntity', classMeta, VOID, VOID, XapiSessionEntity, VOID, {0: $serializer_getInstance_135});
  //endregion
  function UmAppDatabase() {
    RoomDatabase.call(this);
  }
  function CacheLockJoinDao() {
  }
  function ClazzAssignmentDao() {
  }
  function ClazzDao() {
  }
  function ClazzEnrolmentDao() {
  }
  protoOf(ClazzEnrolmentDao).getAllClazzEnrolledAtTimeAsync$default_oa85bt_k$ = function (clazzUid, date, roleFilter, personUidFilter, $completion, $super) {
    personUidFilter = personUidFilter === VOID ? new Long(0, 0) : personUidFilter;
    return $super === VOID ? this.getAllClazzEnrolledAtTimeAsync_49if19_k$(clazzUid, date, roleFilter, personUidFilter, $completion) : $super.getAllClazzEnrolledAtTimeAsync_49if19_k$.call(this, clazzUid, date, roleFilter, personUidFilter, $completion);
  };
  protoOf(ClazzEnrolmentDao).findByClazzUidAndRole$default_7kgaku_k$ = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission, $super) {
    searchText = searchText === VOID ? '%' : searchText;
    return $super === VOID ? this.findByClazzUidAndRole_s0w7co_k$(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission) : $super.findByClazzUidAndRole_s0w7co_k$.call(this, clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission);
  };
  protoOf(ClazzEnrolmentDao).findByClazzUidAndRoleForGradebook$default_gxo7ut_k$ = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, $super) {
    searchText = searchText === VOID ? '%' : searchText;
    return $super === VOID ? this.findByClazzUidAndRoleForGradebook_5rskr1_k$(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime) : $super.findByClazzUidAndRoleForGradebook_5rskr1_k$.call(this, clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime);
  };
  protoOf(ClazzEnrolmentDao).findActorEntitiesForGradebook$default_ew5fiw_k$ = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, studentsLimit, studentsOffset, $completion, $super) {
    searchText = searchText === VOID ? '%' : searchText;
    return $super === VOID ? this.findActorEntitiesForGradebook_64my98_k$(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, studentsLimit, studentsOffset, $completion) : $super.findActorEntitiesForGradebook_64my98_k$.call(this, clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, studentsLimit, studentsOffset, $completion);
  };
  protoOf(ClazzEnrolmentDao).findEnrolmentsByClazzUidAndRolePaged$default_qx2yto_k$ = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission, studentsLimit, studentsOffset, $completion, $super) {
    searchText = searchText === VOID ? '%' : searchText;
    return $super === VOID ? this.findEnrolmentsByClazzUidAndRolePaged_org7mu_k$(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission, studentsLimit, studentsOffset, $completion) : $super.findEnrolmentsByClazzUidAndRolePaged_org7mu_k$.call(this, clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, permission, studentsLimit, studentsOffset, $completion);
  };
  function ClazzLogAttendanceRecordDao() {
  }
  function ClazzLogDao() {
  }
  protoOf(ClazzLogDao).findByClazzUidWithinTimeRange$default_q8bg68_k$ = function (clazzUid, fromTime, toTime, excludeStatusFilter, limit, $super) {
    excludeStatusFilter = excludeStatusFilter === VOID ? 0 : excludeStatusFilter;
    limit = limit === VOID ? IntCompanionObject_getInstance().get_MAX_VALUE_54a9lf_k$() : limit;
    return $super === VOID ? this.findByClazzUidWithinTimeRange_5e9gcx_k$(clazzUid, fromTime, toTime, excludeStatusFilter, limit) : $super.findByClazzUidWithinTimeRange_5e9gcx_k$.call(this, clazzUid, fromTime, toTime, excludeStatusFilter, limit);
  };
  function CommentsDao() {
  }
  function ContentCategoryDao() {
  }
  function ContentCategorySchemaDao() {
  }
  function ContentEntryContentCategoryJoinDao() {
  }
  function ContentEntryDao() {
  }
  function ContentEntryImportJobDao() {
  }
  function ContentEntryParentChildJoinDao() {
  }
  function ContentEntryPicture2Dao() {
  }
  function ContentEntryPictureDao() {
  }
  function ContentEntryRelatedEntryJoinDao() {
  }
  function ContentEntryVersionDao() {
  }
  function CourseAssignmentMarkDao() {
  }
  function CourseAssignmentSubmissionDao() {
  }
  function CourseAssignmentSubmissionFileDao() {
  }
  function CourseBlockDao() {
  }
  function CourseBlockPictureDao() {
  }
  protoOf(CourseBlockPictureDao).updateUri_m1qgqu_k$ = function (uid, uri, thumbnailUri, time, $completion) {
    return Unit_getInstance();
  };
  function CourseGroupMemberDao() {
  }
  function CourseGroupSetDao() {
  }
  function CoursePermissionDao() {
  }
  function CoursePictureDao() {
  }
  function CourseTerminologyDao() {
  }
  function DeletedItemDao() {
  }
  function DiscussionPostDao() {
  }
  function EnrolmentRequestDao() {
  }
  function ErrorReportDao() {
  }
  function ExternalAppPermissionDao() {
  }
  function HolidayCalendarDao() {
  }
  function HolidayDao() {
  }
  function LanguageDao() {
  }
  function LanguageVariantDao() {
  }
  function LeavingReasonDao() {
  }
  function MessageDao() {
  }
  function OfflineItemDao() {
  }
  function OutgoingReplicationDao() {
  }
  function PeerReviewerAllocationDao() {
  }
  function PersonAuth2Dao() {
  }
  function PersonAuthDao() {
  }
  function PersonDao() {
  }
  protoOf(PersonDao).findPersonsWithPermissionAsList$default_crqsrt_k$ = function (timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText, $super) {
    searchText = searchText === VOID ? '%' : searchText;
    return $super === VOID ? this.findPersonsWithPermissionAsList_q8b2k7_k$(timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText) : $super.findPersonsWithPermissionAsList_q8b2k7_k$.call(this, timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText);
  };
  protoOf(PersonDao).findPersonsWithPermissionAsPagingSource$default_r8a29s_k$ = function (timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText, $super) {
    searchText = searchText === VOID ? '%' : searchText;
    return $super === VOID ? this.findPersonsWithPermissionAsPagingSource_cdzstc_k$(timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText) : $super.findPersonsWithPermissionAsPagingSource_cdzstc_k$.call(this, timestamp, excludeClazz, excludeSelected, accountPersonUid, sortOrder, searchText);
  };
  function PersonGroupDao() {
  }
  function PersonGroupMemberDao() {
  }
  function PersonParentJoinDao() {
  }
  function PersonPictureDao() {
  }
  function ReportDao() {
  }
  function ScheduleDao() {
  }
  function ScopedGrantDao() {
  }
  function SiteDao() {
  }
  function SiteTermsDao() {
  }
  function StudentResultDao() {
  }
  function SyncNodeDao() {
  }
  function SystemPermissionDao() {
  }
  function TransferJobDao() {
  }
  function TransferJobErrorDao() {
  }
  function TransferJobItemDao() {
  }
  function UserSessionDao() {
  }
  function ActivityEntityDao() {
  }
  function ActivityExtensionDao() {
  }
  function ActivityInteractionDao() {
  }
  function ActivityLangMapEntryDao() {
  }
  function ActorDao() {
  }
  function GroupMemberActorJoinDao() {
  }
  function StateDeleteCommandDao() {
  }
  function StateEntityDao() {
  }
  function StatementContextActivityJoinDao() {
  }
  function StatementDao() {
  }
  protoOf(StatementDao).findStatusForStudentsInClazzStatements$default_ad95o8_k$ = function (clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, studentsLimit, studentsOffset, completionOrProgressTrueVal, $completion, $super) {
    searchText = searchText === VOID ? '%' : searchText;
    return $super === VOID ? this.findStatusForStudentsInClazzStatements_i1i1tv_k$(clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, studentsLimit, studentsOffset, completionOrProgressTrueVal, $completion) : $super.findStatusForStudentsInClazzStatements_i1i1tv_k$.call(this, clazzUid, roleId, sortOrder, searchText, filter, accountPersonUid, currentTime, studentsLimit, studentsOffset, completionOrProgressTrueVal, $completion);
  };
  function StatementEntityJsonDao() {
  }
  function VerbDao() {
  }
  function VerbLangMapEntryDao() {
  }
  function XapiSessionEntityDao() {
  }
  function shallowCopy(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzAssignment();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_caUid_qwqlvb_k$(_this__u8e3s4.get_caUid_ipktt5_k$());
    this_0.set_caTitle_3qxfdm_k$(_this__u8e3s4.get_caTitle_9yyh0x_k$());
    this_0.set_caDescription_trgpu2_k$(_this__u8e3s4.get_caDescription_8nvpud_k$());
    this_0.set_caGroupUid_zfz5m6_k$(_this__u8e3s4.get_caGroupUid_zf52s8_k$());
    this_0.set_caActive_hd63bg_k$(_this__u8e3s4.get_caActive_fw2t3h_k$());
    this_0.set_caClassCommentEnabled_p72yl2_k$(_this__u8e3s4.get_caClassCommentEnabled_cfaj2r_k$());
    this_0.set_caPrivateCommentsEnabled_dvommo_k$(_this__u8e3s4.get_caPrivateCommentsEnabled_l0k0vl_k$());
    this_0.set_caCompletionCriteria_z3wimm_k$(_this__u8e3s4.get_caCompletionCriteria_r0go66_k$());
    this_0.set_caRequireFileSubmission_9cvgub_k$(_this__u8e3s4.get_caRequireFileSubmission_w8j1mu_k$());
    this_0.set_caFileType_gbiz2v_k$(_this__u8e3s4.get_caFileType_evrg7x_k$());
    this_0.set_caSizeLimit_8q851l_k$(_this__u8e3s4.get_caSizeLimit_60e6st_k$());
    this_0.set_caNumberOfFiles_oglxsc_k$(_this__u8e3s4.get_caNumberOfFiles_gm3yhc_k$());
    this_0.set_caSubmissionPolicy_yxt3u9_k$(_this__u8e3s4.get_caSubmissionPolicy_6vp9k5_k$());
    this_0.set_caMarkingType_x9hdas_k$(_this__u8e3s4.get_caMarkingType_qumoa0_k$());
    this_0.set_caRequireTextSubmission_31no36_k$(_this__u8e3s4.get_caRequireTextSubmission_bngh2v_k$());
    this_0.set_caTextLimitType_g3o1ut_k$(_this__u8e3s4.get_caTextLimitType_w5xj27_k$());
    this_0.set_caTextLimit_j6mogb_k$(_this__u8e3s4.get_caTextLimit_vdw8ex_k$());
    this_0.set_caXObjectUid_q9jbvu_k$(_this__u8e3s4.get_caXObjectUid_w0d8e8_k$());
    this_0.set_caClazzUid_5omoyd_k$(_this__u8e3s4.get_caClazzUid_wf7rj5_k$());
    this_0.set_caPeerReviewerCount_w0n7sr_k$(_this__u8e3s4.get_caPeerReviewerCount_xdajq7_k$());
    this_0.set_caLocalChangeSeqNum_uzi0dl_k$(_this__u8e3s4.get_caLocalChangeSeqNum_n6lkrf_k$());
    this_0.set_caMasterChangeSeqNum_jco7hm_k$(_this__u8e3s4.get_caMasterChangeSeqNum_93losg_k$());
    this_0.set_caLastChangedBy_n7nzqm_k$(_this__u8e3s4.get_caLastChangedBy_4xab6_k$());
    this_0.set_caLct_ijftwk_k$(_this__u8e3s4.get_caLct_ipkn06_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_0(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzLogAttendanceRecord();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_clazzLogAttendanceRecordUid_u3gxm9_k$(_this__u8e3s4.get_clazzLogAttendanceRecordUid_a6xjzz_k$());
    this_0.set_clazzLogAttendanceRecordClazzLogUid_ln2yg3_k$(_this__u8e3s4.get_clazzLogAttendanceRecordClazzLogUid_a8zaj9_k$());
    this_0.set_clazzLogAttendanceRecordPersonUid_tldzbu_k$(_this__u8e3s4.get_clazzLogAttendanceRecordPersonUid_1jxn10_k$());
    this_0.set_attendanceStatus_scnmkw_k$(_this__u8e3s4.get_attendanceStatus_noqiv8_k$());
    this_0.set_clazzLogAttendanceRecordMasterChangeSeqNum_59a35q_k$(_this__u8e3s4.get_clazzLogAttendanceRecordMasterChangeSeqNum_jtnrko_k$());
    this_0.set_clazzLogAttendanceRecordLocalChangeSeqNum_vs2uwx_k$(_this__u8e3s4.get_clazzLogAttendanceRecordLocalChangeSeqNum_2q8zx_k$());
    this_0.set_clazzLogAttendanceRecordLastChangedBy_pjw2y2_k$(_this__u8e3s4.get_clazzLogAttendanceRecordLastChangedBy_9c33mu_k$());
    this_0.set_clazzLogAttendanceRecordLastChangedTime_oygn9m_k$(_this__u8e3s4.get_clazzLogAttendanceRecordLastChangedTime_lqwc7w_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_1(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzLog();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_clazzLogUid_ks9wuh_k$(_this__u8e3s4.get_clazzLogUid_ifqem3_k$());
    this_0.set_clazzLogClazzUid_g2lcqr_k$(_this__u8e3s4.get_clazzLogClazzUid_p2tbpp_k$());
    this_0.set_logDate_dvs32h_k$(_this__u8e3s4.get_logDate_6wppgp_k$());
    this_0.set_timeRecorded_s2m610_k$(_this__u8e3s4.get_timeRecorded_30b196_k$());
    this_0.set_clazzLogDone_area5y_k$(_this__u8e3s4.get_clazzLogDone_3ajf7b_k$());
    this_0.set_cancellationNote_5l3n97_k$(_this__u8e3s4.get_cancellationNote_xf4nfm_k$());
    this_0.set_clazzLogCancelled_ws6ff1_k$(_this__u8e3s4.get_clazzLogCancelled_pcu2k_k$());
    this_0.set_clazzLogNumPresent_oia4y2_k$(_this__u8e3s4.get_clazzLogNumPresent_9zzoay_k$());
    this_0.set_clazzLogNumAbsent_m3kfwu_k$(_this__u8e3s4.get_clazzLogNumAbsent_4ftf7u_k$());
    this_0.set_clazzLogNumPartial_5wqx38_k$(_this__u8e3s4.get_clazzLogNumPartial_25e4y8_k$());
    this_0.set_clazzLogScheduleUid_98b2vm_k$(_this__u8e3s4.get_clazzLogScheduleUid_4puu8s_k$());
    this_0.set_clazzLogStatusFlag_tr01j3_k$(_this__u8e3s4.get_clazzLogStatusFlag_5bedjh_k$());
    this_0.set_clazzLogMSQN_a5eeoi_k$(_this__u8e3s4.get_clazzLogMSQN_3aokm0_k$());
    this_0.set_clazzLogLCSN_tbobmr_k$(_this__u8e3s4.get_clazzLogLCSN_3anlt3_k$());
    this_0.set_clazzLogLCB_x6ghiy_k$(_this__u8e3s4.get_clazzLogLCB_ifq706_k$());
    this_0.set_clazzLogLastChangedTime_hpmcu4_k$(_this__u8e3s4.get_clazzLogLastChangedTime_dwg7je_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_2(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzWithHolidayCalendarAndAndTerminology();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_holidayCalendar_1i7d23_k$(_this__u8e3s4.get_holidayCalendar_vsvfar_k$());
    this_0.set_terminology_opn48q_k$(_this__u8e3s4.get_terminology_hmih12_k$());
    this_0.set_coursePicture_h9sgol_k$(_this__u8e3s4.get_coursePicture_gcf86y_k$());
    this_0.set_clazzUid_tlygrb_k$(_this__u8e3s4.get_clazzUid_k8pnbz_k$());
    this_0.set_clazzName_aqdmvj_k$(_this__u8e3s4.get_clazzName_brsrx6_k$());
    this_0.set_clazzDesc_gezt3p_k$(_this__u8e3s4.get_clazzDesc_brmh5s_k$());
    this_0.set_attendanceAverage_9una4v_k$(_this__u8e3s4.get_attendanceAverage_q3uit1_k$());
    this_0.set_clazzHolidayUMCalendarUid_fam2pr_k$(_this__u8e3s4.get_clazzHolidayUMCalendarUid_diy12p_k$());
    this_0.set_clazzScheuleUMCalendarUid_f0khzq_k$(_this__u8e3s4.get_clazzScheuleUMCalendarUid_pyne08_k$());
    this_0.set_isClazzActive_e2j2e6_k$(_this__u8e3s4.get_isClazzActive_pdk9bp_k$());
    this_0.set_clazzLocationUid_s7jxfi_k$(_this__u8e3s4.get_clazzLocationUid_64jec4_k$());
    this_0.set_clazzStartTime_dq8pme_k$(_this__u8e3s4.get_clazzStartTime_lc1vds_k$());
    this_0.set_clazzEndTime_yahlip_k$(_this__u8e3s4.get_clazzEndTime_sxjf8n_k$());
    this_0.set_clazzFeatures_ypnqy_k$(_this__u8e3s4.get_clazzFeatures_6nf4ac_k$());
    this_0.set_clazzSchoolUid_sau1vh_k$(_this__u8e3s4.get_clazzSchoolUid_g4bglp_k$());
    this_0.set_clazzEnrolmentPolicy_gowgj1_k$(_this__u8e3s4.get_clazzEnrolmentPolicy_pv7kzr_k$());
    this_0.set_clazzTerminologyUid_3itmsa_k$(_this__u8e3s4.get_clazzTerminologyUid_4xpw4_k$());
    this_0.set_clazzMasterChangeSeqNum_tt8ty_k$(_this__u8e3s4.get_clazzMasterChangeSeqNum_7fn794_k$());
    this_0.set_clazzLocalChangeSeqNum_l29zef_k$(_this__u8e3s4.get_clazzLocalChangeSeqNum_9hlwk3_k$());
    this_0.set_clazzLastChangedBy_g3060i_k$(_this__u8e3s4.get_clazzLastChangedBy_wnz9za_k$());
    this_0.set_clazzLct_l8nosk_k$(_this__u8e3s4.get_clazzLct_k8pu4y_k$());
    this_0.set_clazzTimeZone_h8a7dv_k$(_this__u8e3s4.get_clazzTimeZone_yu1krs_k$());
    this_0.set_clazzStudentsPersonGroupUid_d6byqt_k$(_this__u8e3s4.get_clazzStudentsPersonGroupUid_myynpp_k$());
    this_0.set_clazzTeachersPersonGroupUid_go0bzo_k$(_this__u8e3s4.get_clazzTeachersPersonGroupUid_5xdfqy_k$());
    this_0.set_clazzPendingStudentsPersonGroupUid_6q00t8_k$(_this__u8e3s4.get_clazzPendingStudentsPersonGroupUid_4kclja_k$());
    this_0.set_clazzParentsPersonGroupUid_l527ti_k$(_this__u8e3s4.get_clazzParentsPersonGroupUid_gibku8_k$());
    this_0.set_clazzCode_xzrrf3_k$(_this__u8e3s4.get_clazzCode_brm18c_k$());
    this_0.set_clazzOwnerPersonUid_jbv4ez_k$(_this__u8e3s4.get_clazzOwnerPersonUid_iplxz_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_3(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new ContentEntry();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_contentEntryUid_82c9uk_k$(_this__u8e3s4.get_contentEntryUid_pu6bbm_k$());
    this_0.set_title_ceyuu4_k$(_this__u8e3s4.get_title_iz32un_k$());
    this_0.set_description_s1386w_k$(_this__u8e3s4.get_description_emjre5_k$());
    this_0.set_entryId_b4l6o7_k$(_this__u8e3s4.get_entryId_p20on0_k$());
    this_0.set_author_btovnz_k$(_this__u8e3s4.get_author_b5hnkk_k$());
    this_0.set_publisher_u973bc_k$(_this__u8e3s4.get_publisher_wg9par_k$());
    this_0.set_licenseType_n5xz3q_k$(_this__u8e3s4.get_licenseType_3ajir6_k$());
    this_0.set_licenseName_gyoh54_k$(_this__u8e3s4.get_licenseName_3af6yr_k$());
    this_0.set_licenseUrl_1fxkks_k$(_this__u8e3s4.get_licenseUrl_rloa2f_k$());
    this_0.set_sourceUrl_nz40kg_k$(_this__u8e3s4.get_sourceUrl_jko7yt_k$());
    this_0.set_thumbnailUrl_m15vw7_k$(_this__u8e3s4.get_thumbnailUrl_1cubbo_k$());
    this_0.set_lastModified_2tc4ma_k$(_this__u8e3s4.get_lastModified_y37iuw_k$());
    this_0.set_primaryLanguageUid_mnu87f_k$(_this__u8e3s4.get_primaryLanguageUid_r5tse9_k$());
    this_0.set_languageVariantUid_j38ahq_k$(_this__u8e3s4.get_languageVariantUid_i54xak_k$());
    this_0.set_contentFlags_bzqxgd_k$(_this__u8e3s4.get_contentFlags_hwx6mv_k$());
    this_0.set_leaf_nt94be_k$(_this__u8e3s4.get_leaf_woprc7_k$());
    this_0.set_publik_bkafrt_k$(_this__u8e3s4.get_publik_i8ukje_k$());
    this_0.set_ceInactive_jm4757_k$(_this__u8e3s4.get_ceInactive_l2z6a2_k$());
    this_0.set_completionCriteria_r963w0_k$(_this__u8e3s4.get_completionCriteria_godp98_k$());
    this_0.set_minScore_d3l9dh_k$(_this__u8e3s4.get_minScore_ger1gp_k$());
    this_0.set_contentTypeFlag_c07dx6_k$(_this__u8e3s4.get_contentTypeFlag_2ekfii_k$());
    this_0.set_contentOwner_87csqv_k$(_this__u8e3s4.get_contentOwner_i22mf7_k$());
    this_0.set_contentOwnerType_rj9ic7_k$(_this__u8e3s4.get_contentOwnerType_bfan1f_k$());
    this_0.set_contentEntryLocalChangeSeqNum_q6f3ny_k$(_this__u8e3s4.get_contentEntryLocalChangeSeqNum_awxlpc_k$());
    this_0.set_contentEntryMasterChangeSeqNum_qby9m7_k$(_this__u8e3s4.get_contentEntryMasterChangeSeqNum_offl1_k$());
    this_0.set_contentEntryLastChangedBy_5d0hdj_k$(_this__u8e3s4.get_contentEntryLastChangedBy_4itnjh_k$());
    this_0.set_contentEntryLct_ayi47_k$(_this__u8e3s4.get_contentEntryLct_pu6i4l_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_4(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseAssignmentMark();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_camUid_ejfae8_k$(_this__u8e3s4.get_camUid_bsg5ca_k$());
    this_0.set_camAssignmentUid_j3ay0j_k$(_this__u8e3s4.get_camAssignmentUid_se0bjx_k$());
    this_0.set_camSubmitterUid_kl6od7_k$(_this__u8e3s4.get_camSubmitterUid_ghcel_k$());
    this_0.set_camMarkerSubmitterUid_eboa5x_k$(_this__u8e3s4.get_camMarkerSubmitterUid_4ixg61_k$());
    this_0.set_camMarkerPersonUid_xbe3hr_k$(_this__u8e3s4.get_camMarkerPersonUid_g7yjbv_k$());
    this_0.set_camMarkerComment_by6xyc_k$(_this__u8e3s4.get_camMarkerComment_fhxt6n_k$());
    this_0.set_camMark_87svl5_k$(_this__u8e3s4.get_camMark_ac72ab_k$());
    this_0.set_camMaxMark_ahvi6h_k$(_this__u8e3s4.get_camMaxMark_cropvv_k$());
    this_0.set_camPenalty_f53gbz_k$(_this__u8e3s4.get_camPenalty_ch6xtp_k$());
    this_0.set_camLct_mwq2cz_k$(_this__u8e3s4.get_camLct_bsfyjb_k$());
    this_0.set_camClazzUid_408elw_k$(_this__u8e3s4.get_camClazzUid_p8wqsi_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_5(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseAssignmentSubmission();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_casUid_fvrm92_k$(_this__u8e3s4.get_casUid_bsjz9g_k$());
    this_0.set_casAssignmentUid_munb2r_k$(_this__u8e3s4.get_casAssignmentUid_lryxmx_k$());
    this_0.set_casSubmitterUid_oas9nj_k$(_this__u8e3s4.get_casSubmitterUid_snmiul_k$());
    this_0.set_casSubmitterPersonUid_ow553o_k$(_this__u8e3s4.get_casSubmitterPersonUid_fp4ypu_k$());
    this_0.set_casText_o0fpqq_k$(_this__u8e3s4.get_casText_afmdvd_k$());
    this_0.set_casType_8ly6iy_k$(_this__u8e3s4.get_casType_afmshy_k$());
    this_0.set_casTimestamp_rwaz4w_k$(_this__u8e3s4.get_casTimestamp_n6jb3q_k$());
    this_0.set_casClazzUid_apjj5a_k$(_this__u8e3s4.get_casClazzUid_8hraec_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_6(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseGroupMember();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_cgmUid_ev2k12_k$(_this__u8e3s4.get_cgmUid_bvqwwg_k$());
    this_0.set_cgmSetUid_59g4u4_k$(_this__u8e3s4.get_cgmSetUid_p0svym_k$());
    this_0.set_cgmGroupNumber_dn01qs_k$(_this__u8e3s4.get_cgmGroupNumber_t9dymw_k$());
    this_0.set_cgmPersonUid_6dl15b_k$(_this__u8e3s4.get_cgmPersonUid_qqbtdx_k$());
    this_0.set_cgmLct_6hrs2b_k$(_this__u8e3s4.get_cgmLct_bvqq3h_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_7(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new CourseTerminology();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_ctUid_mnnkbo_k$(_this__u8e3s4.get_ctUid_ipwyk6_k$());
    this_0.set_ctTitle_71e5o3_k$(_this__u8e3s4.get_ctTitle_iytaim_k$());
    this_0.set_ctTerminology_932opa_k$(_this__u8e3s4.get_ctTerminology_oszxd3_k$());
    this_0.set_ctLct_eacscx_k$(_this__u8e3s4.get_ctLct_ipwrr7_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_8(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new DiscussionPost();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_discussionPostUid_ufsj71_k$(_this__u8e3s4.get_discussionPostUid_6yxxgf_k$());
    this_0.set_discussionPostReplyToPostUid_ev5bbi_k$(_this__u8e3s4.get_discussionPostReplyToPostUid_p5bbhg_k$());
    this_0.set_discussionPostTitle_m6nnc4_k$(_this__u8e3s4.get_discussionPostTitle_luljhj_k$());
    this_0.set_discussionPostMessage_7toqr9_k$(_this__u8e3s4.get_discussionPostMessage_a2j8wm_k$());
    this_0.set_discussionPostStartDate_vk83wt_k$(_this__u8e3s4.get_discussionPostStartDate_61t9a7_k$());
    this_0.set_discussionPostCourseBlockUid_9jjim3_k$(_this__u8e3s4.get_discussionPostCourseBlockUid_sf5e7_k$());
    this_0.set_dpDeleted_2r3zwb_k$(_this__u8e3s4.get_dpDeleted_gj0ksk_k$());
    this_0.set_discussionPostStartedPersonUid_buzem9_k$(_this__u8e3s4.get_discussionPostStartedPersonUid_hirvwr_k$());
    this_0.set_discussionPostClazzUid_2q88rl_k$(_this__u8e3s4.get_discussionPostClazzUid_nrn8d3_k$());
    this_0.set_discussionPostLct_m2hr8a_k$(_this__u8e3s4.get_discussionPostLct_6yxqng_k$());
    this_0.set_discussionPostVisible_8xxgpk_k$(_this__u8e3s4.get_discussionPostVisible_1zvtj5_k$());
    this_0.set_discussionPostArchive_wwn57s_k$(_this__u8e3s4.get_discussionPostArchive_i3eir3_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_9(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new PeerReviewerAllocation();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_praUid_dkb29c_k$(_this__u8e3s4.get_praUid_i762pm_k$());
    this_0.set_praMarkerSubmitterUid_plw6dh_k$(_this__u8e3s4.get_praMarkerSubmitterUid_mj8ypj_k$());
    this_0.set_praToMarkerSubmitterUid_n8lf7k_k$(_this__u8e3s4.get_praToMarkerSubmitterUid_7d07wy_k$());
    this_0.set_praAssignmentUid_60pp0j_k$(_this__u8e3s4.get_praAssignmentUid_gmaw8d_k$());
    this_0.set_praActive_a5t77_k$(_this__u8e3s4.get_praActive_i43sis_k$());
    this_0.set_praLct_lxlu83_k$(_this__u8e3s4.get_praLct_i75vwn_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_10(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new PersonParentJoin();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_ppjUid_1pa5iz_k$(_this__u8e3s4.get_ppjUid_i688en_k$());
    this_0.set_ppjPcsn_iwvk8z_k$(_this__u8e3s4.get_ppjPcsn_4vwi4x_k$());
    this_0.set_ppjLcsn_i0nccf_k$(_this__u8e3s4.get_ppjLcsn_4vz231_k$());
    this_0.set_ppjLcb_e12jee_k$(_this__u8e3s4.get_ppjLcb_i681l6_k$());
    this_0.set_ppjLct_a2kxhq_k$(_this__u8e3s4.get_ppjLct_i681lo_k$());
    this_0.set_ppjParentPersonUid_h015fq_k$(_this__u8e3s4.get_ppjParentPersonUid_lygmb4_k$());
    this_0.set_ppjMinorPersonUid_aovzpn_k$(_this__u8e3s4.get_ppjMinorPersonUid_acwyl5_k$());
    this_0.set_ppjRelationship_re4gsd_k$(_this__u8e3s4.get_ppjRelationship_u5inyx_k$());
    this_0.set_ppjEmail_egsoco_k$(_this__u8e3s4.get_ppjEmail_9kn8bp_k$());
    this_0.set_ppjPhone_iq44ne_k$(_this__u8e3s4.get_ppjPhone_9eoe8j_k$());
    this_0.set_ppjInactive_y9dner_k$(_this__u8e3s4.get_ppjInactive_qnp304_k$());
    this_0.set_ppjStatus_hiah55_k$(_this__u8e3s4.get_ppjStatus_5x2g19_k$());
    this_0.set_ppjApprovalTiemstamp_wbkei0_k$(_this__u8e3s4.get_ppjApprovalTiemstamp_rc7j7m_k$());
    this_0.set_ppjApprovalIpAddr_lc766n_k$(_this__u8e3s4.get_ppjApprovalIpAddr_soqjlw_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_11(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new Person();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_personUid_j3idds_k$(_this__u8e3s4.get_personUid_mmhd76_k$());
    this_0.set_username_tgnlmk_k$(_this__u8e3s4.get_username_ytz5i7_k$());
    this_0.set_firstNames_audc9u_k$(_this__u8e3s4.get_firstNames_n3o3y7_k$());
    this_0.set_lastName_6ukpbb_k$(_this__u8e3s4.get_lastName_f360wa_k$());
    this_0.set_emailAddr_n0lw07_k$(_this__u8e3s4.get_emailAddr_rghqf0_k$());
    this_0.set_phoneNum_jo9xeq_k$(_this__u8e3s4.get_phoneNum_i20sg1_k$());
    this_0.set_gender_5r7pfa_k$(_this__u8e3s4.get_gender_dqurbe_k$());
    this_0.set_active_nmha5u_k$(_this__u8e3s4.get_active_avldsf_k$());
    this_0.set_dateOfBirth_1iysn5_k$(_this__u8e3s4.get_dateOfBirth_7hv8kx_k$());
    this_0.set_personAddress_v4k1w5_k$(_this__u8e3s4.get_personAddress_w7qqwm_k$());
    this_0.set_personOrgId_8oeidy_k$(_this__u8e3s4.get_personOrgId_6lzn8h_k$());
    this_0.set_personGroupUid_eex3gl_k$(_this__u8e3s4.get_personGroupUid_wriklr_k$());
    this_0.set_personLct_aq7lf1_k$(_this__u8e3s4.get_personLct_mmh6e7_k$());
    this_0.set_personCountry_2dq7zn_k$(_this__u8e3s4.get_personCountry_3zsn1k_k$());
    this_0.set_personType_przf38_k$(_this__u8e3s4.get_personType_8y6hc8_k$());
    this_0.set_personMasterChangeSeqNum_5x91v_k$(_this__u8e3s4.get_personMasterChangeSeqNum_prsruf_k$());
    this_0.set_personLocalChangeSeqNum_isxxla_k$(_this__u8e3s4.get_personLocalChangeSeqNum_gxofuk_k$());
    this_0.set_personLastChangedBy_ghtfvp_k$(_this__u8e3s4.get_personLastChangedBy_z0j913_k$());
    this_0.set_admin_llzh0j_k$(_this__u8e3s4.get_admin_iojndy_k$());
    this_0.set_personNotes_4l39dk_k$(_this__u8e3s4.get_personNotes_6le803_k$());
    this_0.set_fatherName_jpjuzx_k$(_this__u8e3s4.get_fatherName_ymrq1c_k$());
    this_0.set_fatherNumber_pch0b9_k$(_this__u8e3s4.get_fatherNumber_vcrsoi_k$());
    this_0.set_motherName_y7zjzg_k$(_this__u8e3s4.get_motherName_jkvzav_k$());
    this_0.set_motherNum_mxb55b_k$(_this__u8e3s4.get_motherNum_1nqyg6_k$());
    block(this_0);
    return this_0;
  }
  function shallowCopy_12(_this__u8e3s4, block) {
    // Inline function 'kotlin.also' call
    var this_0 = new Schedule();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ext.shallowCopy.<anonymous>' call
    this_0.set_scheduleUid_35xeta_k$(_this__u8e3s4.get_scheduleUid_gt0c7k_k$());
    this_0.set_sceduleStartTime_81jqoh_k$(_this__u8e3s4.get_sceduleStartTime_r41do9_k$());
    this_0.set_scheduleEndTime_fh9x3e_k$(_this__u8e3s4.get_scheduleEndTime_vdt9o8_k$());
    this_0.set_scheduleDay_nsvexs_k$(_this__u8e3s4.get_scheduleDay_gszzfg_k$());
    this_0.set_scheduleMonth_p5ta0s_k$(_this__u8e3s4.get_scheduleMonth_q978qo_k$());
    this_0.set_scheduleFrequency_w5icgw_k$(_this__u8e3s4.get_scheduleFrequency_bvvfg_k$());
    this_0.set_umCalendarUid_gauo2p_k$(_this__u8e3s4.get_umCalendarUid_hurqun_k$());
    this_0.set_scheduleClazzUid_t953qm_k$(_this__u8e3s4.get_scheduleClazzUid_4qhnq0_k$());
    this_0.set_scheduleMasterChangeSeqNum_rg3igf_k$(_this__u8e3s4.get_scheduleMasterChangeSeqNum_eayz5z_k$());
    this_0.set_scheduleLocalChangeSeqNum_bvgkds_k$(_this__u8e3s4.get_scheduleLocalChangeSeqNum_bk48hu_k$());
    this_0.set_scheduleLastChangedBy_31adzt_k$(_this__u8e3s4.get_scheduleLastChangedBy_fgje7p_k$());
    this_0.set_scheduleLastChangedTime_2uryvb_k$(_this__u8e3s4.get_scheduleLastChangedTime_b1i757_k$());
    this_0.set_scheduleActive_twdrtn_k$(_this__u8e3s4.get_scheduleActive_qpyjk6_k$());
    block(this_0);
    return this_0;
  }
  function get_UNSET_DISTANT_FUTURE() {
    return UNSET_DISTANT_FUTURE;
  }
  var UNSET_DISTANT_FUTURE;
  function PermissionFlags() {
    PermissionFlags_instance = this;
    this.COURSE_VIEW_1 = new Long(1, 0);
    this.COURSE_EDIT_1 = new Long(2, 0);
    this.COURSE_MODERATE_1 = new Long(4, 0);
    this.COURSE_MANAGE_STUDENT_ENROLMENT_1 = new Long(8, 0);
    this.COURSE_MANAGE_TEACHER_ENROLMENT_1 = new Long(16, 0);
    this.COURSE_ATTENDANCE_VIEW_1 = new Long(32, 0);
    this.COURSE_ATTENDANCE_RECORD_1 = new Long(64, 0);
    this.COURSE_LEARNINGRECORD_VIEW_1 = new Long(128, 0);
    this.COURSE_LEARNINGRECORD_EDIT_1 = new Long(256, 0);
    this.ADD_COURSE_1 = new Long(512, 0);
    this.ADD_PERSON_1 = new Long(1024, 0);
    this.DIRECT_ENROL_1 = new Long(2048, 0);
    this.MANAGE_USER_PERMISSIONS_1 = new Long(4096, 0);
    this.PERSON_VIEW_1 = new Long(8192, 0);
    this.MANAGE_SITE_SETTINGS_1 = new Long(16384, 0);
    this.EDIT_ALL_PERSONS_1 = new Long(32768, 0);
    this.EDIT_LIBRARY_CONTENT_1 = new Long(65536, 0);
    this.RESET_PASSWORDS_1 = new Long(131072, 0);
    this.ALL_1 = new Long(-1, 2147483647);
  }
  protoOf(PermissionFlags).get_COURSE_VIEW_mewdnk_k$ = function () {
    return this.COURSE_VIEW_1;
  };
  protoOf(PermissionFlags).get_COURSE_EDIT_mf7c1n_k$ = function () {
    return this.COURSE_EDIT_1;
  };
  protoOf(PermissionFlags).get_COURSE_MODERATE_rl1ttu_k$ = function () {
    return this.COURSE_MODERATE_1;
  };
  protoOf(PermissionFlags).get_COURSE_MANAGE_STUDENT_ENROLMENT_t351xd_k$ = function () {
    return this.COURSE_MANAGE_STUDENT_ENROLMENT_1;
  };
  protoOf(PermissionFlags).get_COURSE_MANAGE_TEACHER_ENROLMENT_2dgmjc_k$ = function () {
    return this.COURSE_MANAGE_TEACHER_ENROLMENT_1;
  };
  protoOf(PermissionFlags).get_COURSE_ATTENDANCE_VIEW_cozdgg_k$ = function () {
    return this.COURSE_ATTENDANCE_VIEW_1;
  };
  protoOf(PermissionFlags).get_COURSE_ATTENDANCE_RECORD_ggo5xo_k$ = function () {
    return this.COURSE_ATTENDANCE_RECORD_1;
  };
  protoOf(PermissionFlags).get_COURSE_LEARNINGRECORD_VIEW_conusm_k$ = function () {
    return this.COURSE_LEARNINGRECORD_VIEW_1;
  };
  protoOf(PermissionFlags).get_COURSE_LEARNINGRECORD_EDIT_coyt6p_k$ = function () {
    return this.COURSE_LEARNINGRECORD_EDIT_1;
  };
  protoOf(PermissionFlags).get_ADD_COURSE_d9fly6_k$ = function () {
    return this.ADD_COURSE_1;
  };
  protoOf(PermissionFlags).get_ADD_PERSON_79ed2c_k$ = function () {
    return this.ADD_PERSON_1;
  };
  protoOf(PermissionFlags).get_DIRECT_ENROL_255jxj_k$ = function () {
    return this.DIRECT_ENROL_1;
  };
  protoOf(PermissionFlags).get_MANAGE_USER_PERMISSIONS_f0u3z5_k$ = function () {
    return this.MANAGE_USER_PERMISSIONS_1;
  };
  protoOf(PermissionFlags).get_PERSON_VIEW_s2u8t6_k$ = function () {
    return this.PERSON_VIEW_1;
  };
  protoOf(PermissionFlags).get_MANAGE_SITE_SETTINGS_5ys1rq_k$ = function () {
    return this.MANAGE_SITE_SETTINGS_1;
  };
  protoOf(PermissionFlags).get_EDIT_ALL_PERSONS_uw4lis_k$ = function () {
    return this.EDIT_ALL_PERSONS_1;
  };
  protoOf(PermissionFlags).get_EDIT_LIBRARY_CONTENT_bhq3m1_k$ = function () {
    return this.EDIT_LIBRARY_CONTENT_1;
  };
  protoOf(PermissionFlags).get_RESET_PASSWORDS_uvrc2p_k$ = function () {
    return this.RESET_PASSWORDS_1;
  };
  protoOf(PermissionFlags).get_ALL_18jy08_k$ = function () {
    return this.ALL_1;
  };
  var PermissionFlags_instance;
  function PermissionFlags_getInstance() {
    if (PermissionFlags_instance == null)
      new PermissionFlags();
    return PermissionFlags_instance;
  }
  function BaseDao() {
  }
  function _get_SELECT_PERSONUID_IF_ENROLLED_ELSE_0_FOR_PERSONUID_AND_ASSIGNMENTUID_SQL__ap22ax($this) {
    return $this.SELECT_PERSONUID_IF_ENROLLED_ELSE_0_FOR_PERSONUID_AND_ASSIGNMENTUID_SQL_1;
  }
  function _get_SELECT_GROUPSET_UID_FOR_ASSIGNMENT_UID_SQL__xqzhq8($this) {
    return $this.SELECT_GROUPSET_UID_FOR_ASSIGNMENT_UID_SQL_1;
  }
  function ClazzAssignmentDaoCommon() {
    ClazzAssignmentDaoCommon_instance = this;
    this.SELECT_PERSONUID_IF_ENROLLED_ELSE_0_FOR_PERSONUID_AND_ASSIGNMENTUID_SQL_1 = '\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ';
    this.SELECT_SUBMITTER_UID_FOR_PERSONUID_AND_ASSIGNMENTUID_SQL_1 = '\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = :assignmentUid)\n                              AND CourseGroupMember.cgmPersonUid = :accountPersonUid\n                            LIMIT 1), -1)\n                    END\n    ';
    this.SUBMITTER_LIST_WITHOUT_ASSIGNMENT_CTE_1 = "\n             WITH SubmitterList (submitterId, name)\n            AS (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                       Person.firstNames || ' ' || Person.lastName AS name\n                  FROM ClazzEnrolment\n                  \n                       JOIN Person \n                       ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                       \n                 WHERE :groupUid = 0 \n                   AND clazzEnrolmentClazzUid = :clazzUid\n                   AND clazzEnrolmentActive\n                   AND clazzEnrolmentRole = 1000\n              GROUP BY submitterId, name\n            UNION                 \n             SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                    :group || ' ' || CourseGroupMember.cgmGroupNumber AS name  \n               FROM CourseGroupMember\n                    JOIN CourseGroupSet\n                    ON CourseGroupSet.cgsUid = :groupUid\n              WHERE CourseGroupMember.cgmSetUid = CourseGroupSet.cgsUid\n                AND CourseGroupMember.cgmGroupNumber != 0\n           GROUP BY submitterId, name\n            )\n        ";
    this.HAS_LEARNINGRECORD_AND_MEMBER_VIEW_PERMISSION_CTE_SQL_1 = '\n            HasLearningRecordSelectPermission (hasPermission) AS\n            (SELECT (\n                  (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = :clazzUid\n                           AND (CoursePermission.cpToPersonUid = :accountPersonUid \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                  \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = :accountPersonUid\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                  \n        ) > 0)\n               )\n    ))\n        ';
    this.ASSIGNMENT_CLAZZ_UID_CTE_SQL_1 = '\n        AssignmentClazzUid(clazzUid) AS\n        (SELECT ClazzAssignment.caClazzUid\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid)  \n    ';
    this.SELECT_SUBMITTER_UID_FOR_ACCOUNT_PERSON_UID_AND_ASSIGNMENT_CTE_1 = '\n        AccountSubmitterUid(accountSubmitterUid) AS \n        (\n        SELECT CASE\n                    -- When assignment is individual then the submitter uid is the personuid if they are enrolled in the course otherwise zero \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) = 0\n                         THEN (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    )\n                    -- When assignment is by groups but the active user is not an enrolled student then the submitter uid is zero     \n                    WHEN (SELECT caGroupUid\n                            FROM ClazzAssignment\n                           WHERE caUid = :assignmentUid) != 0\n                          AND (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) = 0\n                          THEN 0\n                    -- When assignment is by groups and the person is an enrolled student the submitter uid is the \n                    -- group that they are assigned to. If they are not assigned to a group but are enrolled\n                    -- then we submitter uid = SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP\n                    ELSE COALESCE(\n                          (SELECT CourseGroupMember.cgmGroupNumber\n                             FROM CourseGroupMember\n                            WHERE (\n        SELECT COALESCE(\n                (SELECT ClazzEnrolment.clazzEnrolmentPersonUid\n                   FROM ClazzEnrolment\n                  WHERE ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                    AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                    AND ClazzEnrolment.clazzEnrolmentClazzUid = \n                        (SELECT ClazzAssignment.caClazzUid\n                           FROM ClazzAssignment\n                          WHERE ClazzAssignment.caUid = :assignmentUid)\n                  LIMIT 1), 0)\n    ) > 0\n                              AND CourseGroupMember.cgmSetUid = \n                                  (SELECT caGroupUid\n                                     FROM ClazzAssignment\n                                    WHERE caUid = :assignmentUid)\n                              AND CourseGroupMember.cgmPersonUid = :accountPersonUid\n                            LIMIT 1), -1)\n                    END\n    )\n    ';
    this.SELECT_GROUPSET_UID_FOR_ASSIGNMENT_UID_SQL_1 = '\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    ';
    this.SELECT_ASSIGNMENT_IS_PEERMARKED_SQL_1 = '\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid) = 2)\n    ';
    this.SUBMITTER_LIST_CTE2_SQL_1 = "\n        SubmitterList(submitterId, name) AS \n        -- List of submitter uids and names if individual assignment eg caGroupUid = 0\n        (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS submitterId, \n                Person.firstNames || ' ' || Person.lastName AS name\n           FROM ClazzEnrolment\n                JOIN Person \n                     ON Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    ) = 0\n            AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid\n            AND ClazzEnrolment.clazzEnrolmentRole = 1000\n            -- either the active user has learnign record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR  \n                 -- check if the active person eg accountpersonuid is assigned to mark this peer\n                 (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid) = 2)\n    \n                  AND\n                  EXISTS(SELECT PeerReviewerAllocation.praUid\n                           FROM PeerReviewerAllocation\n                          WHERE PeerReviewerAllocation.praAssignmentUid = :assignmentUid\n                            AND PeerReviewerAllocation.praToMarkerSubmitterUid = ClazzEnrolment.clazzEnrolmentPersonUid\n                            AND PeerReviewerAllocation.praMarkerSubmitterUid = :accountPersonUid))\n                 )\n         UNION\n         -- List of submitter uids and names if the assignment is submitted by groups e.g. caGroupUid != 0\n         SELECT DISTINCT CourseGroupMember.cgmGroupNumber AS submitterId,\n                :group || ' ' || CourseGroupMember.cgmGroupNumber AS name\n           FROM CourseGroupMember\n          WHERE (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    ) != 0\n            AND CourseGroupMember.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    )\n            -- either the active user has learning record select permission on class or is an assigned reviewer for submitter\n            AND (\n                (SELECT hasPermission \n                   FROM HasLearningRecordSelectPermission)\n                OR \n                --check if the active user is in a group that was allocated to do a peer review of the given submitter uid\n                (\n        ((SELECT ClazzAssignment.caMarkingType\n           FROM ClazzAssignment\n          WHERE ClazzAssignment.caUid = :assignmentUid) = 2)\n    \n                 AND\n                 EXISTS(SELECT PeerReviewerAllocation.praUid\n                          FROM PeerReviewerAllocation\n                         WHERE PeerReviewerAllocation.praAssignmentUid = :assignmentUid\n                           AND PeerReviewerAllocation.praToMarkerSubmitterUid = CourseGroupMember.cgmGroupNumber\n                           AND PeerReviewerAllocation.praMarkerSubmitterUid = \n                               (SELECT CourseGroupMemberInner.cgmGroupNumber\n                                  FROM CourseGroupMember CourseGroupMemberInner\n                                 WHERE CourseGroupMemberInner.cgmSetUid = (\n        SELECT ClazzAssignment.caGroupUid\n                   FROM ClazzAssignment\n                  WHERE ClazzAssignment.caUid = :assignmentUid\n    )\n                                   AND CourseGroupMemberInner.cgmPersonUid = :accountPersonUid\n                                 LIMIT 1)\n                        ))\n            )\n        )\n        \n    ";
    this.SORT_NAME_ASC_1 = 5;
    this.SORT_NAME_DESC_1 = 6;
  }
  protoOf(ClazzAssignmentDaoCommon).get_SELECT_SUBMITTER_UID_FOR_PERSONUID_AND_ASSIGNMENTUID_SQL_3pm0z5_k$ = function () {
    return this.SELECT_SUBMITTER_UID_FOR_PERSONUID_AND_ASSIGNMENTUID_SQL_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_SUBMITTER_LIST_WITHOUT_ASSIGNMENT_CTE_ta54xn_k$ = function () {
    return this.SUBMITTER_LIST_WITHOUT_ASSIGNMENT_CTE_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_HAS_LEARNINGRECORD_AND_MEMBER_VIEW_PERMISSION_CTE_SQL_cl36su_k$ = function () {
    return this.HAS_LEARNINGRECORD_AND_MEMBER_VIEW_PERMISSION_CTE_SQL_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_ASSIGNMENT_CLAZZ_UID_CTE_SQL_y7nmfw_k$ = function () {
    return this.ASSIGNMENT_CLAZZ_UID_CTE_SQL_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_SELECT_SUBMITTER_UID_FOR_ACCOUNT_PERSON_UID_AND_ASSIGNMENT_CTE_ou89rw_k$ = function () {
    return this.SELECT_SUBMITTER_UID_FOR_ACCOUNT_PERSON_UID_AND_ASSIGNMENT_CTE_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_SELECT_ASSIGNMENT_IS_PEERMARKED_SQL_6pbvei_k$ = function () {
    return this.SELECT_ASSIGNMENT_IS_PEERMARKED_SQL_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_SUBMITTER_LIST_CTE2_SQL_n9l2sv_k$ = function () {
    return this.SUBMITTER_LIST_CTE2_SQL_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_SORT_NAME_ASC_byiy2d_k$ = function () {
    return this.SORT_NAME_ASC_1;
  };
  protoOf(ClazzAssignmentDaoCommon).get_SORT_NAME_DESC_fksp65_k$ = function () {
    return this.SORT_NAME_DESC_1;
  };
  var ClazzAssignmentDaoCommon_instance;
  function ClazzAssignmentDaoCommon_getInstance() {
    if (ClazzAssignmentDaoCommon_instance == null)
      new ClazzAssignmentDaoCommon();
    return ClazzAssignmentDaoCommon_instance;
  }
  function ClazzDaoCommon() {
    ClazzDaoCommon_instance = this;
    this.SORT_CLAZZNAME_ASC_1 = 1;
    this.SORT_CLAZZNAME_DESC_1 = 2;
    this.SORT_ATTENDANCE_ASC_1 = 3;
    this.SORT_ATTENDANCE_DESC_1 = 4;
    this.FILTER_CURRENTLY_ENROLLED_1 = 5;
    this.FILTER_PAST_ENROLLMENTS_1 = 6;
    this.SELECT_ACTIVE_CLAZZES_1 = 'SELECT * FROM Clazz WHERE CAST(isClazzActive AS INTEGER) = 1';
  }
  protoOf(ClazzDaoCommon).get_SORT_CLAZZNAME_ASC_mih9j7_k$ = function () {
    return this.SORT_CLAZZNAME_ASC_1;
  };
  protoOf(ClazzDaoCommon).get_SORT_CLAZZNAME_DESC_ceaz8l_k$ = function () {
    return this.SORT_CLAZZNAME_DESC_1;
  };
  protoOf(ClazzDaoCommon).get_SORT_ATTENDANCE_ASC_bs29ub_k$ = function () {
    return this.SORT_ATTENDANCE_ASC_1;
  };
  protoOf(ClazzDaoCommon).get_SORT_ATTENDANCE_DESC_a0fu8f_k$ = function () {
    return this.SORT_ATTENDANCE_DESC_1;
  };
  protoOf(ClazzDaoCommon).get_FILTER_CURRENTLY_ENROLLED_wepg78_k$ = function () {
    return this.FILTER_CURRENTLY_ENROLLED_1;
  };
  protoOf(ClazzDaoCommon).get_FILTER_PAST_ENROLLMENTS_5n3ops_k$ = function () {
    return this.FILTER_PAST_ENROLLMENTS_1;
  };
  protoOf(ClazzDaoCommon).get_SELECT_ACTIVE_CLAZZES_90t5nd_k$ = function () {
    return this.SELECT_ACTIVE_CLAZZES_1;
  };
  var ClazzDaoCommon_instance;
  function ClazzDaoCommon_getInstance() {
    if (ClazzDaoCommon_instance == null)
      new ClazzDaoCommon();
    return ClazzDaoCommon_instance;
  }
  function ClazzEnrolmentDaoCommon() {
    ClazzEnrolmentDaoCommon_instance = this;
    this.SORT_FIRST_NAME_ASC_1 = 1;
    this.SORT_FIRST_NAME_DESC_1 = 2;
    this.SORT_LAST_NAME_ASC_1 = 3;
    this.SORT_LAST_NAME_DESC_1 = 4;
    this.SORT_DATE_REGISTERED_ASC_1 = 7;
    this.SORT_DATE_REGISTERED_DESC_1 = 8;
    this.SORT_DATE_LEFT_ASC_1 = 9;
    this.SORT_DATE_LEFT_DESC_1 = 10;
    this.FILTER_ACTIVE_ONLY_1 = 1;
    this.WITH_CURRENTLY_ENROLED_STUDENTS_SQL_1 = '\n        WITH CurrentlyEnrolledPersonUids(enroledPersonUid) AS\n              (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid AS enroledPersonUid\n                 FROM ClazzEnrolment\n                WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid\n                  AND ClazzEnrolment.clazzEnrolmentRole = 1000\n                  AND :time BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined AND ClazzEnrolment.clazzEnrolmentDateLeft)\n    ';
    this.SELECT_ENROLMENT_TYPE_BY_UID_SQL_1 = '\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = :clazzEnrolmentUid         \n    ';
    this.PERMISSION_REQUIRED_BY_CLAZZENROLMENT_UID_1 = '\n        CASE (\n        SELECT ClazzEnrolment.clazzEnrolmentRole\n          FROM ClazzEnrolment\n         WHERE ClazzEnrolment.clazzEnrolmentUid = :clazzEnrolmentUid         \n    )\n             WHEN 1000 THEN 8\n             ELSE 8\n        END     \n    ';
    this.SELECT_ACCOUNT_PERSON_UID_IS_STUDENT_IN_CLAZZ_UID_1 = '\n        (SELECT EXISTS(\n                SELECT 1\n                  FROM ClazzEnrolment\n                 WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid\n                   AND ClazzEnrolment.clazzEnrolmentPersonUid = :accountPersonUid\n                   AND ClazzEnrolment.clazzEnrolmentRole = 1000))\n    ';
    this.SELECT_BY_UID_AND_ROLE_SQL_1 = "\n        SELECT * \n          FROM (SELECT Person.*, PersonPicture.*,\n                       (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n        \n                       (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n        \n                       (SELECT ClazzEnrolment.clazzEnrolmentRole \n                          FROM ClazzEnrolment \n                         WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                           AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                           AND ClazzEnrolment.clazzEnrolmentActive\n                      ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                         LIMIT 1) AS enrolmentRole\n                  FROM Person\n                       LEFT JOIN PersonPicture\n                                 ON PersonPicture.personPictureUid = Person.personUid\n                 WHERE Person.personUid IN \n                       (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                          FROM ClazzEnrolment \n                         WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                           AND ClazzEnrolment.clazzEnrolmentActive \n                           AND ClazzEnrolment.clazzEnrolmentRole = :roleId \n                           AND (:filter != 1 \n                                 OR (:currentTime \n                                      BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                      AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                   /* Begin permission check */\n                   AND (\n                           (\n         (\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = :clazzUid\n                           AND (CoursePermission.cpToPersonUid = :accountPersonUid \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         :permission\n         \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = :accountPersonUid\n                           AND (SystemPermission.spPermissionsFlag & \n     :permission\n         \n        ) > 0)\n               )\n    \n    )\n                        OR Person.personUid = :accountPersonUid\n                       )  \n                   /* End permission check */                   \n                   AND Person.firstNames || ' ' || Person.lastName LIKE :searchText\n               GROUP BY Person.personUid, PersonPicture.personPictureUid) AS CourseMember\n      ORDER BY CASE(:sortOrder)\n                WHEN 1 THEN CourseMember.firstNames\n                WHEN 3 THEN CourseMember.lastName\n                ELSE ''\n            END ASC,\n            CASE(:sortOrder)\n                WHEN 2 THEN CourseMember.firstNames\n                WHEN 4 THEN CourseMember.lastName\n                ELSE ''\n            END DESC,\n            CASE(:sortOrder)\n                WHEN 7 THEN CourseMember.earliestJoinDate\n                WHEN 9 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END ASC,\n            CASE(:sortOrder)\n                WHEN 8 THEN CourseMember.earliestJoinDate\n                WHEN 10 THEN CourseMember.latestDateLeft\n                ELSE 0\n            END DESC\n    ";
    this.PERSON_UIDS_FOR_PAGED_GRADEBOOK_QUERY_CTE_1 = "\n        PersonUids(personUid) AS (\n            SELECT CourseMember.personUid \n              FROM (SELECT Person.*,\n                           (SELECT MIN(ClazzEnrolment.clazzEnrolmentDateJoined) \n                              FROM ClazzEnrolment \n                             WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS earliestJoinDate, \n            \n                           (SELECT MAX(ClazzEnrolment.clazzEnrolmentDateLeft) \n                              FROM ClazzEnrolment \n                             WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid) AS latestDateLeft, \n            \n                           (SELECT ClazzEnrolment.clazzEnrolmentRole \n                              FROM ClazzEnrolment \n                             WHERE Person.personUid = ClazzEnrolment.clazzEnrolmentPersonUid \n                               AND ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                               AND ClazzEnrolment.clazzEnrolmentActive\n                          ORDER BY ClazzEnrolment.clazzEnrolmentDateLeft DESC\n                             LIMIT 1) AS enrolmentRole\n                      FROM Person\n                     WHERE Person.personUid IN \n                           (SELECT DISTINCT ClazzEnrolment.clazzEnrolmentPersonUid \n                              FROM ClazzEnrolment \n                             WHERE ClazzEnrolment.clazzEnrolmentClazzUid = :clazzUid \n                               AND ClazzEnrolment.clazzEnrolmentActive \n                               AND ClazzEnrolment.clazzEnrolmentRole = :roleId \n                               AND (:filter != 1 \n                                     OR (:currentTime \n                                          BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                          AND ClazzEnrolment.clazzEnrolmentDateLeft))) \n                       /* Begin permission check */\n                       AND (\n                               ((\n             /* If the accountPersonUid is the owner of the course, all permissions are granted */\n             (COALESCE(\n                          (SELECT _Clazz_Permission.clazzOwnerPersonUid \n                             FROM Clazz _Clazz_Permission\n                            WHERE _Clazz_Permission.clazzUid = :clazzUid), 0) = :accountPersonUid)\n              /* \n              If there is a CoursePermission entity that is for the course as per the clazzUid\n              parameter that is granted to the person directly or to the enrolmentRole that the \n              person has in the course, then permission is granted.\n              */              \n              OR EXISTS(SELECT CoursePermission.cpUid\n                          FROM CoursePermission\n                               \n        LEFT JOIN ClazzEnrolment ClazzEnrolment_ForAccountPerson \n                        ON CoursePermission.cpToEnrolmentRole != 0\n                       AND ClazzEnrolment_ForAccountPerson.clazzEnrolmentUid = \n                           (SELECT COALESCE(\n                                   (SELECT _ClazzEnrolment_AccountPersonInner.clazzEnrolmentUid \n                                      FROM ClazzEnrolment _ClazzEnrolment_AccountPersonInner\n                                     WHERE _ClazzEnrolment_AccountPersonInner.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentPersonUid = :accountPersonUid\n                                       AND _ClazzEnrolment_AccountPersonInner.clazzEnrolmentActive\n                                  ORDER BY _ClazzEnrolment_AccountPersonInner.clazzEnrolmentDateLeft DESC   \n                                     LIMIT 1), 0))\n    \n                         WHERE CoursePermission.cpClazzUid = :clazzUid\n                           AND (CoursePermission.cpToPersonUid = :accountPersonUid \n                                OR CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForAccountPerson.clazzEnrolmentRole)\n                           AND (CoursePermission.cpPermissionsFlag & \n         128\n                                \n        ) > 0)\n              OR EXISTS(SELECT SystemPermission.spUid\n                          FROM SystemPermission\n                         WHERE SystemPermission.spToPersonUid = :accountPersonUid\n                           AND (SystemPermission.spPermissionsFlag & \n     128\n                                \n        ) > 0)\n               )\n    )\n                            OR Person.personUid = :accountPersonUid\n                           )  \n                       /* End permission check */                   \n                       AND Person.firstNames || ' ' || Person.lastName LIKE :searchText\n                   GROUP BY Person.personUid) AS CourseMember\n          ORDER BY CASE(:sortOrder)\n                    WHEN 1 THEN CourseMember.firstNames\n                    WHEN 3 THEN CourseMember.lastName\n                    ELSE ''\n                END ASC,\n                CASE(:sortOrder)\n                    WHEN 2 THEN CourseMember.firstNames\n                    WHEN 4 THEN CourseMember.lastName\n                    ELSE ''\n                END DESC,\n                CASE(:sortOrder)\n                    WHEN 7 THEN CourseMember.earliestJoinDate\n                    WHEN 9 THEN CourseMember.latestDateLeft\n                    ELSE 0\n                END ASC,\n                CASE(:sortOrder)\n                    WHEN 8 THEN CourseMember.earliestJoinDate\n                    WHEN 10 THEN CourseMember.latestDateLeft\n                    ELSE 0\n                END DESC\n             LIMIT :studentsLimit\n            OFFSET :studentsOffset   \n         )\n    ";
  }
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_FIRST_NAME_ASC_uiz2kk_k$ = function () {
    return this.SORT_FIRST_NAME_ASC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_FIRST_NAME_DESC_mxs51a_k$ = function () {
    return this.SORT_FIRST_NAME_DESC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_LAST_NAME_ASC_qs7cum_k$ = function () {
    return this.SORT_LAST_NAME_ASC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_LAST_NAME_DESC_m2yybw_k$ = function () {
    return this.SORT_LAST_NAME_DESC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_DATE_REGISTERED_ASC_cdy0er_k$ = function () {
    return this.SORT_DATE_REGISTERED_ASC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_DATE_REGISTERED_DESC_suoft7_k$ = function () {
    return this.SORT_DATE_REGISTERED_DESC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_DATE_LEFT_ASC_bkyss2_k$ = function () {
    return this.SORT_DATE_LEFT_ASC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SORT_DATE_LEFT_DESC_3wg5ao_k$ = function () {
    return this.SORT_DATE_LEFT_DESC_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_FILTER_ACTIVE_ONLY_23n62h_k$ = function () {
    return this.FILTER_ACTIVE_ONLY_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_WITH_CURRENTLY_ENROLED_STUDENTS_SQL_vl6cpi_k$ = function () {
    return this.WITH_CURRENTLY_ENROLED_STUDENTS_SQL_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SELECT_ENROLMENT_TYPE_BY_UID_SQL_594x3_k$ = function () {
    return this.SELECT_ENROLMENT_TYPE_BY_UID_SQL_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_PERMISSION_REQUIRED_BY_CLAZZENROLMENT_UID_yuq0ok_k$ = function () {
    return this.PERMISSION_REQUIRED_BY_CLAZZENROLMENT_UID_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SELECT_ACCOUNT_PERSON_UID_IS_STUDENT_IN_CLAZZ_UID_mgtoyj_k$ = function () {
    return this.SELECT_ACCOUNT_PERSON_UID_IS_STUDENT_IN_CLAZZ_UID_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_SELECT_BY_UID_AND_ROLE_SQL_270ura_k$ = function () {
    return this.SELECT_BY_UID_AND_ROLE_SQL_1;
  };
  protoOf(ClazzEnrolmentDaoCommon).get_PERSON_UIDS_FOR_PAGED_GRADEBOOK_QUERY_CTE_uyteql_k$ = function () {
    return this.PERSON_UIDS_FOR_PAGED_GRADEBOOK_QUERY_CTE_1;
  };
  var ClazzEnrolmentDaoCommon_instance;
  function ClazzEnrolmentDaoCommon_getInstance() {
    if (ClazzEnrolmentDaoCommon_instance == null)
      new ClazzEnrolmentDaoCommon();
    return ClazzEnrolmentDaoCommon_instance;
  }
  function ContentEntryDaoCommon() {
    ContentEntryDaoCommon_instance = this;
    this.SORT_TITLE_ASC_1 = 1;
    this.SORT_TITLE_DESC_1 = 2;
    this.SELECT_STATUS_FIELDS_FOR_CONTENT_ENTRY_1 = '\n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    ';
    this.SELECT_ACCOUNT_PERSON_AND_STATUS_FIELDS_1 = '\n               :accountPersonUid AS sPersonUid,\n               0 AS sCbUid,\n               \n                   (SELECT MAX(StatementEntity.extensionProgress)\n                     FROM StatementEntity\n                    WHERE (SELECT includeResults FROM IncludeResults) = 1\n                      AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                      AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                      AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n                   ) AS sProgress,\n                   (SELECT CASE\n                       -- If a successful completion statement exists, then count as success\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1    \n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 1\n    )))\n                            THEN 1\n                       -- Else if no success record exists, however a fail record exists, mark as failed\n                       WHEN (SELECT EXISTS(\n                                    SELECT 1\n                                      FROM StatementEntity\n                                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid \n                                       AND (\n              CAST(StatementEntity.completionOrProgress AS INTEGER) = 1\n          AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n          AND CAST(StatementEntity.resultSuccess AS INTEGER) = 0\n    )))\n                            THEN 0\n                            \n                       ELSE NULL\n                       END                    \n                   ) AS sIsSuccess,\n                   (SELECT EXISTS(\n                           SELECT 1\n                             FROM StatementEntity\n                            WHERE (SELECT includeResults FROM IncludeResults) = 1\n                              AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                              AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                              AND CAST(StatementEntity.resultCompletion AS INTEGER) = 1\n                              AND CAST(StatementEntity.completionOrProgress AS INTEGER) = 1)\n                   ) AS sIsCompleted,\n                   (SELECT MAX(StatementEntity.resultScoreScaled)\n                      FROM StatementEntity\n                     WHERE (SELECT includeResults FROM IncludeResults) = 1\n                       AND StatementEntity.statementActorPersonUid = :accountPersonUid\n                       AND StatementEntity.statementContentEntryUid = ContentEntry.contentEntryUid\n                   ) AS sScoreScaled\n    \n    ';
  }
  protoOf(ContentEntryDaoCommon).get_SORT_TITLE_ASC_uf63jm_k$ = function () {
    return this.SORT_TITLE_ASC_1;
  };
  protoOf(ContentEntryDaoCommon).get_SORT_TITLE_DESC_jntz80_k$ = function () {
    return this.SORT_TITLE_DESC_1;
  };
  protoOf(ContentEntryDaoCommon).get_SELECT_STATUS_FIELDS_FOR_CONTENT_ENTRY_3f6vr7_k$ = function () {
    return this.SELECT_STATUS_FIELDS_FOR_CONTENT_ENTRY_1;
  };
  protoOf(ContentEntryDaoCommon).get_SELECT_ACCOUNT_PERSON_AND_STATUS_FIELDS_i23pgg_k$ = function () {
    return this.SELECT_ACCOUNT_PERSON_AND_STATUS_FIELDS_1;
  };
  var ContentEntryDaoCommon_instance;
  function ContentEntryDaoCommon_getInstance() {
    if (ContentEntryDaoCommon_instance == null)
      new ContentEntryDaoCommon();
    return ContentEntryDaoCommon_instance;
  }
  function CourseAssignmentMarkDaoCommon() {
    CourseAssignmentMarkDaoCommon_instance = this;
    this.ARG_FILTER_RECENT_SCORES_1 = 1;
    this.ARG_FILTER_ALL_SCORES_1 = 0;
  }
  protoOf(CourseAssignmentMarkDaoCommon).get_ARG_FILTER_RECENT_SCORES_5p7cq8_k$ = function () {
    return this.ARG_FILTER_RECENT_SCORES_1;
  };
  protoOf(CourseAssignmentMarkDaoCommon).get_ARG_FILTER_ALL_SCORES_fjmn8s_k$ = function () {
    return this.ARG_FILTER_ALL_SCORES_1;
  };
  var CourseAssignmentMarkDaoCommon_instance;
  function CourseAssignmentMarkDaoCommon_getInstance() {
    if (CourseAssignmentMarkDaoCommon_instance == null)
      new CourseAssignmentMarkDaoCommon();
    return CourseAssignmentMarkDaoCommon_instance;
  }
  function deactivateByUids(_this__u8e3s4, uidList, changeTime, $completion) {
    var tmp = new $deactivateByUidsCOROUTINE$0(_this__u8e3s4, uidList, changeTime, $completion);
    tmp.set_result_xj64lm_k$(Unit_getInstance());
    tmp.set_exception_px07aa_k$(null);
    return tmp.doResume_5yljmg_k$();
  }
  function $deactivateByUidsCOROUTINE$0(_this__u8e3s4, uidList, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this._this__u8e3s4__1 = _this__u8e3s4;
    this.uidList_1 = uidList;
    this.changeTime_1 = changeTime;
  }
  protoOf($deactivateByUidsCOROUTINE$0).doResume_5yljmg_k$ = function () {
    var suspendResult = this.get_result_iyg5d2_k$();
    $sm: do
      try {
        var tmp = this.get_state_iypx7s_k$();
        switch (tmp) {
          case 0:
            this.set_exceptionState_fex74n_k$(4);
            var tmp_0 = this;
            tmp_0.this0__1 = this.uidList_1;
            this.tmp0_iterator1__1 = this.this0__1.iterator_jk1svi_k$();
            this.set_state_rjd8d0_k$(1);
            continue $sm;
          case 1:
            if (!this.tmp0_iterator1__1.hasNext_bitz1p_k$()) {
              this.set_state_rjd8d0_k$(3);
              continue $sm;
            }

            this.element2__1 = this.tmp0_iterator1__1.next_20eer_k$();
            var tmp_1 = this;
            tmp_1.it3__1 = this.element2__1;
            this.set_state_rjd8d0_k$(2);
            suspendResult = this._this__u8e3s4__1.updateActiveByUid_i0tn2u_k$(this.it3__1, false, this.changeTime_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.set_state_rjd8d0_k$(1);
            continue $sm;
          case 3:
            return Unit_getInstance();
          case 4:
            throw this.get_exception_x0n6w6_k$();
        }
      } catch ($p) {
        var e = $p;
        if (this.get_exceptionState_wflpxn_k$() === 4) {
          throw e;
        } else {
          this.set_state_rjd8d0_k$(this.get_exceptionState_wflpxn_k$());
          this.set_exception_px07aa_k$(e);
        }
      }
     while (true);
  };
  function CourseGroupSetDaoConstants() {
    CourseGroupSetDaoConstants_instance = this;
    this.SORT_NAME_ASC_1 = 1;
    this.SORT_NAME_DESC_1 = 2;
  }
  protoOf(CourseGroupSetDaoConstants).get_SORT_NAME_ASC_byiy2d_k$ = function () {
    return this.SORT_NAME_ASC_1;
  };
  protoOf(CourseGroupSetDaoConstants).get_SORT_NAME_DESC_fksp65_k$ = function () {
    return this.SORT_NAME_DESC_1;
  };
  var CourseGroupSetDaoConstants_instance;
  function CourseGroupSetDaoConstants_getInstance() {
    if (CourseGroupSetDaoConstants_instance == null)
      new CourseGroupSetDaoConstants();
    return CourseGroupSetDaoConstants_instance;
  }
  function ImageDao() {
  }
  function OneToManyJoinDao() {
  }
  function deactivateByUids_0(_this__u8e3s4, uidList, changeTime, $completion) {
    var tmp = new $deactivateByUidsCOROUTINE$1(_this__u8e3s4, uidList, changeTime, $completion);
    tmp.set_result_xj64lm_k$(Unit_getInstance());
    tmp.set_exception_px07aa_k$(null);
    return tmp.doResume_5yljmg_k$();
  }
  function $deactivateByUidsCOROUTINE$1(_this__u8e3s4, uidList, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this._this__u8e3s4__1 = _this__u8e3s4;
    this.uidList_1 = uidList;
    this.changeTime_1 = changeTime;
  }
  protoOf($deactivateByUidsCOROUTINE$1).doResume_5yljmg_k$ = function () {
    var suspendResult = this.get_result_iyg5d2_k$();
    $sm: do
      try {
        var tmp = this.get_state_iypx7s_k$();
        switch (tmp) {
          case 0:
            this.set_exceptionState_fex74n_k$(4);
            var tmp_0 = this;
            tmp_0.this0__1 = this.uidList_1;
            this.tmp0_iterator1__1 = this.this0__1.iterator_jk1svi_k$();
            this.set_state_rjd8d0_k$(1);
            continue $sm;
          case 1:
            if (!this.tmp0_iterator1__1.hasNext_bitz1p_k$()) {
              this.set_state_rjd8d0_k$(3);
              continue $sm;
            }

            this.element2__1 = this.tmp0_iterator1__1.next_20eer_k$();
            var tmp_1 = this;
            tmp_1.it3__1 = this.element2__1;
            this.set_state_rjd8d0_k$(2);
            suspendResult = this._this__u8e3s4__1.updateActiveByUid_i0tn2u_k$(this.it3__1, false, this.changeTime_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.set_state_rjd8d0_k$(1);
            continue $sm;
          case 3:
            return Unit_getInstance();
          case 4:
            throw this.get_exception_x0n6w6_k$();
        }
      } catch ($p) {
        var e = $p;
        if (this.get_exceptionState_wflpxn_k$() === 4) {
          throw e;
        } else {
          this.set_state_rjd8d0_k$(this.get_exceptionState_wflpxn_k$());
          this.set_exception_px07aa_k$(e);
        }
      }
     while (true);
  };
  function PersonDaoCommon() {
    PersonDaoCommon_instance = this;
    this.SORT_FIRST_NAME_ASC_1 = 1;
    this.SORT_FIRST_NAME_DESC_1 = 2;
    this.SORT_LAST_NAME_ASC_1 = 3;
    this.SORT_LAST_NAME_DESC_1 = 4;
    this.SQL_SELECT_LIST_WITH_PERMISSION_1 = "\n         WITH CanViewPersonUidsViaCoursePermission(personUid) AS\n              /* Select personUids that can be viewed based on CoursePermission given the active user \n                 for their enrolments \n              */\n              (SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM ClazzEnrolment ClazzEnrolment_ForActiveUser\n                      JOIN CoursePermission \n                           ON CoursePermission.cpClazzUid = ClazzEnrolment_ForActiveUser.clazzEnrolmentClazzUid\n                          AND CoursePermission.cpToEnrolmentRole = ClazzEnrolment_ForActiveUser.clazzEnrolmentRole\n                          AND (CoursePermission.cpPermissionsFlag & 8192) > 0\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE :accountPersonUid != 0\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentPersonUid = :accountPersonUid\n                  AND ClazzEnrolment_ForActiveUser.clazzEnrolmentActive\n              \n               UNION\n               /* Select personUids that can be viewed based on CoursePermission for the active user\n                  where the CoursePermission is granted directly to them\n                */   \n               SELECT DISTINCT ClazzEnrolment_ForClazzMember.clazzEnrolmentPersonUid AS personUid\n                 FROM CoursePermission\n                      JOIN ClazzEnrolment ClazzEnrolment_ForClazzMember\n                           ON ClazzEnrolment_ForClazzMember.clazzEnrolmentClazzUid = CoursePermission.cpClazzUid\n                WHERE :accountPersonUid != 0\n                  AND CoursePermission.cpToPersonUid = :accountPersonUid)\n               \n         SELECT Person.*, PersonPicture.*\n           FROM Person\n                LEFT JOIN PersonPicture\n                     ON PersonPicture.personPictureUid = Person.personUid\n          WHERE /* Begin permission check */ \n                (         \n                      (\n        EXISTS(SELECT 1\n                 FROM SystemPermission\n                WHERE :accountPersonUid != 0 \n                  AND SystemPermission.spToPersonUid = :accountPersonUid\n                  AND (SystemPermission.spPermissionsFlag &\n    \n                       8192\n                       \n        ) > 0\n                  AND NOT SystemPermission.spIsDeleted)\n    )\n                    OR (Person.personUid IN \n                               (SELECT CanViewPersonUidsViaCoursePermission.personUid\n                                  FROM CanViewPersonUidsViaCoursePermission))\n                    OR (Person.personUid = :accountPersonUid)\n                )\n                /* End permission check */\n           AND (:excludeClazz = 0 OR :excludeClazz NOT IN\n                    (SELECT clazzEnrolmentClazzUid \n                       FROM ClazzEnrolment \n                      WHERE clazzEnrolmentPersonUid = Person.personUid \n                            AND :timestamp BETWEEN ClazzEnrolment.clazzEnrolmentDateJoined \n                                AND ClazzEnrolment.clazzEnrolmentDateLeft\n                        AND ClazzEnrolment.clazzEnrolmentActive))\n           AND Person.personType = 0                  \n           AND (Person.personUid NOT IN (:excludeSelected))\n           AND (:searchText = '%' \n               OR Person.firstNames || ' ' || Person.lastName LIKE :searchText)\n      GROUP BY Person.personUid, PersonPicture.personPictureUid\n      ORDER BY CASE(:sortOrder)\n               WHEN 1 THEN Person.firstNames\n               WHEN 3 THEN Person.lastName\n               ELSE ''\n               END ASC,\n               CASE(:sortOrder)\n               WHEN 2 THEN Person.firstNames\n               WHEN 4 THEN Person.lastName\n               ELSE ''\n               END DESC\n    ";
  }
  protoOf(PersonDaoCommon).get_SORT_FIRST_NAME_ASC_uiz2kk_k$ = function () {
    return this.SORT_FIRST_NAME_ASC_1;
  };
  protoOf(PersonDaoCommon).get_SORT_FIRST_NAME_DESC_mxs51a_k$ = function () {
    return this.SORT_FIRST_NAME_DESC_1;
  };
  protoOf(PersonDaoCommon).get_SORT_LAST_NAME_ASC_qs7cum_k$ = function () {
    return this.SORT_LAST_NAME_ASC_1;
  };
  protoOf(PersonDaoCommon).get_SORT_LAST_NAME_DESC_m2yybw_k$ = function () {
    return this.SORT_LAST_NAME_DESC_1;
  };
  protoOf(PersonDaoCommon).get_SQL_SELECT_LIST_WITH_PERMISSION_6t03w0_k$ = function () {
    return this.SQL_SELECT_LIST_WITH_PERMISSION_1;
  };
  var PersonDaoCommon_instance;
  function PersonDaoCommon_getInstance() {
    if (PersonDaoCommon_instance == null)
      new PersonDaoCommon();
    return PersonDaoCommon_instance;
  }
  function deactivateByUids_1(_this__u8e3s4, uidList, changeTime, $completion) {
    var tmp = new $deactivateByUidsCOROUTINE$2(_this__u8e3s4, uidList, changeTime, $completion);
    tmp.set_result_xj64lm_k$(Unit_getInstance());
    tmp.set_exception_px07aa_k$(null);
    return tmp.doResume_5yljmg_k$();
  }
  function $deactivateByUidsCOROUTINE$2(_this__u8e3s4, uidList, changeTime, resultContinuation) {
    CoroutineImpl.call(this, resultContinuation);
    this._this__u8e3s4__1 = _this__u8e3s4;
    this.uidList_1 = uidList;
    this.changeTime_1 = changeTime;
  }
  protoOf($deactivateByUidsCOROUTINE$2).doResume_5yljmg_k$ = function () {
    var suspendResult = this.get_result_iyg5d2_k$();
    $sm: do
      try {
        var tmp = this.get_state_iypx7s_k$();
        switch (tmp) {
          case 0:
            this.set_exceptionState_fex74n_k$(4);
            var tmp_0 = this;
            tmp_0.this0__1 = this.uidList_1;
            this.tmp0_iterator1__1 = this.this0__1.iterator_jk1svi_k$();
            this.set_state_rjd8d0_k$(1);
            continue $sm;
          case 1:
            if (!this.tmp0_iterator1__1.hasNext_bitz1p_k$()) {
              this.set_state_rjd8d0_k$(3);
              continue $sm;
            }

            this.element2__1 = this.tmp0_iterator1__1.next_20eer_k$();
            var tmp_1 = this;
            tmp_1.it3__1 = this.element2__1;
            this.set_state_rjd8d0_k$(2);
            suspendResult = this._this__u8e3s4__1.updateScheduleActivated_bfhhht_k$(this.it3__1, false, this.changeTime_1, this);
            if (suspendResult === get_COROUTINE_SUSPENDED()) {
              return suspendResult;
            }

            continue $sm;
          case 2:
            this.set_state_rjd8d0_k$(1);
            continue $sm;
          case 3:
            return Unit_getInstance();
          case 4:
            throw this.get_exception_x0n6w6_k$();
        }
      } catch ($p) {
        var e = $p;
        if (this.get_exceptionState_wflpxn_k$() === 4) {
          throw e;
        } else {
          this.set_state_rjd8d0_k$(this.get_exceptionState_wflpxn_k$());
          this.set_exception_px07aa_k$(e);
        }
      }
     while (true);
  };
  function get_MIGRATION_105_106() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_105_106;
  }
  var MIGRATION_105_106;
  function get_MIGRATION_106_107() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_106_107;
  }
  var MIGRATION_106_107;
  function get_MIGRATION_107_108() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_107_108;
  }
  var MIGRATION_107_108;
  function get_MIGRATION_108_109() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_108_109;
  }
  var MIGRATION_108_109;
  function get_MIGRATION_120_121() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_120_121;
  }
  var MIGRATION_120_121;
  function get_MIGRATION_121_122() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_121_122;
  }
  var MIGRATION_121_122;
  function get_MIGRATION_122_123() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_122_123;
  }
  var MIGRATION_122_123;
  function get_MIGRATION_123_124() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_123_124;
  }
  var MIGRATION_123_124;
  function get_MIGRATION_124_125() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_124_125;
  }
  var MIGRATION_124_125;
  function get_MIGRATION_125_126() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_125_126;
  }
  var MIGRATION_125_126;
  function get_MIGRATION_126_127() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_126_127;
  }
  var MIGRATION_126_127;
  function get_MIGRATION_127_128() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_127_128;
  }
  var MIGRATION_127_128;
  function get_MIGRATION_128_129() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_128_129;
  }
  var MIGRATION_128_129;
  function get_MIGRATION_129_130() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_129_130;
  }
  var MIGRATION_129_130;
  function get_MIGRATION_130_131() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_130_131;
  }
  var MIGRATION_130_131;
  function get_MIGRATION_132_133() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_132_133;
  }
  var MIGRATION_132_133;
  function get_MIGRATION_133_134() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_133_134;
  }
  var MIGRATION_133_134;
  function get_MIGRATION_134_135() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_134_135;
  }
  var MIGRATION_134_135;
  function get_MIGRATION_135_136() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_135_136;
  }
  var MIGRATION_135_136;
  function get_MIGRATION_136_137() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_136_137;
  }
  var MIGRATION_136_137;
  function get_MIGRATION_137_138() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_137_138;
  }
  var MIGRATION_137_138;
  function get_MIGRATION_138_139() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_138_139;
  }
  var MIGRATION_138_139;
  function get_MIGRATION_139_140() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_139_140;
  }
  var MIGRATION_139_140;
  function get_MIGRATION_140_141() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_140_141;
  }
  var MIGRATION_140_141;
  function get_MIGRATION_141_142() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_141_142;
  }
  var MIGRATION_141_142;
  function get_MIGRATION_142_143() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_142_143;
  }
  var MIGRATION_142_143;
  function get_MIGRATION_143_144() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_143_144;
  }
  var MIGRATION_143_144;
  function get_MIGRATION_144_145_SERVER() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_144_145_SERVER;
  }
  var MIGRATION_144_145_SERVER;
  function get_MIGRATION_144_145_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_144_145_CLIENT;
  }
  var MIGRATION_144_145_CLIENT;
  function get_MIGRATION_145_146() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_145_146;
  }
  var MIGRATION_145_146;
  function get_MIGRATION_146_147() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_146_147;
  }
  var MIGRATION_146_147;
  function get_MIGRATION_147_148() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_147_148;
  }
  var MIGRATION_147_148;
  function get_MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS;
  }
  var MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS;
  function get_MIGRATION_148_149_NO_OFFLINE_ITEMS() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_148_149_NO_OFFLINE_ITEMS;
  }
  var MIGRATION_148_149_NO_OFFLINE_ITEMS;
  function get_MIGRATION_149_150() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_149_150;
  }
  var MIGRATION_149_150;
  function get_MIGRATION_150_151() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_150_151;
  }
  var MIGRATION_150_151;
  function get_MIGRATION_151_152() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_151_152;
  }
  var MIGRATION_151_152;
  function get_MIGRATION_152_153() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_152_153;
  }
  var MIGRATION_152_153;
  function get_MIGRATION_153_154() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_153_154;
  }
  var MIGRATION_153_154;
  function get_MIGRATION_154_155() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_154_155;
  }
  var MIGRATION_154_155;
  function get_MIGRATION_155_156_SERVER() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_155_156_SERVER;
  }
  var MIGRATION_155_156_SERVER;
  function get_MIGRATION_155_156_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_155_156_CLIENT;
  }
  var MIGRATION_155_156_CLIENT;
  function get_MIGRATION_156_157() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_156_157;
  }
  var MIGRATION_156_157;
  function get_MIGRATION_157_158() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_157_158;
  }
  var MIGRATION_157_158;
  function get_MIGRATION_158_159() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_158_159;
  }
  var MIGRATION_158_159;
  function get_MIGRATION_159_160() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_159_160;
  }
  var MIGRATION_159_160;
  function get_MIGRATION_160_161() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_160_161;
  }
  var MIGRATION_160_161;
  function get_MIGRATION_161_162_SERVER() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_161_162_SERVER;
  }
  var MIGRATION_161_162_SERVER;
  function get_MIGRATION_161_162_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_161_162_CLIENT;
  }
  var MIGRATION_161_162_CLIENT;
  function get_MIGRATION_162_163() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_162_163;
  }
  var MIGRATION_162_163;
  function get_MIGRATION_163_164() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_163_164;
  }
  var MIGRATION_163_164;
  function get_MIGRATION_164_165() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_164_165;
  }
  var MIGRATION_164_165;
  function get_MIGRATION_165_166() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_165_166;
  }
  var MIGRATION_165_166;
  function get_MIGRATION_166_167() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_166_167;
  }
  var MIGRATION_166_167;
  function get_MIGRATION_167_168() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_167_168;
  }
  var MIGRATION_167_168;
  function get_MIGRATION_168_169() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_168_169;
  }
  var MIGRATION_168_169;
  function get_MIGRATION_169_170_SERVER() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_169_170_SERVER;
  }
  var MIGRATION_169_170_SERVER;
  function get_MIGRATION_169_170_CLIENT() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_169_170_CLIENT;
  }
  var MIGRATION_169_170_CLIENT;
  function get_MIGRATION_170_171() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_170_171;
  }
  var MIGRATION_170_171;
  function get_MIGRATION_171_172() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_171_172;
  }
  var MIGRATION_171_172;
  function get_MIGRATION_172_194() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_172_194;
  }
  var MIGRATION_172_194;
  function get_MIGRATION_194_195() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_194_195;
  }
  var MIGRATION_194_195;
  function get_MIGRATION_195_196() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_195_196;
  }
  var MIGRATION_195_196;
  function get_MIGRATION_196_197() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_196_197;
  }
  var MIGRATION_196_197;
  function get_MIGRATION_197_198() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_197_198;
  }
  var MIGRATION_197_198;
  function get_MIGRATION_198_199() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_198_199;
  }
  var MIGRATION_198_199;
  function get_MIGRATION_199_200() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_199_200;
  }
  var MIGRATION_199_200;
  function get_MIGRATION_200_201() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_200_201;
  }
  var MIGRATION_200_201;
  function get_MIGRATION_201_202() {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return MIGRATION_201_202;
  }
  var MIGRATION_201_202;
  function MIGRATION_105_106$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.mutableListOf' call
    var stmtList = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.plusAssign' call
    var element = 'ALTER TABLE CourseAssignmentSubmissionAttachment ADD COLUMN casaFileName TEXT';
    stmtList.add_utx5q5_k$(element);
    return stmtList;
  }
  function MIGRATION_106_107$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.apply' call
    // Inline function 'kotlin.collections.mutableListOf' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_106_107.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS SqliteChangeSeqNums');
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS UpdateNotification');
    return this_0;
  }
  function MIGRATION_107_108$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.mutableListOf' call
    var stmtList = ArrayList_init_$Create$();
    // Inline function 'kotlin.collections.plusAssign' call
    var element = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerComment TEXT';
    stmtList.add_utx5q5_k$(element);
    // Inline function 'kotlin.collections.plusAssign' call
    var element_0 = 'ALTER TABLE ClazzAssignment ADD COLUMN caPeerReviewerCount  INTEGER  NOT NULL  DEFAULT 0';
    stmtList.add_utx5q5_k$(element_0);
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      // Inline function 'kotlin.collections.plusAssign' call
      var element_1 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerSubmitterUid  INTEGER  NOT NULL  DEFAULT 0';
      stmtList.add_utx5q5_k$(element_1);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_2 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerPersonUid  INTEGER  NOT NULL  DEFAULT 0';
      stmtList.add_utx5q5_k$(element_2);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_3 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocation (`praUid` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, `praMarkerSubmitterUid` INTEGER NOT NULL, `praToMarkerSubmitterUid` INTEGER NOT NULL, `praAssignmentUid` INTEGER NOT NULL, `praActive` INTEGER NOT NULL, `praLct` INTEGER NOT NULL)';
      stmtList.add_utx5q5_k$(element_3);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_4 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocationReplicate (`prarPk` INTEGER NOT NULL, `prarVersionId` INTEGER NOT NULL DEFAULT 0, `prarDestination` INTEGER NOT NULL, `prarPending` INTEGER NOT NULL DEFAULT 1, PRIMARY KEY(`prarPk`, `prarDestination`))';
      stmtList.add_utx5q5_k$(element_4);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_5 = 'CREATE INDEX IF NOT EXISTS `index_PeerReviewerAllocationReplicate_prarPk_prarDestination_prarVersionId` ON PeerReviewerAllocationReplicate (`prarPk`, `prarDestination`, `prarVersionId`)';
      stmtList.add_utx5q5_k$(element_5);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_6 = 'CREATE INDEX IF NOT EXISTS `index_PeerReviewerAllocationReplicate_prarDestination_prarPending` ON PeerReviewerAllocationReplicate (`prarDestination`, `prarPending`)';
      stmtList.add_utx5q5_k$(element_6);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_7 = ' CREATE TRIGGER ch_ins_140 AFTER INSERT ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, NEW.praUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = NEW.praUid); END ';
      stmtList.add_utx5q5_k$(element_7);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_8 = ' CREATE TRIGGER ch_upd_140 AFTER UPDATE ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, NEW.praUid AS chEntityPk, 1 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = NEW.praUid); END ';
      stmtList.add_utx5q5_k$(element_8);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_9 = ' CREATE TRIGGER ch_del_140 AFTER DELETE ON PeerReviewerAllocation BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) SELECT 140 AS chTableId, OLD.praUid AS chEntityPk, 2 AS chType WHERE NOT EXISTS( SELECT chTableId FROM ChangeLog WHERE chTableId = 140 AND chEntityPk = OLD.praUid); END ';
      stmtList.add_utx5q5_k$(element_9);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_10 = 'CREATE VIEW PeerReviewerAllocation_ReceiveView AS  SELECT PeerReviewerAllocation.*, ClazzAssignmentReplicate.* FROM PeerReviewerAllocation LEFT JOIN ClazzAssignmentReplicate ON ClazzAssignmentReplicate.caPk = PeerReviewerAllocation.praUid ';
      stmtList.add_utx5q5_k$(element_10);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_11 = ' CREATE TRIGGER peerreviewerallocation_remote_insert_ins INSTEAD OF INSERT ON PeerReviewerAllocation_ReceiveView FOR EACH ROW BEGIN REPLACE INTO PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES (NEW.praUid, NEW.praMarkerSubmitterUid, NEW.praToMarkerSubmitterUid, NEW.praAssignmentUid, NEW.praActive, NEW.praLct) /*psql ON CONFLICT (praUid) DO UPDATE SET praMarkerSubmitterUid = EXCLUDED.praMarkerSubmitterUid, praToMarkerSubmitterUid = EXCLUDED.praToMarkerSubmitterUid, praAssignmentUid = EXCLUDED.praAssignmentUid, praActive = EXCLUDED.praActive, praLct = EXCLUDED.praLct */; END ';
      stmtList.add_utx5q5_k$(element_11);
    } else {
      // Inline function 'kotlin.collections.plusAssign' call
      var element_12 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerSubmitterUid  BIGINT  NOT NULL  DEFAULT 0';
      stmtList.add_utx5q5_k$(element_12);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_13 = 'ALTER TABLE CourseAssignmentMark ADD COLUMN camMarkerPersonUid  BIGINT  NOT NULL  DEFAULT 0';
      stmtList.add_utx5q5_k$(element_13);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_14 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocation (  praMarkerSubmitterUid  BIGINT  NOT NULL , praToMarkerSubmitterUid  BIGINT  NOT NULL , praAssignmentUid  BIGINT  NOT NULL , praActive  BOOL  NOT NULL , praLct  BIGINT  NOT NULL , praUid  BIGSERIAL  PRIMARY KEY  NOT NULL )';
      stmtList.add_utx5q5_k$(element_14);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_15 = 'CREATE TABLE IF NOT EXISTS PeerReviewerAllocationReplicate (  prarPk  BIGINT  NOT NULL , prarVersionId  BIGINT  NOT NULL  DEFAULT 0 , prarDestination  BIGINT  NOT NULL , prarPending  BOOL  NOT NULL  DEFAULT true, PRIMARY KEY (prarPk, prarDestination) )';
      stmtList.add_utx5q5_k$(element_15);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_16 = 'CREATE INDEX index_PeerReviewerAllocationReplicate_prarPk_prarDestination_prarVersionId ON PeerReviewerAllocationReplicate (prarPk, prarDestination, prarVersionId)';
      stmtList.add_utx5q5_k$(element_16);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_17 = 'CREATE INDEX index_PeerReviewerAllocationReplicate_prarDestination_prarPending ON PeerReviewerAllocationReplicate (prarDestination, prarPending)';
      stmtList.add_utx5q5_k$(element_17);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_18 = ' CREATE OR REPLACE FUNCTION ch_upd_140_fn() RETURNS TRIGGER AS $$ BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (140, NEW.praUid, 1) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 1; RETURN NULL; END $$ LANGUAGE plpgsql ';
      stmtList.add_utx5q5_k$(element_18);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_19 = ' CREATE TRIGGER ch_upd_140_trig AFTER UPDATE OR INSERT ON PeerReviewerAllocation FOR EACH ROW EXECUTE PROCEDURE ch_upd_140_fn(); ';
      stmtList.add_utx5q5_k$(element_19);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_20 = ' CREATE OR REPLACE FUNCTION ch_del_140_fn() RETURNS TRIGGER AS $$ BEGIN INSERT INTO ChangeLog(chTableId, chEntityPk, chType) VALUES (140, OLD.praUid, 2) ON CONFLICT(chTableId, chEntityPk) DO UPDATE SET chType = 2; RETURN NULL; END $$ LANGUAGE plpgsql ';
      stmtList.add_utx5q5_k$(element_20);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_21 = ' CREATE TRIGGER ch_del_140_trig AFTER DELETE ON PeerReviewerAllocation FOR EACH ROW EXECUTE PROCEDURE ch_del_140_fn(); ';
      stmtList.add_utx5q5_k$(element_21);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_22 = 'CREATE VIEW PeerReviewerAllocation_ReceiveView AS  SELECT PeerReviewerAllocation.*, ClazzAssignmentReplicate.* FROM PeerReviewerAllocation LEFT JOIN ClazzAssignmentReplicate ON ClazzAssignmentReplicate.caPk = PeerReviewerAllocation.praUid ';
      stmtList.add_utx5q5_k$(element_22);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_23 = "CREATE OR REPLACE FUNCTION peerreviewerallocation_remote_insert_fn() RETURNS TRIGGER AS $$ BEGIN INSERT INTO PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) VALUES (NEW.praUid, NEW.praMarkerSubmitterUid, NEW.praToMarkerSubmitterUid, NEW.praAssignmentUid, NEW.praActive, NEW.praLct) ON CONFLICT (praUid) DO UPDATE SET praMarkerSubmitterUid = EXCLUDED.praMarkerSubmitterUid, praToMarkerSubmitterUid = EXCLUDED.praToMarkerSubmitterUid, praAssignmentUid = EXCLUDED.praAssignmentUid, praActive = EXCLUDED.praActive, praLct = EXCLUDED.praLct ; IF (TG_OP = 'INSERT' OR TG_OP = 'UPDATE') THEN RETURN NEW; ELSE RETURN OLD; END IF; END $$ LANGUAGE plpgsql";
      stmtList.add_utx5q5_k$(element_23);
      // Inline function 'kotlin.collections.plusAssign' call
      var element_24 = ' CREATE TRIGGER peerreviewerallocation_remote_insert_trig INSTEAD OF INSERT ON PeerReviewerAllocation_ReceiveView FOR EACH ROW EXECUTE PROCEDURE peerreviewerallocation_remote_insert_fn() ';
      stmtList.add_utx5q5_k$(element_24);
    }
    return stmtList;
  }
  function MIGRATION_108_109$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.mutableListOf' call
    var stmtList = ArrayList_init_$Create$();
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      // Inline function 'kotlin.collections.plusAssign' call
      var element = 'CREATE TABLE IF NOT EXISTS ExternalAppPermission (  eapPersonUid  INTEGER  NOT NULL , eapPackageId  TEXT , eapStartTime  INTEGER  NOT NULL , eapExpireTime  INTEGER  NOT NULL , eapAuthToken  TEXT , eapAndroidAccountName  TEXT , eapUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )';
      stmtList.add_utx5q5_k$(element);
    } else {
      // Inline function 'kotlin.collections.plusAssign' call
      var element_0 = 'CREATE TABLE IF NOT EXISTS ExternalAppPermission (  eapPersonUid  BIGINT  NOT NULL , eapPackageId  TEXT , eapStartTime  BIGINT  NOT NULL , eapExpireTime  BIGINT  NOT NULL , eapAuthToken  TEXT , eapAndroidAccountName  TEXT , eapUid  SERIAL  PRIMARY KEY  NOT NULL )';
      stmtList.add_utx5q5_k$(element_0);
    }
    return stmtList;
  }
  function MIGRATION_120_121$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_120_121.<anonymous>.<anonymous>' call
    var tmp0_subject = dbType(db);
    if (tmp0_subject === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StudentResult (  srSourcedId  TEXT , srCourseBlockUid  INTEGER  NOT NULL , srClazzUid  INTEGER  NOT NULL , srAssignmentUid  INTEGER  NOT NULL , srLineItemSourcedId  TEXT , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  INTEGER  NOT NULL , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  INTEGER  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  REAl  NOT NULL , srScoreDate  INTEGER  NOT NULL , srLastModified  INTEGER  NOT NULL , srComment  TEXT , srAppId  TEXT , srActive  INTEGER  NOT NULL , srUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else if (tmp0_subject === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StudentResult (  srSourcedId  TEXT , srCourseBlockUid  BIGINT  NOT NULL , srClazzUid  BIGINT  NOT NULL , srAssignmentUid  BIGINT  NOT NULL , srLineItemSourcedId  TEXT , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  BIGINT  NOT NULL , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  BIGINT  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  FLOAT  NOT NULL , srScoreDate  BIGINT  NOT NULL , srLastModified  BIGINT  NOT NULL , srComment  TEXT , srAppId  TEXT , srActive  BOOL  NOT NULL , srUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_121_122$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_121_122.<anonymous>.<anonymous>' call
    var tmp0_subject = dbType(db);
    if (tmp0_subject === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  INTEGER  NOT NULL , orPk1  INTEGER  NOT NULL , orPk2  INTEGER  NOT NULL , orTableId  INTEGER  NOT NULL , orUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ReplicationOperation (  repOpRemoteNodeId  INTEGER  NOT NULL , repOpStatus  INTEGER  NOT NULL , repOpTableId  INTEGER  NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS PendingRepositorySession (  endpointUrl  TEXT , remoteNodeId  INTEGER  NOT NULL , rsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else if (tmp0_subject === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  BIGINT  NOT NULL , orPk1  BIGINT  NOT NULL , orPk2  BIGINT  NOT NULL , orTableId  INTEGER  NOT NULL , orUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ReplicationOperation (  repOpRemoteNodeId  BIGINT  NOT NULL , repOpStatus  INTEGER  NOT NULL , repOpTableId  INTEGER  NOT NULL , PRIMARY KEY (repOpRemoteNodeId, repOpTableId) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS PendingRepositorySession (  endpointUrl  TEXT , remoteNodeId  BIGINT  NOT NULL , rsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_122_123$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('DROP TABLE IF EXISTS CourseDiscussion');
  }
  function MIGRATION_123_124$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_123_124.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS ContentJobItem');
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS ContentJob');
    var tmp0_subject = dbType(db);
    if (tmp0_subject === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentJob (  toUri  TEXT , cjProgress  INTEGER  NOT NULL , cjTotal  INTEGER  NOT NULL , cjNotificationTitle  TEXT , cjIsMeteredAllowed  INTEGER  NOT NULL , params  TEXT , cjLct  INTEGER  NOT NULL , cjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  INTEGER  NOT NULL , sourceUri  TEXT , cjiIsLeaf  INTEGER  NOT NULL , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContainerUid  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiRecursiveProgress  INTEGER  NOT NULL , cjiRecursiveTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiServerJobId  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiContainerProcessed  INTEGER  NOT NULL , cjiLastModified  INTEGER  NOT NULL , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
    } else if (tmp0_subject === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentJob (  toUri  TEXT , cjProgress  BIGINT  NOT NULL , cjTotal  BIGINT  NOT NULL , cjNotificationTitle  TEXT , cjIsMeteredAllowed  BOOL  NOT NULL , params  TEXT , cjLct  BIGINT  NOT NULL , cjUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  BIGINT  NOT NULL , sourceUri  TEXT , cjiIsLeaf  BOOL  NOT NULL , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContainerUid  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiRecursiveProgress  BIGINT  NOT NULL , cjiRecursiveTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  BOOL  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiServerJobId  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiContainerProcessed  BOOL  NOT NULL , cjiLastModified  BIGINT  NOT NULL , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_124_125$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_124_125.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS ContentJobItem');
    var tmp0_subject = dbType(db);
    if (tmp0_subject === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  INTEGER  NOT NULL , sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiIsLeaf  INTEGER  NOT NULL , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContentEntryVersion  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiRecursiveProgress  INTEGER  NOT NULL , cjiRecursiveTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiServerJobId  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiContainerProcessed  INTEGER  NOT NULL , cjiLastModified  INTEGER  NOT NULL , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  INTEGER  NOT NULL , cevUrl  TEXT , cevContentType  TEXT , cevSitemapUrl  TEXT , cevSize  INTEGER  NOT NULL , cevInActive  INTEGER  NOT NULL , cevLastModified  INTEGER  NOT NULL , cevLct  INTEGER  NOT NULL , cevUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else if (tmp0_subject === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentJobItem (  cjiJobUid  BIGINT  NOT NULL , sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiIsLeaf  BOOL  NOT NULL , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContentEntryVersion  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiRecursiveProgress  BIGINT  NOT NULL , cjiRecursiveTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiConnectivityNeeded  BOOL  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiAttemptCount  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiServerJobId  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiUploadSessionUid  TEXT , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiContainerProcessed  BOOL  NOT NULL , cjiLastModified  BIGINT  NOT NULL , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX index_ContentJobItem_cjiContentEntryUid_cjiFinishTime ON ContentJobItem (cjiContentEntryUid, cjiFinishTime)');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  BIGINT  NOT NULL , cevUrl  TEXT , cevContentType  TEXT , cevSitemapUrl  TEXT , cevSize  BIGINT  NOT NULL , cevInActive  BOOL  NOT NULL , cevLastModified  BIGINT  NOT NULL , cevLct  BIGINT  NOT NULL , cevUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_125_126$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_126_127$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_126_127.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS TransferJob (  tjType  INTEGER  NOT NULL , tjStatus  INTEGER  NOT NULL , tjName  TEXT , tjUuid  TEXT , tjUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS TransferJobItem (  tjiTjUid  INTEGER  NOT NULL , tjTotalSize  INTEGER  NOT NULL , tjTransferred  INTEGER  NOT NULL , tjAttemptCount  INTEGER  NOT NULL , tjiSrc  TEXT , tjiDest  TEXT , tjiType  INTEGER  NOT NULL , tjiStatus  INTEGER  NOT NULL , tjiTableId  INTEGER  NOT NULL , tjiEntityUid  INTEGER  NOT NULL , tjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS TransferJob (  tjType  INTEGER  NOT NULL , tjStatus  INTEGER  NOT NULL , tjName  TEXT , tjUuid  TEXT , tjUid  SERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS TransferJobItem (  tjiTjUid  INTEGER  NOT NULL , tjTotalSize  BIGINT  NOT NULL , tjTransferred  BIGINT  NOT NULL , tjAttemptCount  INTEGER  NOT NULL , tjiSrc  TEXT , tjiDest  TEXT , tjiType  INTEGER  NOT NULL , tjiStatus  INTEGER  NOT NULL , tjiTableId  INTEGER  NOT NULL , tjiEntityUid  BIGINT  NOT NULL , tjiUid  SERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_127_128$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_127_128.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('DROP TABLE IF EXISTS PersonPicture');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS PersonPicture (  personPictureLct  INTEGER  NOT NULL , personPictureUri  TEXT , personPictureThumbnailUri  TEXT , fileSize  INTEGER  NOT NULL , personPictureActive  INTEGER  NOT NULL , personPictureUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('ALTER TABLE TransferJobItem ADD COLUMN tjiEntityEtag  INTEGER  NOT NULL  DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('DROP TABLE IF EXISTS PersonPicture');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS PersonPicture (  personPictureLct  BIGINT  NOT NULL , personPictureUri  TEXT , personPictureThumbnailUri  TEXT , fileSize  INTEGER  NOT NULL , personPictureActive  BOOL  NOT NULL , personPictureUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('ALTER TABLE TransferJobItem ADD COLUMN tjiEntityEtag  BIGINT  NOT NULL  DEFAULT 0');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_128_129$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_128_129.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS CoursePicture');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CoursePicture (  coursePictureLct  INTEGER  NOT NULL , coursePictureUri  TEXT , coursePictureThumbnailUri  TEXT , coursePictureActive  INTEGER  NOT NULL , coursePictureUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CoursePicture (  coursePictureLct  BIGINT  NOT NULL , coursePictureUri  TEXT , coursePictureThumbnailUri  TEXT , coursePictureActive  BOOL  NOT NULL , coursePictureUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_129_130$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_129_130.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('ALTER TABLE TransferJobItem ADD COLUMN tjiLockIdToRelease INTEGER NOT NULL DEFAULT 0');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_130_131$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_130_131.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CacheLockJoin (  cljTableId  INTEGER  NOT NULL , cljEntityUid  INTEGER  NOT NULL , cljUrl  TEXT  NOT NULL , cljLockId  INTEGER  NOT NULL , cljStatus  INTEGER  NOT NULL , cljType  INTEGER  NOT NULL , cljId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CacheLockJoin (  cljTableId  INTEGER  NOT NULL , cljEntityUid  BIGINT  NOT NULL , cljUrl  TEXT  NOT NULL , cljLockId  INTEGER  NOT NULL , cljStatus  INTEGER  NOT NULL , cljType  INTEGER  NOT NULL , cljId  SERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX idx_clj_table_entity_url ON CacheLockJoin (cljTableId, cljEntityUid, cljUrl)');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_132_133$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_132_133.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE ContentJobItem');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContentEntryVersion  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContentEntryVersion  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_133_134$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_133_134.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('CREATE INDEX tji_table_entity_etag ON TransferJobItem (tjiTableId, tjiEntityUid, tjiEntityEtag)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_134_135$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_134_135.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS OfflineItem (  oiNodeId  INTEGER  NOT NULL , oiClazzUid  INTEGER  NOT NULL , oiCourseBlockUid  INTEGER  NOT NULL , oiContentEntryUid  INTEGER  NOT NULL , oiActive  INTEGER  NOT NULL , oiLct  INTEGER  NOT NULL , oiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS OfflineItem (  oiNodeId  BIGINT  NOT NULL , oiClazzUid  BIGINT  NOT NULL , oiCourseBlockUid  BIGINT  NOT NULL , oiContentEntryUid  BIGINT  NOT NULL , oiActive  BOOL  NOT NULL , oiLct  BIGINT  NOT NULL , oiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX offline_item_node_content_entry ON OfflineItem (oiNodeId, oiContentEntryUid)');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_135_136$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_135_136.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjTableId INTEGER NOT NULL DEFAULT 0');
    this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjCreationType INTEGER NOT NULL DEFAULT 0');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjEntityUid INTEGER NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjTimeCreated INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjEntityUid BIGINT NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjTimeCreated BIGINT NOT NULL DEFAULT 0');
    }
    this_0.add_utx5q5_k$('CREATE INDEX TransferJob_idx_tjTableId_EntityUid ON TransferJob (tjTableId, tjEntityUid)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_136_137$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_136_137.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob (  oiptjOiUid  INTEGER  NOT NULL , oiptjTableId  INTEGER  NOT NULL , oiptjEntityUid  INTEGER  NOT NULL , oiptjUrl  TEXT , oiptjType  INTEGER  NOT NULL , oiptjId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS OfflineItemPendingTransferJob (  oiptjOiUid  BIGINT  NOT NULL , oiptjTableId  INTEGER  NOT NULL , oiptjEntityUid  BIGINT  NOT NULL , oiptjUrl  TEXT , oiptjType  INTEGER  NOT NULL , oiptjId  SERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_137_138$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_137_138.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryVersion RENAME to ContentEntryVersion_OLD');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  INTEGER  NOT NULL , cevUrl  TEXT , cevContentType  TEXT , cevManifestUrl  TEXT , cevSize  INTEGER  NOT NULL , cevInActive  INTEGER  NOT NULL , cevLastModified  INTEGER  NOT NULL , cevLct  INTEGER  NOT NULL , cevUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('INSERT INTO ContentEntryVersion (cevContentEntryUid, cevUrl, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid) SELECT cevContentEntryUid, cevUrl, cevContentType, cevSitemapUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid FROM ContentEntryVersion_OLD');
      this_0.add_utx5q5_k$('DROP TABLE ContentEntryVersion_OLD');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryVersion RENAME COLUMN cevSitemapUrl TO cevManifestUrl');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_138_139$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_138_139.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryVersion RENAME to ContentEntryVersion_OLD');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryVersion (  cevContentEntryUid  INTEGER  NOT NULL , cevOpenUri  TEXT , cevContentType  TEXT , cevManifestUrl  TEXT , cevSize  INTEGER  NOT NULL , cevInActive  INTEGER  NOT NULL , cevLastModified  INTEGER  NOT NULL , cevLct  INTEGER  NOT NULL , cevUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('INSERT INTO ContentEntryVersion (cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid) SELECT cevContentEntryUid, cevUrl, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevUid FROM ContentEntryVersion_OLD');
      this_0.add_utx5q5_k$('DROP TABLE ContentEntryVersion_OLD');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryVersion RENAME COLUMN cevUrl to cevOpenUri');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_139_140$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_139_140.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('CREATE INDEX transferjob_tjuid ON TransferJobItem (tjiTjUid)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_140_141$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_140_141.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE UserSession ALTER COLUMN usLcb TYPE BIGINT');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_141_142$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('DROP TABLE IF EXISTS ClazzAssignmentContentJoin');
  }
  function MIGRATION_142_143$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_142_143.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryParentChildJoin ADD COLUMN cepcjDeleted INTEGER NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS DeletedItem (  delItemName  TEXT , delItemIconUri  TEXT , delItemLastModTime  INTEGER  NOT NULL , delItemTimeDeleted  INTEGER  NOT NULL , delItemEntityTable  INTEGER  NOT NULL , delItemEntityUid  INTEGER  NOT NULL , delItemDeletedByPersonUid  INTEGER  NOT NULL , delItemStatus  INTEGER  NOT NULL , delItemIsFolder  INTEGER  NOT NULL  DEFAULT 0 , delItemUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryParentChildJoin ADD COLUMN cepcjDeleted BOOL NOT NULL DEFAULT false');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS DeletedItem (  delItemName  TEXT , delItemIconUri  TEXT , delItemLastModTime  BIGINT  NOT NULL , delItemTimeDeleted  BIGINT  NOT NULL , delItemEntityTable  INTEGER  NOT NULL , delItemEntityUid  BIGINT  NOT NULL , delItemDeletedByPersonUid  BIGINT  NOT NULL , delItemStatus  INTEGER  NOT NULL , delItemIsFolder  BOOL  NOT NULL  DEFAULT false, delItemUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE INDEX delitem_idx_status_time ON DeletedItem (delItemStatus, delItemTimeDeleted)');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_143_144$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_143_144.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS Message');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS Message (  messageSenderPersonUid  INTEGER  NOT NULL , messageToPersonUid  INTEGER  NOT NULL , messageText  TEXT , messageTimestamp  INTEGER  NOT NULL , messageLct  INTEGER  NOT NULL , messageUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS Message (  messageSenderPersonUid  BIGINT  NOT NULL , messageToPersonUid  BIGINT  NOT NULL , messageText  TEXT , messageTimestamp  BIGINT  NOT NULL , messageLct  BIGINT  NOT NULL , messageUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_144_145_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var insertOutgoingReplicationSql = '\n           INSERT INTO OutgoingReplication(destNodeId, orTableId, orPk1, orPk2)\n                SELECT UserSession.usClientNodeId AS destNodeId,\n                       ' + Companion_getInstance_99().get_TABLE_ID_xo2mej_k$() + ' AS orTableId,\n                       NEW.messageUid AS orPk1,\n                       0 as orPk2\n                 FROM UserSession\n                WHERE (   UserSession.usPersonUid = NEW.messageSenderPersonUid \n                       OR UserSession.usPersonUid = NEW.messageToPersonUid)\n                  AND UserSession.usStatus = ' + Companion_getInstance_128().get_STATUS_ACTIVE_f4k4s6_k$() + '     \n                  AND UserSession.usClientNodeId NOT IN \n                      (SELECT ReplicationOperation.repOpRemoteNodeId\n                         FROM ReplicationOperation\n                        WHERE ReplicationOperation.repOpTableId = ' + Companion_getInstance_99().get_TABLE_ID_xo2mej_k$() + ');\n        ';
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_144_145_SERVER.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER IF NOT EXISTS message_send_trigger\n                    AFTER INSERT ON Message\n                    FOR EACH ROW\n                    BEGIN\n                    ' + insertOutgoingReplicationSql + '\n                    END    \n                ');
    } else {
      this_0.add_utx5q5_k$('\n                    CREATE OR REPLACE FUNCTION message_send_fn() RETURNS TRIGGER AS $$\n                    BEGIN\n                    ' + insertOutgoingReplicationSql + '\n                    RETURN NEW;\n                    END $$ LANGUAGE plpgsql\n                ');
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER message_send_trig AFTER INSERT \n                    ON Message\n                    FOR EACH ROW EXECUTE PROCEDURE message_send_fn()\n                ');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_144_145_CLIENT$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_145_146$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('CREATE INDEX message_idx_send_to_time ON Message (messageSenderPersonUid, messageToPersonUid, messageTimestamp)');
  }
  function MIGRATION_146_147$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_146_147.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE CacheLockJoin ALTER COLUMN cljLockId TYPE BIGINT');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_147_148$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_147_148.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjOiUid BIGINT NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('ALTER TABLE CacheLockJoin ADD COLUMN cljOiUid BIGINT NOT NULL DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE TransferJob ADD COLUMN tjOiUid INTEGER NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('ALTER TABLE CacheLockJoin ADD COLUMN cljOiUid INTEGER NOT NULL DEFAULT 0');
    }
    this_0.add_utx5q5_k$('CREATE INDEX idx_clj_offline_item_uid ON CacheLockJoin (cljOiUid)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('\n        CREATE TRIGGER IF NOT EXISTS offline_item_inactive_trig \n                AFTER UPDATE ON OfflineItem\n                FOR EACH ROW WHEN NEW.oiActive = 0 AND OLD.oiActive = 1\n                BEGIN \n                UPDATE CacheLockJoin\n                   SET cljStatus = ' + Companion_getInstance_47().get_STATUS_PENDING_DELETE_jcrikp_k$() + '\n                 WHERE cljOiUid = NEW.oiUid;  \n                END\n        ');
  }
  function MIGRATION_148_149_NO_OFFLINE_ITEMS$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_149_150$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_149_150.<anonymous>.<anonymous>' call
    var fieldType = dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$() ? 'INTEGER' : 'BIGINT';
    this_0.add_utx5q5_k$('ALTER TABLE ContentEntryVersion ADD COLUMN cevStorageSize ' + fieldType + ' NOT NULL DEFAULT 0');
    this_0.add_utx5q5_k$('ALTER TABLE ContentEntryVersion ADD COLUMN cevOriginalSize ' + fieldType + ' NOT NULL DEFAULT 0');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_150_151$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('ALTER TABLE TransferJobItem ADD COLUMN tjiPartialTmpFile TEXT');
  }
  function MIGRATION_151_152$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_151_152.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(50, NEW.personPictureUid, NEW.personPictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 50\n                               AND cljEntityUid = OLD.personPictureUid\n                               AND cljUrl = OLD.personPictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_50_personPictureUri_ins_t\n                            AFTER INSERT ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_50_personPictureUri_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND OLD.personPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_50_personPictureUri_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureUri IS DISTINCT FROM OLD.personPictureUri AND NEW.personPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_50_personPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(50, NEW.personPictureUid, NEW.personPictureThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_50_personPictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 50\n                               AND cljEntityUid = OLD.personPictureUid\n                               AND cljUrl = OLD.personPictureThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_ins_t\n                            AFTER INSERT ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_50_personPictureThumbnailUr_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND OLD.personPictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_50_personPictureThumbnailUr();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_50_personPictureThumbnailUr_upd_t\n                            AFTER UPDATE ON PersonPicture\n                            FOR EACH ROW\n                            WHEN (NEW.personPictureThumbnailUri IS DISTINCT FROM OLD.personPictureThumbnailUri AND NEW.personPictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_50_personPictureThumbnailUr();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(125, NEW.coursePictureUid, NEW.coursePictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 125\n                               AND cljEntityUid = OLD.coursePictureUid\n                               AND cljUrl = OLD.coursePictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureUri_ins_t\n                            AFTER INSERT ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureUri_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND OLD.coursePictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_125_coursePictureUri_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureUri IS DISTINCT FROM OLD.coursePictureUri AND NEW.coursePictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_125_coursePictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(125, NEW.coursePictureUid, NEW.coursePictureThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_125_coursePictureThumbnailUr() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 125\n                               AND cljEntityUid = OLD.coursePictureUid\n                               AND cljUrl = OLD.coursePictureThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_ins_t\n                            AFTER INSERT ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_125_coursePictureThumbnailUr_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND OLD.coursePictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_125_coursePictureThumbnailUr();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_125_coursePictureThumbnailUr_upd_t\n                            AFTER UPDATE ON CoursePicture\n                            FOR EACH ROW\n                            WHEN (NEW.coursePictureThumbnailUri IS DISTINCT FROM OLD.coursePictureThumbnailUri AND NEW.coursePictureThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_125_coursePictureThumbnailUr();\n                        ');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_152_153$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_152_153.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS EnrolmentRequest (  erClazzUid  INTEGER  NOT NULL , erClazzName  TEXT , erPersonUid  INTEGER  NOT NULL , erPersonFullname  TEXT , erPersonPictureUri  TEXT , erPersonUsername  TEXT , erRole  INTEGER  NOT NULL , erRequestTime  INTEGER  NOT NULL , erStatus  INTEGER  NOT NULL , erStatusSetByPersonUid  INTEGER  NOT NULL , erDeleted  INTEGER  NOT NULL , erStatusSetAuth  TEXT , erLastModified  INTEGER  NOT NULL , erUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS EnrolmentRequest (  erClazzUid  BIGINT  NOT NULL , erClazzName  TEXT , erPersonUid  BIGINT  NOT NULL , erPersonFullname  TEXT , erPersonPictureUri  TEXT , erPersonUsername  TEXT , erRole  INTEGER  NOT NULL , erRequestTime  BIGINT  NOT NULL , erStatus  INTEGER  NOT NULL , erStatusSetByPersonUid  BIGINT  NOT NULL , erDeleted  BOOL  NOT NULL , erStatusSetAuth  TEXT , erLastModified  BIGINT  NOT NULL , erUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.add_utx5q5_k$('CREATE INDEX idx_enrolmentrequest_by_clazz ON EnrolmentRequest (erClazzUid, erStatus)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_enrolmentrequest_by_person ON EnrolmentRequest (erPersonUid, erStatus)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_153_154$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_153_154.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CoursePermission (  cpLastModified  INTEGER  NOT NULL , cpClazzUid  INTEGER  NOT NULL , cpToEnrolmentRole  INTEGER  NOT NULL , cpToPersonUid  INTEGER  NOT NULL , cpToGroupUid  INTEGER  NOT NULL , cpPermissionsFlag  INTEGER  NOT NULL , cpIsDeleted  INTEGER  NOT NULL , cpUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS SystemPermission (  spToPersonUid  INTEGER  NOT NULL , spToGroupUid  INTEGER  NOT NULL , spPermissionsFlag  INTEGER  NOT NULL , spLastModified  INTEGER  NOT NULL , spIsDeleted  INTEGER  NOT NULL , spUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('ALTER TABLE Clazz ADD COLUMN clazzOwnerPersonUid INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CoursePermission (  cpLastModified  BIGINT  NOT NULL , cpClazzUid  BIGINT  NOT NULL , cpToEnrolmentRole  INTEGER  NOT NULL , cpToPersonUid  BIGINT  NOT NULL , cpToGroupUid  BIGINT  NOT NULL , cpPermissionsFlag  BIGINT  NOT NULL , cpIsDeleted  BOOL  NOT NULL , cpUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS SystemPermission (  spToPersonUid  BIGINT  NOT NULL , spToGroupUid  BIGINT  NOT NULL , spPermissionsFlag  BIGINT  NOT NULL , spLastModified  BIGINT  NOT NULL , spIsDeleted  BOOL  NOT NULL , spUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('ALTER TABLE Clazz ADD COLUMN clazzOwnerPersonUid BIGINT NOT NULL DEFAULT 0');
    }
    this_0.add_utx5q5_k$('CREATE INDEX idx_coursepermission_clazzuid ON CoursePermission (cpClazzUid)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_systempermission_personuid ON SystemPermission (spToPersonUid)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_154_155$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_154_155.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE CourseAssignmentSubmission ADD COLUMN casClazzUid INTEGER NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('ALTER TABLE CourseAssignmentMark ADD COLUMN camClazzUid INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE CourseAssignmentSubmission ADD COLUMN casClazzUid BIGINT NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('ALTER TABLE CourseAssignmentMark ADD COLUMN camClazzUid BIGINT NOT NULL DEFAULT 0');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_155_156_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_155_156_SERVER.<anonymous>.<anonymous>' call
    var falseVal = dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$() ? '0' : 'false';
    this_0.add_utx5q5_k$("\n            INSERT INTO SystemPermission(spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted)\n            SELECT Person.personUid AS spToPersonUid,\n                   0 AS spToGroupUid,\n                   CASE \n                   WHEN Person.username = 'admin' THEN " + Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$().toString() + '\n                   ELSE 0\n                   END AS spPermissionsFlag,\n                   ' + systemTimeInMillis().toString() + ' AS spLastModified,\n                   ' + falseVal + ' AS spIsDeleted\n              FROM Person\n        ');
    this_0.add_utx5q5_k$('\n            INSERT INTO CoursePermission(cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted)\n            SELECT ' + systemTimeInMillis().toString() + ' AS cpLastModified,\n                   Clazz.clazzUid AS cpClazzUid,\n                   ' + Companion_getInstance_51().get_ROLE_TEACHER_obiog2_k$() + ' AS cpToEnrolmentRole,\n                   0 AS cpToPersonUid,\n                   0 AS cpToGroupUid,\n                   ' + Companion_getInstance_85().get_TEACHER_DEFAULT_PERMISSIONS_tozqow_k$().toString() + ' AS cpPermissionsFlag,\n                   ' + falseVal + ' AS cpIsDeleted\n              FROM Clazz     \n        ');
    this_0.add_utx5q5_k$('\n            INSERT INTO CoursePermission(cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted)\n            SELECT ' + systemTimeInMillis().toString() + ' AS cpLastModified,\n                   Clazz.clazzUid AS cpClazzUid,\n                   ' + Companion_getInstance_51().get_ROLE_STUDENT_h1t6zf_k$() + ' AS cpToEnrolmentRole,\n                   0 AS cpToPersonUid,\n                   0 AS cpToGroupUid,\n                   ' + Companion_getInstance_85().get_STUDENT_DEFAULT_PERMISSIONS_udg1tz_k$().toString() + ' AS cpPermissionsFlag,\n                   ' + falseVal + ' AS cpIsDeleted\n              FROM Clazz     \n        ');
    this_0.add_utx5q5_k$("\n           UPDATE Clazz\n              SET clazzOwnerPersonUid = \n                  (SELECT Person.personUid\n                     FROM Person\n                    WHERE Person.username = 'admin'\n                    LIMIT 1) \n        ");
    this_0.add_utx5q5_k$('\n            UPDATE ScopedGrant\n               SET sgPermissions = 0,\n                   sgLct = ' + systemTimeInMillis().toString() + '\n        ');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_155_156_CLIENT$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_156_157$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_156_157.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS CourseAssignmentSubmissionAttachment');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile (  casaSubmissionUid  INTEGER  NOT NULL , casaCaUid  INTEGER  NOT NULL , casaClazzUid  INTEGER  NOT NULL , casaMimeType  TEXT , casaFileName  TEXT , casaUri  TEXT , casaSize  INTEGER  NOT NULL , casaTimestamp  INTEGER  NOT NULL , casaUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CourseAssignmentSubmissionFile (  casaSubmissionUid  BIGINT  NOT NULL , casaCaUid  BIGINT  NOT NULL , casaClazzUid  BIGINT  NOT NULL , casaMimeType  TEXT , casaFileName  TEXT , casaUri  TEXT , casaSize  INTEGER  NOT NULL , casaTimestamp  BIGINT  NOT NULL , casaUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_157_158$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_157_158.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaDeleted INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaDeleted BOOL NOT NULL DEFAULT FALSE');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_158_159$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_158_159.<anonymous>.<anonymous>' call
    var colType = dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$() ? 'INTEGER' : 'BIGINT';
    this_0.add_utx5q5_k$('ALTER TABLE CourseAssignmentSubmissionFile ADD COLUMN casaSubmitterUid ' + colType + ' NOT NULL DEFAULT 0');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_159_160$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_159_160.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE IF EXISTS Comments');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS Comments (  commentsText  TEXT , commentsEntityUid  INTEGER  NOT NULL , commentsStatus  INTEGER  NOT NULL , commentsFromPersonUid  INTEGER  NOT NULL , commentsForSubmitterUid  INTEGER  NOT NULL , commentsFromSubmitterUid  INTEGER  NOT NULL , commentsFlagged  INTEGER  NOT NULL , commentsDeleted  INTEGER  NOT NULL , commentsDateTimeAdded  INTEGER  NOT NULL , commentsLct  INTEGER  NOT NULL , commentsUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS Comments (  commentsText  TEXT , commentsEntityUid  BIGINT  NOT NULL , commentsStatus  INTEGER  NOT NULL , commentsFromPersonUid  BIGINT  NOT NULL , commentsForSubmitterUid  BIGINT  NOT NULL , commentsFromSubmitterUid  BIGINT  NOT NULL , commentsFlagged  BOOL  NOT NULL , commentsDeleted  BOOL  NOT NULL , commentsDateTimeAdded  BIGINT  NOT NULL , commentsLct  BIGINT  NOT NULL , commentsUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.add_utx5q5_k$('CREATE INDEX idx_comments_entity_submitter ON Comments (commentsEntityUid, commentsForSubmitterUid)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_160_161$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_160_161.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_POSTGRES_6bxnsu_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost DROP COLUMN discussionPostVisible');
      this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost DROP COLUMN discussionPostArchive');
      this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost ADD COLUMN dpDeleted BOOL NOT NULL DEFAULT FALSE');
      this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost ADD COLUMN discussionPostReplyToPostUid BIGINT NOT NULL DEFAULT 0');
      this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost ADD COLUMN discussionPostCourseBlockUid BIGINT NOT NULL DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost RENAME to DiscussionPost_OLD');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS DiscussionPost (  discussionPostReplyToPostUid  INTEGER  NOT NULL , discussionPostTitle  TEXT , discussionPostMessage  TEXT , discussionPostStartDate  INTEGER  NOT NULL , discussionPostCourseBlockUid  INTEGER  NOT NULL , dpDeleted  INTEGER  NOT NULL , discussionPostStartedPersonUid  INTEGER  NOT NULL , discussionPostClazzUid  INTEGER  NOT NULL , discussionPostLct  INTEGER  NOT NULL , discussionPostUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('INSERT INTO DiscussionPost (discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostUid) SELECT discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, 0 AS dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostUid FROM DiscussionPost_OLD');
      this_0.add_utx5q5_k$('DROP TABLE DiscussionPost_OLD');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_161_162_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_161_162_SERVER.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('\n                        CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Ins_casaUri\n                        AFTER INSERT ON CourseAssignmentSubmissionFile\n                        FOR EACH ROW WHEN NEW.casaUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);\n                        END\n                    ');
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_New\n                    AFTER UPDATE ON CourseAssignmentSubmissionFile\n                    FOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND NEW.casaUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);\n                    END   \n                ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Upd_casaUri_Old\nAFTER UPDATE ON CourseAssignmentSubmissionFile\nFOR EACH ROW WHEN NEW.casaUri != OLD.casaUri AND OLD.casaUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 90\n       AND cljEntityUid = OLD.casaUid\n       AND cljUrl = OLD.casaUri;\nEND        ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_CourseAssignmentSubmissionFile_Del_casaUri\nAFTER DELETE ON CourseAssignmentSubmissionFile\nFOR EACH ROW WHEN OLD.casaUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 90\n       AND cljEntityUid = OLD.casaUid\n       AND cljUrl = OLD.casaUri;\nEND       ');
    } else {
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_90_casaUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(90, NEW.casaUid, NEW.casaUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_90_casaUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 90\n                               AND cljEntityUid = OLD.casaUid\n                               AND cljUrl = OLD.casaUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_90_casaUri_ins_t\n                            AFTER INSERT ON CourseAssignmentSubmissionFile\n                            FOR EACH ROW\n                            WHEN (NEW.casaUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_90_casaUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_90_casaUri_upd_t\n                            AFTER UPDATE ON CourseAssignmentSubmissionFile\n                            FOR EACH ROW\n                            WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND OLD.casaUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_90_casaUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_90_casaUri_upd_t\n                            AFTER UPDATE ON CourseAssignmentSubmissionFile\n                            FOR EACH ROW\n                            WHEN (NEW.casaUri IS DISTINCT FROM OLD.casaUri AND NEW.casaUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_90_casaUri();\n                        ');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_161_162_CLIENT$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_162_163$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('ALTER TABLE ContentEntry ADD COLUMN contentOwnerType INTEGER NOT NULL DEFAULT 0');
  }
  function MIGRATION_163_164$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiCompressionLevel INTEGER NOT NULL DEFAULT 0');
  }
  function MIGRATION_164_165$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_164_165.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiError TEXT');
    if (dbType(it) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiErrorDismissed INTEGER NOT NULL DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiErrorDismissed BOOL NOT NULL DEFAULT FALSE');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_165_166$lambda(it) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var tmp;
    if (dbType(it) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      tmp = listOf('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiOwnerPersonUid INTEGER NOT NULL DEFAULT 0');
    } else {
      tmp = listOf('ALTER TABLE ContentEntryImportJob ADD COLUMN cjiOwnerPersonUid BIGINT NOT NULL DEFAULT 0');
    }
    return tmp;
  }
  function MIGRATION_166_167$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return listOf('UPDATE ContentEntryImportJob SET cjiStatus = 24 WHERE cjiStatus = 4');
  }
  function MIGRATION_167_168$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var tmp;
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      tmp = listOf('CREATE TABLE IF NOT EXISTS CourseBlockPicture (  cbpUid  INTEGER  PRIMARY KEY  NOT NULL , cbpLct  INTEGER  NOT NULL , cbpPictureUri  TEXT , cbpThumbnailUri  TEXT )');
    } else {
      tmp = listOf('CREATE TABLE IF NOT EXISTS CourseBlockPicture (  cbpUid  BIGINT  PRIMARY KEY  NOT NULL , cbpLct  BIGINT  NOT NULL , cbpPictureUri  TEXT , cbpThumbnailUri  TEXT )');
    }
    return tmp;
  }
  function MIGRATION_168_169$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    var tmp;
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      tmp = listOf('CREATE TABLE IF NOT EXISTS ContentEntryPicture2 (  cepUid  INTEGER  PRIMARY KEY  NOT NULL , cepLct  INTEGER  NOT NULL , cepPictureUri  TEXT , cepThumbnailUri  TEXT )');
    } else {
      tmp = listOf('CREATE TABLE IF NOT EXISTS ContentEntryPicture2 (  cepUid  BIGINT  PRIMARY KEY  NOT NULL , cepLct  BIGINT  NOT NULL , cepPictureUri  TEXT , cepThumbnailUri  TEXT )');
    }
    return tmp;
  }
  function MIGRATION_169_170_SERVER$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_169_170_SERVER.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('\n                        CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpPictureUri\n                        AFTER INSERT ON CourseBlockPicture\n                        FOR EACH ROW WHEN NEW.cbpPictureUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);\n                        END\n                    ');
      this_0.add_utx5q5_k$('\n                        CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Ins_cbpThumbnailUri\n                        AFTER INSERT ON CourseBlockPicture\n                        FOR EACH ROW WHEN NEW.cbpThumbnailUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);\n                        END\n                    ');
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_New\n                    AFTER UPDATE ON CourseBlockPicture\n                    FOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);\n                    END   \n                ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpPictureUri_Old\nAFTER UPDATE ON CourseBlockPicture\nFOR EACH ROW WHEN NEW.cbpPictureUri != OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpPictureUri;\nEND        ');
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_New\n                    AFTER UPDATE ON CourseBlockPicture\n                    FOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);\n                    END   \n                ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Upd_cbpThumbnailUri_Old\nAFTER UPDATE ON CourseBlockPicture\nFOR EACH ROW WHEN NEW.cbpThumbnailUri != OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpThumbnailUri;\nEND        ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpPictureUri\nAFTER DELETE ON CourseBlockPicture\nFOR EACH ROW WHEN OLD.cbpPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpPictureUri;\nEND       ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_CourseBlockPicture_Del_cbpThumbnailUri\nAFTER DELETE ON CourseBlockPicture\nFOR EACH ROW WHEN OLD.cbpThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6677\n       AND cljEntityUid = OLD.cbpUid\n       AND cljUrl = OLD.cbpThumbnailUri;\nEND       ');
      this_0.add_utx5q5_k$('\n                        CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepPictureUri\n                        AFTER INSERT ON ContentEntryPicture2\n                        FOR EACH ROW WHEN NEW.cepPictureUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);\n                        END\n                    ');
      this_0.add_utx5q5_k$('\n                        CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Ins_cepThumbnailUri\n                        AFTER INSERT ON ContentEntryPicture2\n                        FOR EACH ROW WHEN NEW.cepThumbnailUri IS NOT NULL\n                        BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);\n                        END\n                    ');
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_New\n                    AFTER UPDATE ON ContentEntryPicture2\n                    FOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);\n                    END   \n                ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepPictureUri_Old\nAFTER UPDATE ON ContentEntryPicture2\nFOR EACH ROW WHEN NEW.cepPictureUri != OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepPictureUri;\nEND        ');
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_New\n                    AFTER UPDATE ON ContentEntryPicture2\n                    FOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL\n                    BEGIN\n                        INSERT OR REPLACE INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                        VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);\n                    END   \n                ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Upd_cepThumbnailUri_Old\nAFTER UPDATE ON ContentEntryPicture2\nFOR EACH ROW WHEN NEW.cepThumbnailUri != OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepThumbnailUri;\nEND        ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepPictureUri\nAFTER DELETE ON ContentEntryPicture2\nFOR EACH ROW WHEN OLD.cepPictureUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepPictureUri;\nEND       ');
      this_0.add_utx5q5_k$('CREATE TRIGGER IF NOT EXISTS Retain_ContentEntryPicture2_Del_cepThumbnailUri\nAFTER DELETE ON ContentEntryPicture2\nFOR EACH ROW WHEN OLD.cepThumbnailUri IS NOT NULL\nBEGIN\n    UPDATE CacheLockJoin \n       SET cljStatus = 3\n     WHERE cljTableId = 6678\n       AND cljEntityUid = OLD.cepUid\n       AND cljUrl = OLD.cepThumbnailUri;\nEND       ');
    } else {
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6677, NEW.cbpUid, NEW.cbpPictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6677\n                               AND cljEntityUid = OLD.cbpUid\n                               AND cljUrl = OLD.cbpPictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_ins_t\n                            AFTER INSERT ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6677_cbpPictureUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND OLD.cbpPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_6677_cbpPictureUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpPictureUri IS DISTINCT FROM OLD.cbpPictureUri AND NEW.cbpPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6677_cbpPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6677, NEW.cbpUid, NEW.cbpThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6677_cbpThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6677\n                               AND cljEntityUid = OLD.cbpUid\n                               AND cljUrl = OLD.cbpThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_ins_t\n                            AFTER INSERT ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6677_cbpThumbnailUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND OLD.cbpThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6677_cbpThumbnailUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_6677_cbpThumbnailUri_upd_t\n                            AFTER UPDATE ON CourseBlockPicture\n                            FOR EACH ROW\n                            WHEN (NEW.cbpThumbnailUri IS DISTINCT FROM OLD.cbpThumbnailUri AND NEW.cbpThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6677_cbpThumbnailUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6678, NEW.cepUid, NEW.cepPictureUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepPictureUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6678\n                               AND cljEntityUid = OLD.cepUid\n                               AND cljUrl = OLD.cepPictureUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6678_cepPictureUri_ins_t\n                            AFTER INSERT ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6678_cepPictureUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND OLD.cepPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_6678_cepPictureUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepPictureUri IS DISTINCT FROM OLD.cepPictureUri AND NEW.cepPictureUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6678_cepPictureUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_c_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            INSERT INTO CacheLockJoin(cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType)\n                            VALUES(6678, NEW.cepUid, NEW.cepThumbnailUri, 0, 1, 1);\n                            RETURN NEW;\n                            END $$ LANGUAGE plpgsql\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE OR REPLACE FUNCTION retain_d_clj_6678_cepThumbnailUri() RETURNS TRIGGER AS $$\n                            BEGIN\n                            UPDATE CacheLockJoin \n                               SET cljStatus = 3\n                             WHERE cljTableId = 6678\n                               AND cljEntityUid = OLD.cepUid\n                               AND cljUrl = OLD.cepThumbnailUri;\n                            RETURN OLD;\n                            END $$ LANGUAGE plpgsql   \n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_ins_t\n                            AFTER INSERT ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_c_clj_6678_cepThumbnailUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND OLD.cepThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_c_clj_6678_cepThumbnailUri();\n                        ');
      this_0.add_utx5q5_k$('\n                            CREATE TRIGGER retain_d_clj_6678_cepThumbnailUri_upd_t\n                            AFTER UPDATE ON ContentEntryPicture2\n                            FOR EACH ROW\n                            WHEN (NEW.cepThumbnailUri IS DISTINCT FROM OLD.cepThumbnailUri AND NEW.cepThumbnailUri IS NOT NULL)\n                            EXECUTE FUNCTION retain_d_clj_6678_cepThumbnailUri();\n                        ');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_169_170_CLIENT$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    return emptyList();
  }
  function MIGRATION_170_171$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_170_171.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS TransferJobError (  tjeTjUid  INTEGER  NOT NULL , tjeTime  INTEGER  NOT NULL , tjeErrorStr  TEXT , tjeDismissed  INTEGER  NOT NULL , tjeId  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS TransferJobError (  tjeTjUid  INTEGER  NOT NULL , tjeTime  BIGINT  NOT NULL , tjeErrorStr  TEXT , tjeDismissed  BOOL  NOT NULL , tjeId  SERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.add_utx5q5_k$('CREATE INDEX idx_transferjoberror_tjetjuid ON TransferJobError (tjeTjUid)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_171_172$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_171_172.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ADD COLUMN cbSourcedId TEXT');
    this_0.add_utx5q5_k$('CREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_courseblock_cbsourcedid ON CourseBlock (cbSourcedId)');
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_172_194$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ADD COLUMN cbClazzSourcedId TEXT');
    this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ADD COLUMN cbCreatedByAppId TEXT');
    this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ADD COLUMN cbMetadata TEXT');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE CourseBlock RENAME to CourseBlock_OLD');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS CourseBlock (  cbType  INTEGER  NOT NULL , cbIndentLevel  INTEGER  NOT NULL , cbModuleParentBlockUid  INTEGER  NOT NULL , cbTitle  TEXT , cbDescription  TEXT , cbCompletionCriteria  INTEGER  NOT NULL , cbHideUntilDate  INTEGER  NOT NULL , cbDeadlineDate  INTEGER  NOT NULL , cbLateSubmissionPenalty  INTEGER  NOT NULL , cbGracePeriodDate  INTEGER  NOT NULL , cbMaxPoints  REAl , cbMinPoints  REAL , cbIndex  INTEGER  NOT NULL , cbClazzUid  INTEGER  NOT NULL , cbClazzSourcedId  TEXT , cbActive  INTEGER  NOT NULL , cbHidden  INTEGER  NOT NULL , cbEntityUid  INTEGER  NOT NULL , cbLct  INTEGER  NOT NULL , cbSourcedId  TEXT , cbMetadata  TEXT , cbCreatedByAppId  TEXT , cbUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('INSERT INTO CourseBlock (cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, cbUid) SELECT cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, cbUid FROM CourseBlock_OLD');
      this_0.add_utx5q5_k$('DROP TABLE CourseBlock_OLD');
      this_0.add_utx5q5_k$('CREATE INDEX idx_courseblock_cbclazzuid ON CourseBlock (cbClazzUid)');
      this_0.add_utx5q5_k$('CREATE INDEX idx_courseblock_cbsourcedid ON CourseBlock (cbSourcedId)');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ALTER COLUMN cbMaxPoints TYPE FLOAT');
      this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ALTER COLUMN cbMaxPoints DROP NOT NULL');
      this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ALTER COLUMN cbMinPoints TYPE FLOAT');
      this_0.add_utx5q5_k$('ALTER TABLE CourseBlock ALTER COLUMN cbMinPoints DROP NOT NULL');
    }
    var bigIntType = dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$() ? 'INTEGER' : 'BIGINT';
    // Inline function 'kotlin.collections.forEach' call
    var tmp0_iterator = numberRangeToNumber(3, 4).iterator_jk1svi_k$();
    while (tmp0_iterator.hasNext_bitz1p_k$()) {
      var element = tmp0_iterator.next_20eer_k$();
      // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>.<anonymous>' call
      this_0.add_utx5q5_k$('ALTER TABLE OutgoingReplication ADD COLUMN orPk' + element + ' ' + bigIntType + ' NOT NULL DEFAULT 0');
    }
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE OutgoingReplication RENAME to OutgoingReplication_OLD');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS OutgoingReplication (  destNodeId  INTEGER  NOT NULL , orPk1  INTEGER  NOT NULL , orPk2  INTEGER  NOT NULL  DEFAULT 0 , orPk3  INTEGER  NOT NULL  DEFAULT 0 , orPk4  INTEGER  NOT NULL  DEFAULT 0 , orTableId  INTEGER  NOT NULL , orUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('INSERT INTO OutgoingReplication (destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid) SELECT destNodeId, orPk1, orPk2, orPk3, orPk4, orTableId, orUid FROM OutgoingReplication_OLD');
      this_0.add_utx5q5_k$('DROP TABLE OutgoingReplication_OLD');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE OutgoingReplication ALTER COLUMN orPk2 SET DEFAULT 0');
    }
    // Inline function 'kotlin.collections.forEach' call
    var tmp0_iterator_0 = listOf_0(['StudentResult', 'StatementEntity', 'AgentEntity', 'VerbLangMapEntry', 'XObjectEntity', 'ContextXObjectStatementJoin', 'VerbEntity']).iterator_jk1svi_k$();
    while (tmp0_iterator_0.hasNext_bitz1p_k$()) {
      var element_0 = tmp0_iterator_0.next_20eer_k$();
      // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>.<anonymous>' call
      this_0.add_utx5q5_k$('DROP TABLE IF EXISTS ' + element_0);
    }
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StudentResult (  srUid  INTEGER  PRIMARY KEY  NOT NULL , srSourcedId  TEXT , srCourseBlockUid  INTEGER  NOT NULL , srLineItemSourcedId  TEXT , srLineItemHref  TEXT , srClazzUid  INTEGER  NOT NULL , srAssignmentUid  INTEGER  NOT NULL , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  INTEGER  NOT NULL , srStudentPersonSourcedId  TEXT , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  INTEGER  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  REAl  NOT NULL , srScoreDate  INTEGER  NOT NULL , srLastModified  INTEGER  NOT NULL , srComment  TEXT , srAppId  TEXT , srDeleted  INTEGER  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityEntity (  actUid  INTEGER  PRIMARY KEY  NOT NULL , actIdIri  TEXT , actType  TEXT , actMoreInfo  TEXT , actInteractionType  INTEGER  NOT NULL , actCorrectResponsePatterns  TEXT , actLct  INTEGER  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityExtensionEntity (  aeeActivityUid  INTEGER  NOT NULL , aeeKeyHash  INTEGER  NOT NULL , aeeKey  TEXT , aeeJson  TEXT , aeeLastMod  INTEGER  NOT NULL , aeeIsDeleted  INTEGER  NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityInteractionEntity (  aieActivityUid  INTEGER  NOT NULL , aieHash  INTEGER  NOT NULL , aieProp  INTEGER  NOT NULL , aieId  TEXT , aieLastMod  INTEGER  NOT NULL , aieIsDeleted  INTEGER  NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityLangMapEntry (  almeActivityUid  INTEGER  NOT NULL , almeHash  INTEGER  NOT NULL , almeLangCode  TEXT , almeValue  TEXT , almeAieHash  INTEGER  NOT NULL , almeLastMod  INTEGER  NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActorEntity (  actorPersonUid  INTEGER  NOT NULL , actorName  TEXT , actorMbox  TEXT , actorMbox_sha1sum  TEXT , actorOpenid  TEXT , actorAccountName  TEXT , actorAccountHomePage  TEXT , actorEtag  INTEGER  NOT NULL , actorLct  INTEGER  NOT NULL , actorObjectType  INTEGER  NOT NULL , actorUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS GroupMemberActorJoin (  gmajGroupActorUid  BIGINT  NOT NULL , gmajMemberActorUid  BIGINT  NOT NULL , gmajLastMod  BIGINT  NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StatementContextActivityJoin (  scajFromStatementIdHi  INTEGER  NOT NULL , scajFromStatementIdLo  INTEGER  NOT NULL , scajToHash  INTEGER  NOT NULL , scajContextType  INTEGER  NOT NULL , scajToActivityUid  INTEGER  NOT NULL , scajToActivityId  TEXT , scajEtag  INTEGER  NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StatementEntity (  statementIdHi  INTEGER  NOT NULL , statementIdLo  INTEGER  NOT NULL , statementActorPersonUid  INTEGER  NOT NULL , statementVerbUid  INTEGER  NOT NULL , statementObjectType  INTEGER  NOT NULL , statementObjectUid1  INTEGER  NOT NULL , statementObjectUid2  INTEGER  NOT NULL , statementActorUid  INTEGER  NOT NULL , authorityActorUid  INTEGER  NOT NULL , teamUid  INTEGER  NOT NULL , resultCompletion  INTEGER , resultSuccess  INTEGER , resultScoreScaled  REAl , resultScoreRaw  REAl , resultScoreMin  REAl , resultScoreMax  REAl , resultDuration  INTEGER , resultResponse  TEXT , timestamp  INTEGER  NOT NULL , stored  INTEGER  NOT NULL , contextRegistrationHi  INTEGER  NOT NULL , contextRegistrationLo  INTEGER  NOT NULL , contextPlatform  TEXT , contextStatementRefIdHi  INTEGER  NOT NULL , contextStatementRefIdLo  INTEGER  NOT NULL , contextInstructorActorUid  INTEGER  NOT NULL , statementLct  INTEGER  NOT NULL , extensionProgress  INTEGER , completionOrProgress  INTEGER  NOT NULL , statementContentEntryUid  INTEGER  NOT NULL , statementLearnerGroupUid  INTEGER  NOT NULL , statementClazzUid  INTEGER  NOT NULL , statementCbUid  INTEGER  NOT NULL , statementDoorNode  INTEGER  NOT NULL , isSubStatement  INTEGER  NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StatementEntityJson (  stmtJsonIdHi  INTEGER  NOT NULL , stmtJsonIdLo  INTEGER  NOT NULL , stmtEtag  INTEGER  NOT NULL , fullStatement  TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS VerbEntity (  verbUid  INTEGER  PRIMARY KEY  NOT NULL , verbUrlId  TEXT , verbDeleted  INTEGER  NOT NULL , verbLct  INTEGER  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS VerbLangMapEntry (  vlmeVerbUid  INTEGER  NOT NULL , vlmeLangHash  INTEGER  NOT NULL , vlmeLangCode  TEXT , vlmeEntryString  TEXT , vlmeLastModified  INTEGER  NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  INTEGER  NOT NULL , xseRegistrationHi  INTEGER  NOT NULL , xseRegistrationLo  INTEGER  NOT NULL , xseUsUid  INTEGER  NOT NULL , xseAccountPersonUid  INTEGER  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  INTEGER  NOT NULL , xseCbUid  INTEGER  NOT NULL , xseContentEntryUid  INTEGER  NOT NULL , xseRootActivityId  TEXT , xseStartTime  INTEGER  NOT NULL , xseExpireTime  INTEGER  NOT NULL , xseAuth  TEXT , xseUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StudentResult (  srUid  BIGINT  PRIMARY KEY  NOT NULL , srSourcedId  TEXT , srCourseBlockUid  BIGINT  NOT NULL , srLineItemSourcedId  TEXT , srLineItemHref  TEXT , srClazzUid  BIGINT  NOT NULL , srAssignmentUid  BIGINT  NOT NULL , srStatus  INTEGER  NOT NULL , srMetaData  TEXT , srStudentPersonUid  BIGINT  NOT NULL , srStudentPersonSourcedId  TEXT , srStudentGroupId  INTEGER  NOT NULL , srMarkerPersonUid  BIGINT  NOT NULL , srMarkerGroupId  INTEGER  NOT NULL , srScoreStatus  INTEGER  NOT NULL , srScore  FLOAT  NOT NULL , srScoreDate  BIGINT  NOT NULL , srLastModified  BIGINT  NOT NULL , srComment  TEXT , srAppId  TEXT , srDeleted  BOOL  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityEntity (  actUid  BIGINT  PRIMARY KEY  NOT NULL , actIdIri  TEXT , actType  TEXT , actMoreInfo  TEXT , actInteractionType  INTEGER  NOT NULL , actCorrectResponsePatterns  TEXT , actLct  BIGINT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityExtensionEntity (  aeeActivityUid  BIGINT  NOT NULL , aeeKeyHash  BIGINT  NOT NULL , aeeKey  TEXT , aeeJson  TEXT , aeeLastMod  BIGINT  NOT NULL , aeeIsDeleted  BOOL  NOT NULL , PRIMARY KEY (aeeActivityUid, aeeKeyHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityInteractionEntity (  aieActivityUid  BIGINT  NOT NULL , aieHash  BIGINT  NOT NULL , aieProp  INTEGER  NOT NULL , aieId  TEXT , aieLastMod  BIGINT  NOT NULL , aieIsDeleted  BOOL  NOT NULL , PRIMARY KEY (aieActivityUid, aieHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActivityLangMapEntry (  almeActivityUid  BIGINT  NOT NULL , almeHash  BIGINT  NOT NULL , almeLangCode  TEXT , almeValue  TEXT , almeAieHash  BIGINT  NOT NULL , almeLastMod  BIGINT  NOT NULL , PRIMARY KEY (almeActivityUid, almeHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ActorEntity (  actorPersonUid  BIGINT  NOT NULL , actorName  TEXT , actorMbox  TEXT , actorMbox_sha1sum  TEXT , actorOpenid  TEXT , actorAccountName  TEXT , actorAccountHomePage  TEXT , actorEtag  BIGINT  NOT NULL , actorLct  BIGINT  NOT NULL , actorObjectType  INTEGER  NOT NULL , actorUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS GroupMemberActorJoin (  gmajGroupActorUid  BIGINT  NOT NULL , gmajMemberActorUid  BIGINT  NOT NULL , gmajLastMod  BIGINT  NOT NULL , PRIMARY KEY (gmajGroupActorUid, gmajMemberActorUid) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StatementContextActivityJoin (  scajFromStatementIdHi  BIGINT  NOT NULL , scajFromStatementIdLo  BIGINT  NOT NULL , scajToHash  BIGINT  NOT NULL , scajContextType  INTEGER  NOT NULL , scajToActivityUid  BIGINT  NOT NULL , scajToActivityId  TEXT , scajEtag  BIGINT  NOT NULL , PRIMARY KEY (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StatementEntity (  statementIdHi  BIGINT  NOT NULL , statementIdLo  BIGINT  NOT NULL , statementActorPersonUid  BIGINT  NOT NULL , statementVerbUid  BIGINT  NOT NULL , statementObjectType  INTEGER  NOT NULL , statementObjectUid1  BIGINT  NOT NULL , statementObjectUid2  BIGINT  NOT NULL , statementActorUid  BIGINT  NOT NULL , authorityActorUid  BIGINT  NOT NULL , teamUid  BIGINT  NOT NULL , resultCompletion  BOOL , resultSuccess  BOOL , resultScoreScaled  FLOAT , resultScoreRaw  FLOAT , resultScoreMin  FLOAT , resultScoreMax  FLOAT , resultDuration  BIGINT , resultResponse  TEXT , timestamp  BIGINT  NOT NULL , stored  BIGINT  NOT NULL , contextRegistrationHi  BIGINT  NOT NULL , contextRegistrationLo  BIGINT  NOT NULL , contextPlatform  TEXT , contextStatementRefIdHi  BIGINT  NOT NULL , contextStatementRefIdLo  BIGINT  NOT NULL , contextInstructorActorUid  BIGINT  NOT NULL , statementLct  BIGINT  NOT NULL , extensionProgress  INTEGER , completionOrProgress  BOOL  NOT NULL , statementContentEntryUid  BIGINT  NOT NULL , statementLearnerGroupUid  BIGINT  NOT NULL , statementClazzUid  BIGINT  NOT NULL , statementCbUid  BIGINT  NOT NULL , statementDoorNode  BIGINT  NOT NULL , isSubStatement  BOOL  NOT NULL , PRIMARY KEY (statementIdHi, statementIdLo) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StatementEntityJson (  stmtJsonIdHi  BIGINT  NOT NULL , stmtJsonIdLo  BIGINT  NOT NULL , stmtEtag  BIGINT  NOT NULL , fullStatement  TEXT , PRIMARY KEY (stmtJsonIdHi, stmtJsonIdLo) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS VerbEntity (  verbUid  BIGINT  PRIMARY KEY  NOT NULL , verbUrlId  TEXT , verbDeleted  BOOL  NOT NULL , verbLct  BIGINT  NOT NULL )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS VerbLangMapEntry (  vlmeVerbUid  BIGINT  NOT NULL , vlmeLangHash  BIGINT  NOT NULL , vlmeLangCode  TEXT , vlmeEntryString  TEXT , vlmeLastModified  BIGINT  NOT NULL , PRIMARY KEY (vlmeVerbUid, vlmeLangHash) )');
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  BIGINT  NOT NULL , xseRegistrationHi  BIGINT  NOT NULL , xseRegistrationLo  BIGINT  NOT NULL , xseUsUid  BIGINT  NOT NULL , xseAccountPersonUid  BIGINT  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  BIGINT  NOT NULL , xseCbUid  BIGINT  NOT NULL , xseContentEntryUid  BIGINT  NOT NULL , xseRootActivityId  TEXT , xseStartTime  BIGINT  NOT NULL , xseExpireTime  BIGINT  NOT NULL , xseAuth  TEXT , xseUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.add_utx5q5_k$('CREATE INDEX idx_actorentity_actorobjecttype ON ActorEntity (actorObjectType)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_actorentity_uid_personuid ON ActorEntity (actorPersonUid)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_stmt_actor_person ON StatementEntity (statementActorPersonUid)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_statement_clazz_person ON StatementEntity (statementClazzUid, statementActorPersonUid)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_statement_cbuid_actor ON StatementEntity (statementCbUid, statementActorUid)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_groupmemberactorjoin_gmajgroupactoruid ON GroupMemberActorJoin (gmajGroupActorUid)');
    this_0.add_utx5q5_k$('CREATE INDEX idx_groupmemberactorjoin_gmajmemberactoruid ON GroupMemberActorJoin (gmajMemberActorUid)');
    this_0.add_utx5q5_k$('DROP INDEX IF EXISTS idx_courseblock_cbsourcedid');
    var tmp;
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      tmp = new Pair('INTEGER', '0');
    } else {
      tmp = new Pair('BOOL', 'FALSE');
    }
    var tmp0_container = tmp;
    var boolColType = tmp0_container.component1_7eebsc_k$();
    var boolDefaultVal = tmp0_container.component2_7eebsb_k$();
    this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost ADD COLUMN discussionPostVisible ' + boolColType + ' NOT NULL DEFAULT ' + boolDefaultVal);
    this_0.add_utx5q5_k$('ALTER TABLE DiscussionPost ADD COLUMN discussionPostArchive ' + boolColType + ' NOT NULL DEFAULT ' + boolDefaultVal);
    // Inline function 'kotlin.collections.forEach' call
    var tmp0_iterator_1 = listOf_0(['NetworkNode', 'AccessToken', 'ScrapeQueueItem', 'ContainerEntry', 'ContainerEntryFile', 'LocallyAvailableContainer', 'ContainerEtag', 'ContainerImportJob', 'Role', 'XLangMapEntry', 'School', 'SchoolMember', 'Chat', 'ChatMember', 'MessageRead', 'StateEntity', 'StateContentEntity', 'Container']).iterator_jk1svi_k$();
    while (tmp0_iterator_1.hasNext_bitz1p_k$()) {
      var element_1 = tmp0_iterator_1.next_20eer_k$();
      // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_172_194.<anonymous>.<anonymous>.<anonymous>' call
      this_0.add_utx5q5_k$('DROP TABLE IF EXISTS ' + element_1);
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_194_195$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_194_195.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  INTEGER  NOT NULL , seHash  INTEGER  NOT NULL , seActivityUid  INTEGER  NOT NULL , seStateId  TEXT , seLastMod  INTEGER  NOT NULL , seTimeStored  INTEGER  NOT NULL , seContentType  TEXT , seCompressed  INTEGER  NOT NULL , seContent  TEXT , seDeleted  INTEGER  NOT NULL , seRegistrationHi  INTEGER , seRegistrationLo  INTEGER , PRIMARY KEY (seActorUid, seHash) )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  BIGINT  NOT NULL , seHash  BIGINT  NOT NULL , seActivityUid  BIGINT  NOT NULL , seStateId  TEXT , seLastMod  BIGINT  NOT NULL , seTimeStored  BIGINT  NOT NULL , seContentType  TEXT , seCompressed  INTEGER  NOT NULL , seContent  TEXT , seDeleted  BOOL  NOT NULL , seRegistrationHi  BIGINT , seRegistrationLo  BIGINT , PRIMARY KEY (seActorUid, seHash) )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_195_196$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_195_196.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StateDeleteCommand (  sdcActorUid  INTEGER  NOT NULL , sdcHash  INTEGER  NOT NULL , sdcActivityUid  INTEGER  NOT NULL , sdcStateId  TEXT , sdcLastMod  INTEGER  NOT NULL , sdcRegistrationHi  INTEGER , sdcRegistrationLo  INTEGER , PRIMARY KEY (sdcActorUid, sdcHash) )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StateDeleteCommand (  sdcActorUid  BIGINT  NOT NULL , sdcHash  BIGINT  NOT NULL , sdcActivityUid  BIGINT  NOT NULL , sdcStateId  TEXT , sdcLastMod  BIGINT  NOT NULL , sdcRegistrationHi  BIGINT , sdcRegistrationLo  BIGINT , PRIMARY KEY (sdcActorUid, sdcHash) )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_196_197$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_196_197.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      // Inline function 'kotlin.collections.forEach' call
      var tmp0_iterator = listOf_0(['INSERT', 'UPDATE']).iterator_jk1svi_k$();
      while (tmp0_iterator.hasNext_bitz1p_k$()) {
        var element = tmp0_iterator.next_20eer_k$();
        // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_196_197.<anonymous>.<anonymous>.<anonymous>' call
        // Inline function 'kotlin.text.substring' call
        // Inline function 'kotlin.text.lowercase' call
        // Inline function 'kotlin.js.asDynamic' call
        // Inline function 'kotlin.js.asDynamic' call
        var tmp$ret$3 = element.toLowerCase().substring(0, 3);
        this_0.add_utx5q5_k$('\n                        CREATE TRIGGER IF NOT EXISTS xapi_state_delete_trig_' + tmp$ret$3 + '\n                        AFTER ' + element + ' ON StateDeleteCommand\n                        FOR EACH ROW\n                        BEGIN\n                        UPDATE StateEntity\n                           SET seDeleted = 1,\n                               seLastMod = NEW.sdcLastMod\n                         WHERE seActorUid = NEW.sdcActorUid\n                           AND seActivityUid = NEW.sdcActivityUid\n                           AND seLastMod < NEW.sdcLastMod\n                           AND (    (      NEW.sdcRegistrationHi IS NULL \n                                       AND seRegistrationHi IS NULL\n                                       AND NEW.sdcRegistrationLo IS NULL\n                                       AND seRegistrationLo IS NULL)\n                                 OR (     seRegistrationHi = NEW.sdcRegistrationHi\n                                      AND seRegistrationLo = NEW.sdcRegistrationLo))\n                           AND (    NEW.sdcStateId IS NULL\n                                 OR seStateId = NEW.sdcStateId);\n                        END         \n                ');
      }
    } else {
      this_0.add_utx5q5_k$('\n                        CREATE OR REPLACE FUNCTION xapi_state_delete_fn() RETURNS TRIGGER AS $$\n                        BEGIN\n                        UPDATE StateEntity\n                           SET seDeleted = TRUE,\n                               seLastMod = NEW.sdcLastMod\n                         WHERE seActorUid = NEW.sdcActorUid\n                           AND seActivityUid = NEW.sdcActivityUid\n                           AND seLastMod < NEW.sdcLastMod\n                           AND (    (      NEW.sdcRegistrationHi IS NULL \n                                       AND seRegistrationHi IS NULL\n                                       AND NEW.sdcRegistrationLo IS NULL\n                                       AND seRegistrationLo IS NULL)\n                                 OR (     seRegistrationHi = NEW.sdcRegistrationHi\n                                      AND seRegistrationLo = NEW.sdcRegistrationLo))\n                           AND (    NEW.sdcStateId IS NULL\n                                 OR seStateId = NEW.sdcStateId);\n                         RETURN NEW;\n                         END $$ LANGUAGE plpgsql\n                    ');
      this_0.add_utx5q5_k$('\n                    CREATE TRIGGER xapi_state_delete_trig\n                    AFTER INSERT OR UPDATE ON StateDeleteCommand\n                    FOR EACH ROW\n                    EXECUTE FUNCTION xapi_state_delete_fn();\n                ');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_197_198$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_197_198.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE XapiSessionEntity');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  INTEGER  NOT NULL , xseRegistrationHi  INTEGER  NOT NULL , xseRegistrationLo  INTEGER  NOT NULL , xseUsUid  INTEGER  NOT NULL , xseAccountPersonUid  INTEGER  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  INTEGER  NOT NULL , xseCbUid  INTEGER  NOT NULL , xseContentEntryUid  INTEGER  NOT NULL , xseRootActivityId  TEXT , xseStartTime  INTEGER  NOT NULL , xseExpireTime  INTEGER  NOT NULL , xseAuth  TEXT , xseCompleted  INTEGER  NOT NULL  DEFAULT 0 , xseUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  BIGINT  NOT NULL , xseRegistrationHi  BIGINT  NOT NULL , xseRegistrationLo  BIGINT  NOT NULL , xseUsUid  BIGINT  NOT NULL , xseAccountPersonUid  BIGINT  NOT NULL , xseAccountUsername  TEXT , xseClazzUid  BIGINT  NOT NULL , xseCbUid  BIGINT  NOT NULL , xseContentEntryUid  BIGINT  NOT NULL , xseRootActivityId  TEXT , xseStartTime  BIGINT  NOT NULL , xseExpireTime  BIGINT  NOT NULL , xseAuth  TEXT , xseCompleted  BOOL  NOT NULL  DEFAULT false, xseUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_198_199$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_198_199.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE StateEntity');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  INTEGER  NOT NULL , seHash  INTEGER  NOT NULL , seActivityUid  INTEGER  NOT NULL , seStateId  TEXT  NOT NULL , seLastMod  INTEGER  NOT NULL , seTimeStored  INTEGER  NOT NULL , seContentType  TEXT  NOT NULL , seCompressed  INTEGER  NOT NULL , seContent  TEXT  NOT NULL , seDeleted  INTEGER  NOT NULL , seRegistrationHi  INTEGER , seRegistrationLo  INTEGER , seH5PPreloaded  INTEGER  NOT NULL , seH5PSubContentId  TEXT , PRIMARY KEY (seActorUid, seHash) )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS StateEntity (  seActorUid  BIGINT  NOT NULL , seHash  BIGINT  NOT NULL , seActivityUid  BIGINT  NOT NULL , seStateId  TEXT  NOT NULL , seLastMod  BIGINT  NOT NULL , seTimeStored  BIGINT  NOT NULL , seContentType  TEXT  NOT NULL , seCompressed  INTEGER  NOT NULL , seContent  TEXT  NOT NULL , seDeleted  BOOL  NOT NULL , seRegistrationHi  BIGINT , seRegistrationLo  BIGINT , seH5PPreloaded  BOOL  NOT NULL , seH5PSubContentId  TEXT , PRIMARY KEY (seActorUid, seHash) )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_199_200$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_199_200.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE XapiSessionEntity');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  INTEGER  NOT NULL , xseRegistrationHi  INTEGER  NOT NULL , xseRegistrationLo  INTEGER  NOT NULL , xseUsUid  INTEGER  NOT NULL , xseAccountPersonUid  INTEGER  NOT NULL , xseActorUid  INTEGER  NOT NULL , xseAccountUsername  TEXT  NOT NULL , xseClazzUid  INTEGER  NOT NULL , xseCbUid  INTEGER  NOT NULL , xseContentEntryUid  INTEGER  NOT NULL , xseRootActivityId  TEXT  NOT NULL , xseRootActivityUid  INTEGER  NOT NULL , xseStartTime  INTEGER  NOT NULL , xseExpireTime  INTEGER  NOT NULL , xseAuth  TEXT , xseCompleted  INTEGER  NOT NULL  DEFAULT 0 , knownActorUidToPersonUids  TEXT  NOT NULL , xseUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS XapiSessionEntity (  xseLastMod  BIGINT  NOT NULL , xseRegistrationHi  BIGINT  NOT NULL , xseRegistrationLo  BIGINT  NOT NULL , xseUsUid  BIGINT  NOT NULL , xseAccountPersonUid  BIGINT  NOT NULL , xseActorUid  BIGINT  NOT NULL , xseAccountUsername  TEXT  NOT NULL , xseClazzUid  BIGINT  NOT NULL , xseCbUid  BIGINT  NOT NULL , xseContentEntryUid  BIGINT  NOT NULL , xseRootActivityId  TEXT  NOT NULL , xseRootActivityUid  BIGINT  NOT NULL , xseStartTime  BIGINT  NOT NULL , xseExpireTime  BIGINT  NOT NULL , xseAuth  TEXT , xseCompleted  BOOL  NOT NULL  DEFAULT false, knownActorUidToPersonUids  TEXT  NOT NULL , xseUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_200_201$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_200_201.<anonymous>.<anonymous>' call
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('ALTER TABLE XapiSessionEntity ADD COLUMN xseContentEntryVersionUid  INTEGER  NOT NULL  DEFAULT 0');
    } else {
      this_0.add_utx5q5_k$('ALTER TABLE XapiSessionEntity ADD COLUMN xseContentEntryVersionUid  BIGINT  NOT NULL  DEFAULT 0');
    }
    return this_0.build_1k0s4u_k$();
  }
  function MIGRATION_201_202$lambda(db) {
    _init_properties_UmAppDatabaseMigrations_kt__v2rrqh();
    // Inline function 'kotlin.collections.buildList' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.collections.buildListInternal' call
    // Inline function 'kotlin.apply' call
    var this_0 = ArrayList_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.core.db.ext.MIGRATION_201_202.<anonymous>.<anonymous>' call
    this_0.add_utx5q5_k$('DROP TABLE ContentEntryImportJob');
    if (dbType(db) === Companion_getInstance().get_SQLITE_3yc5jp_k$()) {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  INTEGER  NOT NULL , cjiParentContentEntryUid  INTEGER  NOT NULL , cjiContentEntryVersion  INTEGER  NOT NULL , cjiItemProgress  INTEGER  NOT NULL , cjiItemTotal  INTEGER  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  INTEGER  NOT NULL , cjiStartTime  INTEGER  NOT NULL , cjiFinishTime  INTEGER  NOT NULL , cjiContentDeletedOnCancellation  INTEGER  NOT NULL , cjiCompressionLevel  INTEGER  NOT NULL  DEFAULT 3 , cjiError  TEXT , cjiErrorDismissed  INTEGER  NOT NULL , cjiOwnerPersonUid  INTEGER  NOT NULL , cjiParams  TEXT , cjiUid  INTEGER  PRIMARY KEY  AUTOINCREMENT  NOT NULL )');
    } else {
      this_0.add_utx5q5_k$('CREATE TABLE IF NOT EXISTS ContentEntryImportJob (  sourceUri  TEXT , cjiOriginalFilename  TEXT , cjiContentEntryUid  BIGINT  NOT NULL , cjiParentContentEntryUid  BIGINT  NOT NULL , cjiContentEntryVersion  BIGINT  NOT NULL , cjiItemProgress  BIGINT  NOT NULL , cjiItemTotal  BIGINT  NOT NULL , cjiStatus  INTEGER  NOT NULL , cjiRecursiveStatus  INTEGER  NOT NULL , cjiPluginId  INTEGER  NOT NULL , cjiParentCjiUid  BIGINT  NOT NULL , cjiStartTime  BIGINT  NOT NULL , cjiFinishTime  BIGINT  NOT NULL , cjiContentDeletedOnCancellation  BOOL  NOT NULL , cjiCompressionLevel  INTEGER  NOT NULL  DEFAULT 3 , cjiError  TEXT , cjiErrorDismissed  BOOL  NOT NULL , cjiOwnerPersonUid  BIGINT  NOT NULL , cjiParams  TEXT , cjiUid  BIGSERIAL  PRIMARY KEY  NOT NULL )');
    }
    this_0.add_utx5q5_k$('CREATE INDEX index_ContentEntryImportJob_cjiContentEntryUid_cjiFinishTime ON ContentEntryImportJob (cjiContentEntryUid, cjiFinishTime)');
    return this_0.build_1k0s4u_k$();
  }
  var properties_initialized_UmAppDatabaseMigrations_kt_wz5hlz;
  function _init_properties_UmAppDatabaseMigrations_kt__v2rrqh() {
    if (!properties_initialized_UmAppDatabaseMigrations_kt_wz5hlz) {
      properties_initialized_UmAppDatabaseMigrations_kt_wz5hlz = true;
      MIGRATION_105_106 = new DoorMigrationStatementList(105, 106, MIGRATION_105_106$lambda);
      MIGRATION_106_107 = new DoorMigrationStatementList(106, 107, MIGRATION_106_107$lambda);
      MIGRATION_107_108 = new DoorMigrationStatementList(107, 108, MIGRATION_107_108$lambda);
      MIGRATION_108_109 = new DoorMigrationStatementList(108, 109, MIGRATION_108_109$lambda);
      MIGRATION_120_121 = new DoorMigrationStatementList(120, 121, MIGRATION_120_121$lambda);
      MIGRATION_121_122 = new DoorMigrationStatementList(121, 122, MIGRATION_121_122$lambda);
      MIGRATION_122_123 = new DoorMigrationStatementList(122, 123, MIGRATION_122_123$lambda);
      MIGRATION_123_124 = new DoorMigrationStatementList(123, 124, MIGRATION_123_124$lambda);
      MIGRATION_124_125 = new DoorMigrationStatementList(124, 125, MIGRATION_124_125$lambda);
      MIGRATION_125_126 = new DoorMigrationStatementList(125, 126, MIGRATION_125_126$lambda);
      MIGRATION_126_127 = new DoorMigrationStatementList(126, 127, MIGRATION_126_127$lambda);
      MIGRATION_127_128 = new DoorMigrationStatementList(127, 128, MIGRATION_127_128$lambda);
      MIGRATION_128_129 = new DoorMigrationStatementList(128, 129, MIGRATION_128_129$lambda);
      MIGRATION_129_130 = new DoorMigrationStatementList(129, 130, MIGRATION_129_130$lambda);
      MIGRATION_130_131 = new DoorMigrationStatementList(130, 131, MIGRATION_130_131$lambda);
      MIGRATION_132_133 = new DoorMigrationStatementList(132, 133, MIGRATION_132_133$lambda);
      MIGRATION_133_134 = new DoorMigrationStatementList(133, 134, MIGRATION_133_134$lambda);
      MIGRATION_134_135 = new DoorMigrationStatementList(134, 135, MIGRATION_134_135$lambda);
      MIGRATION_135_136 = new DoorMigrationStatementList(135, 136, MIGRATION_135_136$lambda);
      MIGRATION_136_137 = new DoorMigrationStatementList(136, 137, MIGRATION_136_137$lambda);
      MIGRATION_137_138 = new DoorMigrationStatementList(137, 138, MIGRATION_137_138$lambda);
      MIGRATION_138_139 = new DoorMigrationStatementList(138, 139, MIGRATION_138_139$lambda);
      MIGRATION_139_140 = new DoorMigrationStatementList(139, 140, MIGRATION_139_140$lambda);
      MIGRATION_140_141 = new DoorMigrationStatementList(140, 141, MIGRATION_140_141$lambda);
      MIGRATION_141_142 = new DoorMigrationStatementList(141, 142, MIGRATION_141_142$lambda);
      MIGRATION_142_143 = new DoorMigrationStatementList(142, 143, MIGRATION_142_143$lambda);
      MIGRATION_143_144 = new DoorMigrationStatementList(143, 144, MIGRATION_143_144$lambda);
      MIGRATION_144_145_SERVER = new DoorMigrationStatementList(144, 145, MIGRATION_144_145_SERVER$lambda);
      MIGRATION_144_145_CLIENT = new DoorMigrationStatementList(144, 145, MIGRATION_144_145_CLIENT$lambda);
      MIGRATION_145_146 = new DoorMigrationStatementList(145, 146, MIGRATION_145_146$lambda);
      MIGRATION_146_147 = new DoorMigrationStatementList(146, 147, MIGRATION_146_147$lambda);
      MIGRATION_147_148 = new DoorMigrationStatementList(147, 148, MIGRATION_147_148$lambda);
      MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS = new DoorMigrationStatementList(148, 149, MIGRATION_148_149_CLIENT_WITH_OFFLINE_ITEMS$lambda);
      MIGRATION_148_149_NO_OFFLINE_ITEMS = new DoorMigrationStatementList(148, 149, MIGRATION_148_149_NO_OFFLINE_ITEMS$lambda);
      MIGRATION_149_150 = new DoorMigrationStatementList(149, 150, MIGRATION_149_150$lambda);
      MIGRATION_150_151 = new DoorMigrationStatementList(150, 151, MIGRATION_150_151$lambda);
      MIGRATION_151_152 = new DoorMigrationStatementList(151, 152, MIGRATION_151_152$lambda);
      MIGRATION_152_153 = new DoorMigrationStatementList(152, 153, MIGRATION_152_153$lambda);
      MIGRATION_153_154 = new DoorMigrationStatementList(153, 154, MIGRATION_153_154$lambda);
      MIGRATION_154_155 = new DoorMigrationStatementList(154, 155, MIGRATION_154_155$lambda);
      MIGRATION_155_156_SERVER = new DoorMigrationStatementList(155, 156, MIGRATION_155_156_SERVER$lambda);
      MIGRATION_155_156_CLIENT = new DoorMigrationStatementList(155, 156, MIGRATION_155_156_CLIENT$lambda);
      MIGRATION_156_157 = new DoorMigrationStatementList(156, 157, MIGRATION_156_157$lambda);
      MIGRATION_157_158 = new DoorMigrationStatementList(157, 158, MIGRATION_157_158$lambda);
      MIGRATION_158_159 = new DoorMigrationStatementList(158, 159, MIGRATION_158_159$lambda);
      MIGRATION_159_160 = new DoorMigrationStatementList(159, 160, MIGRATION_159_160$lambda);
      MIGRATION_160_161 = new DoorMigrationStatementList(160, 161, MIGRATION_160_161$lambda);
      MIGRATION_161_162_SERVER = new DoorMigrationStatementList(161, 162, MIGRATION_161_162_SERVER$lambda);
      MIGRATION_161_162_CLIENT = new DoorMigrationStatementList(161, 162, MIGRATION_161_162_CLIENT$lambda);
      MIGRATION_162_163 = new DoorMigrationStatementList(162, 163, MIGRATION_162_163$lambda);
      MIGRATION_163_164 = new DoorMigrationStatementList(163, 164, MIGRATION_163_164$lambda);
      MIGRATION_164_165 = new DoorMigrationStatementList(164, 165, MIGRATION_164_165$lambda);
      MIGRATION_165_166 = new DoorMigrationStatementList(165, 166, MIGRATION_165_166$lambda);
      MIGRATION_166_167 = new DoorMigrationStatementList(166, 167, MIGRATION_166_167$lambda);
      MIGRATION_167_168 = new DoorMigrationStatementList(167, 168, MIGRATION_167_168$lambda);
      MIGRATION_168_169 = new DoorMigrationStatementList(168, 169, MIGRATION_168_169$lambda);
      MIGRATION_169_170_SERVER = new DoorMigrationStatementList(169, 170, MIGRATION_169_170_SERVER$lambda);
      MIGRATION_169_170_CLIENT = new DoorMigrationStatementList(169, 170, MIGRATION_169_170_CLIENT$lambda);
      MIGRATION_170_171 = new DoorMigrationStatementList(170, 171, MIGRATION_170_171$lambda);
      MIGRATION_171_172 = new DoorMigrationStatementList(171, 172, MIGRATION_171_172$lambda);
      MIGRATION_172_194 = new DoorMigrationStatementList(172, 194, MIGRATION_172_194$lambda);
      MIGRATION_194_195 = new DoorMigrationStatementList(194, 195, MIGRATION_194_195$lambda);
      MIGRATION_195_196 = new DoorMigrationStatementList(195, 196, MIGRATION_195_196$lambda);
      MIGRATION_196_197 = new DoorMigrationStatementList(196, 197, MIGRATION_196_197$lambda);
      MIGRATION_197_198 = new DoorMigrationStatementList(197, 198, MIGRATION_197_198$lambda);
      MIGRATION_198_199 = new DoorMigrationStatementList(198, 199, MIGRATION_198_199$lambda);
      MIGRATION_199_200 = new DoorMigrationStatementList(199, 200, MIGRATION_199_200$lambda);
      MIGRATION_200_201 = new DoorMigrationStatementList(200, 201, MIGRATION_200_201$lambda);
      MIGRATION_201_202 = new DoorMigrationStatementList(201, 202, MIGRATION_201_202$lambda);
    }
  }
  function ActorUidEtagAndLastMod(actorUid, actorEtag, actorLct) {
    actorUid = actorUid === VOID ? new Long(0, 0) : actorUid;
    actorEtag = actorEtag === VOID ? new Long(0, 0) : actorEtag;
    actorLct = actorLct === VOID ? new Long(0, 0) : actorLct;
    this.actorUid_1 = actorUid;
    this.actorEtag_1 = actorEtag;
    this.actorLct_1 = actorLct;
  }
  protoOf(ActorUidEtagAndLastMod).set_actorUid_wjpps6_k$ = function (_set____db54di) {
    this.actorUid_1 = _set____db54di;
  };
  protoOf(ActorUidEtagAndLastMod).get_actorUid_bxgzj8_k$ = function () {
    return this.actorUid_1;
  };
  protoOf(ActorUidEtagAndLastMod).set_actorEtag_jhzarz_k$ = function (_set____db54di) {
    this.actorEtag_1 = _set____db54di;
  };
  protoOf(ActorUidEtagAndLastMod).get_actorEtag_ensc1t_k$ = function () {
    return this.actorEtag_1;
  };
  protoOf(ActorUidEtagAndLastMod).set_actorLct_u43k87_k$ = function (_set____db54di) {
    this.actorLct_1 = _set____db54di;
  };
  protoOf(ActorUidEtagAndLastMod).get_actorLct_bxgsq9_k$ = function () {
    return this.actorLct_1;
  };
  protoOf(ActorUidEtagAndLastMod).component1_7eebsc_k$ = function () {
    return this.actorUid_1;
  };
  protoOf(ActorUidEtagAndLastMod).component2_7eebsb_k$ = function () {
    return this.actorEtag_1;
  };
  protoOf(ActorUidEtagAndLastMod).component3_7eebsa_k$ = function () {
    return this.actorLct_1;
  };
  protoOf(ActorUidEtagAndLastMod).copy_irvfc7_k$ = function (actorUid, actorEtag, actorLct) {
    return new ActorUidEtagAndLastMod(actorUid, actorEtag, actorLct);
  };
  protoOf(ActorUidEtagAndLastMod).copy$default_9bdurl_k$ = function (actorUid, actorEtag, actorLct, $super) {
    actorUid = actorUid === VOID ? this.actorUid_1 : actorUid;
    actorEtag = actorEtag === VOID ? this.actorEtag_1 : actorEtag;
    actorLct = actorLct === VOID ? this.actorLct_1 : actorLct;
    return $super === VOID ? this.copy_irvfc7_k$(actorUid, actorEtag, actorLct) : $super.copy_irvfc7_k$.call(this, actorUid, actorEtag, actorLct);
  };
  protoOf(ActorUidEtagAndLastMod).toString = function () {
    return 'ActorUidEtagAndLastMod(actorUid=' + this.actorUid_1.toString() + ', actorEtag=' + this.actorEtag_1.toString() + ', actorLct=' + this.actorLct_1.toString() + ')';
  };
  protoOf(ActorUidEtagAndLastMod).hashCode = function () {
    var result = this.actorUid_1.hashCode();
    result = imul(result, 31) + this.actorEtag_1.hashCode() | 0;
    result = imul(result, 31) + this.actorLct_1.hashCode() | 0;
    return result;
  };
  protoOf(ActorUidEtagAndLastMod).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActorUidEtagAndLastMod))
      return false;
    var tmp0_other_with_cast = other instanceof ActorUidEtagAndLastMod ? other : THROW_CCE();
    if (!this.actorUid_1.equals(tmp0_other_with_cast.actorUid_1))
      return false;
    if (!this.actorEtag_1.equals(tmp0_other_with_cast.actorEtag_1))
      return false;
    if (!this.actorLct_1.equals(tmp0_other_with_cast.actorLct_1))
      return false;
    return true;
  };
  function Companion() {
    Companion_instance = this;
  }
  protoOf(Companion).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance();
  };
  var Companion_instance;
  function Companion_getInstance_1() {
    if (Companion_instance == null)
      new Companion();
    return Companion_instance;
  }
  function $serializer() {
    $serializer_instance = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.AssignmentPermissionAndActiveUserSubmitterUid', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('canMark', true);
    tmp0_serialDesc.addElement_5pzumi_k$('canView', true);
    tmp0_serialDesc.addElement_5pzumi_k$('canModerate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('activeUserSubmitterUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_local2 = false;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return AssignmentPermissionAndActiveUserSubmitterUid_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer).serialize_pk9kg_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.canMark_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 0, value.canMark_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.canView_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 1, value.canView_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.canModerate_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 2, value.canModerate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.activeUserSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.activeUserSubmitterUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_pk9kg_k$(encoder, value instanceof AssignmentPermissionAndActiveUserSubmitterUid ? value : THROW_CCE());
  };
  var $serializer_instance;
  function $serializer_getInstance() {
    if ($serializer_instance == null)
      new $serializer();
    return $serializer_instance;
  }
  function AssignmentPermissionAndActiveUserSubmitterUid_init_$Init$(seen1, canMark, canView, canModerate, activeUserSubmitterUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.canMark_1 = false;
    else
      $this.canMark_1 = canMark;
    if (0 === (seen1 & 2))
      $this.canView_1 = false;
    else
      $this.canView_1 = canView;
    if (0 === (seen1 & 4))
      $this.canModerate_1 = false;
    else
      $this.canModerate_1 = canModerate;
    if (0 === (seen1 & 8))
      $this.activeUserSubmitterUid_1 = new Long(0, 0);
    else
      $this.activeUserSubmitterUid_1 = activeUserSubmitterUid;
    return $this;
  }
  function AssignmentPermissionAndActiveUserSubmitterUid_init_$Create$(seen1, canMark, canView, canModerate, activeUserSubmitterUid, serializationConstructorMarker) {
    return AssignmentPermissionAndActiveUserSubmitterUid_init_$Init$(seen1, canMark, canView, canModerate, activeUserSubmitterUid, serializationConstructorMarker, objectCreate(protoOf(AssignmentPermissionAndActiveUserSubmitterUid)));
  }
  function AssignmentPermissionAndActiveUserSubmitterUid(canMark, canView, canModerate, activeUserSubmitterUid) {
    Companion_getInstance_1();
    canMark = canMark === VOID ? false : canMark;
    canView = canView === VOID ? false : canView;
    canModerate = canModerate === VOID ? false : canModerate;
    activeUserSubmitterUid = activeUserSubmitterUid === VOID ? new Long(0, 0) : activeUserSubmitterUid;
    this.canMark_1 = canMark;
    this.canView_1 = canView;
    this.canModerate_1 = canModerate;
    this.activeUserSubmitterUid_1 = activeUserSubmitterUid;
  }
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).set_canMark_la8v05_k$ = function (_set____db54di) {
    this.canMark_1 = _set____db54di;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).get_canMark_acquvo_k$ = function () {
    return this.canMark_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).set_canView_ysrnkt_k$ = function (_set____db54di) {
    this.canView_1 = _set____db54di;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).get_canView_acwre4_k$ = function () {
    return this.canView_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).set_canModerate_fiqm81_k$ = function (_set____db54di) {
    this.canModerate_1 = _set____db54di;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).get_canModerate_5wl27q_k$ = function () {
    return this.canModerate_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).set_activeUserSubmitterUid_htx8ev_k$ = function (_set____db54di) {
    this.activeUserSubmitterUid_1 = _set____db54di;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).get_activeUserSubmitterUid_p45sm9_k$ = function () {
    return this.activeUserSubmitterUid_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).component1_7eebsc_k$ = function () {
    return this.canMark_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).component2_7eebsb_k$ = function () {
    return this.canView_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).component3_7eebsa_k$ = function () {
    return this.canModerate_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).component4_7eebs9_k$ = function () {
    return this.activeUserSubmitterUid_1;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).copy_7bk326_k$ = function (canMark, canView, canModerate, activeUserSubmitterUid) {
    return new AssignmentPermissionAndActiveUserSubmitterUid(canMark, canView, canModerate, activeUserSubmitterUid);
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).copy$default_cnmne3_k$ = function (canMark, canView, canModerate, activeUserSubmitterUid, $super) {
    canMark = canMark === VOID ? this.canMark_1 : canMark;
    canView = canView === VOID ? this.canView_1 : canView;
    canModerate = canModerate === VOID ? this.canModerate_1 : canModerate;
    activeUserSubmitterUid = activeUserSubmitterUid === VOID ? this.activeUserSubmitterUid_1 : activeUserSubmitterUid;
    return $super === VOID ? this.copy_7bk326_k$(canMark, canView, canModerate, activeUserSubmitterUid) : $super.copy_7bk326_k$.call(this, canMark, canView, canModerate, activeUserSubmitterUid);
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).toString = function () {
    return 'AssignmentPermissionAndActiveUserSubmitterUid(canMark=' + this.canMark_1 + ', canView=' + this.canView_1 + ', canModerate=' + this.canModerate_1 + ', activeUserSubmitterUid=' + this.activeUserSubmitterUid_1.toString() + ')';
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).hashCode = function () {
    var result = getBooleanHashCode(this.canMark_1);
    result = imul(result, 31) + getBooleanHashCode(this.canView_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.canModerate_1) | 0;
    result = imul(result, 31) + this.activeUserSubmitterUid_1.hashCode() | 0;
    return result;
  };
  protoOf(AssignmentPermissionAndActiveUserSubmitterUid).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentPermissionAndActiveUserSubmitterUid))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentPermissionAndActiveUserSubmitterUid ? other : THROW_CCE();
    if (!(this.canMark_1 === tmp0_other_with_cast.canMark_1))
      return false;
    if (!(this.canView_1 === tmp0_other_with_cast.canView_1))
      return false;
    if (!(this.canModerate_1 === tmp0_other_with_cast.canModerate_1))
      return false;
    if (!this.activeUserSubmitterUid_1.equals(tmp0_other_with_cast.activeUserSubmitterUid_1))
      return false;
    return true;
  };
  function Companion_0() {
    Companion_instance_0 = this;
  }
  protoOf(Companion_0).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_0();
  };
  var Companion_instance_0;
  function Companion_getInstance_2() {
    if (Companion_instance_0 == null)
      new Companion_0();
    return Companion_instance_0;
  }
  function $serializer_0() {
    $serializer_instance_0 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.AssignmentSubmitterUidAndName', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('name', true);
    tmp0_serialDesc.addElement_5pzumi_k$('submitterUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_0).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_0).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_0).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = new Long(0, 0);
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return AssignmentSubmitterUidAndName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_0).serialize_jygc1h_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.name_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, StringSerializer_getInstance(), value.name_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.submitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.submitterUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_0).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_jygc1h_k$(encoder, value instanceof AssignmentSubmitterUidAndName ? value : THROW_CCE());
  };
  var $serializer_instance_0;
  function $serializer_getInstance_0() {
    if ($serializer_instance_0 == null)
      new $serializer_0();
    return $serializer_instance_0;
  }
  function AssignmentSubmitterUidAndName_init_$Init$(seen1, name, submitterUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_0().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.name_1 = null;
    else
      $this.name_1 = name;
    if (0 === (seen1 & 2))
      $this.submitterUid_1 = new Long(0, 0);
    else
      $this.submitterUid_1 = submitterUid;
    return $this;
  }
  function AssignmentSubmitterUidAndName_init_$Create$(seen1, name, submitterUid, serializationConstructorMarker) {
    return AssignmentSubmitterUidAndName_init_$Init$(seen1, name, submitterUid, serializationConstructorMarker, objectCreate(protoOf(AssignmentSubmitterUidAndName)));
  }
  function AssignmentSubmitterUidAndName(name, submitterUid) {
    Companion_getInstance_2();
    name = name === VOID ? null : name;
    submitterUid = submitterUid === VOID ? new Long(0, 0) : submitterUid;
    this.name_1 = name;
    this.submitterUid_1 = submitterUid;
  }
  protoOf(AssignmentSubmitterUidAndName).set_name_wkmnld_k$ = function (_set____db54di) {
    this.name_1 = _set____db54di;
  };
  protoOf(AssignmentSubmitterUidAndName).get_name_woqyms_k$ = function () {
    return this.name_1;
  };
  protoOf(AssignmentSubmitterUidAndName).set_submitterUid_5nf92e_k$ = function (_set____db54di) {
    this.submitterUid_1 = _set____db54di;
  };
  protoOf(AssignmentSubmitterUidAndName).get_submitterUid_tbcwmo_k$ = function () {
    return this.submitterUid_1;
  };
  protoOf(AssignmentSubmitterUidAndName).component1_7eebsc_k$ = function () {
    return this.name_1;
  };
  protoOf(AssignmentSubmitterUidAndName).component2_7eebsb_k$ = function () {
    return this.submitterUid_1;
  };
  protoOf(AssignmentSubmitterUidAndName).copy_h764g_k$ = function (name, submitterUid) {
    return new AssignmentSubmitterUidAndName(name, submitterUid);
  };
  protoOf(AssignmentSubmitterUidAndName).copy$default_bxq4xy_k$ = function (name, submitterUid, $super) {
    name = name === VOID ? this.name_1 : name;
    submitterUid = submitterUid === VOID ? this.submitterUid_1 : submitterUid;
    return $super === VOID ? this.copy_h764g_k$(name, submitterUid) : $super.copy_h764g_k$.call(this, name, submitterUid);
  };
  protoOf(AssignmentSubmitterUidAndName).toString = function () {
    return 'AssignmentSubmitterUidAndName(name=' + this.name_1 + ', submitterUid=' + this.submitterUid_1.toString() + ')';
  };
  protoOf(AssignmentSubmitterUidAndName).hashCode = function () {
    var result = this.name_1 == null ? 0 : getStringHashCode(this.name_1);
    result = imul(result, 31) + this.submitterUid_1.hashCode() | 0;
    return result;
  };
  protoOf(AssignmentSubmitterUidAndName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentSubmitterUidAndName))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentSubmitterUidAndName ? other : THROW_CCE();
    if (!(this.name_1 == tmp0_other_with_cast.name_1))
      return false;
    if (!this.submitterUid_1.equals(tmp0_other_with_cast.submitterUid_1))
      return false;
    return true;
  };
  function Companion_1() {
    Companion_instance_1 = this;
    this.STATUS_COMPLETED_1 = 1;
    this.STATUS_IN_PROGRESS_1 = 2;
  }
  protoOf(Companion_1).get_STATUS_COMPLETED_qm7947_k$ = function () {
    return this.STATUS_COMPLETED_1;
  };
  protoOf(Companion_1).get_STATUS_IN_PROGRESS_qau85f_k$ = function () {
    return this.STATUS_IN_PROGRESS_1;
  };
  protoOf(Companion_1).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_1();
  };
  var Companion_instance_1;
  function Companion_getInstance_3() {
    if (Companion_instance_1 == null)
      new Companion_1();
    return Companion_instance_1;
  }
  function $serializer_1() {
    $serializer_instance_1 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.BlockStatus', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('sPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sCbUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sProgress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sIsCompleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sIsSuccess', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sScoreScaled', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_1).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_1).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(IntSerializer_getInstance()), BooleanSerializer_getInstance(), get_nullable(BooleanSerializer_getInstance()), get_nullable(FloatSerializer_getInstance())];
  };
  protoOf($serializer_1).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = false;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, IntSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, BooleanSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, FloatSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, IntSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, BooleanSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, FloatSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return BlockStatus_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_1).serialize_uwmpd0_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.sPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.sPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.sCbUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.sCbUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.sProgress_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, IntSerializer_getInstance(), value.sProgress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.sIsCompleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 3, value.sIsCompleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.sIsSuccess_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, BooleanSerializer_getInstance(), value.sIsSuccess_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.sScoreScaled_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, FloatSerializer_getInstance(), value.sScoreScaled_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_1).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_uwmpd0_k$(encoder, value instanceof BlockStatus ? value : THROW_CCE());
  };
  var $serializer_instance_1;
  function $serializer_getInstance_1() {
    if ($serializer_instance_1 == null)
      new $serializer_1();
    return $serializer_instance_1;
  }
  function BlockStatus_init_$Init$(seen1, sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_1().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.sPersonUid_1 = new Long(0, 0);
    else
      $this.sPersonUid_1 = sPersonUid;
    if (0 === (seen1 & 2))
      $this.sCbUid_1 = new Long(0, 0);
    else
      $this.sCbUid_1 = sCbUid;
    if (0 === (seen1 & 4))
      $this.sProgress_1 = null;
    else
      $this.sProgress_1 = sProgress;
    if (0 === (seen1 & 8))
      $this.sIsCompleted_1 = false;
    else
      $this.sIsCompleted_1 = sIsCompleted;
    if (0 === (seen1 & 16))
      $this.sIsSuccess_1 = null;
    else
      $this.sIsSuccess_1 = sIsSuccess;
    if (0 === (seen1 & 32))
      $this.sScoreScaled_1 = null;
    else
      $this.sScoreScaled_1 = sScoreScaled;
    return $this;
  }
  function BlockStatus_init_$Create$(seen1, sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled, serializationConstructorMarker) {
    return BlockStatus_init_$Init$(seen1, sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled, serializationConstructorMarker, objectCreate(protoOf(BlockStatus)));
  }
  function BlockStatus(sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled) {
    Companion_getInstance_3();
    sPersonUid = sPersonUid === VOID ? new Long(0, 0) : sPersonUid;
    sCbUid = sCbUid === VOID ? new Long(0, 0) : sCbUid;
    sProgress = sProgress === VOID ? null : sProgress;
    sIsCompleted = sIsCompleted === VOID ? false : sIsCompleted;
    sIsSuccess = sIsSuccess === VOID ? null : sIsSuccess;
    sScoreScaled = sScoreScaled === VOID ? null : sScoreScaled;
    this.sPersonUid_1 = sPersonUid;
    this.sCbUid_1 = sCbUid;
    this.sProgress_1 = sProgress;
    this.sIsCompleted_1 = sIsCompleted;
    this.sIsSuccess_1 = sIsSuccess;
    this.sScoreScaled_1 = sScoreScaled;
  }
  protoOf(BlockStatus).set_sPersonUid_lssuyv_k$ = function (_set____db54di) {
    this.sPersonUid_1 = _set____db54di;
  };
  protoOf(BlockStatus).get_sPersonUid_8hhlw1_k$ = function () {
    return this.sPersonUid_1;
  };
  protoOf(BlockStatus).set_sCbUid_m7svr1_k$ = function (_set____db54di) {
    this.sCbUid_1 = _set____db54di;
  };
  protoOf(BlockStatus).get_sCbUid_iwh8zr_k$ = function () {
    return this.sCbUid_1;
  };
  protoOf(BlockStatus).set_sProgress_srgi2g_k$ = function (_set____db54di) {
    this.sProgress_1 = _set____db54di;
  };
  protoOf(BlockStatus).get_sProgress_z2g3xl_k$ = function () {
    return this.sProgress_1;
  };
  protoOf(BlockStatus).set_sIsCompleted_5mif8q_k$ = function (_set____db54di) {
    this.sIsCompleted_1 = _set____db54di;
  };
  protoOf(BlockStatus).get_sIsCompleted_a7icq1_k$ = function () {
    return this.sIsCompleted_1;
  };
  protoOf(BlockStatus).set_sIsSuccess_bie1v_k$ = function (_set____db54di) {
    this.sIsSuccess_1 = _set____db54di;
  };
  protoOf(BlockStatus).get_sIsSuccess_oxsibz_k$ = function () {
    return this.sIsSuccess_1;
  };
  protoOf(BlockStatus).set_sScoreScaled_z3w9sv_k$ = function (_set____db54di) {
    this.sScoreScaled_1 = _set____db54di;
  };
  protoOf(BlockStatus).get_sScoreScaled_i8xlya_k$ = function () {
    return this.sScoreScaled_1;
  };
  protoOf(BlockStatus).component1_7eebsc_k$ = function () {
    return this.sPersonUid_1;
  };
  protoOf(BlockStatus).component2_7eebsb_k$ = function () {
    return this.sCbUid_1;
  };
  protoOf(BlockStatus).component3_7eebsa_k$ = function () {
    return this.sProgress_1;
  };
  protoOf(BlockStatus).component4_7eebs9_k$ = function () {
    return this.sIsCompleted_1;
  };
  protoOf(BlockStatus).component5_7eebs8_k$ = function () {
    return this.sIsSuccess_1;
  };
  protoOf(BlockStatus).component6_7eebs7_k$ = function () {
    return this.sScoreScaled_1;
  };
  protoOf(BlockStatus).copy_vyy9ja_k$ = function (sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled) {
    return new BlockStatus(sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled);
  };
  protoOf(BlockStatus).copy$default_m62ykr_k$ = function (sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled, $super) {
    sPersonUid = sPersonUid === VOID ? this.sPersonUid_1 : sPersonUid;
    sCbUid = sCbUid === VOID ? this.sCbUid_1 : sCbUid;
    sProgress = sProgress === VOID ? this.sProgress_1 : sProgress;
    sIsCompleted = sIsCompleted === VOID ? this.sIsCompleted_1 : sIsCompleted;
    sIsSuccess = sIsSuccess === VOID ? this.sIsSuccess_1 : sIsSuccess;
    sScoreScaled = sScoreScaled === VOID ? this.sScoreScaled_1 : sScoreScaled;
    return $super === VOID ? this.copy_vyy9ja_k$(sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled) : $super.copy_vyy9ja_k$.call(this, sPersonUid, sCbUid, sProgress, sIsCompleted, sIsSuccess, sScoreScaled);
  };
  protoOf(BlockStatus).toString = function () {
    return 'BlockStatus(sPersonUid=' + this.sPersonUid_1.toString() + ', sCbUid=' + this.sCbUid_1.toString() + ', sProgress=' + this.sProgress_1 + ', sIsCompleted=' + this.sIsCompleted_1 + ', sIsSuccess=' + this.sIsSuccess_1 + ', sScoreScaled=' + this.sScoreScaled_1 + ')';
  };
  protoOf(BlockStatus).hashCode = function () {
    var result = this.sPersonUid_1.hashCode();
    result = imul(result, 31) + this.sCbUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.sProgress_1 == null ? 0 : this.sProgress_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.sIsCompleted_1) | 0;
    result = imul(result, 31) + (this.sIsSuccess_1 == null ? 0 : getBooleanHashCode(this.sIsSuccess_1)) | 0;
    result = imul(result, 31) + (this.sScoreScaled_1 == null ? 0 : getNumberHashCode(this.sScoreScaled_1)) | 0;
    return result;
  };
  protoOf(BlockStatus).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof BlockStatus))
      return false;
    var tmp0_other_with_cast = other instanceof BlockStatus ? other : THROW_CCE();
    if (!this.sPersonUid_1.equals(tmp0_other_with_cast.sPersonUid_1))
      return false;
    if (!this.sCbUid_1.equals(tmp0_other_with_cast.sCbUid_1))
      return false;
    if (!(this.sProgress_1 == tmp0_other_with_cast.sProgress_1))
      return false;
    if (!(this.sIsCompleted_1 === tmp0_other_with_cast.sIsCompleted_1))
      return false;
    if (!(this.sIsSuccess_1 == tmp0_other_with_cast.sIsSuccess_1))
      return false;
    if (!equals(this.sScoreScaled_1, tmp0_other_with_cast.sScoreScaled_1))
      return false;
    return true;
  };
  function Companion_2() {
    Companion_instance_2 = this;
  }
  protoOf(Companion_2).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_2();
  };
  var Companion_instance_2;
  function Companion_getInstance_4() {
    if (Companion_instance_2 == null)
      new Companion_2();
    return Companion_instance_2;
  }
  function $serializer_2() {
    $serializer_instance_2 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzAndDetailPermissions', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('clazz', true);
    tmp0_serialDesc.addElement_5pzumi_k$('hasAttendancePermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('hasViewMembersPermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('hasLearningRecordPermission', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_2).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_2).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_44()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_2).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = false;
    var tmp6_local2 = false;
    var tmp7_local3 = false;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_44(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_44(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzAndDetailPermissions_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_2).serialize_uvn0hd_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.clazz_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_44(), value.clazz_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.hasAttendancePermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 1, value.hasAttendancePermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.hasViewMembersPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 2, value.hasViewMembersPermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.hasLearningRecordPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 3, value.hasLearningRecordPermission_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_2).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_uvn0hd_k$(encoder, value instanceof ClazzAndDetailPermissions ? value : THROW_CCE());
  };
  var $serializer_instance_2;
  function $serializer_getInstance_2() {
    if ($serializer_instance_2 == null)
      new $serializer_2();
    return $serializer_instance_2;
  }
  function ClazzAndDetailPermissions_init_$Init$(seen1, clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_2().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazz_1 = null;
    else
      $this.clazz_1 = clazz;
    if (0 === (seen1 & 2))
      $this.hasAttendancePermission_1 = false;
    else
      $this.hasAttendancePermission_1 = hasAttendancePermission;
    if (0 === (seen1 & 4))
      $this.hasViewMembersPermission_1 = false;
    else
      $this.hasViewMembersPermission_1 = hasViewMembersPermission;
    if (0 === (seen1 & 8))
      $this.hasLearningRecordPermission_1 = false;
    else
      $this.hasLearningRecordPermission_1 = hasLearningRecordPermission;
    return $this;
  }
  function ClazzAndDetailPermissions_init_$Create$(seen1, clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission, serializationConstructorMarker) {
    return ClazzAndDetailPermissions_init_$Init$(seen1, clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission, serializationConstructorMarker, objectCreate(protoOf(ClazzAndDetailPermissions)));
  }
  function ClazzAndDetailPermissions(clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission) {
    Companion_getInstance_4();
    clazz = clazz === VOID ? null : clazz;
    hasAttendancePermission = hasAttendancePermission === VOID ? false : hasAttendancePermission;
    hasViewMembersPermission = hasViewMembersPermission === VOID ? false : hasViewMembersPermission;
    hasLearningRecordPermission = hasLearningRecordPermission === VOID ? false : hasLearningRecordPermission;
    this.clazz_1 = clazz;
    this.hasAttendancePermission_1 = hasAttendancePermission;
    this.hasViewMembersPermission_1 = hasViewMembersPermission;
    this.hasLearningRecordPermission_1 = hasLearningRecordPermission;
  }
  protoOf(ClazzAndDetailPermissions).set_clazz_sym4kf_k$ = function (_set____db54di) {
    this.clazz_1 = _set____db54di;
  };
  protoOf(ClazzAndDetailPermissions).get_clazz_ips3zj_k$ = function () {
    return this.clazz_1;
  };
  protoOf(ClazzAndDetailPermissions).set_hasAttendancePermission_p2fnk0_k$ = function (_set____db54di) {
    this.hasAttendancePermission_1 = _set____db54di;
  };
  protoOf(ClazzAndDetailPermissions).get_hasAttendancePermission_2bsodl_k$ = function () {
    return this.hasAttendancePermission_1;
  };
  protoOf(ClazzAndDetailPermissions).set_hasViewMembersPermission_763s4v_k$ = function (_set____db54di) {
    this.hasViewMembersPermission_1 = _set____db54di;
  };
  protoOf(ClazzAndDetailPermissions).get_hasViewMembersPermission_dswsum_k$ = function () {
    return this.hasViewMembersPermission_1;
  };
  protoOf(ClazzAndDetailPermissions).set_hasLearningRecordPermission_ly3xie_k$ = function (_set____db54di) {
    this.hasLearningRecordPermission_1 = _set____db54di;
  };
  protoOf(ClazzAndDetailPermissions).get_hasLearningRecordPermission_s03z_k$ = function () {
    return this.hasLearningRecordPermission_1;
  };
  protoOf(ClazzAndDetailPermissions).component1_7eebsc_k$ = function () {
    return this.clazz_1;
  };
  protoOf(ClazzAndDetailPermissions).component2_7eebsb_k$ = function () {
    return this.hasAttendancePermission_1;
  };
  protoOf(ClazzAndDetailPermissions).component3_7eebsa_k$ = function () {
    return this.hasViewMembersPermission_1;
  };
  protoOf(ClazzAndDetailPermissions).component4_7eebs9_k$ = function () {
    return this.hasLearningRecordPermission_1;
  };
  protoOf(ClazzAndDetailPermissions).copy_k22sp0_k$ = function (clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission) {
    return new ClazzAndDetailPermissions(clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission);
  };
  protoOf(ClazzAndDetailPermissions).copy$default_tzy6xu_k$ = function (clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission, $super) {
    clazz = clazz === VOID ? this.clazz_1 : clazz;
    hasAttendancePermission = hasAttendancePermission === VOID ? this.hasAttendancePermission_1 : hasAttendancePermission;
    hasViewMembersPermission = hasViewMembersPermission === VOID ? this.hasViewMembersPermission_1 : hasViewMembersPermission;
    hasLearningRecordPermission = hasLearningRecordPermission === VOID ? this.hasLearningRecordPermission_1 : hasLearningRecordPermission;
    return $super === VOID ? this.copy_k22sp0_k$(clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission) : $super.copy_k22sp0_k$.call(this, clazz, hasAttendancePermission, hasViewMembersPermission, hasLearningRecordPermission);
  };
  protoOf(ClazzAndDetailPermissions).toString = function () {
    return 'ClazzAndDetailPermissions(clazz=' + this.clazz_1 + ', hasAttendancePermission=' + this.hasAttendancePermission_1 + ', hasViewMembersPermission=' + this.hasViewMembersPermission_1 + ', hasLearningRecordPermission=' + this.hasLearningRecordPermission_1 + ')';
  };
  protoOf(ClazzAndDetailPermissions).hashCode = function () {
    var result = this.clazz_1 == null ? 0 : this.clazz_1.hashCode();
    result = imul(result, 31) + getBooleanHashCode(this.hasAttendancePermission_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.hasViewMembersPermission_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.hasLearningRecordPermission_1) | 0;
    return result;
  };
  protoOf(ClazzAndDetailPermissions).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAndDetailPermissions))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAndDetailPermissions ? other : THROW_CCE();
    if (!equals(this.clazz_1, tmp0_other_with_cast.clazz_1))
      return false;
    if (!(this.hasAttendancePermission_1 === tmp0_other_with_cast.hasAttendancePermission_1))
      return false;
    if (!(this.hasViewMembersPermission_1 === tmp0_other_with_cast.hasViewMembersPermission_1))
      return false;
    if (!(this.hasLearningRecordPermission_1 === tmp0_other_with_cast.hasLearningRecordPermission_1))
      return false;
    return true;
  };
  function ClazzAndDisplayDetails(clazz, terminology, coursePicture, numStudents, numTeachers, activeUserIsStudent) {
    clazz = clazz === VOID ? null : clazz;
    terminology = terminology === VOID ? null : terminology;
    coursePicture = coursePicture === VOID ? null : coursePicture;
    numStudents = numStudents === VOID ? 0 : numStudents;
    numTeachers = numTeachers === VOID ? 0 : numTeachers;
    activeUserIsStudent = activeUserIsStudent === VOID ? false : activeUserIsStudent;
    this.clazz_1 = clazz;
    this.terminology_1 = terminology;
    this.coursePicture_1 = coursePicture;
    this.numStudents_1 = numStudents;
    this.numTeachers_1 = numTeachers;
    this.activeUserIsStudent_1 = activeUserIsStudent;
  }
  protoOf(ClazzAndDisplayDetails).set_clazz_sym4kf_k$ = function (_set____db54di) {
    this.clazz_1 = _set____db54di;
  };
  protoOf(ClazzAndDisplayDetails).get_clazz_ips3zj_k$ = function () {
    return this.clazz_1;
  };
  protoOf(ClazzAndDisplayDetails).set_terminology_opn48q_k$ = function (_set____db54di) {
    this.terminology_1 = _set____db54di;
  };
  protoOf(ClazzAndDisplayDetails).get_terminology_hmih12_k$ = function () {
    return this.terminology_1;
  };
  protoOf(ClazzAndDisplayDetails).set_coursePicture_h9sgol_k$ = function (_set____db54di) {
    this.coursePicture_1 = _set____db54di;
  };
  protoOf(ClazzAndDisplayDetails).get_coursePicture_gcf86y_k$ = function () {
    return this.coursePicture_1;
  };
  protoOf(ClazzAndDisplayDetails).set_numStudents_sx9y7t_k$ = function (_set____db54di) {
    this.numStudents_1 = _set____db54di;
  };
  protoOf(ClazzAndDisplayDetails).get_numStudents_si1t5h_k$ = function () {
    return this.numStudents_1;
  };
  protoOf(ClazzAndDisplayDetails).set_numTeachers_35yqj6_k$ = function (_set____db54di) {
    this.numTeachers_1 = _set____db54di;
  };
  protoOf(ClazzAndDisplayDetails).get_numTeachers_u9gdf6_k$ = function () {
    return this.numTeachers_1;
  };
  protoOf(ClazzAndDisplayDetails).set_activeUserIsStudent_fjf5f2_k$ = function (_set____db54di) {
    this.activeUserIsStudent_1 = _set____db54di;
  };
  protoOf(ClazzAndDisplayDetails).get_activeUserIsStudent_elkqxj_k$ = function () {
    return this.activeUserIsStudent_1;
  };
  protoOf(ClazzAndDisplayDetails).component1_7eebsc_k$ = function () {
    return this.clazz_1;
  };
  protoOf(ClazzAndDisplayDetails).component2_7eebsb_k$ = function () {
    return this.terminology_1;
  };
  protoOf(ClazzAndDisplayDetails).component3_7eebsa_k$ = function () {
    return this.coursePicture_1;
  };
  protoOf(ClazzAndDisplayDetails).component4_7eebs9_k$ = function () {
    return this.numStudents_1;
  };
  protoOf(ClazzAndDisplayDetails).component5_7eebs8_k$ = function () {
    return this.numTeachers_1;
  };
  protoOf(ClazzAndDisplayDetails).component6_7eebs7_k$ = function () {
    return this.activeUserIsStudent_1;
  };
  protoOf(ClazzAndDisplayDetails).copy_qm98zb_k$ = function (clazz, terminology, coursePicture, numStudents, numTeachers, activeUserIsStudent) {
    return new ClazzAndDisplayDetails(clazz, terminology, coursePicture, numStudents, numTeachers, activeUserIsStudent);
  };
  protoOf(ClazzAndDisplayDetails).copy$default_ps1vkm_k$ = function (clazz, terminology, coursePicture, numStudents, numTeachers, activeUserIsStudent, $super) {
    clazz = clazz === VOID ? this.clazz_1 : clazz;
    terminology = terminology === VOID ? this.terminology_1 : terminology;
    coursePicture = coursePicture === VOID ? this.coursePicture_1 : coursePicture;
    numStudents = numStudents === VOID ? this.numStudents_1 : numStudents;
    numTeachers = numTeachers === VOID ? this.numTeachers_1 : numTeachers;
    activeUserIsStudent = activeUserIsStudent === VOID ? this.activeUserIsStudent_1 : activeUserIsStudent;
    return $super === VOID ? this.copy_qm98zb_k$(clazz, terminology, coursePicture, numStudents, numTeachers, activeUserIsStudent) : $super.copy_qm98zb_k$.call(this, clazz, terminology, coursePicture, numStudents, numTeachers, activeUserIsStudent);
  };
  protoOf(ClazzAndDisplayDetails).toString = function () {
    return 'ClazzAndDisplayDetails(clazz=' + this.clazz_1 + ', terminology=' + this.terminology_1 + ', coursePicture=' + this.coursePicture_1 + ', numStudents=' + this.numStudents_1 + ', numTeachers=' + this.numTeachers_1 + ', activeUserIsStudent=' + this.activeUserIsStudent_1 + ')';
  };
  protoOf(ClazzAndDisplayDetails).hashCode = function () {
    var result = this.clazz_1 == null ? 0 : this.clazz_1.hashCode();
    result = imul(result, 31) + (this.terminology_1 == null ? 0 : hashCode(this.terminology_1)) | 0;
    result = imul(result, 31) + (this.coursePicture_1 == null ? 0 : this.coursePicture_1.hashCode()) | 0;
    result = imul(result, 31) + this.numStudents_1 | 0;
    result = imul(result, 31) + this.numTeachers_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.activeUserIsStudent_1) | 0;
    return result;
  };
  protoOf(ClazzAndDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAndDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAndDisplayDetails ? other : THROW_CCE();
    if (!equals(this.clazz_1, tmp0_other_with_cast.clazz_1))
      return false;
    if (!equals(this.terminology_1, tmp0_other_with_cast.terminology_1))
      return false;
    if (!equals(this.coursePicture_1, tmp0_other_with_cast.coursePicture_1))
      return false;
    if (!(this.numStudents_1 === tmp0_other_with_cast.numStudents_1))
      return false;
    if (!(this.numTeachers_1 === tmp0_other_with_cast.numTeachers_1))
      return false;
    if (!(this.activeUserIsStudent_1 === tmp0_other_with_cast.activeUserIsStudent_1))
      return false;
    return true;
  };
  function Companion_3() {
    Companion_instance_3 = this;
  }
  protoOf(Companion_3).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_3();
  };
  var Companion_instance_3;
  function Companion_getInstance_5() {
    if (Companion_instance_3 == null)
      new Companion_3();
    return Companion_instance_3;
  }
  function $serializer_3() {
    $serializer_instance_3 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzAssignmentAndBlock', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('assignment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('block', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_3).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_3).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_45()), get_nullable($serializer_getInstance_76())];
  };
  protoOf($serializer_3).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_45(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_76(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_45(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_76(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzAssignmentAndBlock_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_3).serialize_fmaty0_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.assignment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_45(), value.assignment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.block_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_76(), value.block_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_3).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_fmaty0_k$(encoder, value instanceof ClazzAssignmentAndBlock ? value : THROW_CCE());
  };
  var $serializer_instance_3;
  function $serializer_getInstance_3() {
    if ($serializer_instance_3 == null)
      new $serializer_3();
    return $serializer_instance_3;
  }
  function ClazzAssignmentAndBlock_init_$Init$(seen1, assignment, block, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_3().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.assignment_1 = null;
    else
      $this.assignment_1 = assignment;
    if (0 === (seen1 & 2))
      $this.block_1 = null;
    else
      $this.block_1 = block;
    return $this;
  }
  function ClazzAssignmentAndBlock_init_$Create$(seen1, assignment, block, serializationConstructorMarker) {
    return ClazzAssignmentAndBlock_init_$Init$(seen1, assignment, block, serializationConstructorMarker, objectCreate(protoOf(ClazzAssignmentAndBlock)));
  }
  function ClazzAssignmentAndBlock(assignment, block) {
    Companion_getInstance_5();
    assignment = assignment === VOID ? null : assignment;
    block = block === VOID ? null : block;
    this.assignment_1 = assignment;
    this.block_1 = block;
  }
  protoOf(ClazzAssignmentAndBlock).set_assignment_6aqel7_k$ = function (_set____db54di) {
    this.assignment_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentAndBlock).get_assignment_378p7u_k$ = function () {
    return this.assignment_1;
  };
  protoOf(ClazzAssignmentAndBlock).set_block_ew53te_k$ = function (_set____db54di) {
    this.block_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentAndBlock).get_block_ip8l7o_k$ = function () {
    return this.block_1;
  };
  protoOf(ClazzAssignmentAndBlock).component1_7eebsc_k$ = function () {
    return this.assignment_1;
  };
  protoOf(ClazzAssignmentAndBlock).component2_7eebsb_k$ = function () {
    return this.block_1;
  };
  protoOf(ClazzAssignmentAndBlock).copy_qc8d7g_k$ = function (assignment, block) {
    return new ClazzAssignmentAndBlock(assignment, block);
  };
  protoOf(ClazzAssignmentAndBlock).copy$default_nf9wop_k$ = function (assignment, block, $super) {
    assignment = assignment === VOID ? this.assignment_1 : assignment;
    block = block === VOID ? this.block_1 : block;
    return $super === VOID ? this.copy_qc8d7g_k$(assignment, block) : $super.copy_qc8d7g_k$.call(this, assignment, block);
  };
  protoOf(ClazzAssignmentAndBlock).toString = function () {
    return 'ClazzAssignmentAndBlock(assignment=' + this.assignment_1 + ', block=' + this.block_1 + ')';
  };
  protoOf(ClazzAssignmentAndBlock).hashCode = function () {
    var result = this.assignment_1 == null ? 0 : this.assignment_1.hashCode();
    result = imul(result, 31) + (this.block_1 == null ? 0 : this.block_1.hashCode()) | 0;
    return result;
  };
  protoOf(ClazzAssignmentAndBlock).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAssignmentAndBlock))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAssignmentAndBlock ? other : THROW_CCE();
    if (!equals(this.assignment_1, tmp0_other_with_cast.assignment_1))
      return false;
    if (!equals(this.block_1, tmp0_other_with_cast.block_1))
      return false;
    return true;
  };
  function Companion_4() {
    Companion_instance_4 = this;
  }
  protoOf(Companion_4).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_4();
  };
  var Companion_instance_4;
  function Companion_getInstance_6() {
    if (Companion_instance_4 == null)
      new Companion_4();
    return Companion_instance_4;
  }
  function $serializer_4() {
    $serializer_instance_4 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzEnrolmentAndPerson', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    tmp0_serialDesc.addElement_5pzumi_k$('enrolment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('picture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_4).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_4).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_98()), get_nullable($serializer_getInstance_47()), get_nullable($serializer_getInstance_105())];
  };
  protoOf($serializer_4).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_47(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_105(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_47(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_105(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzEnrolmentAndPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_4).serialize_i06per_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_98(), value.person_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.enrolment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_47(), value.enrolment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.picture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_105(), value.picture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_4).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_i06per_k$(encoder, value instanceof ClazzEnrolmentAndPerson ? value : THROW_CCE());
  };
  var $serializer_instance_4;
  function $serializer_getInstance_4() {
    if ($serializer_instance_4 == null)
      new $serializer_4();
    return $serializer_instance_4;
  }
  function ClazzEnrolmentAndPerson_init_$Init$(seen1, person, enrolment, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_4().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    if (0 === (seen1 & 2))
      $this.enrolment_1 = null;
    else
      $this.enrolment_1 = enrolment;
    if (0 === (seen1 & 4))
      $this.picture_1 = null;
    else
      $this.picture_1 = picture;
    return $this;
  }
  function ClazzEnrolmentAndPerson_init_$Create$(seen1, person, enrolment, picture, serializationConstructorMarker) {
    return ClazzEnrolmentAndPerson_init_$Init$(seen1, person, enrolment, picture, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolmentAndPerson)));
  }
  function ClazzEnrolmentAndPerson(person, enrolment, picture) {
    Companion_getInstance_6();
    person = person === VOID ? null : person;
    enrolment = enrolment === VOID ? null : enrolment;
    picture = picture === VOID ? null : picture;
    this.person_1 = person;
    this.enrolment_1 = enrolment;
    this.picture_1 = picture;
  }
  protoOf(ClazzEnrolmentAndPerson).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentAndPerson).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(ClazzEnrolmentAndPerson).set_enrolment_jtf6zl_k$ = function (_set____db54di) {
    this.enrolment_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentAndPerson).get_enrolment_udisp1_k$ = function () {
    return this.enrolment_1;
  };
  protoOf(ClazzEnrolmentAndPerson).set_picture_dxcvme_k$ = function (_set____db54di) {
    this.picture_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentAndPerson).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(ClazzEnrolmentAndPerson).component1_7eebsc_k$ = function () {
    return this.person_1;
  };
  protoOf(ClazzEnrolmentAndPerson).component2_7eebsb_k$ = function () {
    return this.enrolment_1;
  };
  protoOf(ClazzEnrolmentAndPerson).component3_7eebsa_k$ = function () {
    return this.picture_1;
  };
  protoOf(ClazzEnrolmentAndPerson).copy_m539v5_k$ = function (person, enrolment, picture) {
    return new ClazzEnrolmentAndPerson(person, enrolment, picture);
  };
  protoOf(ClazzEnrolmentAndPerson).copy$default_m6obp2_k$ = function (person, enrolment, picture, $super) {
    person = person === VOID ? this.person_1 : person;
    enrolment = enrolment === VOID ? this.enrolment_1 : enrolment;
    picture = picture === VOID ? this.picture_1 : picture;
    return $super === VOID ? this.copy_m539v5_k$(person, enrolment, picture) : $super.copy_m539v5_k$.call(this, person, enrolment, picture);
  };
  protoOf(ClazzEnrolmentAndPerson).toString = function () {
    return 'ClazzEnrolmentAndPerson(person=' + this.person_1 + ', enrolment=' + this.enrolment_1 + ', picture=' + this.picture_1 + ')';
  };
  protoOf(ClazzEnrolmentAndPerson).hashCode = function () {
    var result = this.person_1 == null ? 0 : this.person_1.hashCode();
    result = imul(result, 31) + (this.enrolment_1 == null ? 0 : hashCode(this.enrolment_1)) | 0;
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    return result;
  };
  protoOf(ClazzEnrolmentAndPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzEnrolmentAndPerson))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzEnrolmentAndPerson ? other : THROW_CCE();
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.enrolment_1, tmp0_other_with_cast.enrolment_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    return true;
  };
  function Companion_5() {
    Companion_instance_5 = this;
  }
  protoOf(Companion_5).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_5();
  };
  var Companion_instance_5;
  function Companion_getInstance_7() {
    if (Companion_instance_5 == null)
      new Companion_5();
    return Companion_instance_5;
  }
  function $serializer_5() {
    $serializer_instance_5 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzEnrolmentAndPersonDetailDetails', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('enrolment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazz', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseTerminology', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_5).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_5).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_47()), get_nullable($serializer_getInstance_44()), get_nullable($serializer_getInstance_83())];
  };
  protoOf($serializer_5).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_47(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_44(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_83(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_47(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_44(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_83(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzEnrolmentAndPersonDetailDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_5).serialize_qzqy36_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.enrolment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_47(), value.enrolment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.clazz_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_44(), value.clazz_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.courseTerminology_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_83(), value.courseTerminology_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_5).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_qzqy36_k$(encoder, value instanceof ClazzEnrolmentAndPersonDetailDetails ? value : THROW_CCE());
  };
  var $serializer_instance_5;
  function $serializer_getInstance_5() {
    if ($serializer_instance_5 == null)
      new $serializer_5();
    return $serializer_instance_5;
  }
  function ClazzEnrolmentAndPersonDetailDetails_init_$Init$(seen1, enrolment, clazz, courseTerminology, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_5().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.enrolment_1 = null;
    else
      $this.enrolment_1 = enrolment;
    if (0 === (seen1 & 2))
      $this.clazz_1 = null;
    else
      $this.clazz_1 = clazz;
    if (0 === (seen1 & 4))
      $this.courseTerminology_1 = null;
    else
      $this.courseTerminology_1 = courseTerminology;
    return $this;
  }
  function ClazzEnrolmentAndPersonDetailDetails_init_$Create$(seen1, enrolment, clazz, courseTerminology, serializationConstructorMarker) {
    return ClazzEnrolmentAndPersonDetailDetails_init_$Init$(seen1, enrolment, clazz, courseTerminology, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolmentAndPersonDetailDetails)));
  }
  function ClazzEnrolmentAndPersonDetailDetails(enrolment, clazz, courseTerminology) {
    Companion_getInstance_7();
    enrolment = enrolment === VOID ? null : enrolment;
    clazz = clazz === VOID ? null : clazz;
    courseTerminology = courseTerminology === VOID ? null : courseTerminology;
    this.enrolment_1 = enrolment;
    this.clazz_1 = clazz;
    this.courseTerminology_1 = courseTerminology;
  }
  protoOf(ClazzEnrolmentAndPersonDetailDetails).set_enrolment_jtf6zl_k$ = function (_set____db54di) {
    this.enrolment_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).get_enrolment_udisp1_k$ = function () {
    return this.enrolment_1;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).set_clazz_sym4kf_k$ = function (_set____db54di) {
    this.clazz_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).get_clazz_ips3zj_k$ = function () {
    return this.clazz_1;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).set_courseTerminology_yd7w9r_k$ = function (_set____db54di) {
    this.courseTerminology_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).get_courseTerminology_pxom3z_k$ = function () {
    return this.courseTerminology_1;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).component1_7eebsc_k$ = function () {
    return this.enrolment_1;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).component2_7eebsb_k$ = function () {
    return this.clazz_1;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).component3_7eebsa_k$ = function () {
    return this.courseTerminology_1;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).copy_pz8gmj_k$ = function (enrolment, clazz, courseTerminology) {
    return new ClazzEnrolmentAndPersonDetailDetails(enrolment, clazz, courseTerminology);
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).copy$default_6t9vh5_k$ = function (enrolment, clazz, courseTerminology, $super) {
    enrolment = enrolment === VOID ? this.enrolment_1 : enrolment;
    clazz = clazz === VOID ? this.clazz_1 : clazz;
    courseTerminology = courseTerminology === VOID ? this.courseTerminology_1 : courseTerminology;
    return $super === VOID ? this.copy_pz8gmj_k$(enrolment, clazz, courseTerminology) : $super.copy_pz8gmj_k$.call(this, enrolment, clazz, courseTerminology);
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).toString = function () {
    return 'ClazzEnrolmentAndPersonDetailDetails(enrolment=' + this.enrolment_1 + ', clazz=' + this.clazz_1 + ', courseTerminology=' + this.courseTerminology_1 + ')';
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).hashCode = function () {
    var result = this.enrolment_1 == null ? 0 : hashCode(this.enrolment_1);
    result = imul(result, 31) + (this.clazz_1 == null ? 0 : this.clazz_1.hashCode()) | 0;
    result = imul(result, 31) + (this.courseTerminology_1 == null ? 0 : hashCode(this.courseTerminology_1)) | 0;
    return result;
  };
  protoOf(ClazzEnrolmentAndPersonDetailDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzEnrolmentAndPersonDetailDetails))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzEnrolmentAndPersonDetailDetails ? other : THROW_CCE();
    if (!equals(this.enrolment_1, tmp0_other_with_cast.enrolment_1))
      return false;
    if (!equals(this.clazz_1, tmp0_other_with_cast.clazz_1))
      return false;
    if (!equals(this.courseTerminology_1, tmp0_other_with_cast.courseTerminology_1))
      return false;
    return true;
  };
  function Companion_6() {
    Companion_instance_6 = this;
  }
  protoOf(Companion_6).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_6();
  };
  var Companion_instance_6;
  function Companion_getInstance_8() {
    if (Companion_instance_6 == null)
      new Companion_6();
    return Companion_instance_6;
  }
  function $serializer_6() {
    $serializer_instance_6 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ClazzNameAndTerminology', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('terminology', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_6).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_6).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), get_nullable($serializer_getInstance_83())];
  };
  protoOf($serializer_6).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_83(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_83(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzNameAndTerminology_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_6).serialize_t85vng_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.clazzName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, StringSerializer_getInstance(), value.clazzName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.terminology_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_83(), value.terminology_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_6).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_t85vng_k$(encoder, value instanceof ClazzNameAndTerminology ? value : THROW_CCE());
  };
  var $serializer_instance_6;
  function $serializer_getInstance_6() {
    if ($serializer_instance_6 == null)
      new $serializer_6();
    return $serializer_instance_6;
  }
  function ClazzNameAndTerminology_init_$Init$(seen1, clazzName, terminology, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_6().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzName_1 = null;
    else
      $this.clazzName_1 = clazzName;
    if (0 === (seen1 & 2))
      $this.terminology_1 = null;
    else
      $this.terminology_1 = terminology;
    return $this;
  }
  function ClazzNameAndTerminology_init_$Create$(seen1, clazzName, terminology, serializationConstructorMarker) {
    return ClazzNameAndTerminology_init_$Init$(seen1, clazzName, terminology, serializationConstructorMarker, objectCreate(protoOf(ClazzNameAndTerminology)));
  }
  function ClazzNameAndTerminology(clazzName, terminology) {
    Companion_getInstance_8();
    clazzName = clazzName === VOID ? null : clazzName;
    terminology = terminology === VOID ? null : terminology;
    this.clazzName_1 = clazzName;
    this.terminology_1 = terminology;
  }
  protoOf(ClazzNameAndTerminology).set_clazzName_aqdmvj_k$ = function (_set____db54di) {
    this.clazzName_1 = _set____db54di;
  };
  protoOf(ClazzNameAndTerminology).get_clazzName_brsrx6_k$ = function () {
    return this.clazzName_1;
  };
  protoOf(ClazzNameAndTerminology).set_terminology_opn48q_k$ = function (_set____db54di) {
    this.terminology_1 = _set____db54di;
  };
  protoOf(ClazzNameAndTerminology).get_terminology_hmih12_k$ = function () {
    return this.terminology_1;
  };
  protoOf(ClazzNameAndTerminology).component1_7eebsc_k$ = function () {
    return this.clazzName_1;
  };
  protoOf(ClazzNameAndTerminology).component2_7eebsb_k$ = function () {
    return this.terminology_1;
  };
  protoOf(ClazzNameAndTerminology).copy_xvfye6_k$ = function (clazzName, terminology) {
    return new ClazzNameAndTerminology(clazzName, terminology);
  };
  protoOf(ClazzNameAndTerminology).copy$default_tsexgj_k$ = function (clazzName, terminology, $super) {
    clazzName = clazzName === VOID ? this.clazzName_1 : clazzName;
    terminology = terminology === VOID ? this.terminology_1 : terminology;
    return $super === VOID ? this.copy_xvfye6_k$(clazzName, terminology) : $super.copy_xvfye6_k$.call(this, clazzName, terminology);
  };
  protoOf(ClazzNameAndTerminology).toString = function () {
    return 'ClazzNameAndTerminology(clazzName=' + this.clazzName_1 + ', terminology=' + this.terminology_1 + ')';
  };
  protoOf(ClazzNameAndTerminology).hashCode = function () {
    var result = this.clazzName_1 == null ? 0 : getStringHashCode(this.clazzName_1);
    result = imul(result, 31) + (this.terminology_1 == null ? 0 : hashCode(this.terminology_1)) | 0;
    return result;
  };
  protoOf(ClazzNameAndTerminology).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzNameAndTerminology))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzNameAndTerminology ? other : THROW_CCE();
    if (!(this.clazzName_1 == tmp0_other_with_cast.clazzName_1))
      return false;
    if (!equals(this.terminology_1, tmp0_other_with_cast.terminology_1))
      return false;
    return true;
  };
  function Companion_7() {
    Companion_instance_7 = this;
  }
  protoOf(Companion_7).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_7();
  };
  var Companion_instance_7;
  function Companion_getInstance_9() {
    if (Companion_instance_7 == null)
      new Companion_7();
    return Companion_instance_7;
  }
  function $serializer_7() {
    $serializer_instance_7 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CommentsAndName', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('comment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('firstNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('pictureUri', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_7).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_7).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_57(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_7).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_57(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_57(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CommentsAndName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_7).serialize_nfpvyj_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.comment_1.equals(new Comments())) {
      tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 0, $serializer_getInstance_57(), value.comment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.firstNames_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.firstNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.lastName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.lastName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.pictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.pictureUri_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_7).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_nfpvyj_k$(encoder, value instanceof CommentsAndName ? value : THROW_CCE());
  };
  var $serializer_instance_7;
  function $serializer_getInstance_7() {
    if ($serializer_instance_7 == null)
      new $serializer_7();
    return $serializer_instance_7;
  }
  function CommentsAndName_init_$Init$(seen1, comment, firstNames, lastName, pictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_7().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.comment_1 = new Comments();
    else
      $this.comment_1 = comment;
    if (0 === (seen1 & 2))
      $this.firstNames_1 = null;
    else
      $this.firstNames_1 = firstNames;
    if (0 === (seen1 & 4))
      $this.lastName_1 = null;
    else
      $this.lastName_1 = lastName;
    if (0 === (seen1 & 8))
      $this.pictureUri_1 = null;
    else
      $this.pictureUri_1 = pictureUri;
    return $this;
  }
  function CommentsAndName_init_$Create$(seen1, comment, firstNames, lastName, pictureUri, serializationConstructorMarker) {
    return CommentsAndName_init_$Init$(seen1, comment, firstNames, lastName, pictureUri, serializationConstructorMarker, objectCreate(protoOf(CommentsAndName)));
  }
  function CommentsAndName(comment, firstNames, lastName, pictureUri) {
    Companion_getInstance_9();
    comment = comment === VOID ? new Comments() : comment;
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    pictureUri = pictureUri === VOID ? null : pictureUri;
    this.comment_1 = comment;
    this.firstNames_1 = firstNames;
    this.lastName_1 = lastName;
    this.pictureUri_1 = pictureUri;
  }
  protoOf(CommentsAndName).set_comment_vfk9kp_k$ = function (_set____db54di) {
    this.comment_1 = _set____db54di;
  };
  protoOf(CommentsAndName).get_comment_gzea9i_k$ = function () {
    return this.comment_1;
  };
  protoOf(CommentsAndName).set_firstNames_audc9u_k$ = function (_set____db54di) {
    this.firstNames_1 = _set____db54di;
  };
  protoOf(CommentsAndName).get_firstNames_n3o3y7_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(CommentsAndName).set_lastName_6ukpbb_k$ = function (_set____db54di) {
    this.lastName_1 = _set____db54di;
  };
  protoOf(CommentsAndName).get_lastName_f360wa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(CommentsAndName).set_pictureUri_ldxxh0_k$ = function (_set____db54di) {
    this.pictureUri_1 = _set____db54di;
  };
  protoOf(CommentsAndName).get_pictureUri_oz22hj_k$ = function () {
    return this.pictureUri_1;
  };
  protoOf(CommentsAndName).component1_7eebsc_k$ = function () {
    return this.comment_1;
  };
  protoOf(CommentsAndName).component2_7eebsb_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(CommentsAndName).component3_7eebsa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(CommentsAndName).component4_7eebs9_k$ = function () {
    return this.pictureUri_1;
  };
  protoOf(CommentsAndName).copy_kz4yhz_k$ = function (comment, firstNames, lastName, pictureUri) {
    return new CommentsAndName(comment, firstNames, lastName, pictureUri);
  };
  protoOf(CommentsAndName).copy$default_8371md_k$ = function (comment, firstNames, lastName, pictureUri, $super) {
    comment = comment === VOID ? this.comment_1 : comment;
    firstNames = firstNames === VOID ? this.firstNames_1 : firstNames;
    lastName = lastName === VOID ? this.lastName_1 : lastName;
    pictureUri = pictureUri === VOID ? this.pictureUri_1 : pictureUri;
    return $super === VOID ? this.copy_kz4yhz_k$(comment, firstNames, lastName, pictureUri) : $super.copy_kz4yhz_k$.call(this, comment, firstNames, lastName, pictureUri);
  };
  protoOf(CommentsAndName).toString = function () {
    return 'CommentsAndName(comment=' + this.comment_1 + ', firstNames=' + this.firstNames_1 + ', lastName=' + this.lastName_1 + ', pictureUri=' + this.pictureUri_1 + ')';
  };
  protoOf(CommentsAndName).hashCode = function () {
    var result = this.comment_1.hashCode();
    result = imul(result, 31) + (this.firstNames_1 == null ? 0 : getStringHashCode(this.firstNames_1)) | 0;
    result = imul(result, 31) + (this.lastName_1 == null ? 0 : getStringHashCode(this.lastName_1)) | 0;
    result = imul(result, 31) + (this.pictureUri_1 == null ? 0 : getStringHashCode(this.pictureUri_1)) | 0;
    return result;
  };
  protoOf(CommentsAndName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CommentsAndName))
      return false;
    var tmp0_other_with_cast = other instanceof CommentsAndName ? other : THROW_CCE();
    if (!this.comment_1.equals(tmp0_other_with_cast.comment_1))
      return false;
    if (!(this.firstNames_1 == tmp0_other_with_cast.firstNames_1))
      return false;
    if (!(this.lastName_1 == tmp0_other_with_cast.lastName_1))
      return false;
    if (!(this.pictureUri_1 == tmp0_other_with_cast.pictureUri_1))
      return false;
    return true;
  };
  function Companion_8() {
    Companion_instance_8 = this;
  }
  protoOf(Companion_8).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_8();
  };
  var Companion_instance_8;
  function Companion_getInstance_10() {
    if (Companion_instance_8 == null)
      new Companion_8();
    return Companion_instance_8;
  }
  function $serializer_8() {
    $serializer_instance_8 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryAndContentJob', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('entry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentJob', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentJobItem', true);
    tmp0_serialDesc.addElement_5pzumi_k$('picture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_8).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_8).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_72()), get_nullable($serializer_getInstance_62()), get_nullable($serializer_getInstance_65())];
  };
  protoOf($serializer_8).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_72(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_62(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_72(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_62(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryAndContentJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_8).serialize_hco89r_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.entry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_60(), value.entry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.contentJob_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_72(), value.contentJob_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.contentJobItem_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_62(), value.contentJobItem_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.picture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_65(), value.picture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_8).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_hco89r_k$(encoder, value instanceof ContentEntryAndContentJob ? value : THROW_CCE());
  };
  var $serializer_instance_8;
  function $serializer_getInstance_8() {
    if ($serializer_instance_8 == null)
      new $serializer_8();
    return $serializer_instance_8;
  }
  function ContentEntryAndContentJob_init_$Init$(seen1, entry, contentJob, contentJobItem, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_8().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.entry_1 = null;
    else
      $this.entry_1 = entry;
    if (0 === (seen1 & 2))
      $this.contentJob_1 = null;
    else
      $this.contentJob_1 = contentJob;
    if (0 === (seen1 & 4))
      $this.contentJobItem_1 = null;
    else
      $this.contentJobItem_1 = contentJobItem;
    if (0 === (seen1 & 8))
      $this.picture_1 = null;
    else
      $this.picture_1 = picture;
    return $this;
  }
  function ContentEntryAndContentJob_init_$Create$(seen1, entry, contentJob, contentJobItem, picture, serializationConstructorMarker) {
    return ContentEntryAndContentJob_init_$Init$(seen1, entry, contentJob, contentJobItem, picture, serializationConstructorMarker, objectCreate(protoOf(ContentEntryAndContentJob)));
  }
  function ContentEntryAndContentJob(entry, contentJob, contentJobItem, picture) {
    Companion_getInstance_10();
    entry = entry === VOID ? null : entry;
    contentJob = contentJob === VOID ? null : contentJob;
    contentJobItem = contentJobItem === VOID ? null : contentJobItem;
    picture = picture === VOID ? null : picture;
    this.entry_1 = entry;
    this.contentJob_1 = contentJob;
    this.contentJobItem_1 = contentJobItem;
    this.picture_1 = picture;
  }
  protoOf(ContentEntryAndContentJob).get_entry_iqxd1l_k$ = function () {
    return this.entry_1;
  };
  protoOf(ContentEntryAndContentJob).get_contentJob_fsr8c3_k$ = function () {
    return this.contentJob_1;
  };
  protoOf(ContentEntryAndContentJob).get_contentJobItem_fg7ikg_k$ = function () {
    return this.contentJobItem_1;
  };
  protoOf(ContentEntryAndContentJob).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndContentJob).component1_7eebsc_k$ = function () {
    return this.entry_1;
  };
  protoOf(ContentEntryAndContentJob).component2_7eebsb_k$ = function () {
    return this.contentJob_1;
  };
  protoOf(ContentEntryAndContentJob).component3_7eebsa_k$ = function () {
    return this.contentJobItem_1;
  };
  protoOf(ContentEntryAndContentJob).component4_7eebs9_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndContentJob).copy_37ri2q_k$ = function (entry, contentJob, contentJobItem, picture) {
    return new ContentEntryAndContentJob(entry, contentJob, contentJobItem, picture);
  };
  protoOf(ContentEntryAndContentJob).copy$default_uhdblk_k$ = function (entry, contentJob, contentJobItem, picture, $super) {
    entry = entry === VOID ? this.entry_1 : entry;
    contentJob = contentJob === VOID ? this.contentJob_1 : contentJob;
    contentJobItem = contentJobItem === VOID ? this.contentJobItem_1 : contentJobItem;
    picture = picture === VOID ? this.picture_1 : picture;
    return $super === VOID ? this.copy_37ri2q_k$(entry, contentJob, contentJobItem, picture) : $super.copy_37ri2q_k$.call(this, entry, contentJob, contentJobItem, picture);
  };
  protoOf(ContentEntryAndContentJob).toString = function () {
    return 'ContentEntryAndContentJob(entry=' + this.entry_1 + ', contentJob=' + this.contentJob_1 + ', contentJobItem=' + this.contentJobItem_1 + ', picture=' + this.picture_1 + ')';
  };
  protoOf(ContentEntryAndContentJob).hashCode = function () {
    var result = this.entry_1 == null ? 0 : this.entry_1.hashCode();
    result = imul(result, 31) + (this.contentJob_1 == null ? 0 : this.contentJob_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentJobItem_1 == null ? 0 : this.contentJobItem_1.hashCode()) | 0;
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndContentJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndContentJob))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndContentJob ? other : THROW_CCE();
    if (!equals(this.entry_1, tmp0_other_with_cast.entry_1))
      return false;
    if (!equals(this.contentJob_1, tmp0_other_with_cast.contentJob_1))
      return false;
    if (!equals(this.contentJobItem_1, tmp0_other_with_cast.contentJobItem_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    return true;
  };
  function Companion_9() {
    Companion_instance_9 = this;
  }
  protoOf(Companion_9).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_9();
  };
  var Companion_instance_9;
  function Companion_getInstance_11() {
    if (Companion_instance_9 == null)
      new Companion_9();
    return Companion_instance_9;
  }
  function $serializer_9() {
    $serializer_instance_9 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryAndDetail', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('entry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('latestVersion', true);
    tmp0_serialDesc.addElement_5pzumi_k$('picture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('status', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_9).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_9).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_70()), get_nullable($serializer_getInstance_65()), get_nullable($serializer_getInstance_1())];
  };
  protoOf($serializer_9).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_70(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_65(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_1(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_70(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_65(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_1(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryAndDetail_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_9).serialize_lytex8_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.entry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_60(), value.entry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.latestVersion_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_70(), value.latestVersion_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.picture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_65(), value.picture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.status_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_1(), value.status_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_9).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_lytex8_k$(encoder, value instanceof ContentEntryAndDetail ? value : THROW_CCE());
  };
  var $serializer_instance_9;
  function $serializer_getInstance_9() {
    if ($serializer_instance_9 == null)
      new $serializer_9();
    return $serializer_instance_9;
  }
  function ContentEntryAndDetail_init_$Init$(seen1, entry, latestVersion, picture, status, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_9().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.entry_1 = null;
    else
      $this.entry_1 = entry;
    if (0 === (seen1 & 2))
      $this.latestVersion_1 = null;
    else
      $this.latestVersion_1 = latestVersion;
    if (0 === (seen1 & 4))
      $this.picture_1 = null;
    else
      $this.picture_1 = picture;
    if (0 === (seen1 & 8))
      $this.status_1 = null;
    else
      $this.status_1 = status;
    return $this;
  }
  function ContentEntryAndDetail_init_$Create$(seen1, entry, latestVersion, picture, status, serializationConstructorMarker) {
    return ContentEntryAndDetail_init_$Init$(seen1, entry, latestVersion, picture, status, serializationConstructorMarker, objectCreate(protoOf(ContentEntryAndDetail)));
  }
  function ContentEntryAndDetail(entry, latestVersion, picture, status) {
    Companion_getInstance_11();
    entry = entry === VOID ? null : entry;
    latestVersion = latestVersion === VOID ? null : latestVersion;
    picture = picture === VOID ? null : picture;
    status = status === VOID ? null : status;
    this.entry_1 = entry;
    this.latestVersion_1 = latestVersion;
    this.picture_1 = picture;
    this.status_1 = status;
  }
  protoOf(ContentEntryAndDetail).set_entry_6mesg_k$ = function (_set____db54di) {
    this.entry_1 = _set____db54di;
  };
  protoOf(ContentEntryAndDetail).get_entry_iqxd1l_k$ = function () {
    return this.entry_1;
  };
  protoOf(ContentEntryAndDetail).set_latestVersion_pb6c81_k$ = function (_set____db54di) {
    this.latestVersion_1 = _set____db54di;
  };
  protoOf(ContentEntryAndDetail).get_latestVersion_yqxv4o_k$ = function () {
    return this.latestVersion_1;
  };
  protoOf(ContentEntryAndDetail).set_picture_vkub8o_k$ = function (_set____db54di) {
    this.picture_1 = _set____db54di;
  };
  protoOf(ContentEntryAndDetail).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndDetail).set_status_kzq07v_k$ = function (_set____db54di) {
    this.status_1 = _set____db54di;
  };
  protoOf(ContentEntryAndDetail).get_status_jnf6d7_k$ = function () {
    return this.status_1;
  };
  protoOf(ContentEntryAndDetail).component1_7eebsc_k$ = function () {
    return this.entry_1;
  };
  protoOf(ContentEntryAndDetail).component2_7eebsb_k$ = function () {
    return this.latestVersion_1;
  };
  protoOf(ContentEntryAndDetail).component3_7eebsa_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndDetail).component4_7eebs9_k$ = function () {
    return this.status_1;
  };
  protoOf(ContentEntryAndDetail).copy_tewu0c_k$ = function (entry, latestVersion, picture, status) {
    return new ContentEntryAndDetail(entry, latestVersion, picture, status);
  };
  protoOf(ContentEntryAndDetail).copy$default_8a4un_k$ = function (entry, latestVersion, picture, status, $super) {
    entry = entry === VOID ? this.entry_1 : entry;
    latestVersion = latestVersion === VOID ? this.latestVersion_1 : latestVersion;
    picture = picture === VOID ? this.picture_1 : picture;
    status = status === VOID ? this.status_1 : status;
    return $super === VOID ? this.copy_tewu0c_k$(entry, latestVersion, picture, status) : $super.copy_tewu0c_k$.call(this, entry, latestVersion, picture, status);
  };
  protoOf(ContentEntryAndDetail).toString = function () {
    return 'ContentEntryAndDetail(entry=' + this.entry_1 + ', latestVersion=' + this.latestVersion_1 + ', picture=' + this.picture_1 + ', status=' + this.status_1 + ')';
  };
  protoOf(ContentEntryAndDetail).hashCode = function () {
    var result = this.entry_1 == null ? 0 : this.entry_1.hashCode();
    result = imul(result, 31) + (this.latestVersion_1 == null ? 0 : this.latestVersion_1.hashCode()) | 0;
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.status_1 == null ? 0 : this.status_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndDetail))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndDetail ? other : THROW_CCE();
    if (!equals(this.entry_1, tmp0_other_with_cast.entry_1))
      return false;
    if (!equals(this.latestVersion_1, tmp0_other_with_cast.latestVersion_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    if (!equals(this.status_1, tmp0_other_with_cast.status_1))
      return false;
    return true;
  };
  function Companion_10() {
    Companion_instance_10 = this;
  }
  protoOf(Companion_10).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_10();
  };
  var Companion_instance_10;
  function Companion_getInstance_12() {
    if (Companion_instance_10 == null)
      new Companion_10();
    return Companion_instance_10;
  }
  function $serializer_10() {
    $serializer_instance_10 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryAndLanguage', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('language', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_10).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_10).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_92())];
  };
  protoOf($serializer_10).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_92(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_92(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryAndLanguage_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_10).serialize_fpgdhp_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.contentEntry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_60(), value.contentEntry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.language_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_92(), value.language_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_10).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_fpgdhp_k$(encoder, value instanceof ContentEntryAndLanguage ? value : THROW_CCE());
  };
  var $serializer_instance_10;
  function $serializer_getInstance_10() {
    if ($serializer_instance_10 == null)
      new $serializer_10();
    return $serializer_instance_10;
  }
  function ContentEntryAndLanguage_init_$Init$(seen1, contentEntry, language, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_10().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.contentEntry_1 = null;
    else
      $this.contentEntry_1 = contentEntry;
    if (0 === (seen1 & 2))
      $this.language_1 = null;
    else
      $this.language_1 = language;
    return $this;
  }
  function ContentEntryAndLanguage_init_$Create$(seen1, contentEntry, language, serializationConstructorMarker) {
    return ContentEntryAndLanguage_init_$Init$(seen1, contentEntry, language, serializationConstructorMarker, objectCreate(protoOf(ContentEntryAndLanguage)));
  }
  function ContentEntryAndLanguage(contentEntry, language) {
    Companion_getInstance_12();
    contentEntry = contentEntry === VOID ? null : contentEntry;
    language = language === VOID ? null : language;
    this.contentEntry_1 = contentEntry;
    this.language_1 = language;
  }
  protoOf(ContentEntryAndLanguage).set_contentEntry_b75rdr_k$ = function (_set____db54di) {
    this.contentEntry_1 = _set____db54di;
  };
  protoOf(ContentEntryAndLanguage).get_contentEntry_hwf2de_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(ContentEntryAndLanguage).set_language_k1j0e9_k$ = function (_set____db54di) {
    this.language_1 = _set____db54di;
  };
  protoOf(ContentEntryAndLanguage).get_language_cjhhk1_k$ = function () {
    return this.language_1;
  };
  protoOf(ContentEntryAndLanguage).component1_7eebsc_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(ContentEntryAndLanguage).component2_7eebsb_k$ = function () {
    return this.language_1;
  };
  protoOf(ContentEntryAndLanguage).copy_yz2vgs_k$ = function (contentEntry, language) {
    return new ContentEntryAndLanguage(contentEntry, language);
  };
  protoOf(ContentEntryAndLanguage).copy$default_pwckqk_k$ = function (contentEntry, language, $super) {
    contentEntry = contentEntry === VOID ? this.contentEntry_1 : contentEntry;
    language = language === VOID ? this.language_1 : language;
    return $super === VOID ? this.copy_yz2vgs_k$(contentEntry, language) : $super.copy_yz2vgs_k$.call(this, contentEntry, language);
  };
  protoOf(ContentEntryAndLanguage).toString = function () {
    return 'ContentEntryAndLanguage(contentEntry=' + this.contentEntry_1 + ', language=' + this.language_1 + ')';
  };
  protoOf(ContentEntryAndLanguage).hashCode = function () {
    var result = this.contentEntry_1 == null ? 0 : this.contentEntry_1.hashCode();
    result = imul(result, 31) + (this.language_1 == null ? 0 : this.language_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndLanguage).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndLanguage))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndLanguage ? other : THROW_CCE();
    if (!equals(this.contentEntry_1, tmp0_other_with_cast.contentEntry_1))
      return false;
    if (!equals(this.language_1, tmp0_other_with_cast.language_1))
      return false;
    return true;
  };
  function ContentEntryAndListDetail(contentEntry, picture, contentEntryParentChildJoin, status) {
    contentEntry = contentEntry === VOID ? null : contentEntry;
    picture = picture === VOID ? null : picture;
    contentEntryParentChildJoin = contentEntryParentChildJoin === VOID ? null : contentEntryParentChildJoin;
    status = status === VOID ? null : status;
    this.contentEntry_1 = contentEntry;
    this.picture_1 = picture;
    this.contentEntryParentChildJoin_1 = contentEntryParentChildJoin;
    this.status_1 = status;
  }
  protoOf(ContentEntryAndListDetail).set_contentEntry_b75rdr_k$ = function (_set____db54di) {
    this.contentEntry_1 = _set____db54di;
  };
  protoOf(ContentEntryAndListDetail).get_contentEntry_hwf2de_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(ContentEntryAndListDetail).set_picture_vkub8o_k$ = function (_set____db54di) {
    this.picture_1 = _set____db54di;
  };
  protoOf(ContentEntryAndListDetail).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndListDetail).set_contentEntryParentChildJoin_cx82x7_k$ = function (_set____db54di) {
    this.contentEntryParentChildJoin_1 = _set____db54di;
  };
  protoOf(ContentEntryAndListDetail).get_contentEntryParentChildJoin_47uvra_k$ = function () {
    return this.contentEntryParentChildJoin_1;
  };
  protoOf(ContentEntryAndListDetail).set_status_kzq07v_k$ = function (_set____db54di) {
    this.status_1 = _set____db54di;
  };
  protoOf(ContentEntryAndListDetail).get_status_jnf6d7_k$ = function () {
    return this.status_1;
  };
  protoOf(ContentEntryAndListDetail).component1_7eebsc_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(ContentEntryAndListDetail).component2_7eebsb_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndListDetail).component3_7eebsa_k$ = function () {
    return this.contentEntryParentChildJoin_1;
  };
  protoOf(ContentEntryAndListDetail).component4_7eebs9_k$ = function () {
    return this.status_1;
  };
  protoOf(ContentEntryAndListDetail).copy_73eedu_k$ = function (contentEntry, picture, contentEntryParentChildJoin, status) {
    return new ContentEntryAndListDetail(contentEntry, picture, contentEntryParentChildJoin, status);
  };
  protoOf(ContentEntryAndListDetail).copy$default_rgwz0f_k$ = function (contentEntry, picture, contentEntryParentChildJoin, status, $super) {
    contentEntry = contentEntry === VOID ? this.contentEntry_1 : contentEntry;
    picture = picture === VOID ? this.picture_1 : picture;
    contentEntryParentChildJoin = contentEntryParentChildJoin === VOID ? this.contentEntryParentChildJoin_1 : contentEntryParentChildJoin;
    status = status === VOID ? this.status_1 : status;
    return $super === VOID ? this.copy_73eedu_k$(contentEntry, picture, contentEntryParentChildJoin, status) : $super.copy_73eedu_k$.call(this, contentEntry, picture, contentEntryParentChildJoin, status);
  };
  protoOf(ContentEntryAndListDetail).toString = function () {
    return 'ContentEntryAndListDetail(contentEntry=' + this.contentEntry_1 + ', picture=' + this.picture_1 + ', contentEntryParentChildJoin=' + this.contentEntryParentChildJoin_1 + ', status=' + this.status_1 + ')';
  };
  protoOf(ContentEntryAndListDetail).hashCode = function () {
    var result = this.contentEntry_1 == null ? 0 : this.contentEntry_1.hashCode();
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntryParentChildJoin_1 == null ? 0 : this.contentEntryParentChildJoin_1.hashCode()) | 0;
    result = imul(result, 31) + (this.status_1 == null ? 0 : this.status_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndListDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndListDetail))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndListDetail ? other : THROW_CCE();
    if (!equals(this.contentEntry_1, tmp0_other_with_cast.contentEntry_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    if (!equals(this.contentEntryParentChildJoin_1, tmp0_other_with_cast.contentEntryParentChildJoin_1))
      return false;
    if (!equals(this.status_1, tmp0_other_with_cast.status_1))
      return false;
    return true;
  };
  function Companion_11() {
    Companion_instance_11 = this;
  }
  protoOf(Companion_11).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_11();
  };
  var Companion_instance_11;
  function Companion_getInstance_13() {
    if (Companion_instance_11 == null)
      new Companion_11();
    return Companion_instance_11;
  }
  function $serializer_11() {
    $serializer_instance_11 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryAndPicture', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('entry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('picture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_11).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_11).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_65())];
  };
  protoOf($serializer_11).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_65(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_60(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_65(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryAndPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_11).serialize_cp69qb_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.entry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_60(), value.entry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.picture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_65(), value.picture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_11).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_cp69qb_k$(encoder, value instanceof ContentEntryAndPicture ? value : THROW_CCE());
  };
  var $serializer_instance_11;
  function $serializer_getInstance_11() {
    if ($serializer_instance_11 == null)
      new $serializer_11();
    return $serializer_instance_11;
  }
  function ContentEntryAndPicture_init_$Init$(seen1, entry, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_11().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.entry_1 = null;
    else
      $this.entry_1 = entry;
    if (0 === (seen1 & 2))
      $this.picture_1 = null;
    else
      $this.picture_1 = picture;
    return $this;
  }
  function ContentEntryAndPicture_init_$Create$(seen1, entry, picture, serializationConstructorMarker) {
    return ContentEntryAndPicture_init_$Init$(seen1, entry, picture, serializationConstructorMarker, objectCreate(protoOf(ContentEntryAndPicture)));
  }
  function ContentEntryAndPicture(entry, picture) {
    Companion_getInstance_13();
    entry = entry === VOID ? null : entry;
    picture = picture === VOID ? null : picture;
    this.entry_1 = entry;
    this.picture_1 = picture;
  }
  protoOf(ContentEntryAndPicture).set_entry_6mesg_k$ = function (_set____db54di) {
    this.entry_1 = _set____db54di;
  };
  protoOf(ContentEntryAndPicture).get_entry_iqxd1l_k$ = function () {
    return this.entry_1;
  };
  protoOf(ContentEntryAndPicture).set_picture_vkub8o_k$ = function (_set____db54di) {
    this.picture_1 = _set____db54di;
  };
  protoOf(ContentEntryAndPicture).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndPicture).component1_7eebsc_k$ = function () {
    return this.entry_1;
  };
  protoOf(ContentEntryAndPicture).component2_7eebsb_k$ = function () {
    return this.picture_1;
  };
  protoOf(ContentEntryAndPicture).copy_ttwqnd_k$ = function (entry, picture) {
    return new ContentEntryAndPicture(entry, picture);
  };
  protoOf(ContentEntryAndPicture).copy$default_w47rwv_k$ = function (entry, picture, $super) {
    entry = entry === VOID ? this.entry_1 : entry;
    picture = picture === VOID ? this.picture_1 : picture;
    return $super === VOID ? this.copy_ttwqnd_k$(entry, picture) : $super.copy_ttwqnd_k$.call(this, entry, picture);
  };
  protoOf(ContentEntryAndPicture).toString = function () {
    return 'ContentEntryAndPicture(entry=' + this.entry_1 + ', picture=' + this.picture_1 + ')';
  };
  protoOf(ContentEntryAndPicture).hashCode = function () {
    var result = this.entry_1 == null ? 0 : this.entry_1.hashCode();
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    return result;
  };
  protoOf(ContentEntryAndPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryAndPicture))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryAndPicture ? other : THROW_CCE();
    if (!equals(this.entry_1, tmp0_other_with_cast.entry_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    return true;
  };
  function Companion_12() {
    Companion_instance_12 = this;
  }
  protoOf(Companion_12).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_12();
  };
  var Companion_instance_12;
  function Companion_getInstance_14() {
    if (Companion_instance_12 == null)
      new Companion_12();
    return Companion_instance_12;
  }
  function $serializer_12() {
    $serializer_instance_12 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.ContentEntryImportJobProgress', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiItemProgress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiItemTotal', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiError', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiOwnerPersonUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_12).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_12).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_12).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = null;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryImportJobProgress_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_12).serialize_p7971z_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cjiUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cjiUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cjiItemProgress_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cjiItemProgress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.cjiItemTotal_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.cjiItemTotal_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cjiStatus_1 === 4)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.cjiStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.cjiError_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.cjiError_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.cjiOwnerPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.cjiOwnerPersonUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_12).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_p7971z_k$(encoder, value instanceof ContentEntryImportJobProgress ? value : THROW_CCE());
  };
  var $serializer_instance_12;
  function $serializer_getInstance_12() {
    if ($serializer_instance_12 == null)
      new $serializer_12();
    return $serializer_instance_12;
  }
  function ContentEntryImportJobProgress_init_$Init$(seen1, cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_12().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cjiUid_1 = new Long(0, 0);
    else
      $this.cjiUid_1 = cjiUid;
    if (0 === (seen1 & 2))
      $this.cjiItemProgress_1 = new Long(0, 0);
    else
      $this.cjiItemProgress_1 = cjiItemProgress;
    if (0 === (seen1 & 4))
      $this.cjiItemTotal_1 = new Long(0, 0);
    else
      $this.cjiItemTotal_1 = cjiItemTotal;
    if (0 === (seen1 & 8))
      $this.cjiStatus_1 = 4;
    else
      $this.cjiStatus_1 = cjiStatus;
    if (0 === (seen1 & 16))
      $this.cjiError_1 = null;
    else
      $this.cjiError_1 = cjiError;
    if (0 === (seen1 & 32))
      $this.cjiOwnerPersonUid_1 = new Long(0, 0);
    else
      $this.cjiOwnerPersonUid_1 = cjiOwnerPersonUid;
    return $this;
  }
  function ContentEntryImportJobProgress_init_$Create$(seen1, cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid, serializationConstructorMarker) {
    return ContentEntryImportJobProgress_init_$Init$(seen1, cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid, serializationConstructorMarker, objectCreate(protoOf(ContentEntryImportJobProgress)));
  }
  function ContentEntryImportJobProgress(cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid) {
    Companion_getInstance_14();
    cjiUid = cjiUid === VOID ? new Long(0, 0) : cjiUid;
    cjiItemProgress = cjiItemProgress === VOID ? new Long(0, 0) : cjiItemProgress;
    cjiItemTotal = cjiItemTotal === VOID ? new Long(0, 0) : cjiItemTotal;
    cjiStatus = cjiStatus === VOID ? 4 : cjiStatus;
    cjiError = cjiError === VOID ? null : cjiError;
    cjiOwnerPersonUid = cjiOwnerPersonUid === VOID ? new Long(0, 0) : cjiOwnerPersonUid;
    this.cjiUid_1 = cjiUid;
    this.cjiItemProgress_1 = cjiItemProgress;
    this.cjiItemTotal_1 = cjiItemTotal;
    this.cjiStatus_1 = cjiStatus;
    this.cjiError_1 = cjiError;
    this.cjiOwnerPersonUid_1 = cjiOwnerPersonUid;
  }
  protoOf(ContentEntryImportJobProgress).set_cjiUid_520bub_k$ = function (_set____db54di) {
    this.cjiUid_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJobProgress).get_cjiUid_bxbqqf_k$ = function () {
    return this.cjiUid_1;
  };
  protoOf(ContentEntryImportJobProgress).set_cjiItemProgress_7dh35l_k$ = function (_set____db54di) {
    this.cjiItemProgress_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJobProgress).get_cjiItemProgress_rooux3_k$ = function () {
    return this.cjiItemProgress_1;
  };
  protoOf(ContentEntryImportJobProgress).set_cjiItemTotal_nqgzw2_k$ = function (_set____db54di) {
    this.cjiItemTotal_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJobProgress).get_cjiItemTotal_aik9s8_k$ = function () {
    return this.cjiItemTotal_1;
  };
  protoOf(ContentEntryImportJobProgress).set_cjiStatus_kle71r_k$ = function (_set____db54di) {
    this.cjiStatus_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJobProgress).get_cjiStatus_i13gad_k$ = function () {
    return this.cjiStatus_1;
  };
  protoOf(ContentEntryImportJobProgress).set_cjiError_crtvak_k$ = function (_set____db54di) {
    this.cjiError_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJobProgress).get_cjiError_oep7nz_k$ = function () {
    return this.cjiError_1;
  };
  protoOf(ContentEntryImportJobProgress).set_cjiOwnerPersonUid_mxouc1_k$ = function (_set____db54di) {
    this.cjiOwnerPersonUid_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJobProgress).get_cjiOwnerPersonUid_7yysrl_k$ = function () {
    return this.cjiOwnerPersonUid_1;
  };
  protoOf(ContentEntryImportJobProgress).component1_7eebsc_k$ = function () {
    return this.cjiUid_1;
  };
  protoOf(ContentEntryImportJobProgress).component2_7eebsb_k$ = function () {
    return this.cjiItemProgress_1;
  };
  protoOf(ContentEntryImportJobProgress).component3_7eebsa_k$ = function () {
    return this.cjiItemTotal_1;
  };
  protoOf(ContentEntryImportJobProgress).component4_7eebs9_k$ = function () {
    return this.cjiStatus_1;
  };
  protoOf(ContentEntryImportJobProgress).component5_7eebs8_k$ = function () {
    return this.cjiError_1;
  };
  protoOf(ContentEntryImportJobProgress).component6_7eebs7_k$ = function () {
    return this.cjiOwnerPersonUid_1;
  };
  protoOf(ContentEntryImportJobProgress).copy_naexcm_k$ = function (cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid) {
    return new ContentEntryImportJobProgress(cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid);
  };
  protoOf(ContentEntryImportJobProgress).copy$default_r8e5b6_k$ = function (cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid, $super) {
    cjiUid = cjiUid === VOID ? this.cjiUid_1 : cjiUid;
    cjiItemProgress = cjiItemProgress === VOID ? this.cjiItemProgress_1 : cjiItemProgress;
    cjiItemTotal = cjiItemTotal === VOID ? this.cjiItemTotal_1 : cjiItemTotal;
    cjiStatus = cjiStatus === VOID ? this.cjiStatus_1 : cjiStatus;
    cjiError = cjiError === VOID ? this.cjiError_1 : cjiError;
    cjiOwnerPersonUid = cjiOwnerPersonUid === VOID ? this.cjiOwnerPersonUid_1 : cjiOwnerPersonUid;
    return $super === VOID ? this.copy_naexcm_k$(cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid) : $super.copy_naexcm_k$.call(this, cjiUid, cjiItemProgress, cjiItemTotal, cjiStatus, cjiError, cjiOwnerPersonUid);
  };
  protoOf(ContentEntryImportJobProgress).toString = function () {
    return 'ContentEntryImportJobProgress(cjiUid=' + this.cjiUid_1.toString() + ', cjiItemProgress=' + this.cjiItemProgress_1.toString() + ', cjiItemTotal=' + this.cjiItemTotal_1.toString() + ', cjiStatus=' + this.cjiStatus_1 + ', cjiError=' + this.cjiError_1 + ', cjiOwnerPersonUid=' + this.cjiOwnerPersonUid_1.toString() + ')';
  };
  protoOf(ContentEntryImportJobProgress).hashCode = function () {
    var result = this.cjiUid_1.hashCode();
    result = imul(result, 31) + this.cjiItemProgress_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiItemTotal_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiStatus_1 | 0;
    result = imul(result, 31) + (this.cjiError_1 == null ? 0 : getStringHashCode(this.cjiError_1)) | 0;
    result = imul(result, 31) + this.cjiOwnerPersonUid_1.hashCode() | 0;
    return result;
  };
  protoOf(ContentEntryImportJobProgress).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryImportJobProgress))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryImportJobProgress ? other : THROW_CCE();
    if (!this.cjiUid_1.equals(tmp0_other_with_cast.cjiUid_1))
      return false;
    if (!this.cjiItemProgress_1.equals(tmp0_other_with_cast.cjiItemProgress_1))
      return false;
    if (!this.cjiItemTotal_1.equals(tmp0_other_with_cast.cjiItemTotal_1))
      return false;
    if (!(this.cjiStatus_1 === tmp0_other_with_cast.cjiStatus_1))
      return false;
    if (!(this.cjiError_1 == tmp0_other_with_cast.cjiError_1))
      return false;
    if (!this.cjiOwnerPersonUid_1.equals(tmp0_other_with_cast.cjiOwnerPersonUid_1))
      return false;
    return true;
  };
  function Companion_13() {
    Companion_instance_13 = this;
  }
  protoOf(Companion_13).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_13();
  };
  var Companion_instance_13;
  function Companion_getInstance_15() {
    if (Companion_instance_13 == null)
      new Companion_13();
    return Companion_instance_13;
  }
  function $serializer_13() {
    $serializer_instance_13 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseAssignmentMarkAndMarkerName', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('courseAssignmentMark', true);
    tmp0_serialDesc.addElement_5pzumi_k$('markerFirstNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('markerLastName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('markerPictureUri', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_13).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_13).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_73()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_13).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_73(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_73(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseAssignmentMarkAndMarkerName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_13).serialize_ar74s_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.courseAssignmentMark_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_73(), value.courseAssignmentMark_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.markerFirstNames_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.markerFirstNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.markerLastName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.markerLastName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.markerPictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.markerPictureUri_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_13).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_ar74s_k$(encoder, value instanceof CourseAssignmentMarkAndMarkerName ? value : THROW_CCE());
  };
  var $serializer_instance_13;
  function $serializer_getInstance_13() {
    if ($serializer_instance_13 == null)
      new $serializer_13();
    return $serializer_instance_13;
  }
  function CourseAssignmentMarkAndMarkerName_init_$Init$(seen1, courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_13().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.courseAssignmentMark_1 = null;
    else
      $this.courseAssignmentMark_1 = courseAssignmentMark;
    if (0 === (seen1 & 2))
      $this.markerFirstNames_1 = null;
    else
      $this.markerFirstNames_1 = markerFirstNames;
    if (0 === (seen1 & 4))
      $this.markerLastName_1 = null;
    else
      $this.markerLastName_1 = markerLastName;
    if (0 === (seen1 & 8))
      $this.markerPictureUri_1 = null;
    else
      $this.markerPictureUri_1 = markerPictureUri;
    return $this;
  }
  function CourseAssignmentMarkAndMarkerName_init_$Create$(seen1, courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri, serializationConstructorMarker) {
    return CourseAssignmentMarkAndMarkerName_init_$Init$(seen1, courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentMarkAndMarkerName)));
  }
  function CourseAssignmentMarkAndMarkerName(courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri) {
    Companion_getInstance_15();
    courseAssignmentMark = courseAssignmentMark === VOID ? null : courseAssignmentMark;
    markerFirstNames = markerFirstNames === VOID ? null : markerFirstNames;
    markerLastName = markerLastName === VOID ? null : markerLastName;
    markerPictureUri = markerPictureUri === VOID ? null : markerPictureUri;
    this.courseAssignmentMark_1 = courseAssignmentMark;
    this.markerFirstNames_1 = markerFirstNames;
    this.markerLastName_1 = markerLastName;
    this.markerPictureUri_1 = markerPictureUri;
  }
  protoOf(CourseAssignmentMarkAndMarkerName).set_courseAssignmentMark_imci8v_k$ = function (_set____db54di) {
    this.courseAssignmentMark_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).get_courseAssignmentMark_wrnnge_k$ = function () {
    return this.courseAssignmentMark_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).set_markerFirstNames_lbldq0_k$ = function (_set____db54di) {
    this.markerFirstNames_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).get_markerFirstNames_x53m6z_k$ = function () {
    return this.markerFirstNames_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).set_markerLastName_e1vwe9_k$ = function (_set____db54di) {
    this.markerLastName_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).get_markerLastName_ho5qvw_k$ = function () {
    return this.markerLastName_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).set_markerPictureUri_hh7eia_k$ = function (_set____db54di) {
    this.markerPictureUri_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).get_markerPictureUri_a6pqnl_k$ = function () {
    return this.markerPictureUri_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).component1_7eebsc_k$ = function () {
    return this.courseAssignmentMark_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).component2_7eebsb_k$ = function () {
    return this.markerFirstNames_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).component3_7eebsa_k$ = function () {
    return this.markerLastName_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).component4_7eebs9_k$ = function () {
    return this.markerPictureUri_1;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).copy_8x1jw7_k$ = function (courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri) {
    return new CourseAssignmentMarkAndMarkerName(courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri);
  };
  protoOf(CourseAssignmentMarkAndMarkerName).copy$default_ie09zw_k$ = function (courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri, $super) {
    courseAssignmentMark = courseAssignmentMark === VOID ? this.courseAssignmentMark_1 : courseAssignmentMark;
    markerFirstNames = markerFirstNames === VOID ? this.markerFirstNames_1 : markerFirstNames;
    markerLastName = markerLastName === VOID ? this.markerLastName_1 : markerLastName;
    markerPictureUri = markerPictureUri === VOID ? this.markerPictureUri_1 : markerPictureUri;
    return $super === VOID ? this.copy_8x1jw7_k$(courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri) : $super.copy_8x1jw7_k$.call(this, courseAssignmentMark, markerFirstNames, markerLastName, markerPictureUri);
  };
  protoOf(CourseAssignmentMarkAndMarkerName).toString = function () {
    return 'CourseAssignmentMarkAndMarkerName(courseAssignmentMark=' + this.courseAssignmentMark_1 + ', markerFirstNames=' + this.markerFirstNames_1 + ', markerLastName=' + this.markerLastName_1 + ', markerPictureUri=' + this.markerPictureUri_1 + ')';
  };
  protoOf(CourseAssignmentMarkAndMarkerName).hashCode = function () {
    var result = this.courseAssignmentMark_1 == null ? 0 : hashCode(this.courseAssignmentMark_1);
    result = imul(result, 31) + (this.markerFirstNames_1 == null ? 0 : getStringHashCode(this.markerFirstNames_1)) | 0;
    result = imul(result, 31) + (this.markerLastName_1 == null ? 0 : getStringHashCode(this.markerLastName_1)) | 0;
    result = imul(result, 31) + (this.markerPictureUri_1 == null ? 0 : getStringHashCode(this.markerPictureUri_1)) | 0;
    return result;
  };
  protoOf(CourseAssignmentMarkAndMarkerName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentMarkAndMarkerName))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentMarkAndMarkerName ? other : THROW_CCE();
    if (!equals(this.courseAssignmentMark_1, tmp0_other_with_cast.courseAssignmentMark_1))
      return false;
    if (!(this.markerFirstNames_1 == tmp0_other_with_cast.markerFirstNames_1))
      return false;
    if (!(this.markerLastName_1 == tmp0_other_with_cast.markerLastName_1))
      return false;
    if (!(this.markerPictureUri_1 == tmp0_other_with_cast.markerPictureUri_1))
      return false;
    return true;
  };
  function Companion_14() {
    Companion_instance_14 = this;
  }
  protoOf(Companion_14).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_14();
  };
  var Companion_instance_14;
  function Companion_getInstance_16() {
    if (Companion_instance_14 == null)
      new Companion_14();
    return Companion_instance_14;
  }
  function $serializer_14() {
    $serializer_instance_14 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseAssignmentSubmissionFileAndTransferJob', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('submissionFile', true);
    tmp0_serialDesc.addElement_5pzumi_k$('transferJobItem', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_14).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_14).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_75()), get_nullable($serializer_getInstance_120())];
  };
  protoOf($serializer_14).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_75(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_120(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_75(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_120(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseAssignmentSubmissionFileAndTransferJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_14).serialize_osxll4_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.submissionFile_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_75(), value.submissionFile_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.transferJobItem_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_120(), value.transferJobItem_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_14).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_osxll4_k$(encoder, value instanceof CourseAssignmentSubmissionFileAndTransferJob ? value : THROW_CCE());
  };
  var $serializer_instance_14;
  function $serializer_getInstance_14() {
    if ($serializer_instance_14 == null)
      new $serializer_14();
    return $serializer_instance_14;
  }
  function CourseAssignmentSubmissionFileAndTransferJob_init_$Init$(seen1, submissionFile, transferJobItem, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_14().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.submissionFile_1 = null;
    else
      $this.submissionFile_1 = submissionFile;
    if (0 === (seen1 & 2))
      $this.transferJobItem_1 = null;
    else
      $this.transferJobItem_1 = transferJobItem;
    return $this;
  }
  function CourseAssignmentSubmissionFileAndTransferJob_init_$Create$(seen1, submissionFile, transferJobItem, serializationConstructorMarker) {
    return CourseAssignmentSubmissionFileAndTransferJob_init_$Init$(seen1, submissionFile, transferJobItem, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentSubmissionFileAndTransferJob)));
  }
  function CourseAssignmentSubmissionFileAndTransferJob(submissionFile, transferJobItem) {
    Companion_getInstance_16();
    submissionFile = submissionFile === VOID ? null : submissionFile;
    transferJobItem = transferJobItem === VOID ? null : transferJobItem;
    this.submissionFile_1 = submissionFile;
    this.transferJobItem_1 = transferJobItem;
  }
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).set_submissionFile_2jf413_k$ = function (_set____db54di) {
    this.submissionFile_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).get_submissionFile_er578x_k$ = function () {
    return this.submissionFile_1;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).set_transferJobItem_1laoav_k$ = function (_set____db54di) {
    this.transferJobItem_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).get_transferJobItem_v1bvfo_k$ = function () {
    return this.transferJobItem_1;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).component1_7eebsc_k$ = function () {
    return this.submissionFile_1;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).component2_7eebsb_k$ = function () {
    return this.transferJobItem_1;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).copy_g2isug_k$ = function (submissionFile, transferJobItem) {
    return new CourseAssignmentSubmissionFileAndTransferJob(submissionFile, transferJobItem);
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).copy$default_mru1j1_k$ = function (submissionFile, transferJobItem, $super) {
    submissionFile = submissionFile === VOID ? this.submissionFile_1 : submissionFile;
    transferJobItem = transferJobItem === VOID ? this.transferJobItem_1 : transferJobItem;
    return $super === VOID ? this.copy_g2isug_k$(submissionFile, transferJobItem) : $super.copy_g2isug_k$.call(this, submissionFile, transferJobItem);
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).toString = function () {
    return 'CourseAssignmentSubmissionFileAndTransferJob(submissionFile=' + this.submissionFile_1 + ', transferJobItem=' + this.transferJobItem_1 + ')';
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).hashCode = function () {
    var result = this.submissionFile_1 == null ? 0 : this.submissionFile_1.hashCode();
    result = imul(result, 31) + (this.transferJobItem_1 == null ? 0 : this.transferJobItem_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseAssignmentSubmissionFileAndTransferJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentSubmissionFileAndTransferJob))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentSubmissionFileAndTransferJob ? other : THROW_CCE();
    if (!equals(this.submissionFile_1, tmp0_other_with_cast.submissionFile_1))
      return false;
    if (!equals(this.transferJobItem_1, tmp0_other_with_cast.transferJobItem_1))
      return false;
    return true;
  };
  function Companion_15() {
    Companion_instance_15 = this;
  }
  protoOf(Companion_15).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_15();
  };
  var Companion_instance_15;
  function Companion_getInstance_17() {
    if (Companion_instance_15 == null)
      new Companion_15();
    return Companion_instance_15;
  }
  function $serializer_15() {
    $serializer_instance_15 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndAssignment', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlock', true);
    tmp0_serialDesc.addElement_5pzumi_k$('assignment', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_15).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_15).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_76()), get_nullable($serializer_getInstance_45())];
  };
  protoOf($serializer_15).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_45(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_45(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockAndAssignment_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_15).serialize_8qj30x_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.courseBlock_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_76(), value.courseBlock_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.assignment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_45(), value.assignment_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_15).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_8qj30x_k$(encoder, value instanceof CourseBlockAndAssignment ? value : THROW_CCE());
  };
  var $serializer_instance_15;
  function $serializer_getInstance_15() {
    if ($serializer_instance_15 == null)
      new $serializer_15();
    return $serializer_instance_15;
  }
  function CourseBlockAndAssignment_init_$Init$(seen1, courseBlock, assignment, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_15().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.courseBlock_1 = null;
    else
      $this.courseBlock_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.assignment_1 = null;
    else
      $this.assignment_1 = assignment;
    return $this;
  }
  function CourseBlockAndAssignment_init_$Create$(seen1, courseBlock, assignment, serializationConstructorMarker) {
    return CourseBlockAndAssignment_init_$Init$(seen1, courseBlock, assignment, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndAssignment)));
  }
  function CourseBlockAndAssignment(courseBlock, assignment) {
    Companion_getInstance_17();
    courseBlock = courseBlock === VOID ? null : courseBlock;
    assignment = assignment === VOID ? null : assignment;
    this.courseBlock_1 = courseBlock;
    this.assignment_1 = assignment;
  }
  protoOf(CourseBlockAndAssignment).set_courseBlock_x7q8yb_k$ = function (_set____db54di) {
    this.courseBlock_1 = _set____db54di;
  };
  protoOf(CourseBlockAndAssignment).get_courseBlock_c2ojbd_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndAssignment).set_assignment_6aqel7_k$ = function (_set____db54di) {
    this.assignment_1 = _set____db54di;
  };
  protoOf(CourseBlockAndAssignment).get_assignment_378p7u_k$ = function () {
    return this.assignment_1;
  };
  protoOf(CourseBlockAndAssignment).component1_7eebsc_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndAssignment).component2_7eebsb_k$ = function () {
    return this.assignment_1;
  };
  protoOf(CourseBlockAndAssignment).copy_q1l97g_k$ = function (courseBlock, assignment) {
    return new CourseBlockAndAssignment(courseBlock, assignment);
  };
  protoOf(CourseBlockAndAssignment).copy$default_ur96l0_k$ = function (courseBlock, assignment, $super) {
    courseBlock = courseBlock === VOID ? this.courseBlock_1 : courseBlock;
    assignment = assignment === VOID ? this.assignment_1 : assignment;
    return $super === VOID ? this.copy_q1l97g_k$(courseBlock, assignment) : $super.copy_q1l97g_k$.call(this, courseBlock, assignment);
  };
  protoOf(CourseBlockAndAssignment).toString = function () {
    return 'CourseBlockAndAssignment(courseBlock=' + this.courseBlock_1 + ', assignment=' + this.assignment_1 + ')';
  };
  protoOf(CourseBlockAndAssignment).hashCode = function () {
    var result = this.courseBlock_1 == null ? 0 : this.courseBlock_1.hashCode();
    result = imul(result, 31) + (this.assignment_1 == null ? 0 : this.assignment_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndAssignment).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndAssignment))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndAssignment ? other : THROW_CCE();
    if (!equals(this.courseBlock_1, tmp0_other_with_cast.courseBlock_1))
      return false;
    if (!equals(this.assignment_1, tmp0_other_with_cast.assignment_1))
      return false;
    return true;
  };
  function Companion_16() {
    Companion_instance_16 = this;
  }
  protoOf(Companion_16).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_16();
  };
  var Companion_instance_16;
  function Companion_getInstance_18() {
    if (Companion_instance_16 == null)
      new Companion_16();
    return Companion_instance_16;
  }
  function $serializer_16() {
    $serializer_instance_16 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndDbEntities', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlock', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlockPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLang', true);
    tmp0_serialDesc.addElement_5pzumi_k$('assignment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('assignmentCourseGroupSetName', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_16).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_16).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_76()), get_nullable($serializer_getInstance_77()), get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_92()), get_nullable($serializer_getInstance_45()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_16).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_92(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, $serializer_getInstance_45(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_92(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, $serializer_getInstance_45(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockAndDbEntities_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_16).serialize_iz1fsv_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.courseBlock_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_76(), value.courseBlock_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.courseBlockPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_77(), value.courseBlockPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.contentEntry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_60(), value.contentEntry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.contentEntryLang_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_92(), value.contentEntryLang_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.assignment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, $serializer_getInstance_45(), value.assignment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.assignmentCourseGroupSetName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.assignmentCourseGroupSetName_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_16).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_iz1fsv_k$(encoder, value instanceof CourseBlockAndDbEntities ? value : THROW_CCE());
  };
  var $serializer_instance_16;
  function $serializer_getInstance_16() {
    if ($serializer_instance_16 == null)
      new $serializer_16();
    return $serializer_instance_16;
  }
  function CourseBlockAndDbEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_16().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.courseBlock_1 = null;
    else
      $this.courseBlock_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.courseBlockPicture_1 = null;
    else
      $this.courseBlockPicture_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.contentEntry_1 = null;
    else
      $this.contentEntry_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.contentEntryLang_1 = null;
    else
      $this.contentEntryLang_1 = contentEntryLang;
    if (0 === (seen1 & 16))
      $this.assignment_1 = null;
    else
      $this.assignment_1 = assignment;
    if (0 === (seen1 & 32))
      $this.assignmentCourseGroupSetName_1 = null;
    else
      $this.assignmentCourseGroupSetName_1 = assignmentCourseGroupSetName;
    return $this;
  }
  function CourseBlockAndDbEntities_init_$Create$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName, serializationConstructorMarker) {
    return CourseBlockAndDbEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndDbEntities)));
  }
  function CourseBlockAndDbEntities(courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName) {
    Companion_getInstance_18();
    courseBlock = courseBlock === VOID ? null : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryLang = contentEntryLang === VOID ? null : contentEntryLang;
    assignment = assignment === VOID ? null : assignment;
    assignmentCourseGroupSetName = assignmentCourseGroupSetName === VOID ? null : assignmentCourseGroupSetName;
    this.courseBlock_1 = courseBlock;
    this.courseBlockPicture_1 = courseBlockPicture;
    this.contentEntry_1 = contentEntry;
    this.contentEntryLang_1 = contentEntryLang;
    this.assignment_1 = assignment;
    this.assignmentCourseGroupSetName_1 = assignmentCourseGroupSetName;
  }
  protoOf(CourseBlockAndDbEntities).set_courseBlock_x7q8yb_k$ = function (_set____db54di) {
    this.courseBlock_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDbEntities).get_courseBlock_c2ojbd_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndDbEntities).set_courseBlockPicture_pbyd35_k$ = function (_set____db54di) {
    this.courseBlockPicture_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDbEntities).get_courseBlockPicture_gnlyiz_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndDbEntities).set_contentEntry_b75rdr_k$ = function (_set____db54di) {
    this.contentEntry_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDbEntities).get_contentEntry_hwf2de_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndDbEntities).set_contentEntryLang_4hi70w_k$ = function (_set____db54di) {
    this.contentEntryLang_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDbEntities).get_contentEntryLang_jnd1rk_k$ = function () {
    return this.contentEntryLang_1;
  };
  protoOf(CourseBlockAndDbEntities).set_assignment_6aqel7_k$ = function (_set____db54di) {
    this.assignment_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDbEntities).get_assignment_378p7u_k$ = function () {
    return this.assignment_1;
  };
  protoOf(CourseBlockAndDbEntities).set_assignmentCourseGroupSetName_nn2mzg_k$ = function (_set____db54di) {
    this.assignmentCourseGroupSetName_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDbEntities).get_assignmentCourseGroupSetName_xub873_k$ = function () {
    return this.assignmentCourseGroupSetName_1;
  };
  protoOf(CourseBlockAndDbEntities).component1_7eebsc_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndDbEntities).component2_7eebsb_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndDbEntities).component3_7eebsa_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndDbEntities).component4_7eebs9_k$ = function () {
    return this.contentEntryLang_1;
  };
  protoOf(CourseBlockAndDbEntities).component5_7eebs8_k$ = function () {
    return this.assignment_1;
  };
  protoOf(CourseBlockAndDbEntities).component6_7eebs7_k$ = function () {
    return this.assignmentCourseGroupSetName_1;
  };
  protoOf(CourseBlockAndDbEntities).copy_d2k44y_k$ = function (courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName) {
    return new CourseBlockAndDbEntities(courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName);
  };
  protoOf(CourseBlockAndDbEntities).copy$default_xjvz5q_k$ = function (courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName, $super) {
    courseBlock = courseBlock === VOID ? this.courseBlock_1 : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? this.courseBlockPicture_1 : courseBlockPicture;
    contentEntry = contentEntry === VOID ? this.contentEntry_1 : contentEntry;
    contentEntryLang = contentEntryLang === VOID ? this.contentEntryLang_1 : contentEntryLang;
    assignment = assignment === VOID ? this.assignment_1 : assignment;
    assignmentCourseGroupSetName = assignmentCourseGroupSetName === VOID ? this.assignmentCourseGroupSetName_1 : assignmentCourseGroupSetName;
    return $super === VOID ? this.copy_d2k44y_k$(courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName) : $super.copy_d2k44y_k$.call(this, courseBlock, courseBlockPicture, contentEntry, contentEntryLang, assignment, assignmentCourseGroupSetName);
  };
  protoOf(CourseBlockAndDbEntities).toString = function () {
    return 'CourseBlockAndDbEntities(courseBlock=' + this.courseBlock_1 + ', courseBlockPicture=' + this.courseBlockPicture_1 + ', contentEntry=' + this.contentEntry_1 + ', contentEntryLang=' + this.contentEntryLang_1 + ', assignment=' + this.assignment_1 + ', assignmentCourseGroupSetName=' + this.assignmentCourseGroupSetName_1 + ')';
  };
  protoOf(CourseBlockAndDbEntities).hashCode = function () {
    var result = this.courseBlock_1 == null ? 0 : this.courseBlock_1.hashCode();
    result = imul(result, 31) + (this.courseBlockPicture_1 == null ? 0 : this.courseBlockPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntry_1 == null ? 0 : this.contentEntry_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntryLang_1 == null ? 0 : this.contentEntryLang_1.hashCode()) | 0;
    result = imul(result, 31) + (this.assignment_1 == null ? 0 : this.assignment_1.hashCode()) | 0;
    result = imul(result, 31) + (this.assignmentCourseGroupSetName_1 == null ? 0 : getStringHashCode(this.assignmentCourseGroupSetName_1)) | 0;
    return result;
  };
  protoOf(CourseBlockAndDbEntities).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndDbEntities))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndDbEntities ? other : THROW_CCE();
    if (!equals(this.courseBlock_1, tmp0_other_with_cast.courseBlock_1))
      return false;
    if (!equals(this.courseBlockPicture_1, tmp0_other_with_cast.courseBlockPicture_1))
      return false;
    if (!equals(this.contentEntry_1, tmp0_other_with_cast.contentEntry_1))
      return false;
    if (!equals(this.contentEntryLang_1, tmp0_other_with_cast.contentEntryLang_1))
      return false;
    if (!equals(this.assignment_1, tmp0_other_with_cast.assignment_1))
      return false;
    if (!(this.assignmentCourseGroupSetName_1 == tmp0_other_with_cast.assignmentCourseGroupSetName_1))
      return false;
    return true;
  };
  function Companion_17() {
    Companion_instance_17 = this;
  }
  protoOf(Companion_17).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_17();
  };
  var Companion_instance_17;
  function Companion_getInstance_19() {
    if (Companion_instance_17 == null)
      new Companion_17();
    return Companion_instance_17;
  }
  function $serializer_17() {
    $serializer_instance_17 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndDisplayDetails', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlock', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlockPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryPicture2', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_17).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_17).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_76()), get_nullable($serializer_getInstance_77()), get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_65())];
  };
  protoOf($serializer_17).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockAndDisplayDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_17).serialize_lxuqaq_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.courseBlock_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_76(), value.courseBlock_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.courseBlockPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_77(), value.courseBlockPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.contentEntry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_60(), value.contentEntry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.contentEntryPicture2__1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_65(), value.contentEntryPicture2__1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_17).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_lxuqaq_k$(encoder, value instanceof CourseBlockAndDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_17;
  function $serializer_getInstance_17() {
    if ($serializer_instance_17 == null)
      new $serializer_17();
    return $serializer_instance_17;
  }
  function CourseBlockAndDisplayDetails_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_17().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.courseBlock_1 = null;
    else
      $this.courseBlock_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.courseBlockPicture_1 = null;
    else
      $this.courseBlockPicture_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.contentEntry_1 = null;
    else
      $this.contentEntry_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.contentEntryPicture2__1 = null;
    else
      $this.contentEntryPicture2__1 = contentEntryPicture2;
    return $this;
  }
  function CourseBlockAndDisplayDetails_init_$Create$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker) {
    return CourseBlockAndDisplayDetails_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndDisplayDetails)));
  }
  function CourseBlockAndDisplayDetails(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2) {
    Companion_getInstance_19();
    courseBlock = courseBlock === VOID ? null : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryPicture2 = contentEntryPicture2 === VOID ? null : contentEntryPicture2;
    this.courseBlock_1 = courseBlock;
    this.courseBlockPicture_1 = courseBlockPicture;
    this.contentEntry_1 = contentEntry;
    this.contentEntryPicture2__1 = contentEntryPicture2;
  }
  protoOf(CourseBlockAndDisplayDetails).set_courseBlock_x7q8yb_k$ = function (_set____db54di) {
    this.courseBlock_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDisplayDetails).get_courseBlock_c2ojbd_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndDisplayDetails).set_courseBlockPicture_pbyd35_k$ = function (_set____db54di) {
    this.courseBlockPicture_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDisplayDetails).get_courseBlockPicture_gnlyiz_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndDisplayDetails).set_contentEntry_b75rdr_k$ = function (_set____db54di) {
    this.contentEntry_1 = _set____db54di;
  };
  protoOf(CourseBlockAndDisplayDetails).get_contentEntry_hwf2de_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndDisplayDetails).set_contentEntryPicture2_lwy733_k$ = function (_set____db54di) {
    this.contentEntryPicture2__1 = _set____db54di;
  };
  protoOf(CourseBlockAndDisplayDetails).get_contentEntryPicture2_fms5ka_k$ = function () {
    return this.contentEntryPicture2__1;
  };
  protoOf(CourseBlockAndDisplayDetails).component1_7eebsc_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndDisplayDetails).component2_7eebsb_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndDisplayDetails).component3_7eebsa_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndDisplayDetails).component4_7eebs9_k$ = function () {
    return this.contentEntryPicture2__1;
  };
  protoOf(CourseBlockAndDisplayDetails).copy_64ei6v_k$ = function (courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2) {
    return new CourseBlockAndDisplayDetails(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2);
  };
  protoOf(CourseBlockAndDisplayDetails).copy$default_oea1wg_k$ = function (courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2, $super) {
    courseBlock = courseBlock === VOID ? this.courseBlock_1 : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? this.courseBlockPicture_1 : courseBlockPicture;
    contentEntry = contentEntry === VOID ? this.contentEntry_1 : contentEntry;
    contentEntryPicture2 = contentEntryPicture2 === VOID ? this.contentEntryPicture2__1 : contentEntryPicture2;
    return $super === VOID ? this.copy_64ei6v_k$(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2) : $super.copy_64ei6v_k$.call(this, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture2);
  };
  protoOf(CourseBlockAndDisplayDetails).toString = function () {
    return 'CourseBlockAndDisplayDetails(courseBlock=' + this.courseBlock_1 + ', courseBlockPicture=' + this.courseBlockPicture_1 + ', contentEntry=' + this.contentEntry_1 + ', contentEntryPicture2=' + this.contentEntryPicture2__1 + ')';
  };
  protoOf(CourseBlockAndDisplayDetails).hashCode = function () {
    var result = this.courseBlock_1 == null ? 0 : this.courseBlock_1.hashCode();
    result = imul(result, 31) + (this.courseBlockPicture_1 == null ? 0 : this.courseBlockPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntry_1 == null ? 0 : this.contentEntry_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntryPicture2__1 == null ? 0 : this.contentEntryPicture2__1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndDisplayDetails ? other : THROW_CCE();
    if (!equals(this.courseBlock_1, tmp0_other_with_cast.courseBlock_1))
      return false;
    if (!equals(this.courseBlockPicture_1, tmp0_other_with_cast.courseBlockPicture_1))
      return false;
    if (!equals(this.contentEntry_1, tmp0_other_with_cast.contentEntry_1))
      return false;
    if (!equals(this.contentEntryPicture2__1, tmp0_other_with_cast.contentEntryPicture2__1))
      return false;
    return true;
  };
  function _get_$childSerializers__r2zwns($this) {
    return $this.$childSerializers_1;
  }
  function Companion_18() {
    Companion_instance_18 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.$childSerializers_1 = [null, null, null, null, null, null, null, null, null, new ArrayListSerializer($serializer_getInstance_97())];
  }
  protoOf(Companion_18).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_18();
  };
  var Companion_instance_18;
  function Companion_getInstance_20() {
    if (Companion_instance_18 == null)
      new Companion_18();
    return Companion_instance_18;
  }
  function $serializer_18() {
    $serializer_instance_18 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndEditEntities', this, 10);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlock', false);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlockPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentJobItem', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentJob', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLang', true);
    tmp0_serialDesc.addElement_5pzumi_k$('assignment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('assignmentCourseGroupSetName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('assignmentPeerAllocations', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_18).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_18).childSerializers_5ghqw5_k$ = function () {
    var tmp0_cached = Companion_getInstance_20().$childSerializers_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_76(), get_nullable($serializer_getInstance_77()), get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_65()), get_nullable($serializer_getInstance_62()), get_nullable($serializer_getInstance_72()), get_nullable($serializer_getInstance_92()), get_nullable($serializer_getInstance_45()), get_nullable(StringSerializer_getInstance()), tmp0_cached[9]];
  };
  protoOf($serializer_18).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp15_cached = Companion_getInstance_20().$childSerializers_1;
    if (tmp14_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp14_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, $serializer_getInstance_62(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, $serializer_getInstance_72(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, $serializer_getInstance_92(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, $serializer_getInstance_45(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 9, tmp15_cached[9], tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, $serializer_getInstance_62(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, $serializer_getInstance_72(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, $serializer_getInstance_92(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, $serializer_getInstance_45(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 9, tmp15_cached[9], tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockAndEditEntities_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_18).serialize_4208kz_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp2_cached = Companion_getInstance_20().$childSerializers_1;
    tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 0, $serializer_getInstance_76(), value.courseBlock_1);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.courseBlockPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_77(), value.courseBlockPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.contentEntry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_60(), value.contentEntry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.contentEntryPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_65(), value.contentEntryPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.contentJobItem_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, $serializer_getInstance_62(), value.contentJobItem_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.contentJob_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, $serializer_getInstance_72(), value.contentJob_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.contentEntryLang_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, $serializer_getInstance_92(), value.contentEntryLang_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.assignment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 7, $serializer_getInstance_45(), value.assignment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.assignmentCourseGroupSetName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 8, StringSerializer_getInstance(), value.assignmentCourseGroupSetName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !equals(value.assignmentPeerAllocations_1, emptyList())) {
      tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 9, tmp2_cached[9], value.assignmentPeerAllocations_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_18).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_4208kz_k$(encoder, value instanceof CourseBlockAndEditEntities ? value : THROW_CCE());
  };
  var $serializer_instance_18;
  function $serializer_getInstance_18() {
    if ($serializer_instance_18 == null)
      new $serializer_18();
    return $serializer_instance_18;
  }
  function CourseBlockAndEditEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, serializationConstructorMarker, $this) {
    if (!(1 === (1 & seen1))) {
      throwMissingFieldException(seen1, 1, $serializer_getInstance_18().descriptor_1);
    }
    $this.courseBlock_1 = courseBlock;
    if (0 === (seen1 & 2))
      $this.courseBlockPicture_1 = null;
    else
      $this.courseBlockPicture_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.contentEntry_1 = null;
    else
      $this.contentEntry_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.contentEntryPicture_1 = null;
    else
      $this.contentEntryPicture_1 = contentEntryPicture;
    if (0 === (seen1 & 16))
      $this.contentJobItem_1 = null;
    else
      $this.contentJobItem_1 = contentJobItem;
    if (0 === (seen1 & 32))
      $this.contentJob_1 = null;
    else
      $this.contentJob_1 = contentJob;
    if (0 === (seen1 & 64))
      $this.contentEntryLang_1 = null;
    else
      $this.contentEntryLang_1 = contentEntryLang;
    if (0 === (seen1 & 128))
      $this.assignment_1 = null;
    else
      $this.assignment_1 = assignment;
    if (0 === (seen1 & 256))
      $this.assignmentCourseGroupSetName_1 = null;
    else
      $this.assignmentCourseGroupSetName_1 = assignmentCourseGroupSetName;
    if (0 === (seen1 & 512))
      $this.assignmentPeerAllocations_1 = emptyList();
    else
      $this.assignmentPeerAllocations_1 = assignmentPeerAllocations;
    return $this;
  }
  function CourseBlockAndEditEntities_init_$Create$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, serializationConstructorMarker) {
    return CourseBlockAndEditEntities_init_$Init$(seen1, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndEditEntities)));
  }
  function CourseBlockAndEditEntities(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations) {
    Companion_getInstance_20();
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryPicture = contentEntryPicture === VOID ? null : contentEntryPicture;
    contentJobItem = contentJobItem === VOID ? null : contentJobItem;
    contentJob = contentJob === VOID ? null : contentJob;
    contentEntryLang = contentEntryLang === VOID ? null : contentEntryLang;
    assignment = assignment === VOID ? null : assignment;
    assignmentCourseGroupSetName = assignmentCourseGroupSetName === VOID ? null : assignmentCourseGroupSetName;
    assignmentPeerAllocations = assignmentPeerAllocations === VOID ? emptyList() : assignmentPeerAllocations;
    this.courseBlock_1 = courseBlock;
    this.courseBlockPicture_1 = courseBlockPicture;
    this.contentEntry_1 = contentEntry;
    this.contentEntryPicture_1 = contentEntryPicture;
    this.contentJobItem_1 = contentJobItem;
    this.contentJob_1 = contentJob;
    this.contentEntryLang_1 = contentEntryLang;
    this.assignment_1 = assignment;
    this.assignmentCourseGroupSetName_1 = assignmentCourseGroupSetName;
    this.assignmentPeerAllocations_1 = assignmentPeerAllocations;
  }
  protoOf(CourseBlockAndEditEntities).get_courseBlock_c2ojbd_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndEditEntities).get_courseBlockPicture_gnlyiz_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndEditEntities).get_contentEntry_hwf2de_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndEditEntities).get_contentEntryPicture_534nj8_k$ = function () {
    return this.contentEntryPicture_1;
  };
  protoOf(CourseBlockAndEditEntities).get_contentJobItem_fg7ikg_k$ = function () {
    return this.contentJobItem_1;
  };
  protoOf(CourseBlockAndEditEntities).get_contentJob_fsr8c3_k$ = function () {
    return this.contentJob_1;
  };
  protoOf(CourseBlockAndEditEntities).get_contentEntryLang_jnd1rk_k$ = function () {
    return this.contentEntryLang_1;
  };
  protoOf(CourseBlockAndEditEntities).get_assignment_378p7u_k$ = function () {
    return this.assignment_1;
  };
  protoOf(CourseBlockAndEditEntities).get_assignmentCourseGroupSetName_xub873_k$ = function () {
    return this.assignmentCourseGroupSetName_1;
  };
  protoOf(CourseBlockAndEditEntities).get_assignmentPeerAllocations_1edap1_k$ = function () {
    return this.assignmentPeerAllocations_1;
  };
  protoOf(CourseBlockAndEditEntities).asContentEntryAndJob_liljbl_k$ = function () {
    return new ContentEntryAndContentJob(this.contentEntry_1, this.contentJob_1, this.contentJobItem_1, this.contentEntryPicture_1);
  };
  protoOf(CourseBlockAndEditEntities).component1_7eebsc_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(CourseBlockAndEditEntities).component2_7eebsb_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndEditEntities).component3_7eebsa_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndEditEntities).component4_7eebs9_k$ = function () {
    return this.contentEntryPicture_1;
  };
  protoOf(CourseBlockAndEditEntities).component5_7eebs8_k$ = function () {
    return this.contentJobItem_1;
  };
  protoOf(CourseBlockAndEditEntities).component6_7eebs7_k$ = function () {
    return this.contentJob_1;
  };
  protoOf(CourseBlockAndEditEntities).component7_7eebs6_k$ = function () {
    return this.contentEntryLang_1;
  };
  protoOf(CourseBlockAndEditEntities).component8_7eebs5_k$ = function () {
    return this.assignment_1;
  };
  protoOf(CourseBlockAndEditEntities).component9_7eebs4_k$ = function () {
    return this.assignmentCourseGroupSetName_1;
  };
  protoOf(CourseBlockAndEditEntities).component10_gazzfo_k$ = function () {
    return this.assignmentPeerAllocations_1;
  };
  protoOf(CourseBlockAndEditEntities).copy_7yyb55_k$ = function (courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations) {
    return new CourseBlockAndEditEntities(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations);
  };
  protoOf(CourseBlockAndEditEntities).copy$default_8ye1e3_k$ = function (courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations, $super) {
    courseBlock = courseBlock === VOID ? this.courseBlock_1 : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? this.courseBlockPicture_1 : courseBlockPicture;
    contentEntry = contentEntry === VOID ? this.contentEntry_1 : contentEntry;
    contentEntryPicture = contentEntryPicture === VOID ? this.contentEntryPicture_1 : contentEntryPicture;
    contentJobItem = contentJobItem === VOID ? this.contentJobItem_1 : contentJobItem;
    contentJob = contentJob === VOID ? this.contentJob_1 : contentJob;
    contentEntryLang = contentEntryLang === VOID ? this.contentEntryLang_1 : contentEntryLang;
    assignment = assignment === VOID ? this.assignment_1 : assignment;
    assignmentCourseGroupSetName = assignmentCourseGroupSetName === VOID ? this.assignmentCourseGroupSetName_1 : assignmentCourseGroupSetName;
    assignmentPeerAllocations = assignmentPeerAllocations === VOID ? this.assignmentPeerAllocations_1 : assignmentPeerAllocations;
    return $super === VOID ? this.copy_7yyb55_k$(courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations) : $super.copy_7yyb55_k$.call(this, courseBlock, courseBlockPicture, contentEntry, contentEntryPicture, contentJobItem, contentJob, contentEntryLang, assignment, assignmentCourseGroupSetName, assignmentPeerAllocations);
  };
  protoOf(CourseBlockAndEditEntities).toString = function () {
    return 'CourseBlockAndEditEntities(courseBlock=' + this.courseBlock_1 + ', courseBlockPicture=' + this.courseBlockPicture_1 + ', contentEntry=' + this.contentEntry_1 + ', contentEntryPicture=' + this.contentEntryPicture_1 + ', contentJobItem=' + this.contentJobItem_1 + ', contentJob=' + this.contentJob_1 + ', contentEntryLang=' + this.contentEntryLang_1 + ', assignment=' + this.assignment_1 + ', assignmentCourseGroupSetName=' + this.assignmentCourseGroupSetName_1 + ', assignmentPeerAllocations=' + this.assignmentPeerAllocations_1 + ')';
  };
  protoOf(CourseBlockAndEditEntities).hashCode = function () {
    var result = this.courseBlock_1.hashCode();
    result = imul(result, 31) + (this.courseBlockPicture_1 == null ? 0 : this.courseBlockPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntry_1 == null ? 0 : this.contentEntry_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntryPicture_1 == null ? 0 : this.contentEntryPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentJobItem_1 == null ? 0 : this.contentJobItem_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentJob_1 == null ? 0 : this.contentJob_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntryLang_1 == null ? 0 : this.contentEntryLang_1.hashCode()) | 0;
    result = imul(result, 31) + (this.assignment_1 == null ? 0 : this.assignment_1.hashCode()) | 0;
    result = imul(result, 31) + (this.assignmentCourseGroupSetName_1 == null ? 0 : getStringHashCode(this.assignmentCourseGroupSetName_1)) | 0;
    result = imul(result, 31) + hashCode(this.assignmentPeerAllocations_1) | 0;
    return result;
  };
  protoOf(CourseBlockAndEditEntities).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndEditEntities))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndEditEntities ? other : THROW_CCE();
    if (!this.courseBlock_1.equals(tmp0_other_with_cast.courseBlock_1))
      return false;
    if (!equals(this.courseBlockPicture_1, tmp0_other_with_cast.courseBlockPicture_1))
      return false;
    if (!equals(this.contentEntry_1, tmp0_other_with_cast.contentEntry_1))
      return false;
    if (!equals(this.contentEntryPicture_1, tmp0_other_with_cast.contentEntryPicture_1))
      return false;
    if (!equals(this.contentJobItem_1, tmp0_other_with_cast.contentJobItem_1))
      return false;
    if (!equals(this.contentJob_1, tmp0_other_with_cast.contentJob_1))
      return false;
    if (!equals(this.contentEntryLang_1, tmp0_other_with_cast.contentEntryLang_1))
      return false;
    if (!equals(this.assignment_1, tmp0_other_with_cast.assignment_1))
      return false;
    if (!(this.assignmentCourseGroupSetName_1 == tmp0_other_with_cast.assignmentCourseGroupSetName_1))
      return false;
    if (!equals(this.assignmentPeerAllocations_1, tmp0_other_with_cast.assignmentPeerAllocations_1))
      return false;
    return true;
  };
  function Companion_19() {
    Companion_instance_19 = this;
  }
  protoOf(Companion_19).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_19();
  };
  var Companion_instance_19;
  function Companion_getInstance_21() {
    if (Companion_instance_19 == null)
      new Companion_19();
    return Companion_instance_19;
  }
  function $serializer_19() {
    $serializer_instance_19 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndGradebookDisplayDetails', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('block', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlockPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryPicture2', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_19).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_19).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_76()), get_nullable($serializer_getInstance_77()), get_nullable($serializer_getInstance_60()), get_nullable($serializer_getInstance_65())];
  };
  protoOf($serializer_19).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_60(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_65(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockAndGradebookDisplayDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_19).serialize_lajcug_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.block_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_76(), value.block_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.courseBlockPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_77(), value.courseBlockPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.contentEntry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_60(), value.contentEntry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.contentEntryPicture2__1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_65(), value.contentEntryPicture2__1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_19).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_lajcug_k$(encoder, value instanceof CourseBlockAndGradebookDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_19;
  function $serializer_getInstance_19() {
    if ($serializer_instance_19 == null)
      new $serializer_19();
    return $serializer_instance_19;
  }
  function CourseBlockAndGradebookDisplayDetails_init_$Init$(seen1, block, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_19().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.block_1 = null;
    else
      $this.block_1 = block;
    if (0 === (seen1 & 2))
      $this.courseBlockPicture_1 = null;
    else
      $this.courseBlockPicture_1 = courseBlockPicture;
    if (0 === (seen1 & 4))
      $this.contentEntry_1 = null;
    else
      $this.contentEntry_1 = contentEntry;
    if (0 === (seen1 & 8))
      $this.contentEntryPicture2__1 = null;
    else
      $this.contentEntryPicture2__1 = contentEntryPicture2;
    return $this;
  }
  function CourseBlockAndGradebookDisplayDetails_init_$Create$(seen1, block, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker) {
    return CourseBlockAndGradebookDisplayDetails_init_$Init$(seen1, block, courseBlockPicture, contentEntry, contentEntryPicture2, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndGradebookDisplayDetails)));
  }
  function CourseBlockAndGradebookDisplayDetails(block, courseBlockPicture, contentEntry, contentEntryPicture2) {
    Companion_getInstance_21();
    block = block === VOID ? null : block;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    contentEntry = contentEntry === VOID ? null : contentEntry;
    contentEntryPicture2 = contentEntryPicture2 === VOID ? null : contentEntryPicture2;
    this.block_1 = block;
    this.courseBlockPicture_1 = courseBlockPicture;
    this.contentEntry_1 = contentEntry;
    this.contentEntryPicture2__1 = contentEntryPicture2;
  }
  protoOf(CourseBlockAndGradebookDisplayDetails).set_block_ew53te_k$ = function (_set____db54di) {
    this.block_1 = _set____db54di;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).get_block_ip8l7o_k$ = function () {
    return this.block_1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).set_courseBlockPicture_pbyd35_k$ = function (_set____db54di) {
    this.courseBlockPicture_1 = _set____db54di;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).get_courseBlockPicture_gnlyiz_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).set_contentEntry_b75rdr_k$ = function (_set____db54di) {
    this.contentEntry_1 = _set____db54di;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).get_contentEntry_hwf2de_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).set_contentEntryPicture2_lwy733_k$ = function (_set____db54di) {
    this.contentEntryPicture2__1 = _set____db54di;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).get_contentEntryPicture2_fms5ka_k$ = function () {
    return this.contentEntryPicture2__1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).component1_7eebsc_k$ = function () {
    return this.block_1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).component2_7eebsb_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).component3_7eebsa_k$ = function () {
    return this.contentEntry_1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).component4_7eebs9_k$ = function () {
    return this.contentEntryPicture2__1;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).copy_64ei6v_k$ = function (block, courseBlockPicture, contentEntry, contentEntryPicture2) {
    return new CourseBlockAndGradebookDisplayDetails(block, courseBlockPicture, contentEntry, contentEntryPicture2);
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).copy$default_ot20c8_k$ = function (block, courseBlockPicture, contentEntry, contentEntryPicture2, $super) {
    block = block === VOID ? this.block_1 : block;
    courseBlockPicture = courseBlockPicture === VOID ? this.courseBlockPicture_1 : courseBlockPicture;
    contentEntry = contentEntry === VOID ? this.contentEntry_1 : contentEntry;
    contentEntryPicture2 = contentEntryPicture2 === VOID ? this.contentEntryPicture2__1 : contentEntryPicture2;
    return $super === VOID ? this.copy_64ei6v_k$(block, courseBlockPicture, contentEntry, contentEntryPicture2) : $super.copy_64ei6v_k$.call(this, block, courseBlockPicture, contentEntry, contentEntryPicture2);
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).toString = function () {
    return 'CourseBlockAndGradebookDisplayDetails(block=' + this.block_1 + ', courseBlockPicture=' + this.courseBlockPicture_1 + ', contentEntry=' + this.contentEntry_1 + ', contentEntryPicture2=' + this.contentEntryPicture2__1 + ')';
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).hashCode = function () {
    var result = this.block_1 == null ? 0 : this.block_1.hashCode();
    result = imul(result, 31) + (this.courseBlockPicture_1 == null ? 0 : this.courseBlockPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntry_1 == null ? 0 : this.contentEntry_1.hashCode()) | 0;
    result = imul(result, 31) + (this.contentEntryPicture2__1 == null ? 0 : this.contentEntryPicture2__1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndGradebookDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndGradebookDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndGradebookDisplayDetails ? other : THROW_CCE();
    if (!equals(this.block_1, tmp0_other_with_cast.block_1))
      return false;
    if (!equals(this.courseBlockPicture_1, tmp0_other_with_cast.courseBlockPicture_1))
      return false;
    if (!equals(this.contentEntry_1, tmp0_other_with_cast.contentEntry_1))
      return false;
    if (!equals(this.contentEntryPicture2__1, tmp0_other_with_cast.contentEntryPicture2__1))
      return false;
    return true;
  };
  function Companion_20() {
    Companion_instance_20 = this;
  }
  protoOf(Companion_20).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_20();
  };
  var Companion_instance_20;
  function Companion_getInstance_22() {
    if (Companion_instance_20 == null)
      new Companion_20();
    return Companion_instance_20;
  }
  function $serializer_20() {
    $serializer_instance_20 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockAndPicture', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('block', true);
    tmp0_serialDesc.addElement_5pzumi_k$('picture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_20).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_20).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_76()), get_nullable($serializer_getInstance_77())];
  };
  protoOf($serializer_20).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_76(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_77(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockAndPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_20).serialize_am78mu_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.block_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_76(), value.block_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.picture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_77(), value.picture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_20).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_am78mu_k$(encoder, value instanceof CourseBlockAndPicture ? value : THROW_CCE());
  };
  var $serializer_instance_20;
  function $serializer_getInstance_20() {
    if ($serializer_instance_20 == null)
      new $serializer_20();
    return $serializer_instance_20;
  }
  function CourseBlockAndPicture_init_$Init$(seen1, block, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_20().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.block_1 = null;
    else
      $this.block_1 = block;
    if (0 === (seen1 & 2))
      $this.picture_1 = null;
    else
      $this.picture_1 = picture;
    return $this;
  }
  function CourseBlockAndPicture_init_$Create$(seen1, block, picture, serializationConstructorMarker) {
    return CourseBlockAndPicture_init_$Init$(seen1, block, picture, serializationConstructorMarker, objectCreate(protoOf(CourseBlockAndPicture)));
  }
  function CourseBlockAndPicture(block, picture) {
    Companion_getInstance_22();
    block = block === VOID ? null : block;
    picture = picture === VOID ? null : picture;
    this.block_1 = block;
    this.picture_1 = picture;
  }
  protoOf(CourseBlockAndPicture).set_block_ew53te_k$ = function (_set____db54di) {
    this.block_1 = _set____db54di;
  };
  protoOf(CourseBlockAndPicture).get_block_ip8l7o_k$ = function () {
    return this.block_1;
  };
  protoOf(CourseBlockAndPicture).set_picture_c40yux_k$ = function (_set____db54di) {
    this.picture_1 = _set____db54di;
  };
  protoOf(CourseBlockAndPicture).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(CourseBlockAndPicture).component1_7eebsc_k$ = function () {
    return this.block_1;
  };
  protoOf(CourseBlockAndPicture).component2_7eebsb_k$ = function () {
    return this.picture_1;
  };
  protoOf(CourseBlockAndPicture).copy_t8faph_k$ = function (block, picture) {
    return new CourseBlockAndPicture(block, picture);
  };
  protoOf(CourseBlockAndPicture).copy$default_vvr3mi_k$ = function (block, picture, $super) {
    block = block === VOID ? this.block_1 : block;
    picture = picture === VOID ? this.picture_1 : picture;
    return $super === VOID ? this.copy_t8faph_k$(block, picture) : $super.copy_t8faph_k$.call(this, block, picture);
  };
  protoOf(CourseBlockAndPicture).toString = function () {
    return 'CourseBlockAndPicture(block=' + this.block_1 + ', picture=' + this.picture_1 + ')';
  };
  protoOf(CourseBlockAndPicture).hashCode = function () {
    var result = this.block_1 == null ? 0 : this.block_1.hashCode();
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseBlockAndPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockAndPicture))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockAndPicture ? other : THROW_CCE();
    if (!equals(this.block_1, tmp0_other_with_cast.block_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    return true;
  };
  function Companion_21() {
    Companion_instance_21 = this;
  }
  protoOf(Companion_21).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_21();
  };
  var Companion_instance_21;
  function Companion_getInstance_23() {
    if (Companion_instance_21 == null)
      new Companion_21();
    return Companion_instance_21;
  }
  function $serializer_21() {
    $serializer_instance_21 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseBlockUidAndClazzUid', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlockUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_21).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_21).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_21).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockUidAndClazzUid_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_21).serialize_k7b5im_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.clazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.clazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.courseBlockUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.courseBlockUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_21).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_k7b5im_k$(encoder, value instanceof CourseBlockUidAndClazzUid ? value : THROW_CCE());
  };
  var $serializer_instance_21;
  function $serializer_getInstance_21() {
    if ($serializer_instance_21 == null)
      new $serializer_21();
    return $serializer_instance_21;
  }
  function CourseBlockUidAndClazzUid_init_$Init$(seen1, clazzUid, courseBlockUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_21().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzUid_1 = new Long(0, 0);
    else
      $this.clazzUid_1 = clazzUid;
    if (0 === (seen1 & 2))
      $this.courseBlockUid_1 = new Long(0, 0);
    else
      $this.courseBlockUid_1 = courseBlockUid;
    return $this;
  }
  function CourseBlockUidAndClazzUid_init_$Create$(seen1, clazzUid, courseBlockUid, serializationConstructorMarker) {
    return CourseBlockUidAndClazzUid_init_$Init$(seen1, clazzUid, courseBlockUid, serializationConstructorMarker, objectCreate(protoOf(CourseBlockUidAndClazzUid)));
  }
  function CourseBlockUidAndClazzUid(clazzUid, courseBlockUid) {
    Companion_getInstance_23();
    clazzUid = clazzUid === VOID ? new Long(0, 0) : clazzUid;
    courseBlockUid = courseBlockUid === VOID ? new Long(0, 0) : courseBlockUid;
    this.clazzUid_1 = clazzUid;
    this.courseBlockUid_1 = courseBlockUid;
  }
  protoOf(CourseBlockUidAndClazzUid).set_clazzUid_tlygrb_k$ = function (_set____db54di) {
    this.clazzUid_1 = _set____db54di;
  };
  protoOf(CourseBlockUidAndClazzUid).get_clazzUid_k8pnbz_k$ = function () {
    return this.clazzUid_1;
  };
  protoOf(CourseBlockUidAndClazzUid).set_courseBlockUid_rygvur_k$ = function (_set____db54di) {
    this.courseBlockUid_1 = _set____db54di;
  };
  protoOf(CourseBlockUidAndClazzUid).get_courseBlockUid_akc5af_k$ = function () {
    return this.courseBlockUid_1;
  };
  protoOf(CourseBlockUidAndClazzUid).component1_7eebsc_k$ = function () {
    return this.clazzUid_1;
  };
  protoOf(CourseBlockUidAndClazzUid).component2_7eebsb_k$ = function () {
    return this.courseBlockUid_1;
  };
  protoOf(CourseBlockUidAndClazzUid).copy_cwfd3f_k$ = function (clazzUid, courseBlockUid) {
    return new CourseBlockUidAndClazzUid(clazzUid, courseBlockUid);
  };
  protoOf(CourseBlockUidAndClazzUid).copy$default_236i5w_k$ = function (clazzUid, courseBlockUid, $super) {
    clazzUid = clazzUid === VOID ? this.clazzUid_1 : clazzUid;
    courseBlockUid = courseBlockUid === VOID ? this.courseBlockUid_1 : courseBlockUid;
    return $super === VOID ? this.copy_cwfd3f_k$(clazzUid, courseBlockUid) : $super.copy_cwfd3f_k$.call(this, clazzUid, courseBlockUid);
  };
  protoOf(CourseBlockUidAndClazzUid).toString = function () {
    return 'CourseBlockUidAndClazzUid(clazzUid=' + this.clazzUid_1.toString() + ', courseBlockUid=' + this.courseBlockUid_1.toString() + ')';
  };
  protoOf(CourseBlockUidAndClazzUid).hashCode = function () {
    var result = this.clazzUid_1.hashCode();
    result = imul(result, 31) + this.courseBlockUid_1.hashCode() | 0;
    return result;
  };
  protoOf(CourseBlockUidAndClazzUid).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockUidAndClazzUid))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockUidAndClazzUid ? other : THROW_CCE();
    if (!this.clazzUid_1.equals(tmp0_other_with_cast.clazzUid_1))
      return false;
    if (!this.courseBlockUid_1.equals(tmp0_other_with_cast.courseBlockUid_1))
      return false;
    return true;
  };
  function Companion_22() {
    Companion_instance_22 = this;
  }
  protoOf(Companion_22).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_22();
  };
  var Companion_instance_22;
  function Companion_getInstance_24() {
    if (Companion_instance_22 == null)
      new Companion_22();
    return Companion_instance_22;
  }
  function $serializer_22() {
    $serializer_instance_22 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseGroupMemberAndPerson', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('courseGroupMember', true);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_22).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_22).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_78()), get_nullable($serializer_getInstance_98())];
  };
  protoOf($serializer_22).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_78(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_78(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseGroupMemberAndPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_22).serialize_4fd9dh_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.courseGroupMember_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_78(), value.courseGroupMember_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_98(), value.person_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_22).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_4fd9dh_k$(encoder, value instanceof CourseGroupMemberAndPerson ? value : THROW_CCE());
  };
  var $serializer_instance_22;
  function $serializer_getInstance_22() {
    if ($serializer_instance_22 == null)
      new $serializer_22();
    return $serializer_instance_22;
  }
  function CourseGroupMemberAndPerson_init_$Init$(seen1, courseGroupMember, person, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_22().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.courseGroupMember_1 = null;
    else
      $this.courseGroupMember_1 = courseGroupMember;
    if (0 === (seen1 & 2))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    return $this;
  }
  function CourseGroupMemberAndPerson_init_$Create$(seen1, courseGroupMember, person, serializationConstructorMarker) {
    return CourseGroupMemberAndPerson_init_$Init$(seen1, courseGroupMember, person, serializationConstructorMarker, objectCreate(protoOf(CourseGroupMemberAndPerson)));
  }
  function CourseGroupMemberAndPerson(courseGroupMember, person) {
    Companion_getInstance_24();
    courseGroupMember = courseGroupMember === VOID ? null : courseGroupMember;
    person = person === VOID ? null : person;
    this.courseGroupMember_1 = courseGroupMember;
    this.person_1 = person;
  }
  protoOf(CourseGroupMemberAndPerson).set_courseGroupMember_5bezor_k$ = function (_set____db54di) {
    this.courseGroupMember_1 = _set____db54di;
  };
  protoOf(CourseGroupMemberAndPerson).get_courseGroupMember_43922z_k$ = function () {
    return this.courseGroupMember_1;
  };
  protoOf(CourseGroupMemberAndPerson).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(CourseGroupMemberAndPerson).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(CourseGroupMemberAndPerson).component1_7eebsc_k$ = function () {
    return this.courseGroupMember_1;
  };
  protoOf(CourseGroupMemberAndPerson).component2_7eebsb_k$ = function () {
    return this.person_1;
  };
  protoOf(CourseGroupMemberAndPerson).copy_8b438y_k$ = function (courseGroupMember, person) {
    return new CourseGroupMemberAndPerson(courseGroupMember, person);
  };
  protoOf(CourseGroupMemberAndPerson).copy$default_hemhem_k$ = function (courseGroupMember, person, $super) {
    courseGroupMember = courseGroupMember === VOID ? this.courseGroupMember_1 : courseGroupMember;
    person = person === VOID ? this.person_1 : person;
    return $super === VOID ? this.copy_8b438y_k$(courseGroupMember, person) : $super.copy_8b438y_k$.call(this, courseGroupMember, person);
  };
  protoOf(CourseGroupMemberAndPerson).toString = function () {
    return 'CourseGroupMemberAndPerson(courseGroupMember=' + this.courseGroupMember_1 + ', person=' + this.person_1 + ')';
  };
  protoOf(CourseGroupMemberAndPerson).hashCode = function () {
    var result = this.courseGroupMember_1 == null ? 0 : this.courseGroupMember_1.hashCode();
    result = imul(result, 31) + (this.person_1 == null ? 0 : this.person_1.hashCode()) | 0;
    return result;
  };
  protoOf(CourseGroupMemberAndPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseGroupMemberAndPerson))
      return false;
    var tmp0_other_with_cast = other instanceof CourseGroupMemberAndPerson ? other : THROW_CCE();
    if (!equals(this.courseGroupMember_1, tmp0_other_with_cast.courseGroupMember_1))
      return false;
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    return true;
  };
  function Companion_23() {
    Companion_instance_23 = this;
  }
  protoOf(Companion_23).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_23();
  };
  var Companion_instance_23;
  function Companion_getInstance_25() {
    if (Companion_instance_23 == null)
      new Companion_23();
    return Companion_instance_23;
  }
  function $serializer_23() {
    $serializer_instance_23 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CourseNameAndPersonName', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('firstNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastName', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_23).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_23).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_23).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseNameAndPersonName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_23).serialize_c1zbzm_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.clazzName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, StringSerializer_getInstance(), value.clazzName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.firstNames_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.firstNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.lastName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.lastName_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_23).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_c1zbzm_k$(encoder, value instanceof CourseNameAndPersonName ? value : THROW_CCE());
  };
  var $serializer_instance_23;
  function $serializer_getInstance_23() {
    if ($serializer_instance_23 == null)
      new $serializer_23();
    return $serializer_instance_23;
  }
  function CourseNameAndPersonName_init_$Init$(seen1, clazzName, firstNames, lastName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_23().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzName_1 = null;
    else
      $this.clazzName_1 = clazzName;
    if (0 === (seen1 & 2))
      $this.firstNames_1 = null;
    else
      $this.firstNames_1 = firstNames;
    if (0 === (seen1 & 4))
      $this.lastName_1 = null;
    else
      $this.lastName_1 = lastName;
    return $this;
  }
  function CourseNameAndPersonName_init_$Create$(seen1, clazzName, firstNames, lastName, serializationConstructorMarker) {
    return CourseNameAndPersonName_init_$Init$(seen1, clazzName, firstNames, lastName, serializationConstructorMarker, objectCreate(protoOf(CourseNameAndPersonName)));
  }
  function CourseNameAndPersonName(clazzName, firstNames, lastName) {
    Companion_getInstance_25();
    clazzName = clazzName === VOID ? null : clazzName;
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    this.clazzName_1 = clazzName;
    this.firstNames_1 = firstNames;
    this.lastName_1 = lastName;
  }
  protoOf(CourseNameAndPersonName).set_clazzName_aqdmvj_k$ = function (_set____db54di) {
    this.clazzName_1 = _set____db54di;
  };
  protoOf(CourseNameAndPersonName).get_clazzName_brsrx6_k$ = function () {
    return this.clazzName_1;
  };
  protoOf(CourseNameAndPersonName).set_firstNames_audc9u_k$ = function (_set____db54di) {
    this.firstNames_1 = _set____db54di;
  };
  protoOf(CourseNameAndPersonName).get_firstNames_n3o3y7_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(CourseNameAndPersonName).set_lastName_6ukpbb_k$ = function (_set____db54di) {
    this.lastName_1 = _set____db54di;
  };
  protoOf(CourseNameAndPersonName).get_lastName_f360wa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(CourseNameAndPersonName).component1_7eebsc_k$ = function () {
    return this.clazzName_1;
  };
  protoOf(CourseNameAndPersonName).component2_7eebsb_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(CourseNameAndPersonName).component3_7eebsa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(CourseNameAndPersonName).copy_mfdan4_k$ = function (clazzName, firstNames, lastName) {
    return new CourseNameAndPersonName(clazzName, firstNames, lastName);
  };
  protoOf(CourseNameAndPersonName).copy$default_mcztho_k$ = function (clazzName, firstNames, lastName, $super) {
    clazzName = clazzName === VOID ? this.clazzName_1 : clazzName;
    firstNames = firstNames === VOID ? this.firstNames_1 : firstNames;
    lastName = lastName === VOID ? this.lastName_1 : lastName;
    return $super === VOID ? this.copy_mfdan4_k$(clazzName, firstNames, lastName) : $super.copy_mfdan4_k$.call(this, clazzName, firstNames, lastName);
  };
  protoOf(CourseNameAndPersonName).toString = function () {
    return 'CourseNameAndPersonName(clazzName=' + this.clazzName_1 + ', firstNames=' + this.firstNames_1 + ', lastName=' + this.lastName_1 + ')';
  };
  protoOf(CourseNameAndPersonName).hashCode = function () {
    var result = this.clazzName_1 == null ? 0 : getStringHashCode(this.clazzName_1);
    result = imul(result, 31) + (this.firstNames_1 == null ? 0 : getStringHashCode(this.firstNames_1)) | 0;
    result = imul(result, 31) + (this.lastName_1 == null ? 0 : getStringHashCode(this.lastName_1)) | 0;
    return result;
  };
  protoOf(CourseNameAndPersonName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseNameAndPersonName))
      return false;
    var tmp0_other_with_cast = other instanceof CourseNameAndPersonName ? other : THROW_CCE();
    if (!(this.clazzName_1 == tmp0_other_with_cast.clazzName_1))
      return false;
    if (!(this.firstNames_1 == tmp0_other_with_cast.firstNames_1))
      return false;
    if (!(this.lastName_1 == tmp0_other_with_cast.lastName_1))
      return false;
    return true;
  };
  function Companion_24() {
    Companion_instance_24 = this;
  }
  protoOf(Companion_24).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_24();
  };
  var Companion_instance_24;
  function Companion_getInstance_26() {
    if (Companion_instance_24 == null)
      new Companion_24();
    return Companion_instance_24;
  }
  function $serializer_24() {
    $serializer_instance_24 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.CoursePermissionAndEnrolment', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolment', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_24).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_24).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_81()), get_nullable($serializer_getInstance_47())];
  };
  protoOf($serializer_24).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_81(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_47(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_81(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_47(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CoursePermissionAndEnrolment_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_24).serialize_qqfx3o_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.coursePermission_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_81(), value.coursePermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.clazzEnrolment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_47(), value.clazzEnrolment_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_24).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_qqfx3o_k$(encoder, value instanceof CoursePermissionAndEnrolment ? value : THROW_CCE());
  };
  var $serializer_instance_24;
  function $serializer_getInstance_24() {
    if ($serializer_instance_24 == null)
      new $serializer_24();
    return $serializer_instance_24;
  }
  function CoursePermissionAndEnrolment_init_$Init$(seen1, coursePermission, clazzEnrolment, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_24().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.coursePermission_1 = null;
    else
      $this.coursePermission_1 = coursePermission;
    if (0 === (seen1 & 2))
      $this.clazzEnrolment_1 = null;
    else
      $this.clazzEnrolment_1 = clazzEnrolment;
    return $this;
  }
  function CoursePermissionAndEnrolment_init_$Create$(seen1, coursePermission, clazzEnrolment, serializationConstructorMarker) {
    return CoursePermissionAndEnrolment_init_$Init$(seen1, coursePermission, clazzEnrolment, serializationConstructorMarker, objectCreate(protoOf(CoursePermissionAndEnrolment)));
  }
  function CoursePermissionAndEnrolment(coursePermission, clazzEnrolment) {
    Companion_getInstance_26();
    coursePermission = coursePermission === VOID ? null : coursePermission;
    clazzEnrolment = clazzEnrolment === VOID ? null : clazzEnrolment;
    this.coursePermission_1 = coursePermission;
    this.clazzEnrolment_1 = clazzEnrolment;
  }
  protoOf(CoursePermissionAndEnrolment).set_coursePermission_6v7szl_k$ = function (_set____db54di) {
    this.coursePermission_1 = _set____db54di;
  };
  protoOf(CoursePermissionAndEnrolment).get_coursePermission_y7ay25_k$ = function () {
    return this.coursePermission_1;
  };
  protoOf(CoursePermissionAndEnrolment).set_clazzEnrolment_sfi2bj_k$ = function (_set____db54di) {
    this.clazzEnrolment_1 = _set____db54di;
  };
  protoOf(CoursePermissionAndEnrolment).get_clazzEnrolment_p0dax7_k$ = function () {
    return this.clazzEnrolment_1;
  };
  protoOf(CoursePermissionAndEnrolment).component1_7eebsc_k$ = function () {
    return this.coursePermission_1;
  };
  protoOf(CoursePermissionAndEnrolment).component2_7eebsb_k$ = function () {
    return this.clazzEnrolment_1;
  };
  protoOf(CoursePermissionAndEnrolment).copy_xabydz_k$ = function (coursePermission, clazzEnrolment) {
    return new CoursePermissionAndEnrolment(coursePermission, clazzEnrolment);
  };
  protoOf(CoursePermissionAndEnrolment).copy$default_80o91m_k$ = function (coursePermission, clazzEnrolment, $super) {
    coursePermission = coursePermission === VOID ? this.coursePermission_1 : coursePermission;
    clazzEnrolment = clazzEnrolment === VOID ? this.clazzEnrolment_1 : clazzEnrolment;
    return $super === VOID ? this.copy_xabydz_k$(coursePermission, clazzEnrolment) : $super.copy_xabydz_k$.call(this, coursePermission, clazzEnrolment);
  };
  protoOf(CoursePermissionAndEnrolment).toString = function () {
    return 'CoursePermissionAndEnrolment(coursePermission=' + this.coursePermission_1 + ', clazzEnrolment=' + this.clazzEnrolment_1 + ')';
  };
  protoOf(CoursePermissionAndEnrolment).hashCode = function () {
    var result = this.coursePermission_1 == null ? 0 : this.coursePermission_1.hashCode();
    result = imul(result, 31) + (this.clazzEnrolment_1 == null ? 0 : hashCode(this.clazzEnrolment_1)) | 0;
    return result;
  };
  protoOf(CoursePermissionAndEnrolment).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CoursePermissionAndEnrolment))
      return false;
    var tmp0_other_with_cast = other instanceof CoursePermissionAndEnrolment ? other : THROW_CCE();
    if (!equals(this.coursePermission_1, tmp0_other_with_cast.coursePermission_1))
      return false;
    if (!equals(this.clazzEnrolment_1, tmp0_other_with_cast.clazzEnrolment_1))
      return false;
    return true;
  };
  function CoursePermissionAndListDetail(coursePermission, person, personPicture) {
    coursePermission = coursePermission === VOID ? null : coursePermission;
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    this.coursePermission_1 = coursePermission;
    this.person_1 = person;
    this.personPicture_1 = personPicture;
  }
  protoOf(CoursePermissionAndListDetail).set_coursePermission_6v7szl_k$ = function (_set____db54di) {
    this.coursePermission_1 = _set____db54di;
  };
  protoOf(CoursePermissionAndListDetail).get_coursePermission_y7ay25_k$ = function () {
    return this.coursePermission_1;
  };
  protoOf(CoursePermissionAndListDetail).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(CoursePermissionAndListDetail).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(CoursePermissionAndListDetail).set_personPicture_c5dce7_k$ = function (_set____db54di) {
    this.personPicture_1 = _set____db54di;
  };
  protoOf(CoursePermissionAndListDetail).get_personPicture_te1agw_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(CoursePermissionAndListDetail).component1_7eebsc_k$ = function () {
    return this.coursePermission_1;
  };
  protoOf(CoursePermissionAndListDetail).component2_7eebsb_k$ = function () {
    return this.person_1;
  };
  protoOf(CoursePermissionAndListDetail).component3_7eebsa_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(CoursePermissionAndListDetail).copy_l5s3az_k$ = function (coursePermission, person, personPicture) {
    return new CoursePermissionAndListDetail(coursePermission, person, personPicture);
  };
  protoOf(CoursePermissionAndListDetail).copy$default_q3t4cc_k$ = function (coursePermission, person, personPicture, $super) {
    coursePermission = coursePermission === VOID ? this.coursePermission_1 : coursePermission;
    person = person === VOID ? this.person_1 : person;
    personPicture = personPicture === VOID ? this.personPicture_1 : personPicture;
    return $super === VOID ? this.copy_l5s3az_k$(coursePermission, person, personPicture) : $super.copy_l5s3az_k$.call(this, coursePermission, person, personPicture);
  };
  protoOf(CoursePermissionAndListDetail).toString = function () {
    return 'CoursePermissionAndListDetail(coursePermission=' + this.coursePermission_1 + ', person=' + this.person_1 + ', personPicture=' + this.personPicture_1 + ')';
  };
  protoOf(CoursePermissionAndListDetail).hashCode = function () {
    var result = this.coursePermission_1 == null ? 0 : this.coursePermission_1.hashCode();
    result = imul(result, 31) + (this.person_1 == null ? 0 : this.person_1.hashCode()) | 0;
    result = imul(result, 31) + (this.personPicture_1 == null ? 0 : this.personPicture_1.hashCode()) | 0;
    return result;
  };
  protoOf(CoursePermissionAndListDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CoursePermissionAndListDetail))
      return false;
    var tmp0_other_with_cast = other instanceof CoursePermissionAndListDetail ? other : THROW_CCE();
    if (!equals(this.coursePermission_1, tmp0_other_with_cast.coursePermission_1))
      return false;
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.personPicture_1, tmp0_other_with_cast.personPicture_1))
      return false;
    return true;
  };
  function Companion_25() {
    Companion_instance_25 = this;
  }
  protoOf(Companion_25).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_25();
  };
  var Companion_instance_25;
  function Companion_getInstance_27() {
    if (Companion_instance_25 == null)
      new Companion_25();
    return Companion_instance_25;
  }
  function $serializer_25() {
    $serializer_instance_25 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.DiscussionPostAndPosterNames', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPost', true);
    tmp0_serialDesc.addElement_5pzumi_k$('firstNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPictureUri', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_25).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_25).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_85()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_25).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_85(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_85(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return DiscussionPostAndPosterNames_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_25).serialize_z85gyf_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.discussionPost_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_85(), value.discussionPost_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.firstNames_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.firstNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.lastName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.lastName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.personPictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.personPictureUri_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_25).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_z85gyf_k$(encoder, value instanceof DiscussionPostAndPosterNames ? value : THROW_CCE());
  };
  var $serializer_instance_25;
  function $serializer_getInstance_25() {
    if ($serializer_instance_25 == null)
      new $serializer_25();
    return $serializer_instance_25;
  }
  function DiscussionPostAndPosterNames_init_$Init$(seen1, discussionPost, firstNames, lastName, personPictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_25().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.discussionPost_1 = null;
    else
      $this.discussionPost_1 = discussionPost;
    if (0 === (seen1 & 2))
      $this.firstNames_1 = null;
    else
      $this.firstNames_1 = firstNames;
    if (0 === (seen1 & 4))
      $this.lastName_1 = null;
    else
      $this.lastName_1 = lastName;
    if (0 === (seen1 & 8))
      $this.personPictureUri_1 = null;
    else
      $this.personPictureUri_1 = personPictureUri;
    return $this;
  }
  function DiscussionPostAndPosterNames_init_$Create$(seen1, discussionPost, firstNames, lastName, personPictureUri, serializationConstructorMarker) {
    return DiscussionPostAndPosterNames_init_$Init$(seen1, discussionPost, firstNames, lastName, personPictureUri, serializationConstructorMarker, objectCreate(protoOf(DiscussionPostAndPosterNames)));
  }
  function DiscussionPostAndPosterNames(discussionPost, firstNames, lastName, personPictureUri) {
    Companion_getInstance_27();
    discussionPost = discussionPost === VOID ? null : discussionPost;
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    personPictureUri = personPictureUri === VOID ? null : personPictureUri;
    this.discussionPost_1 = discussionPost;
    this.firstNames_1 = firstNames;
    this.lastName_1 = lastName;
    this.personPictureUri_1 = personPictureUri;
  }
  protoOf(DiscussionPostAndPosterNames).set_discussionPost_mkuzpd_k$ = function (_set____db54di) {
    this.discussionPost_1 = _set____db54di;
  };
  protoOf(DiscussionPostAndPosterNames).get_discussionPost_4c7lzj_k$ = function () {
    return this.discussionPost_1;
  };
  protoOf(DiscussionPostAndPosterNames).set_firstNames_audc9u_k$ = function (_set____db54di) {
    this.firstNames_1 = _set____db54di;
  };
  protoOf(DiscussionPostAndPosterNames).get_firstNames_n3o3y7_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(DiscussionPostAndPosterNames).set_lastName_6ukpbb_k$ = function (_set____db54di) {
    this.lastName_1 = _set____db54di;
  };
  protoOf(DiscussionPostAndPosterNames).get_lastName_f360wa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(DiscussionPostAndPosterNames).set_personPictureUri_20k97t_k$ = function (_set____db54di) {
    this.personPictureUri_1 = _set____db54di;
  };
  protoOf(DiscussionPostAndPosterNames).get_personPictureUri_r3scj8_k$ = function () {
    return this.personPictureUri_1;
  };
  protoOf(DiscussionPostAndPosterNames).component1_7eebsc_k$ = function () {
    return this.discussionPost_1;
  };
  protoOf(DiscussionPostAndPosterNames).component2_7eebsb_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(DiscussionPostAndPosterNames).component3_7eebsa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(DiscussionPostAndPosterNames).component4_7eebs9_k$ = function () {
    return this.personPictureUri_1;
  };
  protoOf(DiscussionPostAndPosterNames).copy_bx5v56_k$ = function (discussionPost, firstNames, lastName, personPictureUri) {
    return new DiscussionPostAndPosterNames(discussionPost, firstNames, lastName, personPictureUri);
  };
  protoOf(DiscussionPostAndPosterNames).copy$default_8ilzk4_k$ = function (discussionPost, firstNames, lastName, personPictureUri, $super) {
    discussionPost = discussionPost === VOID ? this.discussionPost_1 : discussionPost;
    firstNames = firstNames === VOID ? this.firstNames_1 : firstNames;
    lastName = lastName === VOID ? this.lastName_1 : lastName;
    personPictureUri = personPictureUri === VOID ? this.personPictureUri_1 : personPictureUri;
    return $super === VOID ? this.copy_bx5v56_k$(discussionPost, firstNames, lastName, personPictureUri) : $super.copy_bx5v56_k$.call(this, discussionPost, firstNames, lastName, personPictureUri);
  };
  protoOf(DiscussionPostAndPosterNames).toString = function () {
    return 'DiscussionPostAndPosterNames(discussionPost=' + this.discussionPost_1 + ', firstNames=' + this.firstNames_1 + ', lastName=' + this.lastName_1 + ', personPictureUri=' + this.personPictureUri_1 + ')';
  };
  protoOf(DiscussionPostAndPosterNames).hashCode = function () {
    var result = this.discussionPost_1 == null ? 0 : hashCode(this.discussionPost_1);
    result = imul(result, 31) + (this.firstNames_1 == null ? 0 : getStringHashCode(this.firstNames_1)) | 0;
    result = imul(result, 31) + (this.lastName_1 == null ? 0 : getStringHashCode(this.lastName_1)) | 0;
    result = imul(result, 31) + (this.personPictureUri_1 == null ? 0 : getStringHashCode(this.personPictureUri_1)) | 0;
    return result;
  };
  protoOf(DiscussionPostAndPosterNames).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof DiscussionPostAndPosterNames))
      return false;
    var tmp0_other_with_cast = other instanceof DiscussionPostAndPosterNames ? other : THROW_CCE();
    if (!equals(this.discussionPost_1, tmp0_other_with_cast.discussionPost_1))
      return false;
    if (!(this.firstNames_1 == tmp0_other_with_cast.firstNames_1))
      return false;
    if (!(this.lastName_1 == tmp0_other_with_cast.lastName_1))
      return false;
    if (!(this.personPictureUri_1 == tmp0_other_with_cast.personPictureUri_1))
      return false;
    return true;
  };
  function Companion_26() {
    Companion_instance_26 = this;
  }
  protoOf(Companion_26).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_26();
  };
  var Companion_instance_26;
  function Companion_getInstance_28() {
    if (Companion_instance_26 == null)
      new Companion_26();
    return Companion_instance_26;
  }
  function $serializer_26() {
    $serializer_instance_26 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.EditAndViewPermission', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('hasViewPermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('hasEditPermission', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_26).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_26).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_26).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return EditAndViewPermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_26).serialize_ijblb2_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.hasViewPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 0, value.hasViewPermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.hasEditPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 1, value.hasEditPermission_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_26).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_ijblb2_k$(encoder, value instanceof EditAndViewPermission ? value : THROW_CCE());
  };
  var $serializer_instance_26;
  function $serializer_getInstance_26() {
    if ($serializer_instance_26 == null)
      new $serializer_26();
    return $serializer_instance_26;
  }
  function EditAndViewPermission_init_$Init$(seen1, hasViewPermission, hasEditPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_26().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.hasViewPermission_1 = false;
    else
      $this.hasViewPermission_1 = hasViewPermission;
    if (0 === (seen1 & 2))
      $this.hasEditPermission_1 = false;
    else
      $this.hasEditPermission_1 = hasEditPermission;
    return $this;
  }
  function EditAndViewPermission_init_$Create$(seen1, hasViewPermission, hasEditPermission, serializationConstructorMarker) {
    return EditAndViewPermission_init_$Init$(seen1, hasViewPermission, hasEditPermission, serializationConstructorMarker, objectCreate(protoOf(EditAndViewPermission)));
  }
  function EditAndViewPermission(hasViewPermission, hasEditPermission) {
    Companion_getInstance_28();
    hasViewPermission = hasViewPermission === VOID ? false : hasViewPermission;
    hasEditPermission = hasEditPermission === VOID ? false : hasEditPermission;
    this.hasViewPermission_1 = hasViewPermission;
    this.hasEditPermission_1 = hasEditPermission;
  }
  protoOf(EditAndViewPermission).set_hasViewPermission_mrtqf8_k$ = function (_set____db54di) {
    this.hasViewPermission_1 = _set____db54di;
  };
  protoOf(EditAndViewPermission).get_hasViewPermission_z0g5b9_k$ = function () {
    return this.hasViewPermission_1;
  };
  protoOf(EditAndViewPermission).set_hasEditPermission_srxqbl_k$ = function (_set____db54di) {
    this.hasEditPermission_1 = _set____db54di;
  };
  protoOf(EditAndViewPermission).get_hasEditPermission_ezcikq_k$ = function () {
    return this.hasEditPermission_1;
  };
  protoOf(EditAndViewPermission).component1_7eebsc_k$ = function () {
    return this.hasViewPermission_1;
  };
  protoOf(EditAndViewPermission).component2_7eebsb_k$ = function () {
    return this.hasEditPermission_1;
  };
  protoOf(EditAndViewPermission).copy_ccyf2t_k$ = function (hasViewPermission, hasEditPermission) {
    return new EditAndViewPermission(hasViewPermission, hasEditPermission);
  };
  protoOf(EditAndViewPermission).copy$default_ey0rgu_k$ = function (hasViewPermission, hasEditPermission, $super) {
    hasViewPermission = hasViewPermission === VOID ? this.hasViewPermission_1 : hasViewPermission;
    hasEditPermission = hasEditPermission === VOID ? this.hasEditPermission_1 : hasEditPermission;
    return $super === VOID ? this.copy_ccyf2t_k$(hasViewPermission, hasEditPermission) : $super.copy_ccyf2t_k$.call(this, hasViewPermission, hasEditPermission);
  };
  protoOf(EditAndViewPermission).toString = function () {
    return 'EditAndViewPermission(hasViewPermission=' + this.hasViewPermission_1 + ', hasEditPermission=' + this.hasEditPermission_1 + ')';
  };
  protoOf(EditAndViewPermission).hashCode = function () {
    var result = getBooleanHashCode(this.hasViewPermission_1);
    result = imul(result, 31) + getBooleanHashCode(this.hasEditPermission_1) | 0;
    return result;
  };
  protoOf(EditAndViewPermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EditAndViewPermission))
      return false;
    var tmp0_other_with_cast = other instanceof EditAndViewPermission ? other : THROW_CCE();
    if (!(this.hasViewPermission_1 === tmp0_other_with_cast.hasViewPermission_1))
      return false;
    if (!(this.hasEditPermission_1 === tmp0_other_with_cast.hasEditPermission_1))
      return false;
    return true;
  };
  function Companion_27() {
    Companion_instance_27 = this;
  }
  protoOf(Companion_27).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_27();
  };
  var Companion_instance_27;
  function Companion_getInstance_29() {
    if (Companion_instance_27 == null)
      new Companion_27();
    return Companion_instance_27;
  }
  function $serializer_27() {
    $serializer_instance_27 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.EnrolmentRequestAndCoursePic', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('enrolmentRequest', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePicture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_27).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_27).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_87()), get_nullable($serializer_getInstance_82())];
  };
  protoOf($serializer_27).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_87(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_82(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_87(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_82(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return EnrolmentRequestAndCoursePic_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_27).serialize_thuuu8_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.enrolmentRequest_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_87(), value.enrolmentRequest_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.coursePicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_82(), value.coursePicture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_27).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_thuuu8_k$(encoder, value instanceof EnrolmentRequestAndCoursePic ? value : THROW_CCE());
  };
  var $serializer_instance_27;
  function $serializer_getInstance_27() {
    if ($serializer_instance_27 == null)
      new $serializer_27();
    return $serializer_instance_27;
  }
  function EnrolmentRequestAndCoursePic_init_$Init$(seen1, enrolmentRequest, coursePicture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_27().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.enrolmentRequest_1 = null;
    else
      $this.enrolmentRequest_1 = enrolmentRequest;
    if (0 === (seen1 & 2))
      $this.coursePicture_1 = null;
    else
      $this.coursePicture_1 = coursePicture;
    return $this;
  }
  function EnrolmentRequestAndCoursePic_init_$Create$(seen1, enrolmentRequest, coursePicture, serializationConstructorMarker) {
    return EnrolmentRequestAndCoursePic_init_$Init$(seen1, enrolmentRequest, coursePicture, serializationConstructorMarker, objectCreate(protoOf(EnrolmentRequestAndCoursePic)));
  }
  function EnrolmentRequestAndCoursePic(enrolmentRequest, coursePicture) {
    Companion_getInstance_29();
    enrolmentRequest = enrolmentRequest === VOID ? null : enrolmentRequest;
    coursePicture = coursePicture === VOID ? null : coursePicture;
    this.enrolmentRequest_1 = enrolmentRequest;
    this.coursePicture_1 = coursePicture;
  }
  protoOf(EnrolmentRequestAndCoursePic).set_enrolmentRequest_6elsbj_k$ = function (_set____db54di) {
    this.enrolmentRequest_1 = _set____db54di;
  };
  protoOf(EnrolmentRequestAndCoursePic).get_enrolmentRequest_rib4d0_k$ = function () {
    return this.enrolmentRequest_1;
  };
  protoOf(EnrolmentRequestAndCoursePic).set_coursePicture_h9sgol_k$ = function (_set____db54di) {
    this.coursePicture_1 = _set____db54di;
  };
  protoOf(EnrolmentRequestAndCoursePic).get_coursePicture_gcf86y_k$ = function () {
    return this.coursePicture_1;
  };
  protoOf(EnrolmentRequestAndCoursePic).component1_7eebsc_k$ = function () {
    return this.enrolmentRequest_1;
  };
  protoOf(EnrolmentRequestAndCoursePic).component2_7eebsb_k$ = function () {
    return this.coursePicture_1;
  };
  protoOf(EnrolmentRequestAndCoursePic).copy_f3kodd_k$ = function (enrolmentRequest, coursePicture) {
    return new EnrolmentRequestAndCoursePic(enrolmentRequest, coursePicture);
  };
  protoOf(EnrolmentRequestAndCoursePic).copy$default_kuxmxq_k$ = function (enrolmentRequest, coursePicture, $super) {
    enrolmentRequest = enrolmentRequest === VOID ? this.enrolmentRequest_1 : enrolmentRequest;
    coursePicture = coursePicture === VOID ? this.coursePicture_1 : coursePicture;
    return $super === VOID ? this.copy_f3kodd_k$(enrolmentRequest, coursePicture) : $super.copy_f3kodd_k$.call(this, enrolmentRequest, coursePicture);
  };
  protoOf(EnrolmentRequestAndCoursePic).toString = function () {
    return 'EnrolmentRequestAndCoursePic(enrolmentRequest=' + this.enrolmentRequest_1 + ', coursePicture=' + this.coursePicture_1 + ')';
  };
  protoOf(EnrolmentRequestAndCoursePic).hashCode = function () {
    var result = this.enrolmentRequest_1 == null ? 0 : this.enrolmentRequest_1.hashCode();
    result = imul(result, 31) + (this.coursePicture_1 == null ? 0 : this.coursePicture_1.hashCode()) | 0;
    return result;
  };
  protoOf(EnrolmentRequestAndCoursePic).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EnrolmentRequestAndCoursePic))
      return false;
    var tmp0_other_with_cast = other instanceof EnrolmentRequestAndCoursePic ? other : THROW_CCE();
    if (!equals(this.enrolmentRequest_1, tmp0_other_with_cast.enrolmentRequest_1))
      return false;
    if (!equals(this.coursePicture_1, tmp0_other_with_cast.coursePicture_1))
      return false;
    return true;
  };
  function EnrolmentRequestAndPersonDetails(enrolmentRequest, personPicture, person) {
    enrolmentRequest = enrolmentRequest === VOID ? null : enrolmentRequest;
    personPicture = personPicture === VOID ? null : personPicture;
    person = person === VOID ? null : person;
    this.enrolmentRequest_1 = enrolmentRequest;
    this.personPicture_1 = personPicture;
    this.person_1 = person;
  }
  protoOf(EnrolmentRequestAndPersonDetails).set_enrolmentRequest_6elsbj_k$ = function (_set____db54di) {
    this.enrolmentRequest_1 = _set____db54di;
  };
  protoOf(EnrolmentRequestAndPersonDetails).get_enrolmentRequest_rib4d0_k$ = function () {
    return this.enrolmentRequest_1;
  };
  protoOf(EnrolmentRequestAndPersonDetails).set_personPicture_c5dce7_k$ = function (_set____db54di) {
    this.personPicture_1 = _set____db54di;
  };
  protoOf(EnrolmentRequestAndPersonDetails).get_personPicture_te1agw_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(EnrolmentRequestAndPersonDetails).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(EnrolmentRequestAndPersonDetails).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(EnrolmentRequestAndPersonDetails).component1_7eebsc_k$ = function () {
    return this.enrolmentRequest_1;
  };
  protoOf(EnrolmentRequestAndPersonDetails).component2_7eebsb_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(EnrolmentRequestAndPersonDetails).component3_7eebsa_k$ = function () {
    return this.person_1;
  };
  protoOf(EnrolmentRequestAndPersonDetails).copy_ltlq62_k$ = function (enrolmentRequest, personPicture, person) {
    return new EnrolmentRequestAndPersonDetails(enrolmentRequest, personPicture, person);
  };
  protoOf(EnrolmentRequestAndPersonDetails).copy$default_3kkl50_k$ = function (enrolmentRequest, personPicture, person, $super) {
    enrolmentRequest = enrolmentRequest === VOID ? this.enrolmentRequest_1 : enrolmentRequest;
    personPicture = personPicture === VOID ? this.personPicture_1 : personPicture;
    person = person === VOID ? this.person_1 : person;
    return $super === VOID ? this.copy_ltlq62_k$(enrolmentRequest, personPicture, person) : $super.copy_ltlq62_k$.call(this, enrolmentRequest, personPicture, person);
  };
  protoOf(EnrolmentRequestAndPersonDetails).toString = function () {
    return 'EnrolmentRequestAndPersonDetails(enrolmentRequest=' + this.enrolmentRequest_1 + ', personPicture=' + this.personPicture_1 + ', person=' + this.person_1 + ')';
  };
  protoOf(EnrolmentRequestAndPersonDetails).hashCode = function () {
    var result = this.enrolmentRequest_1 == null ? 0 : this.enrolmentRequest_1.hashCode();
    result = imul(result, 31) + (this.personPicture_1 == null ? 0 : this.personPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.person_1 == null ? 0 : this.person_1.hashCode()) | 0;
    return result;
  };
  protoOf(EnrolmentRequestAndPersonDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EnrolmentRequestAndPersonDetails))
      return false;
    var tmp0_other_with_cast = other instanceof EnrolmentRequestAndPersonDetails ? other : THROW_CCE();
    if (!equals(this.enrolmentRequest_1, tmp0_other_with_cast.enrolmentRequest_1))
      return false;
    if (!equals(this.personPicture_1, tmp0_other_with_cast.personPicture_1))
      return false;
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    return true;
  };
  function Companion_28() {
    Companion_instance_28 = this;
  }
  protoOf(Companion_28).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_28();
  };
  var Companion_instance_28;
  function Companion_getInstance_30() {
    if (Companion_instance_28 == null)
      new Companion_28();
    return Companion_instance_28;
  }
  function $serializer_28() {
    $serializer_instance_28 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.MessageAndOtherPerson', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('message', true);
    tmp0_serialDesc.addElement_5pzumi_k$('otherPerson', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPicture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_28).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_28).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_95()), get_nullable($serializer_getInstance_98()), get_nullable($serializer_getInstance_105())];
  };
  protoOf($serializer_28).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_95(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_105(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_95(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_105(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return MessageAndOtherPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_28).serialize_hph9f2_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.message_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_95(), value.message_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.otherPerson_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_98(), value.otherPerson_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.personPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_105(), value.personPicture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_28).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_hph9f2_k$(encoder, value instanceof MessageAndOtherPerson ? value : THROW_CCE());
  };
  var $serializer_instance_28;
  function $serializer_getInstance_28() {
    if ($serializer_instance_28 == null)
      new $serializer_28();
    return $serializer_instance_28;
  }
  function MessageAndOtherPerson_init_$Init$(seen1, message, otherPerson, personPicture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_28().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.message_1 = null;
    else
      $this.message_1 = message;
    if (0 === (seen1 & 2))
      $this.otherPerson_1 = null;
    else
      $this.otherPerson_1 = otherPerson;
    if (0 === (seen1 & 4))
      $this.personPicture_1 = null;
    else
      $this.personPicture_1 = personPicture;
    return $this;
  }
  function MessageAndOtherPerson_init_$Create$(seen1, message, otherPerson, personPicture, serializationConstructorMarker) {
    return MessageAndOtherPerson_init_$Init$(seen1, message, otherPerson, personPicture, serializationConstructorMarker, objectCreate(protoOf(MessageAndOtherPerson)));
  }
  function MessageAndOtherPerson(message, otherPerson, personPicture) {
    Companion_getInstance_30();
    message = message === VOID ? null : message;
    otherPerson = otherPerson === VOID ? null : otherPerson;
    personPicture = personPicture === VOID ? null : personPicture;
    this.message_1 = message;
    this.otherPerson_1 = otherPerson;
    this.personPicture_1 = personPicture;
  }
  protoOf(MessageAndOtherPerson).set_message_jrhc3_k$ = function (_set____db54di) {
    this.message_1 = _set____db54di;
  };
  protoOf(MessageAndOtherPerson).get_message_h23axq_k$ = function () {
    return this.message_1;
  };
  protoOf(MessageAndOtherPerson).set_otherPerson_63kp2v_k$ = function (_set____db54di) {
    this.otherPerson_1 = _set____db54di;
  };
  protoOf(MessageAndOtherPerson).get_otherPerson_ftpdd0_k$ = function () {
    return this.otherPerson_1;
  };
  protoOf(MessageAndOtherPerson).set_personPicture_c5dce7_k$ = function (_set____db54di) {
    this.personPicture_1 = _set____db54di;
  };
  protoOf(MessageAndOtherPerson).get_personPicture_te1agw_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(MessageAndOtherPerson).component1_7eebsc_k$ = function () {
    return this.message_1;
  };
  protoOf(MessageAndOtherPerson).component2_7eebsb_k$ = function () {
    return this.otherPerson_1;
  };
  protoOf(MessageAndOtherPerson).component3_7eebsa_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(MessageAndOtherPerson).copy_7apyni_k$ = function (message, otherPerson, personPicture) {
    return new MessageAndOtherPerson(message, otherPerson, personPicture);
  };
  protoOf(MessageAndOtherPerson).copy$default_nx0clq_k$ = function (message, otherPerson, personPicture, $super) {
    message = message === VOID ? this.message_1 : message;
    otherPerson = otherPerson === VOID ? this.otherPerson_1 : otherPerson;
    personPicture = personPicture === VOID ? this.personPicture_1 : personPicture;
    return $super === VOID ? this.copy_7apyni_k$(message, otherPerson, personPicture) : $super.copy_7apyni_k$.call(this, message, otherPerson, personPicture);
  };
  protoOf(MessageAndOtherPerson).toString = function () {
    return 'MessageAndOtherPerson(message=' + this.message_1 + ', otherPerson=' + this.otherPerson_1 + ', personPicture=' + this.personPicture_1 + ')';
  };
  protoOf(MessageAndOtherPerson).hashCode = function () {
    var result = this.message_1 == null ? 0 : this.message_1.hashCode();
    result = imul(result, 31) + (this.otherPerson_1 == null ? 0 : this.otherPerson_1.hashCode()) | 0;
    result = imul(result, 31) + (this.personPicture_1 == null ? 0 : this.personPicture_1.hashCode()) | 0;
    return result;
  };
  protoOf(MessageAndOtherPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof MessageAndOtherPerson))
      return false;
    var tmp0_other_with_cast = other instanceof MessageAndOtherPerson ? other : THROW_CCE();
    if (!equals(this.message_1, tmp0_other_with_cast.message_1))
      return false;
    if (!equals(this.otherPerson_1, tmp0_other_with_cast.otherPerson_1))
      return false;
    if (!equals(this.personPicture_1, tmp0_other_with_cast.personPicture_1))
      return false;
    return true;
  };
  function Companion_29() {
    Companion_instance_29 = this;
  }
  protoOf(Companion_29).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_29();
  };
  var Companion_instance_29;
  function Companion_getInstance_31() {
    if (Companion_instance_29 == null)
      new Companion_29();
    return Companion_instance_29;
  }
  function $serializer_29() {
    $serializer_instance_29 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.OfflineItemAndState', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('offlineItem', true);
    tmp0_serialDesc.addElement_5pzumi_k$('activeDownload', true);
    tmp0_serialDesc.addElement_5pzumi_k$('readyForOffline', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_29).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_29).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_96()), get_nullable($serializer_getInstance_38()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_29).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = false;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_96(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_38(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_96(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_38(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return OfflineItemAndState_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_29).serialize_ys0lfx_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.offlineItem_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_96(), value.offlineItem_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.activeDownload_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_38(), value.activeDownload_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.readyForOffline_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 2, value.readyForOffline_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_29).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_ys0lfx_k$(encoder, value instanceof OfflineItemAndState ? value : THROW_CCE());
  };
  var $serializer_instance_29;
  function $serializer_getInstance_29() {
    if ($serializer_instance_29 == null)
      new $serializer_29();
    return $serializer_instance_29;
  }
  function OfflineItemAndState_init_$Init$(seen1, offlineItem, activeDownload, readyForOffline, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_29().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.offlineItem_1 = null;
    else
      $this.offlineItem_1 = offlineItem;
    if (0 === (seen1 & 2))
      $this.activeDownload_1 = null;
    else
      $this.activeDownload_1 = activeDownload;
    if (0 === (seen1 & 4))
      $this.readyForOffline_1 = false;
    else
      $this.readyForOffline_1 = readyForOffline;
    return $this;
  }
  function OfflineItemAndState_init_$Create$(seen1, offlineItem, activeDownload, readyForOffline, serializationConstructorMarker) {
    return OfflineItemAndState_init_$Init$(seen1, offlineItem, activeDownload, readyForOffline, serializationConstructorMarker, objectCreate(protoOf(OfflineItemAndState)));
  }
  function OfflineItemAndState(offlineItem, activeDownload, readyForOffline) {
    Companion_getInstance_31();
    offlineItem = offlineItem === VOID ? null : offlineItem;
    activeDownload = activeDownload === VOID ? null : activeDownload;
    readyForOffline = readyForOffline === VOID ? false : readyForOffline;
    this.offlineItem_1 = offlineItem;
    this.activeDownload_1 = activeDownload;
    this.readyForOffline_1 = readyForOffline;
  }
  protoOf(OfflineItemAndState).set_offlineItem_ohgfx7_k$ = function (_set____db54di) {
    this.offlineItem_1 = _set____db54di;
  };
  protoOf(OfflineItemAndState).get_offlineItem_v8pcml_k$ = function () {
    return this.offlineItem_1;
  };
  protoOf(OfflineItemAndState).set_activeDownload_v2lrty_k$ = function (_set____db54di) {
    this.activeDownload_1 = _set____db54di;
  };
  protoOf(OfflineItemAndState).get_activeDownload_kjmj7b_k$ = function () {
    return this.activeDownload_1;
  };
  protoOf(OfflineItemAndState).set_readyForOffline_awkch7_k$ = function (_set____db54di) {
    this.readyForOffline_1 = _set____db54di;
  };
  protoOf(OfflineItemAndState).get_readyForOffline_dggwek_k$ = function () {
    return this.readyForOffline_1;
  };
  protoOf(OfflineItemAndState).component1_7eebsc_k$ = function () {
    return this.offlineItem_1;
  };
  protoOf(OfflineItemAndState).component2_7eebsb_k$ = function () {
    return this.activeDownload_1;
  };
  protoOf(OfflineItemAndState).component3_7eebsa_k$ = function () {
    return this.readyForOffline_1;
  };
  protoOf(OfflineItemAndState).copy_q0gr07_k$ = function (offlineItem, activeDownload, readyForOffline) {
    return new OfflineItemAndState(offlineItem, activeDownload, readyForOffline);
  };
  protoOf(OfflineItemAndState).copy$default_ego0cq_k$ = function (offlineItem, activeDownload, readyForOffline, $super) {
    offlineItem = offlineItem === VOID ? this.offlineItem_1 : offlineItem;
    activeDownload = activeDownload === VOID ? this.activeDownload_1 : activeDownload;
    readyForOffline = readyForOffline === VOID ? this.readyForOffline_1 : readyForOffline;
    return $super === VOID ? this.copy_q0gr07_k$(offlineItem, activeDownload, readyForOffline) : $super.copy_q0gr07_k$.call(this, offlineItem, activeDownload, readyForOffline);
  };
  protoOf(OfflineItemAndState).toString = function () {
    return 'OfflineItemAndState(offlineItem=' + this.offlineItem_1 + ', activeDownload=' + this.activeDownload_1 + ', readyForOffline=' + this.readyForOffline_1 + ')';
  };
  protoOf(OfflineItemAndState).hashCode = function () {
    var result = this.offlineItem_1 == null ? 0 : this.offlineItem_1.hashCode();
    result = imul(result, 31) + (this.activeDownload_1 == null ? 0 : this.activeDownload_1.hashCode()) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.readyForOffline_1) | 0;
    return result;
  };
  protoOf(OfflineItemAndState).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof OfflineItemAndState))
      return false;
    var tmp0_other_with_cast = other instanceof OfflineItemAndState ? other : THROW_CCE();
    if (!equals(this.offlineItem_1, tmp0_other_with_cast.offlineItem_1))
      return false;
    if (!equals(this.activeDownload_1, tmp0_other_with_cast.activeDownload_1))
      return false;
    if (!(this.readyForOffline_1 === tmp0_other_with_cast.readyForOffline_1))
      return false;
    return true;
  };
  function Companion_30() {
    Companion_instance_30 = this;
  }
  protoOf(Companion_30).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_30();
  };
  var Companion_instance_30;
  function Companion_getInstance_32() {
    if (Companion_instance_30 == null)
      new Companion_30();
    return Companion_instance_30;
  }
  function $serializer_30() {
    $serializer_instance_30 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PermissionPair', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('firstPermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('secondPermission', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_30).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_30).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_30).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PermissionPair_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_30).serialize_4jn13u_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.firstPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 0, value.firstPermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.secondPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 1, value.secondPermission_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_30).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_4jn13u_k$(encoder, value instanceof PermissionPair ? value : THROW_CCE());
  };
  var $serializer_instance_30;
  function $serializer_getInstance_30() {
    if ($serializer_instance_30 == null)
      new $serializer_30();
    return $serializer_instance_30;
  }
  function PermissionPair_init_$Init$(seen1, firstPermission, secondPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_30().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.firstPermission_1 = false;
    else
      $this.firstPermission_1 = firstPermission;
    if (0 === (seen1 & 2))
      $this.secondPermission_1 = false;
    else
      $this.secondPermission_1 = secondPermission;
    return $this;
  }
  function PermissionPair_init_$Create$(seen1, firstPermission, secondPermission, serializationConstructorMarker) {
    return PermissionPair_init_$Init$(seen1, firstPermission, secondPermission, serializationConstructorMarker, objectCreate(protoOf(PermissionPair)));
  }
  function PermissionPair(firstPermission, secondPermission) {
    Companion_getInstance_32();
    firstPermission = firstPermission === VOID ? false : firstPermission;
    secondPermission = secondPermission === VOID ? false : secondPermission;
    this.firstPermission_1 = firstPermission;
    this.secondPermission_1 = secondPermission;
  }
  protoOf(PermissionPair).set_firstPermission_2e6v8t_k$ = function (_set____db54di) {
    this.firstPermission_1 = _set____db54di;
  };
  protoOf(PermissionPair).get_firstPermission_y8246u_k$ = function () {
    return this.firstPermission_1;
  };
  protoOf(PermissionPair).set_secondPermission_lj81xn_k$ = function (_set____db54di) {
    this.secondPermission_1 = _set____db54di;
  };
  protoOf(PermissionPair).get_secondPermission_lfalzo_k$ = function () {
    return this.secondPermission_1;
  };
  protoOf(PermissionPair).component1_7eebsc_k$ = function () {
    return this.firstPermission_1;
  };
  protoOf(PermissionPair).component2_7eebsb_k$ = function () {
    return this.secondPermission_1;
  };
  protoOf(PermissionPair).copy_ccyf2t_k$ = function (firstPermission, secondPermission) {
    return new PermissionPair(firstPermission, secondPermission);
  };
  protoOf(PermissionPair).copy$default_o58l30_k$ = function (firstPermission, secondPermission, $super) {
    firstPermission = firstPermission === VOID ? this.firstPermission_1 : firstPermission;
    secondPermission = secondPermission === VOID ? this.secondPermission_1 : secondPermission;
    return $super === VOID ? this.copy_ccyf2t_k$(firstPermission, secondPermission) : $super.copy_ccyf2t_k$.call(this, firstPermission, secondPermission);
  };
  protoOf(PermissionPair).toString = function () {
    return 'PermissionPair(firstPermission=' + this.firstPermission_1 + ', secondPermission=' + this.secondPermission_1 + ')';
  };
  protoOf(PermissionPair).hashCode = function () {
    var result = getBooleanHashCode(this.firstPermission_1);
    result = imul(result, 31) + getBooleanHashCode(this.secondPermission_1) | 0;
    return result;
  };
  protoOf(PermissionPair).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PermissionPair))
      return false;
    var tmp0_other_with_cast = other instanceof PermissionPair ? other : THROW_CCE();
    if (!(this.firstPermission_1 === tmp0_other_with_cast.firstPermission_1))
      return false;
    if (!(this.secondPermission_1 === tmp0_other_with_cast.secondPermission_1))
      return false;
    return true;
  };
  function Companion_31() {
    Companion_instance_31 = this;
  }
  protoOf(Companion_31).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_31();
  };
  var Companion_instance_31;
  function Companion_getInstance_33() {
    if (Companion_instance_31 == null)
      new Companion_31();
    return Companion_instance_31;
  }
  function $serializer_31() {
    $serializer_instance_31 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PermissionTriple', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('firstPermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('secondPermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('thirdPermission', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_31).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_31).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_31).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = false;
    var tmp5_local1 = false;
    var tmp6_local2 = false;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PermissionTriple_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_31).serialize_jteivq_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.firstPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 0, value.firstPermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.secondPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 1, value.secondPermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.thirdPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 2, value.thirdPermission_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_31).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_jteivq_k$(encoder, value instanceof PermissionTriple ? value : THROW_CCE());
  };
  var $serializer_instance_31;
  function $serializer_getInstance_31() {
    if ($serializer_instance_31 == null)
      new $serializer_31();
    return $serializer_instance_31;
  }
  function PermissionTriple_init_$Init$(seen1, firstPermission, secondPermission, thirdPermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_31().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.firstPermission_1 = false;
    else
      $this.firstPermission_1 = firstPermission;
    if (0 === (seen1 & 2))
      $this.secondPermission_1 = false;
    else
      $this.secondPermission_1 = secondPermission;
    if (0 === (seen1 & 4))
      $this.thirdPermission_1 = false;
    else
      $this.thirdPermission_1 = thirdPermission;
    return $this;
  }
  function PermissionTriple_init_$Create$(seen1, firstPermission, secondPermission, thirdPermission, serializationConstructorMarker) {
    return PermissionTriple_init_$Init$(seen1, firstPermission, secondPermission, thirdPermission, serializationConstructorMarker, objectCreate(protoOf(PermissionTriple)));
  }
  function PermissionTriple(firstPermission, secondPermission, thirdPermission) {
    Companion_getInstance_33();
    firstPermission = firstPermission === VOID ? false : firstPermission;
    secondPermission = secondPermission === VOID ? false : secondPermission;
    thirdPermission = thirdPermission === VOID ? false : thirdPermission;
    this.firstPermission_1 = firstPermission;
    this.secondPermission_1 = secondPermission;
    this.thirdPermission_1 = thirdPermission;
  }
  protoOf(PermissionTriple).set_firstPermission_2e6v8t_k$ = function (_set____db54di) {
    this.firstPermission_1 = _set____db54di;
  };
  protoOf(PermissionTriple).get_firstPermission_y8246u_k$ = function () {
    return this.firstPermission_1;
  };
  protoOf(PermissionTriple).set_secondPermission_lj81xn_k$ = function (_set____db54di) {
    this.secondPermission_1 = _set____db54di;
  };
  protoOf(PermissionTriple).get_secondPermission_lfalzo_k$ = function () {
    return this.secondPermission_1;
  };
  protoOf(PermissionTriple).set_thirdPermission_4i0vuk_k$ = function (_set____db54di) {
    this.thirdPermission_1 = _set____db54di;
  };
  protoOf(PermissionTriple).get_thirdPermission_eqk7df_k$ = function () {
    return this.thirdPermission_1;
  };
  protoOf(PermissionTriple).component1_7eebsc_k$ = function () {
    return this.firstPermission_1;
  };
  protoOf(PermissionTriple).component2_7eebsb_k$ = function () {
    return this.secondPermission_1;
  };
  protoOf(PermissionTriple).component3_7eebsa_k$ = function () {
    return this.thirdPermission_1;
  };
  protoOf(PermissionTriple).copy_u1udn4_k$ = function (firstPermission, secondPermission, thirdPermission) {
    return new PermissionTriple(firstPermission, secondPermission, thirdPermission);
  };
  protoOf(PermissionTriple).copy$default_z9lewi_k$ = function (firstPermission, secondPermission, thirdPermission, $super) {
    firstPermission = firstPermission === VOID ? this.firstPermission_1 : firstPermission;
    secondPermission = secondPermission === VOID ? this.secondPermission_1 : secondPermission;
    thirdPermission = thirdPermission === VOID ? this.thirdPermission_1 : thirdPermission;
    return $super === VOID ? this.copy_u1udn4_k$(firstPermission, secondPermission, thirdPermission) : $super.copy_u1udn4_k$.call(this, firstPermission, secondPermission, thirdPermission);
  };
  protoOf(PermissionTriple).toString = function () {
    return 'PermissionTriple(firstPermission=' + this.firstPermission_1 + ', secondPermission=' + this.secondPermission_1 + ', thirdPermission=' + this.thirdPermission_1 + ')';
  };
  protoOf(PermissionTriple).hashCode = function () {
    var result = getBooleanHashCode(this.firstPermission_1);
    result = imul(result, 31) + getBooleanHashCode(this.secondPermission_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.thirdPermission_1) | 0;
    return result;
  };
  protoOf(PermissionTriple).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PermissionTriple))
      return false;
    var tmp0_other_with_cast = other instanceof PermissionTriple ? other : THROW_CCE();
    if (!(this.firstPermission_1 === tmp0_other_with_cast.firstPermission_1))
      return false;
    if (!(this.secondPermission_1 === tmp0_other_with_cast.secondPermission_1))
      return false;
    if (!(this.thirdPermission_1 === tmp0_other_with_cast.thirdPermission_1))
      return false;
    return true;
  };
  function Companion_32() {
    Companion_instance_32 = this;
  }
  protoOf(Companion_32).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_32();
  };
  var Companion_instance_32;
  function Companion_getInstance_34() {
    if (Companion_instance_32 == null)
      new Companion_32();
    return Companion_instance_32;
  }
  function $serializer_32() {
    $serializer_instance_32 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonAndClazzLogAttendanceRecord', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('attendanceRecord', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_32).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_32).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_98()), get_nullable($serializer_getInstance_105()), get_nullable($serializer_getInstance_52())];
  };
  protoOf($serializer_32).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_105(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_105(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_52(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonAndClazzLogAttendanceRecord_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_32).serialize_ykugn9_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_98(), value.person_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.personPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_105(), value.personPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.attendanceRecord_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_52(), value.attendanceRecord_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_32).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_ykugn9_k$(encoder, value instanceof PersonAndClazzLogAttendanceRecord ? value : THROW_CCE());
  };
  var $serializer_instance_32;
  function $serializer_getInstance_32() {
    if ($serializer_instance_32 == null)
      new $serializer_32();
    return $serializer_instance_32;
  }
  function PersonAndClazzLogAttendanceRecord_init_$Init$(seen1, person, personPicture, attendanceRecord, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_32().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    if (0 === (seen1 & 2))
      $this.personPicture_1 = null;
    else
      $this.personPicture_1 = personPicture;
    if (0 === (seen1 & 4))
      $this.attendanceRecord_1 = null;
    else
      $this.attendanceRecord_1 = attendanceRecord;
    return $this;
  }
  function PersonAndClazzLogAttendanceRecord_init_$Create$(seen1, person, personPicture, attendanceRecord, serializationConstructorMarker) {
    return PersonAndClazzLogAttendanceRecord_init_$Init$(seen1, person, personPicture, attendanceRecord, serializationConstructorMarker, objectCreate(protoOf(PersonAndClazzLogAttendanceRecord)));
  }
  function PersonAndClazzLogAttendanceRecord(person, personPicture, attendanceRecord) {
    Companion_getInstance_34();
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    attendanceRecord = attendanceRecord === VOID ? null : attendanceRecord;
    this.person_1 = person;
    this.personPicture_1 = personPicture;
    this.attendanceRecord_1 = attendanceRecord;
  }
  protoOf(PersonAndClazzLogAttendanceRecord).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).set_personPicture_c5dce7_k$ = function (_set____db54di) {
    this.personPicture_1 = _set____db54di;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).get_personPicture_te1agw_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).set_attendanceRecord_5755zp_k$ = function (_set____db54di) {
    this.attendanceRecord_1 = _set____db54di;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).get_attendanceRecord_mzh5r7_k$ = function () {
    return this.attendanceRecord_1;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).component1_7eebsc_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).component2_7eebsb_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).component3_7eebsa_k$ = function () {
    return this.attendanceRecord_1;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).copy_cu4gdd_k$ = function (person, personPicture, attendanceRecord) {
    return new PersonAndClazzLogAttendanceRecord(person, personPicture, attendanceRecord);
  };
  protoOf(PersonAndClazzLogAttendanceRecord).copy$default_c1o9l2_k$ = function (person, personPicture, attendanceRecord, $super) {
    person = person === VOID ? this.person_1 : person;
    personPicture = personPicture === VOID ? this.personPicture_1 : personPicture;
    attendanceRecord = attendanceRecord === VOID ? this.attendanceRecord_1 : attendanceRecord;
    return $super === VOID ? this.copy_cu4gdd_k$(person, personPicture, attendanceRecord) : $super.copy_cu4gdd_k$.call(this, person, personPicture, attendanceRecord);
  };
  protoOf(PersonAndClazzLogAttendanceRecord).toString = function () {
    return 'PersonAndClazzLogAttendanceRecord(person=' + this.person_1 + ', personPicture=' + this.personPicture_1 + ', attendanceRecord=' + this.attendanceRecord_1 + ')';
  };
  protoOf(PersonAndClazzLogAttendanceRecord).hashCode = function () {
    var result = this.person_1 == null ? 0 : this.person_1.hashCode();
    result = imul(result, 31) + (this.personPicture_1 == null ? 0 : this.personPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.attendanceRecord_1 == null ? 0 : this.attendanceRecord_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndClazzLogAttendanceRecord).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndClazzLogAttendanceRecord))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndClazzLogAttendanceRecord ? other : THROW_CCE();
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.personPicture_1, tmp0_other_with_cast.personPicture_1))
      return false;
    if (!equals(this.attendanceRecord_1, tmp0_other_with_cast.attendanceRecord_1))
      return false;
    return true;
  };
  function Companion_33() {
    Companion_instance_33 = this;
  }
  protoOf(Companion_33).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_33();
  };
  var Companion_instance_33;
  function Companion_getInstance_35() {
    if (Companion_instance_33 == null)
      new Companion_33();
    return Companion_instance_33;
  }
  function $serializer_33() {
    $serializer_instance_33 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonAndClazzMemberListDetails', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('earliestJoinDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('latestDateLeft', true);
    tmp0_serialDesc.addElement_5pzumi_k$('enrolmentRole', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_33).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_33).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_98()), get_nullable($serializer_getInstance_105()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_33).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = 0;
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_105(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_105(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonAndClazzMemberListDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_33).serialize_vvkbcf_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_98(), value.person_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.personPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_105(), value.personPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.earliestJoinDate_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.earliestJoinDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.latestDateLeft_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.latestDateLeft_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.enrolmentRole_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.enrolmentRole_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_33).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_vvkbcf_k$(encoder, value instanceof PersonAndClazzMemberListDetails ? value : THROW_CCE());
  };
  var $serializer_instance_33;
  function $serializer_getInstance_33() {
    if ($serializer_instance_33 == null)
      new $serializer_33();
    return $serializer_instance_33;
  }
  function PersonAndClazzMemberListDetails_init_$Init$(seen1, person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_33().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    if (0 === (seen1 & 2))
      $this.personPicture_1 = null;
    else
      $this.personPicture_1 = personPicture;
    if (0 === (seen1 & 4))
      $this.earliestJoinDate_1 = new Long(0, 0);
    else
      $this.earliestJoinDate_1 = earliestJoinDate;
    if (0 === (seen1 & 8))
      $this.latestDateLeft_1 = new Long(0, 0);
    else
      $this.latestDateLeft_1 = latestDateLeft;
    if (0 === (seen1 & 16))
      $this.enrolmentRole_1 = 0;
    else
      $this.enrolmentRole_1 = enrolmentRole;
    return $this;
  }
  function PersonAndClazzMemberListDetails_init_$Create$(seen1, person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole, serializationConstructorMarker) {
    return PersonAndClazzMemberListDetails_init_$Init$(seen1, person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole, serializationConstructorMarker, objectCreate(protoOf(PersonAndClazzMemberListDetails)));
  }
  function PersonAndClazzMemberListDetails(person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole) {
    Companion_getInstance_35();
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    earliestJoinDate = earliestJoinDate === VOID ? new Long(0, 0) : earliestJoinDate;
    latestDateLeft = latestDateLeft === VOID ? new Long(0, 0) : latestDateLeft;
    enrolmentRole = enrolmentRole === VOID ? 0 : enrolmentRole;
    this.person_1 = person;
    this.personPicture_1 = personPicture;
    this.earliestJoinDate_1 = earliestJoinDate;
    this.latestDateLeft_1 = latestDateLeft;
    this.enrolmentRole_1 = enrolmentRole;
  }
  protoOf(PersonAndClazzMemberListDetails).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(PersonAndClazzMemberListDetails).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndClazzMemberListDetails).set_personPicture_c5dce7_k$ = function (_set____db54di) {
    this.personPicture_1 = _set____db54di;
  };
  protoOf(PersonAndClazzMemberListDetails).get_personPicture_te1agw_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(PersonAndClazzMemberListDetails).set_earliestJoinDate_hxbk3u_k$ = function (_set____db54di) {
    this.earliestJoinDate_1 = _set____db54di;
  };
  protoOf(PersonAndClazzMemberListDetails).get_earliestJoinDate_6tekhg_k$ = function () {
    return this.earliestJoinDate_1;
  };
  protoOf(PersonAndClazzMemberListDetails).set_latestDateLeft_x07o05_k$ = function (_set____db54di) {
    this.latestDateLeft_1 = _set____db54di;
  };
  protoOf(PersonAndClazzMemberListDetails).get_latestDateLeft_kait8b_k$ = function () {
    return this.latestDateLeft_1;
  };
  protoOf(PersonAndClazzMemberListDetails).set_enrolmentRole_buy7at_k$ = function (_set____db54di) {
    this.enrolmentRole_1 = _set____db54di;
  };
  protoOf(PersonAndClazzMemberListDetails).get_enrolmentRole_1phvtd_k$ = function () {
    return this.enrolmentRole_1;
  };
  protoOf(PersonAndClazzMemberListDetails).component1_7eebsc_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndClazzMemberListDetails).component2_7eebsb_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(PersonAndClazzMemberListDetails).component3_7eebsa_k$ = function () {
    return this.earliestJoinDate_1;
  };
  protoOf(PersonAndClazzMemberListDetails).component4_7eebs9_k$ = function () {
    return this.latestDateLeft_1;
  };
  protoOf(PersonAndClazzMemberListDetails).component5_7eebs8_k$ = function () {
    return this.enrolmentRole_1;
  };
  protoOf(PersonAndClazzMemberListDetails).copy_7ooqiv_k$ = function (person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole) {
    return new PersonAndClazzMemberListDetails(person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole);
  };
  protoOf(PersonAndClazzMemberListDetails).copy$default_p6wu9e_k$ = function (person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole, $super) {
    person = person === VOID ? this.person_1 : person;
    personPicture = personPicture === VOID ? this.personPicture_1 : personPicture;
    earliestJoinDate = earliestJoinDate === VOID ? this.earliestJoinDate_1 : earliestJoinDate;
    latestDateLeft = latestDateLeft === VOID ? this.latestDateLeft_1 : latestDateLeft;
    enrolmentRole = enrolmentRole === VOID ? this.enrolmentRole_1 : enrolmentRole;
    return $super === VOID ? this.copy_7ooqiv_k$(person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole) : $super.copy_7ooqiv_k$.call(this, person, personPicture, earliestJoinDate, latestDateLeft, enrolmentRole);
  };
  protoOf(PersonAndClazzMemberListDetails).toString = function () {
    return 'PersonAndClazzMemberListDetails(person=' + this.person_1 + ', personPicture=' + this.personPicture_1 + ', earliestJoinDate=' + this.earliestJoinDate_1.toString() + ', latestDateLeft=' + this.latestDateLeft_1.toString() + ', enrolmentRole=' + this.enrolmentRole_1 + ')';
  };
  protoOf(PersonAndClazzMemberListDetails).hashCode = function () {
    var result = this.person_1 == null ? 0 : this.person_1.hashCode();
    result = imul(result, 31) + (this.personPicture_1 == null ? 0 : this.personPicture_1.hashCode()) | 0;
    result = imul(result, 31) + this.earliestJoinDate_1.hashCode() | 0;
    result = imul(result, 31) + this.latestDateLeft_1.hashCode() | 0;
    result = imul(result, 31) + this.enrolmentRole_1 | 0;
    return result;
  };
  protoOf(PersonAndClazzMemberListDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndClazzMemberListDetails))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndClazzMemberListDetails ? other : THROW_CCE();
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.personPicture_1, tmp0_other_with_cast.personPicture_1))
      return false;
    if (!this.earliestJoinDate_1.equals(tmp0_other_with_cast.earliestJoinDate_1))
      return false;
    if (!this.latestDateLeft_1.equals(tmp0_other_with_cast.latestDateLeft_1))
      return false;
    if (!(this.enrolmentRole_1 === tmp0_other_with_cast.enrolmentRole_1))
      return false;
    return true;
  };
  function PersonAndListDisplayDetails(person, picture) {
    person = person === VOID ? null : person;
    picture = picture === VOID ? null : picture;
    this.person_1 = person;
    this.picture_1 = picture;
  }
  protoOf(PersonAndListDisplayDetails).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(PersonAndListDisplayDetails).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndListDisplayDetails).set_picture_dxcvme_k$ = function (_set____db54di) {
    this.picture_1 = _set____db54di;
  };
  protoOf(PersonAndListDisplayDetails).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(PersonAndListDisplayDetails).component1_7eebsc_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndListDisplayDetails).component2_7eebsb_k$ = function () {
    return this.picture_1;
  };
  protoOf(PersonAndListDisplayDetails).copy_fw27ht_k$ = function (person, picture) {
    return new PersonAndListDisplayDetails(person, picture);
  };
  protoOf(PersonAndListDisplayDetails).copy$default_r3ussx_k$ = function (person, picture, $super) {
    person = person === VOID ? this.person_1 : person;
    picture = picture === VOID ? this.picture_1 : picture;
    return $super === VOID ? this.copy_fw27ht_k$(person, picture) : $super.copy_fw27ht_k$.call(this, person, picture);
  };
  protoOf(PersonAndListDisplayDetails).toString = function () {
    return 'PersonAndListDisplayDetails(person=' + this.person_1 + ', picture=' + this.picture_1 + ')';
  };
  protoOf(PersonAndListDisplayDetails).hashCode = function () {
    var result = this.person_1 == null ? 0 : this.person_1.hashCode();
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndListDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndListDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndListDisplayDetails ? other : THROW_CCE();
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    return true;
  };
  function Companion_34() {
    Companion_instance_34 = this;
  }
  protoOf(Companion_34).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_34();
  };
  var Companion_instance_34;
  function Companion_getInstance_36() {
    if (Companion_instance_34 == null)
      new Companion_34();
    return Companion_instance_34;
  }
  function $serializer_34() {
    $serializer_instance_34 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonAndPicture', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    tmp0_serialDesc.addElement_5pzumi_k$('picture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_34).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_34).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_98()), get_nullable($serializer_getInstance_105())];
  };
  protoOf($serializer_34).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_105(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_105(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonAndPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_34).serialize_eg3qlj_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_98(), value.person_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.picture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_105(), value.picture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_34).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_eg3qlj_k$(encoder, value instanceof PersonAndPicture ? value : THROW_CCE());
  };
  var $serializer_instance_34;
  function $serializer_getInstance_34() {
    if ($serializer_instance_34 == null)
      new $serializer_34();
    return $serializer_instance_34;
  }
  function PersonAndPicture_init_$Init$(seen1, person, picture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_34().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    if (0 === (seen1 & 2))
      $this.picture_1 = null;
    else
      $this.picture_1 = picture;
    return $this;
  }
  function PersonAndPicture_init_$Create$(seen1, person, picture, serializationConstructorMarker) {
    return PersonAndPicture_init_$Init$(seen1, person, picture, serializationConstructorMarker, objectCreate(protoOf(PersonAndPicture)));
  }
  function PersonAndPicture(person, picture) {
    Companion_getInstance_36();
    person = person === VOID ? null : person;
    picture = picture === VOID ? null : picture;
    this.person_1 = person;
    this.picture_1 = picture;
  }
  protoOf(PersonAndPicture).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(PersonAndPicture).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndPicture).set_picture_dxcvme_k$ = function (_set____db54di) {
    this.picture_1 = _set____db54di;
  };
  protoOf(PersonAndPicture).get_picture_8af27f_k$ = function () {
    return this.picture_1;
  };
  protoOf(PersonAndPicture).component1_7eebsc_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndPicture).component2_7eebsb_k$ = function () {
    return this.picture_1;
  };
  protoOf(PersonAndPicture).copy_fw27ht_k$ = function (person, picture) {
    return new PersonAndPicture(person, picture);
  };
  protoOf(PersonAndPicture).copy$default_hr0sst_k$ = function (person, picture, $super) {
    person = person === VOID ? this.person_1 : person;
    picture = picture === VOID ? this.picture_1 : picture;
    return $super === VOID ? this.copy_fw27ht_k$(person, picture) : $super.copy_fw27ht_k$.call(this, person, picture);
  };
  protoOf(PersonAndPicture).toString = function () {
    return 'PersonAndPicture(person=' + this.person_1 + ', picture=' + this.picture_1 + ')';
  };
  protoOf(PersonAndPicture).hashCode = function () {
    var result = this.person_1 == null ? 0 : this.person_1.hashCode();
    result = imul(result, 31) + (this.picture_1 == null ? 0 : this.picture_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndPicture))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndPicture ? other : THROW_CCE();
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.picture_1, tmp0_other_with_cast.picture_1))
      return false;
    return true;
  };
  function Companion_35() {
    Companion_instance_35 = this;
  }
  protoOf(Companion_35).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_35();
  };
  var Companion_instance_35;
  function Companion_getInstance_37() {
    if (Companion_instance_35 == null)
      new Companion_35();
    return Companion_instance_35;
  }
  function $serializer_35() {
    $serializer_instance_35 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.PersonNames', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('firstNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastName', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_35).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_35).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_35).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, StringSerializer_getInstance(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonNames_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_35).serialize_tyk8r4_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.firstNames_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, StringSerializer_getInstance(), value.firstNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.lastName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.lastName_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_35).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_tyk8r4_k$(encoder, value instanceof PersonNames ? value : THROW_CCE());
  };
  var $serializer_instance_35;
  function $serializer_getInstance_35() {
    if ($serializer_instance_35 == null)
      new $serializer_35();
    return $serializer_instance_35;
  }
  function PersonNames_init_$Init$(seen1, firstNames, lastName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_35().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.firstNames_1 = null;
    else
      $this.firstNames_1 = firstNames;
    if (0 === (seen1 & 2))
      $this.lastName_1 = null;
    else
      $this.lastName_1 = lastName;
    return $this;
  }
  function PersonNames_init_$Create$(seen1, firstNames, lastName, serializationConstructorMarker) {
    return PersonNames_init_$Init$(seen1, firstNames, lastName, serializationConstructorMarker, objectCreate(protoOf(PersonNames)));
  }
  function PersonNames(firstNames, lastName) {
    Companion_getInstance_37();
    firstNames = firstNames === VOID ? null : firstNames;
    lastName = lastName === VOID ? null : lastName;
    this.firstNames_1 = firstNames;
    this.lastName_1 = lastName;
  }
  protoOf(PersonNames).set_firstNames_audc9u_k$ = function (_set____db54di) {
    this.firstNames_1 = _set____db54di;
  };
  protoOf(PersonNames).get_firstNames_n3o3y7_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(PersonNames).set_lastName_6ukpbb_k$ = function (_set____db54di) {
    this.lastName_1 = _set____db54di;
  };
  protoOf(PersonNames).get_lastName_f360wa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(PersonNames).toString = function () {
    var tmp0_elvis_lhs = this.firstNames_1;
    var tmp = tmp0_elvis_lhs == null ? '' : tmp0_elvis_lhs;
    var tmp1_elvis_lhs = this.lastName_1;
    return tmp + ' ' + (tmp1_elvis_lhs == null ? '' : tmp1_elvis_lhs);
  };
  protoOf(PersonNames).component1_7eebsc_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(PersonNames).component2_7eebsb_k$ = function () {
    return this.lastName_1;
  };
  protoOf(PersonNames).copy_jhsqnb_k$ = function (firstNames, lastName) {
    return new PersonNames(firstNames, lastName);
  };
  protoOf(PersonNames).copy$default_il7yp8_k$ = function (firstNames, lastName, $super) {
    firstNames = firstNames === VOID ? this.firstNames_1 : firstNames;
    lastName = lastName === VOID ? this.lastName_1 : lastName;
    return $super === VOID ? this.copy_jhsqnb_k$(firstNames, lastName) : $super.copy_jhsqnb_k$.call(this, firstNames, lastName);
  };
  protoOf(PersonNames).hashCode = function () {
    var result = this.firstNames_1 == null ? 0 : getStringHashCode(this.firstNames_1);
    result = imul(result, 31) + (this.lastName_1 == null ? 0 : getStringHashCode(this.lastName_1)) | 0;
    return result;
  };
  protoOf(PersonNames).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonNames))
      return false;
    var tmp0_other_with_cast = other instanceof PersonNames ? other : THROW_CCE();
    if (!(this.firstNames_1 == tmp0_other_with_cast.firstNames_1))
      return false;
    if (!(this.lastName_1 == tmp0_other_with_cast.lastName_1))
      return false;
    return true;
  };
  function _get_$childSerializers__r2zwns_0($this) {
    return $this.$childSerializers_1;
  }
  function Companion_36() {
    Companion_instance_36 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.$childSerializers_1 = [null, new ArrayListSerializer($serializer_getInstance_1())];
  }
  protoOf(Companion_36).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_36();
  };
  var Companion_instance_36;
  function Companion_getInstance_38() {
    if (Companion_instance_36 == null)
      new Companion_36();
    return Companion_instance_36;
  }
  function $serializer_36() {
    $serializer_instance_36 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.StudentAndBlockStatuses', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('student', false);
    tmp0_serialDesc.addElement_5pzumi_k$('blockStatuses', false);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_36).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_36).childSerializers_5ghqw5_k$ = function () {
    var tmp0_cached = Companion_getInstance_38().$childSerializers_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_33(), tmp0_cached[1]];
  };
  protoOf($serializer_36).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp7_cached = Companion_getInstance_38().$childSerializers_1;
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_33(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_33(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StudentAndBlockStatuses_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_36).serialize_gfbraq_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp2_cached = Companion_getInstance_38().$childSerializers_1;
    tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 0, $serializer_getInstance_33(), value.student_1);
    tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 1, tmp2_cached[1], value.blockStatuses_1);
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_36).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_gfbraq_k$(encoder, value instanceof StudentAndBlockStatuses ? value : THROW_CCE());
  };
  var $serializer_instance_36;
  function $serializer_getInstance_36() {
    if ($serializer_instance_36 == null)
      new $serializer_36();
    return $serializer_instance_36;
  }
  function StudentAndBlockStatuses_init_$Init$(seen1, student, blockStatuses, serializationConstructorMarker, $this) {
    if (!(3 === (3 & seen1))) {
      throwMissingFieldException(seen1, 3, $serializer_getInstance_36().descriptor_1);
    }
    $this.student_1 = student;
    $this.blockStatuses_1 = blockStatuses;
    return $this;
  }
  function StudentAndBlockStatuses_init_$Create$(seen1, student, blockStatuses, serializationConstructorMarker) {
    return StudentAndBlockStatuses_init_$Init$(seen1, student, blockStatuses, serializationConstructorMarker, objectCreate(protoOf(StudentAndBlockStatuses)));
  }
  function StudentAndBlockStatuses(student, blockStatuses) {
    Companion_getInstance_38();
    this.student_1 = student;
    this.blockStatuses_1 = blockStatuses;
  }
  protoOf(StudentAndBlockStatuses).get_student_tt8o8e_k$ = function () {
    return this.student_1;
  };
  protoOf(StudentAndBlockStatuses).get_blockStatuses_a65oik_k$ = function () {
    return this.blockStatuses_1;
  };
  protoOf(StudentAndBlockStatuses).component1_7eebsc_k$ = function () {
    return this.student_1;
  };
  protoOf(StudentAndBlockStatuses).component2_7eebsb_k$ = function () {
    return this.blockStatuses_1;
  };
  protoOf(StudentAndBlockStatuses).copy_cso3uw_k$ = function (student, blockStatuses) {
    return new StudentAndBlockStatuses(student, blockStatuses);
  };
  protoOf(StudentAndBlockStatuses).copy$default_yykcen_k$ = function (student, blockStatuses, $super) {
    student = student === VOID ? this.student_1 : student;
    blockStatuses = blockStatuses === VOID ? this.blockStatuses_1 : blockStatuses;
    return $super === VOID ? this.copy_cso3uw_k$(student, blockStatuses) : $super.copy_cso3uw_k$.call(this, student, blockStatuses);
  };
  protoOf(StudentAndBlockStatuses).toString = function () {
    return 'StudentAndBlockStatuses(student=' + this.student_1 + ', blockStatuses=' + this.blockStatuses_1 + ')';
  };
  protoOf(StudentAndBlockStatuses).hashCode = function () {
    var result = this.student_1.hashCode();
    result = imul(result, 31) + hashCode(this.blockStatuses_1) | 0;
    return result;
  };
  protoOf(StudentAndBlockStatuses).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StudentAndBlockStatuses))
      return false;
    var tmp0_other_with_cast = other instanceof StudentAndBlockStatuses ? other : THROW_CCE();
    if (!this.student_1.equals(tmp0_other_with_cast.student_1))
      return false;
    if (!equals(this.blockStatuses_1, tmp0_other_with_cast.blockStatuses_1))
      return false;
    return true;
  };
  function StudentResultAndCourseBlockSourcedId(studentResult, cbSourcedId) {
    studentResult = studentResult === VOID ? new StudentResult() : studentResult;
    cbSourcedId = cbSourcedId === VOID ? null : cbSourcedId;
    this.studentResult_1 = studentResult;
    this.cbSourcedId_1 = cbSourcedId;
  }
  protoOf(StudentResultAndCourseBlockSourcedId).set_studentResult_erqjgo_k$ = function (_set____db54di) {
    this.studentResult_1 = _set____db54di;
  };
  protoOf(StudentResultAndCourseBlockSourcedId).get_studentResult_h7olpt_k$ = function () {
    return this.studentResult_1;
  };
  protoOf(StudentResultAndCourseBlockSourcedId).set_cbSourcedId_jrt4y9_k$ = function (_set____db54di) {
    this.cbSourcedId_1 = _set____db54di;
  };
  protoOf(StudentResultAndCourseBlockSourcedId).get_cbSourcedId_pret24_k$ = function () {
    return this.cbSourcedId_1;
  };
  protoOf(StudentResultAndCourseBlockSourcedId).component1_7eebsc_k$ = function () {
    return this.studentResult_1;
  };
  protoOf(StudentResultAndCourseBlockSourcedId).component2_7eebsb_k$ = function () {
    return this.cbSourcedId_1;
  };
  protoOf(StudentResultAndCourseBlockSourcedId).copy_533749_k$ = function (studentResult, cbSourcedId) {
    return new StudentResultAndCourseBlockSourcedId(studentResult, cbSourcedId);
  };
  protoOf(StudentResultAndCourseBlockSourcedId).copy$default_et6ucq_k$ = function (studentResult, cbSourcedId, $super) {
    studentResult = studentResult === VOID ? this.studentResult_1 : studentResult;
    cbSourcedId = cbSourcedId === VOID ? this.cbSourcedId_1 : cbSourcedId;
    return $super === VOID ? this.copy_533749_k$(studentResult, cbSourcedId) : $super.copy_533749_k$.call(this, studentResult, cbSourcedId);
  };
  protoOf(StudentResultAndCourseBlockSourcedId).toString = function () {
    return 'StudentResultAndCourseBlockSourcedId(studentResult=' + this.studentResult_1 + ', cbSourcedId=' + this.cbSourcedId_1 + ')';
  };
  protoOf(StudentResultAndCourseBlockSourcedId).hashCode = function () {
    var result = this.studentResult_1.hashCode();
    result = imul(result, 31) + (this.cbSourcedId_1 == null ? 0 : getStringHashCode(this.cbSourcedId_1)) | 0;
    return result;
  };
  protoOf(StudentResultAndCourseBlockSourcedId).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StudentResultAndCourseBlockSourcedId))
      return false;
    var tmp0_other_with_cast = other instanceof StudentResultAndCourseBlockSourcedId ? other : THROW_CCE();
    if (!this.studentResult_1.equals(tmp0_other_with_cast.studentResult_1))
      return false;
    if (!(this.cbSourcedId_1 == tmp0_other_with_cast.cbSourcedId_1))
      return false;
    return true;
  };
  function _get_$childSerializers__r2zwns_1($this) {
    return $this.$childSerializers_1;
  }
  function Companion_37() {
    Companion_instance_37 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.$childSerializers_1 = [null, new ArrayListSerializer($serializer_getInstance_14())];
  }
  protoOf(Companion_37).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_37();
  };
  var Companion_instance_37;
  function Companion_getInstance_39() {
    if (Companion_instance_37 == null)
      new Companion_37();
    return Companion_instance_37;
  }
  function $serializer_37() {
    $serializer_instance_37 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.SubmissionAndFiles', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('submission', false);
    tmp0_serialDesc.addElement_5pzumi_k$('files', false);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_37).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_37).childSerializers_5ghqw5_k$ = function () {
    var tmp0_cached = Companion_getInstance_39().$childSerializers_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_74(), tmp0_cached[1]];
  };
  protoOf($serializer_37).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp7_cached = Companion_getInstance_39().$childSerializers_1;
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_74(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_74(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return SubmissionAndFiles_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_37).serialize_1vietl_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp2_cached = Companion_getInstance_39().$childSerializers_1;
    tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 0, $serializer_getInstance_74(), value.submission_1);
    tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 1, tmp2_cached[1], value.files_1);
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_37).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_1vietl_k$(encoder, value instanceof SubmissionAndFiles ? value : THROW_CCE());
  };
  var $serializer_instance_37;
  function $serializer_getInstance_37() {
    if ($serializer_instance_37 == null)
      new $serializer_37();
    return $serializer_instance_37;
  }
  function SubmissionAndFiles_init_$Init$(seen1, submission, files, serializationConstructorMarker, $this) {
    if (!(3 === (3 & seen1))) {
      throwMissingFieldException(seen1, 3, $serializer_getInstance_37().descriptor_1);
    }
    $this.submission_1 = submission;
    $this.files_1 = files;
    return $this;
  }
  function SubmissionAndFiles_init_$Create$(seen1, submission, files, serializationConstructorMarker) {
    return SubmissionAndFiles_init_$Init$(seen1, submission, files, serializationConstructorMarker, objectCreate(protoOf(SubmissionAndFiles)));
  }
  function SubmissionAndFiles(submission, files) {
    Companion_getInstance_39();
    this.submission_1 = submission;
    this.files_1 = files;
  }
  protoOf(SubmissionAndFiles).get_submission_gidiad_k$ = function () {
    return this.submission_1;
  };
  protoOf(SubmissionAndFiles).get_files_irdsge_k$ = function () {
    return this.files_1;
  };
  function Companion_38() {
    Companion_instance_38 = this;
  }
  protoOf(Companion_38).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_38();
  };
  var Companion_instance_38;
  function Companion_getInstance_40() {
    if (Companion_instance_38 == null)
      new Companion_38();
    return Companion_instance_38;
  }
  function $serializer_38() {
    $serializer_instance_38 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.TransferJobAndTotals', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('transferJob', true);
    tmp0_serialDesc.addElement_5pzumi_k$('totalSize', true);
    tmp0_serialDesc.addElement_5pzumi_k$('transferred', true);
    tmp0_serialDesc.addElement_5pzumi_k$('latestErrorStr', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_38).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_38).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_118()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_38).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_118(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_118(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return TransferJobAndTotals_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_38).serialize_20hr7z_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.transferJob_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_118(), value.transferJob_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.totalSize_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.totalSize_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.transferred_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.transferred_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.latestErrorStr_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.latestErrorStr_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_38).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_20hr7z_k$(encoder, value instanceof TransferJobAndTotals ? value : THROW_CCE());
  };
  var $serializer_instance_38;
  function $serializer_getInstance_38() {
    if ($serializer_instance_38 == null)
      new $serializer_38();
    return $serializer_instance_38;
  }
  function TransferJobAndTotals_init_$Init$(seen1, transferJob, totalSize, transferred, latestErrorStr, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_38().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.transferJob_1 = null;
    else
      $this.transferJob_1 = transferJob;
    if (0 === (seen1 & 2))
      $this.totalSize_1 = new Long(0, 0);
    else
      $this.totalSize_1 = totalSize;
    if (0 === (seen1 & 4))
      $this.transferred_1 = new Long(0, 0);
    else
      $this.transferred_1 = transferred;
    if (0 === (seen1 & 8))
      $this.latestErrorStr_1 = null;
    else
      $this.latestErrorStr_1 = latestErrorStr;
    return $this;
  }
  function TransferJobAndTotals_init_$Create$(seen1, transferJob, totalSize, transferred, latestErrorStr, serializationConstructorMarker) {
    return TransferJobAndTotals_init_$Init$(seen1, transferJob, totalSize, transferred, latestErrorStr, serializationConstructorMarker, objectCreate(protoOf(TransferJobAndTotals)));
  }
  function TransferJobAndTotals(transferJob, totalSize, transferred, latestErrorStr) {
    Companion_getInstance_40();
    transferJob = transferJob === VOID ? null : transferJob;
    totalSize = totalSize === VOID ? new Long(0, 0) : totalSize;
    transferred = transferred === VOID ? new Long(0, 0) : transferred;
    latestErrorStr = latestErrorStr === VOID ? null : latestErrorStr;
    this.transferJob_1 = transferJob;
    this.totalSize_1 = totalSize;
    this.transferred_1 = transferred;
    this.latestErrorStr_1 = latestErrorStr;
  }
  protoOf(TransferJobAndTotals).set_transferJob_oljvx_k$ = function (_set____db54di) {
    this.transferJob_1 = _set____db54di;
  };
  protoOf(TransferJobAndTotals).get_transferJob_jbsot3_k$ = function () {
    return this.transferJob_1;
  };
  protoOf(TransferJobAndTotals).set_totalSize_fm10ve_k$ = function (_set____db54di) {
    this.totalSize_1 = _set____db54di;
  };
  protoOf(TransferJobAndTotals).get_totalSize_116z44_k$ = function () {
    return this.totalSize_1;
  };
  protoOf(TransferJobAndTotals).set_transferred_ke07v9_k$ = function (_set____db54di) {
    this.transferred_1 = _set____db54di;
  };
  protoOf(TransferJobAndTotals).get_transferred_jbrvdv_k$ = function () {
    return this.transferred_1;
  };
  protoOf(TransferJobAndTotals).set_latestErrorStr_c5kaei_k$ = function (_set____db54di) {
    this.latestErrorStr_1 = _set____db54di;
  };
  protoOf(TransferJobAndTotals).get_latestErrorStr_quj4nb_k$ = function () {
    return this.latestErrorStr_1;
  };
  protoOf(TransferJobAndTotals).component1_7eebsc_k$ = function () {
    return this.transferJob_1;
  };
  protoOf(TransferJobAndTotals).component2_7eebsb_k$ = function () {
    return this.totalSize_1;
  };
  protoOf(TransferJobAndTotals).component3_7eebsa_k$ = function () {
    return this.transferred_1;
  };
  protoOf(TransferJobAndTotals).component4_7eebs9_k$ = function () {
    return this.latestErrorStr_1;
  };
  protoOf(TransferJobAndTotals).copy_ijwhlw_k$ = function (transferJob, totalSize, transferred, latestErrorStr) {
    return new TransferJobAndTotals(transferJob, totalSize, transferred, latestErrorStr);
  };
  protoOf(TransferJobAndTotals).copy$default_9f77ww_k$ = function (transferJob, totalSize, transferred, latestErrorStr, $super) {
    transferJob = transferJob === VOID ? this.transferJob_1 : transferJob;
    totalSize = totalSize === VOID ? this.totalSize_1 : totalSize;
    transferred = transferred === VOID ? this.transferred_1 : transferred;
    latestErrorStr = latestErrorStr === VOID ? this.latestErrorStr_1 : latestErrorStr;
    return $super === VOID ? this.copy_ijwhlw_k$(transferJob, totalSize, transferred, latestErrorStr) : $super.copy_ijwhlw_k$.call(this, transferJob, totalSize, transferred, latestErrorStr);
  };
  protoOf(TransferJobAndTotals).toString = function () {
    return 'TransferJobAndTotals(transferJob=' + this.transferJob_1 + ', totalSize=' + this.totalSize_1.toString() + ', transferred=' + this.transferred_1.toString() + ', latestErrorStr=' + this.latestErrorStr_1 + ')';
  };
  protoOf(TransferJobAndTotals).hashCode = function () {
    var result = this.transferJob_1 == null ? 0 : this.transferJob_1.hashCode();
    result = imul(result, 31) + this.totalSize_1.hashCode() | 0;
    result = imul(result, 31) + this.transferred_1.hashCode() | 0;
    result = imul(result, 31) + (this.latestErrorStr_1 == null ? 0 : getStringHashCode(this.latestErrorStr_1)) | 0;
    return result;
  };
  protoOf(TransferJobAndTotals).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJobAndTotals))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJobAndTotals ? other : THROW_CCE();
    if (!equals(this.transferJob_1, tmp0_other_with_cast.transferJob_1))
      return false;
    if (!this.totalSize_1.equals(tmp0_other_with_cast.totalSize_1))
      return false;
    if (!this.transferred_1.equals(tmp0_other_with_cast.transferred_1))
      return false;
    if (!(this.latestErrorStr_1 == tmp0_other_with_cast.latestErrorStr_1))
      return false;
    return true;
  };
  var TransferJobItemStatus_QUEUED_instance;
  var TransferJobItemStatus_IN_PROGRESS_instance;
  var TransferJobItemStatus_COMPLETE_instance;
  var TransferJobItemStatus_FAILED_instance;
  var TransferJobItemStatus_CANCELLED_instance;
  function Companion_39() {
    Companion_instance_39 = this;
    this.STATUS_QUEUED_INT_1 = 1;
    this.STATUS_IN_PROGRESS_INT_1 = 11;
    this.STATUS_COMPLETE_INT_1 = 21;
    this.STATUS_FAILED_1 = 22;
    this.STATUS_CANCELLED_1 = 23;
  }
  protoOf(Companion_39).get_STATUS_QUEUED_INT_dk8gcn_k$ = function () {
    return this.STATUS_QUEUED_INT_1;
  };
  protoOf(Companion_39).get_STATUS_IN_PROGRESS_INT_w1zuxf_k$ = function () {
    return this.STATUS_IN_PROGRESS_INT_1;
  };
  protoOf(Companion_39).get_STATUS_COMPLETE_INT_kcfgct_k$ = function () {
    return this.STATUS_COMPLETE_INT_1;
  };
  protoOf(Companion_39).get_STATUS_FAILED_csml1b_k$ = function () {
    return this.STATUS_FAILED_1;
  };
  protoOf(Companion_39).get_STATUS_CANCELLED_dbw5xv_k$ = function () {
    return this.STATUS_CANCELLED_1;
  };
  protoOf(Companion_39).valueOf_t43jdc_k$ = function (value) {
    var tmp$ret$1;
    $l$block: {
      // Inline function 'kotlin.collections.firstOrNull' call
      var tmp0_iterator = get_entries().iterator_jk1svi_k$();
      while (tmp0_iterator.hasNext_bitz1p_k$()) {
        var element = tmp0_iterator.next_20eer_k$();
        // Inline function 'com.ustadmobile.lib.db.composites.Companion.valueOf.<anonymous>' call
        if (element.value_1 === value) {
          tmp$ret$1 = element;
          break $l$block;
        }
      }
      tmp$ret$1 = null;
    }
    var tmp0_elvis_lhs = tmp$ret$1;
    return tmp0_elvis_lhs == null ? TransferJobItemStatus_QUEUED_getInstance() : tmp0_elvis_lhs;
  };
  var Companion_instance_39;
  function Companion_getInstance_41() {
    TransferJobItemStatus_initEntries();
    if (Companion_instance_39 == null)
      new Companion_39();
    return Companion_instance_39;
  }
  function values() {
    return [TransferJobItemStatus_QUEUED_getInstance(), TransferJobItemStatus_IN_PROGRESS_getInstance(), TransferJobItemStatus_COMPLETE_getInstance(), TransferJobItemStatus_FAILED_getInstance(), TransferJobItemStatus_CANCELLED_getInstance()];
  }
  function valueOf(value) {
    switch (value) {
      case 'QUEUED':
        return TransferJobItemStatus_QUEUED_getInstance();
      case 'IN_PROGRESS':
        return TransferJobItemStatus_IN_PROGRESS_getInstance();
      case 'COMPLETE':
        return TransferJobItemStatus_COMPLETE_getInstance();
      case 'FAILED':
        return TransferJobItemStatus_FAILED_getInstance();
      case 'CANCELLED':
        return TransferJobItemStatus_CANCELLED_getInstance();
      default:
        TransferJobItemStatus_initEntries();
        THROW_IAE('No enum constant value.');
        break;
    }
  }
  function get_entries() {
    if ($ENTRIES == null)
      $ENTRIES = enumEntries(values());
    return $ENTRIES;
  }
  var TransferJobItemStatus_entriesInitialized;
  function TransferJobItemStatus_initEntries() {
    if (TransferJobItemStatus_entriesInitialized)
      return Unit_getInstance();
    TransferJobItemStatus_entriesInitialized = true;
    TransferJobItemStatus_QUEUED_instance = new TransferJobItemStatus('QUEUED', 0, 1);
    TransferJobItemStatus_IN_PROGRESS_instance = new TransferJobItemStatus('IN_PROGRESS', 1, 11);
    TransferJobItemStatus_COMPLETE_instance = new TransferJobItemStatus('COMPLETE', 2, 21);
    TransferJobItemStatus_FAILED_instance = new TransferJobItemStatus('FAILED', 3, 22);
    TransferJobItemStatus_CANCELLED_instance = new TransferJobItemStatus('CANCELLED', 4, 23);
    Companion_getInstance_41();
  }
  var $ENTRIES;
  function TransferJobItemStatus(name, ordinal, value) {
    Enum.call(this, name, ordinal);
    this.value_1 = value;
  }
  protoOf(TransferJobItemStatus).get_value_j01efc_k$ = function () {
    return this.value_1;
  };
  function TransferJobItemStatus_QUEUED_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_QUEUED_instance;
  }
  function TransferJobItemStatus_IN_PROGRESS_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_IN_PROGRESS_instance;
  }
  function TransferJobItemStatus_COMPLETE_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_COMPLETE_instance;
  }
  function TransferJobItemStatus_FAILED_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_FAILED_instance;
  }
  function TransferJobItemStatus_CANCELLED_getInstance() {
    TransferJobItemStatus_initEntries();
    return TransferJobItemStatus_CANCELLED_instance;
  }
  function StateIdAndLastModified(seStateId, seLastMod) {
    seStateId = seStateId === VOID ? '' : seStateId;
    seLastMod = seLastMod === VOID ? new Long(0, 0) : seLastMod;
    this.seStateId_1 = seStateId;
    this.seLastMod_1 = seLastMod;
  }
  protoOf(StateIdAndLastModified).set_seStateId_7jplxp_k$ = function (_set____db54di) {
    this.seStateId_1 = _set____db54di;
  };
  protoOf(StateIdAndLastModified).get_seStateId_okwh5b_k$ = function () {
    return this.seStateId_1;
  };
  protoOf(StateIdAndLastModified).set_seLastMod_rbj81t_k$ = function (_set____db54di) {
    this.seLastMod_1 = _set____db54di;
  };
  protoOf(StateIdAndLastModified).get_seLastMod_60knjl_k$ = function () {
    return this.seLastMod_1;
  };
  protoOf(StateIdAndLastModified).component1_7eebsc_k$ = function () {
    return this.seStateId_1;
  };
  protoOf(StateIdAndLastModified).component2_7eebsb_k$ = function () {
    return this.seLastMod_1;
  };
  protoOf(StateIdAndLastModified).copy_7qnn3d_k$ = function (seStateId, seLastMod) {
    return new StateIdAndLastModified(seStateId, seLastMod);
  };
  protoOf(StateIdAndLastModified).copy$default_lps6oq_k$ = function (seStateId, seLastMod, $super) {
    seStateId = seStateId === VOID ? this.seStateId_1 : seStateId;
    seLastMod = seLastMod === VOID ? this.seLastMod_1 : seLastMod;
    return $super === VOID ? this.copy_7qnn3d_k$(seStateId, seLastMod) : $super.copy_7qnn3d_k$.call(this, seStateId, seLastMod);
  };
  protoOf(StateIdAndLastModified).toString = function () {
    return 'StateIdAndLastModified(seStateId=' + this.seStateId_1 + ', seLastMod=' + this.seLastMod_1.toString() + ')';
  };
  protoOf(StateIdAndLastModified).hashCode = function () {
    var result = getStringHashCode(this.seStateId_1);
    result = imul(result, 31) + this.seLastMod_1.hashCode() | 0;
    return result;
  };
  protoOf(StateIdAndLastModified).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StateIdAndLastModified))
      return false;
    var tmp0_other_with_cast = other instanceof StateIdAndLastModified ? other : THROW_CCE();
    if (!(this.seStateId_1 === tmp0_other_with_cast.seStateId_1))
      return false;
    if (!this.seLastMod_1.equals(tmp0_other_with_cast.seLastMod_1))
      return false;
    return true;
  };
  function Companion_40() {
    Companion_instance_40 = this;
  }
  protoOf(Companion_40).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_39();
  };
  var Companion_instance_40;
  function Companion_getInstance_42() {
    if (Companion_instance_40 == null)
      new Companion_40();
    return Companion_instance_40;
  }
  function $serializer_39() {
    $serializer_instance_39 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.composites.xapi.StatementEntityAndRelated', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('statementEntity', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberActorJoin', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorEntity', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_39).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_39).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_131()), get_nullable($serializer_getInstance_128()), get_nullable($serializer_getInstance_127())];
  };
  protoOf($serializer_39).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_131(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_128(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_127(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_131(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_128(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_127(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StatementEntityAndRelated_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_39).serialize_5th0q2_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.statementEntity_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_131(), value.statementEntity_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.groupMemberActorJoin_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_128(), value.groupMemberActorJoin_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.actorEntity_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_127(), value.actorEntity_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_39).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_5th0q2_k$(encoder, value instanceof StatementEntityAndRelated ? value : THROW_CCE());
  };
  var $serializer_instance_39;
  function $serializer_getInstance_39() {
    if ($serializer_instance_39 == null)
      new $serializer_39();
    return $serializer_instance_39;
  }
  function StatementEntityAndRelated_init_$Init$(seen1, statementEntity, groupMemberActorJoin, actorEntity, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_39().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.statementEntity_1 = null;
    else
      $this.statementEntity_1 = statementEntity;
    if (0 === (seen1 & 2))
      $this.groupMemberActorJoin_1 = null;
    else
      $this.groupMemberActorJoin_1 = groupMemberActorJoin;
    if (0 === (seen1 & 4))
      $this.actorEntity_1 = null;
    else
      $this.actorEntity_1 = actorEntity;
    return $this;
  }
  function StatementEntityAndRelated_init_$Create$(seen1, statementEntity, groupMemberActorJoin, actorEntity, serializationConstructorMarker) {
    return StatementEntityAndRelated_init_$Init$(seen1, statementEntity, groupMemberActorJoin, actorEntity, serializationConstructorMarker, objectCreate(protoOf(StatementEntityAndRelated)));
  }
  function StatementEntityAndRelated(statementEntity, groupMemberActorJoin, actorEntity) {
    Companion_getInstance_42();
    statementEntity = statementEntity === VOID ? null : statementEntity;
    groupMemberActorJoin = groupMemberActorJoin === VOID ? null : groupMemberActorJoin;
    actorEntity = actorEntity === VOID ? null : actorEntity;
    this.statementEntity_1 = statementEntity;
    this.groupMemberActorJoin_1 = groupMemberActorJoin;
    this.actorEntity_1 = actorEntity;
  }
  protoOf(StatementEntityAndRelated).set_statementEntity_5iilp0_k$ = function (_set____db54di) {
    this.statementEntity_1 = _set____db54di;
  };
  protoOf(StatementEntityAndRelated).get_statementEntity_xknex5_k$ = function () {
    return this.statementEntity_1;
  };
  protoOf(StatementEntityAndRelated).set_groupMemberActorJoin_12ntwe_k$ = function (_set____db54di) {
    this.groupMemberActorJoin_1 = _set____db54di;
  };
  protoOf(StatementEntityAndRelated).get_groupMemberActorJoin_ty0ovl_k$ = function () {
    return this.groupMemberActorJoin_1;
  };
  protoOf(StatementEntityAndRelated).set_actorEntity_e8g3kk_k$ = function (_set____db54di) {
    this.actorEntity_1 = _set____db54di;
  };
  protoOf(StatementEntityAndRelated).get_actorEntity_os4amn_k$ = function () {
    return this.actorEntity_1;
  };
  function Companion_41() {
    Companion_instance_41 = this;
  }
  protoOf(Companion_41).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_40();
  };
  var Companion_instance_41;
  function Companion_getInstance_43() {
    if (Companion_instance_41 == null)
      new Companion_41();
    return Companion_instance_41;
  }
  function $serializer_40() {
    $serializer_instance_40 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AssignmentProgressSummary', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('submittedStudents', true);
    tmp0_serialDesc.addElement_5pzumi_k$('totalStudents', true);
    tmp0_serialDesc.addElement_5pzumi_k$('markedStudents', true);
    tmp0_serialDesc.addElement_5pzumi_k$('activeUserHasViewLearnerRecordsPermission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('isGroupAssignment', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_40).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_40).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_40).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = false;
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return AssignmentProgressSummary_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_40).serialize_f707by_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.submittedStudents_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.submittedStudents_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.totalStudents_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.totalStudents_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.markedStudents_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.markedStudents_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.activeUserHasViewLearnerRecordsPermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 3, value.activeUserHasViewLearnerRecordsPermission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.isGroupAssignment_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.isGroupAssignment_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_40).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_f707by_k$(encoder, value instanceof AssignmentProgressSummary ? value : THROW_CCE());
  };
  var $serializer_instance_40;
  function $serializer_getInstance_40() {
    if ($serializer_instance_40 == null)
      new $serializer_40();
    return $serializer_instance_40;
  }
  function AssignmentProgressSummary_init_$Init$(seen1, submittedStudents, totalStudents, markedStudents, activeUserHasViewLearnerRecordsPermission, isGroupAssignment, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_40().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.submittedStudents_1 = 0;
    else
      $this.submittedStudents_1 = submittedStudents;
    if (0 === (seen1 & 2))
      $this.totalStudents_1 = 0;
    else
      $this.totalStudents_1 = totalStudents;
    if (0 === (seen1 & 4))
      $this.markedStudents_1 = 0;
    else
      $this.markedStudents_1 = markedStudents;
    if (0 === (seen1 & 8))
      $this.activeUserHasViewLearnerRecordsPermission_1 = false;
    else
      $this.activeUserHasViewLearnerRecordsPermission_1 = activeUserHasViewLearnerRecordsPermission;
    if (0 === (seen1 & 16))
      $this.isGroupAssignment_1 = false;
    else
      $this.isGroupAssignment_1 = isGroupAssignment;
    return $this;
  }
  function AssignmentProgressSummary_init_$Create$(seen1, submittedStudents, totalStudents, markedStudents, activeUserHasViewLearnerRecordsPermission, isGroupAssignment, serializationConstructorMarker) {
    return AssignmentProgressSummary_init_$Init$(seen1, submittedStudents, totalStudents, markedStudents, activeUserHasViewLearnerRecordsPermission, isGroupAssignment, serializationConstructorMarker, objectCreate(protoOf(AssignmentProgressSummary)));
  }
  function AssignmentProgressSummary() {
    Companion_getInstance_43();
    this.submittedStudents_1 = 0;
    this.totalStudents_1 = 0;
    this.markedStudents_1 = 0;
    this.activeUserHasViewLearnerRecordsPermission_1 = false;
    this.isGroupAssignment_1 = false;
  }
  protoOf(AssignmentProgressSummary).set_submittedStudents_3rq5ou_k$ = function (_set____db54di) {
    this.submittedStudents_1 = _set____db54di;
  };
  protoOf(AssignmentProgressSummary).get_submittedStudents_17qkui_k$ = function () {
    return this.submittedStudents_1;
  };
  protoOf(AssignmentProgressSummary).set_totalStudents_zdd8hj_k$ = function (_set____db54di) {
    this.totalStudents_1 = _set____db54di;
  };
  protoOf(AssignmentProgressSummary).get_totalStudents_u8xtjn_k$ = function () {
    return this.totalStudents_1;
  };
  protoOf(AssignmentProgressSummary).set_markedStudents_cjfldz_k$ = function (_set____db54di) {
    this.markedStudents_1 = _set____db54di;
  };
  protoOf(AssignmentProgressSummary).get_markedStudents_tso3xp_k$ = function () {
    return this.markedStudents_1;
  };
  protoOf(AssignmentProgressSummary).set_activeUserHasViewLearnerRecordsPermission_27x37o_k$ = function (_set____db54di) {
    this.activeUserHasViewLearnerRecordsPermission_1 = _set____db54di;
  };
  protoOf(AssignmentProgressSummary).get_activeUserHasViewLearnerRecordsPermission_om1zmj_k$ = function () {
    return this.activeUserHasViewLearnerRecordsPermission_1;
  };
  protoOf(AssignmentProgressSummary).set_isGroupAssignment_vlqu4w_k$ = function (_set____db54di) {
    this.isGroupAssignment_1 = _set____db54di;
  };
  protoOf(AssignmentProgressSummary).get_isGroupAssignment_kf4m0p_k$ = function () {
    return this.isGroupAssignment_1;
  };
  protoOf(AssignmentProgressSummary).calculateNotSubmittedStudents_3gzcfa_k$ = function () {
    return 0;
  };
  function _get_$childSerializers__r2zwns_2($this) {
    return $this.$childSerializers_1;
  }
  function Companion_42() {
    Companion_instance_42 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.$childSerializers_1 = [null, new ArrayListSerializer($serializer_getInstance_97())];
  }
  protoOf(Companion_42).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_41();
  };
  var Companion_instance_42;
  function Companion_getInstance_44() {
    if (Companion_instance_42 == null)
      new Companion_42();
    return Companion_instance_42;
  }
  function $serializer_41() {
    $serializer_instance_41 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AssignmentSubmitterAndAllocations', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('submitter', true);
    tmp0_serialDesc.addElement_5pzumi_k$('allocations', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_41).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_41).childSerializers_5ghqw5_k$ = function () {
    var tmp0_cached = Companion_getInstance_44().$childSerializers_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [$serializer_getInstance_42(), tmp0_cached[1]];
  };
  protoOf($serializer_41).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp7_cached = Companion_getInstance_44().$childSerializers_1;
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_42(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 0, $serializer_getInstance_42(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeSerializableElement_uahnnv_k$(tmp0_desc, 1, tmp7_cached[1], tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return AssignmentSubmitterAndAllocations_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_41).serialize_nkssy2_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp2_cached = Companion_getInstance_44().$childSerializers_1;
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.submitter_1.equals(new AssignmentSubmitterSummary())) {
      tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 0, $serializer_getInstance_42(), value.submitter_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !equals(value.allocations_1, emptyList())) {
      tmp1_output.encodeSerializableElement_isqxcl_k$(tmp0_desc, 1, tmp2_cached[1], value.allocations_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_41).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_nkssy2_k$(encoder, value instanceof AssignmentSubmitterAndAllocations ? value : THROW_CCE());
  };
  var $serializer_instance_41;
  function $serializer_getInstance_41() {
    if ($serializer_instance_41 == null)
      new $serializer_41();
    return $serializer_instance_41;
  }
  function AssignmentSubmitterAndAllocations_init_$Init$(seen1, submitter, allocations, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_41().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.submitter_1 = new AssignmentSubmitterSummary();
    else
      $this.submitter_1 = submitter;
    if (0 === (seen1 & 2))
      $this.allocations_1 = emptyList();
    else
      $this.allocations_1 = allocations;
    return $this;
  }
  function AssignmentSubmitterAndAllocations_init_$Create$(seen1, submitter, allocations, serializationConstructorMarker) {
    return AssignmentSubmitterAndAllocations_init_$Init$(seen1, submitter, allocations, serializationConstructorMarker, objectCreate(protoOf(AssignmentSubmitterAndAllocations)));
  }
  function AssignmentSubmitterAndAllocations(submitter, allocations) {
    Companion_getInstance_44();
    submitter = submitter === VOID ? new AssignmentSubmitterSummary() : submitter;
    allocations = allocations === VOID ? emptyList() : allocations;
    this.submitter_1 = submitter;
    this.allocations_1 = allocations;
  }
  protoOf(AssignmentSubmitterAndAllocations).get_submitter_ea476o_k$ = function () {
    return this.submitter_1;
  };
  protoOf(AssignmentSubmitterAndAllocations).get_allocations_rufsiy_k$ = function () {
    return this.allocations_1;
  };
  protoOf(AssignmentSubmitterAndAllocations).component1_7eebsc_k$ = function () {
    return this.submitter_1;
  };
  protoOf(AssignmentSubmitterAndAllocations).component2_7eebsb_k$ = function () {
    return this.allocations_1;
  };
  protoOf(AssignmentSubmitterAndAllocations).copy_miheek_k$ = function (submitter, allocations) {
    return new AssignmentSubmitterAndAllocations(submitter, allocations);
  };
  protoOf(AssignmentSubmitterAndAllocations).copy$default_sgybhn_k$ = function (submitter, allocations, $super) {
    submitter = submitter === VOID ? this.submitter_1 : submitter;
    allocations = allocations === VOID ? this.allocations_1 : allocations;
    return $super === VOID ? this.copy_miheek_k$(submitter, allocations) : $super.copy_miheek_k$.call(this, submitter, allocations);
  };
  protoOf(AssignmentSubmitterAndAllocations).toString = function () {
    return 'AssignmentSubmitterAndAllocations(submitter=' + this.submitter_1 + ', allocations=' + this.allocations_1 + ')';
  };
  protoOf(AssignmentSubmitterAndAllocations).hashCode = function () {
    var result = this.submitter_1.hashCode();
    result = imul(result, 31) + hashCode(this.allocations_1) | 0;
    return result;
  };
  protoOf(AssignmentSubmitterAndAllocations).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentSubmitterAndAllocations))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentSubmitterAndAllocations ? other : THROW_CCE();
    if (!this.submitter_1.equals(tmp0_other_with_cast.submitter_1))
      return false;
    if (!equals(this.allocations_1, tmp0_other_with_cast.allocations_1))
      return false;
    return true;
  };
  function Companion_43() {
    Companion_instance_43 = this;
  }
  protoOf(Companion_43).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_42();
  };
  var Companion_instance_43;
  function Companion_getInstance_45() {
    if (Companion_instance_43 == null)
      new Companion_43();
    return Companion_instance_43;
  }
  function $serializer_42() {
    $serializer_instance_42 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AssignmentSubmitterSummary', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('submitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('name', true);
    tmp0_serialDesc.addElement_5pzumi_k$('pictureUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('latestPrivateComment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fileSubmissionStatus', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_42).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_42).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance()];
  };
  protoOf($serializer_42).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return AssignmentSubmitterSummary_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_42).serialize_kewytu_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.submitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.submitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.name_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.name_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.pictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.pictureUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.latestPrivateComment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.latestPrivateComment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.fileSubmissionStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.fileSubmissionStatus_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_42).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_kewytu_k$(encoder, value instanceof AssignmentSubmitterSummary ? value : THROW_CCE());
  };
  var $serializer_instance_42;
  function $serializer_getInstance_42() {
    if ($serializer_instance_42 == null)
      new $serializer_42();
    return $serializer_instance_42;
  }
  function AssignmentSubmitterSummary_init_$Init$(seen1, submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_42().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.submitterUid_1 = new Long(0, 0);
    else
      $this.submitterUid_1 = submitterUid;
    if (0 === (seen1 & 2))
      $this.name_1 = null;
    else
      $this.name_1 = name;
    if (0 === (seen1 & 4))
      $this.pictureUri_1 = null;
    else
      $this.pictureUri_1 = pictureUri;
    if (0 === (seen1 & 8))
      $this.latestPrivateComment_1 = null;
    else
      $this.latestPrivateComment_1 = latestPrivateComment;
    if (0 === (seen1 & 16))
      $this.fileSubmissionStatus_1 = 0;
    else
      $this.fileSubmissionStatus_1 = fileSubmissionStatus;
    return $this;
  }
  function AssignmentSubmitterSummary_init_$Create$(seen1, submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus, serializationConstructorMarker) {
    return AssignmentSubmitterSummary_init_$Init$(seen1, submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus, serializationConstructorMarker, objectCreate(protoOf(AssignmentSubmitterSummary)));
  }
  function AssignmentSubmitterSummary(submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus) {
    Companion_getInstance_45();
    submitterUid = submitterUid === VOID ? new Long(0, 0) : submitterUid;
    name = name === VOID ? null : name;
    pictureUri = pictureUri === VOID ? null : pictureUri;
    latestPrivateComment = latestPrivateComment === VOID ? null : latestPrivateComment;
    fileSubmissionStatus = fileSubmissionStatus === VOID ? 0 : fileSubmissionStatus;
    this.submitterUid_1 = submitterUid;
    this.name_1 = name;
    this.pictureUri_1 = pictureUri;
    this.latestPrivateComment_1 = latestPrivateComment;
    this.fileSubmissionStatus_1 = fileSubmissionStatus;
  }
  protoOf(AssignmentSubmitterSummary).set_submitterUid_5nf92e_k$ = function (_set____db54di) {
    this.submitterUid_1 = _set____db54di;
  };
  protoOf(AssignmentSubmitterSummary).get_submitterUid_tbcwmo_k$ = function () {
    return this.submitterUid_1;
  };
  protoOf(AssignmentSubmitterSummary).set_name_wkmnld_k$ = function (_set____db54di) {
    this.name_1 = _set____db54di;
  };
  protoOf(AssignmentSubmitterSummary).get_name_woqyms_k$ = function () {
    return this.name_1;
  };
  protoOf(AssignmentSubmitterSummary).set_pictureUri_ldxxh0_k$ = function (_set____db54di) {
    this.pictureUri_1 = _set____db54di;
  };
  protoOf(AssignmentSubmitterSummary).get_pictureUri_oz22hj_k$ = function () {
    return this.pictureUri_1;
  };
  protoOf(AssignmentSubmitterSummary).set_latestPrivateComment_l14w5z_k$ = function (_set____db54di) {
    this.latestPrivateComment_1 = _set____db54di;
  };
  protoOf(AssignmentSubmitterSummary).get_latestPrivateComment_dw2x2s_k$ = function () {
    return this.latestPrivateComment_1;
  };
  protoOf(AssignmentSubmitterSummary).set_fileSubmissionStatus_k5sqvj_k$ = function (_set____db54di) {
    this.fileSubmissionStatus_1 = _set____db54di;
  };
  protoOf(AssignmentSubmitterSummary).get_fileSubmissionStatus_a7yfnh_k$ = function () {
    return this.fileSubmissionStatus_1;
  };
  protoOf(AssignmentSubmitterSummary).component1_7eebsc_k$ = function () {
    return this.submitterUid_1;
  };
  protoOf(AssignmentSubmitterSummary).component2_7eebsb_k$ = function () {
    return this.name_1;
  };
  protoOf(AssignmentSubmitterSummary).component3_7eebsa_k$ = function () {
    return this.pictureUri_1;
  };
  protoOf(AssignmentSubmitterSummary).component4_7eebs9_k$ = function () {
    return this.latestPrivateComment_1;
  };
  protoOf(AssignmentSubmitterSummary).component5_7eebs8_k$ = function () {
    return this.fileSubmissionStatus_1;
  };
  protoOf(AssignmentSubmitterSummary).copy_txrql0_k$ = function (submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus) {
    return new AssignmentSubmitterSummary(submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus);
  };
  protoOf(AssignmentSubmitterSummary).copy$default_7vrhzo_k$ = function (submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus, $super) {
    submitterUid = submitterUid === VOID ? this.submitterUid_1 : submitterUid;
    name = name === VOID ? this.name_1 : name;
    pictureUri = pictureUri === VOID ? this.pictureUri_1 : pictureUri;
    latestPrivateComment = latestPrivateComment === VOID ? this.latestPrivateComment_1 : latestPrivateComment;
    fileSubmissionStatus = fileSubmissionStatus === VOID ? this.fileSubmissionStatus_1 : fileSubmissionStatus;
    return $super === VOID ? this.copy_txrql0_k$(submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus) : $super.copy_txrql0_k$.call(this, submitterUid, name, pictureUri, latestPrivateComment, fileSubmissionStatus);
  };
  protoOf(AssignmentSubmitterSummary).toString = function () {
    return 'AssignmentSubmitterSummary(submitterUid=' + this.submitterUid_1.toString() + ', name=' + this.name_1 + ', pictureUri=' + this.pictureUri_1 + ', latestPrivateComment=' + this.latestPrivateComment_1 + ', fileSubmissionStatus=' + this.fileSubmissionStatus_1 + ')';
  };
  protoOf(AssignmentSubmitterSummary).hashCode = function () {
    var result = this.submitterUid_1.hashCode();
    result = imul(result, 31) + (this.name_1 == null ? 0 : getStringHashCode(this.name_1)) | 0;
    result = imul(result, 31) + (this.pictureUri_1 == null ? 0 : getStringHashCode(this.pictureUri_1)) | 0;
    result = imul(result, 31) + (this.latestPrivateComment_1 == null ? 0 : getStringHashCode(this.latestPrivateComment_1)) | 0;
    result = imul(result, 31) + this.fileSubmissionStatus_1 | 0;
    return result;
  };
  protoOf(AssignmentSubmitterSummary).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AssignmentSubmitterSummary))
      return false;
    var tmp0_other_with_cast = other instanceof AssignmentSubmitterSummary ? other : THROW_CCE();
    if (!this.submitterUid_1.equals(tmp0_other_with_cast.submitterUid_1))
      return false;
    if (!(this.name_1 == tmp0_other_with_cast.name_1))
      return false;
    if (!(this.pictureUri_1 == tmp0_other_with_cast.pictureUri_1))
      return false;
    if (!(this.latestPrivateComment_1 == tmp0_other_with_cast.latestPrivateComment_1))
      return false;
    if (!(this.fileSubmissionStatus_1 === tmp0_other_with_cast.fileSubmissionStatus_1))
      return false;
    return true;
  };
  function Companion_44() {
    Companion_instance_44 = this;
  }
  protoOf(Companion_44).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_43();
  };
  var Companion_instance_44;
  function Companion_getInstance_46() {
    if (Companion_instance_44 == null)
      new Companion_44();
    return Companion_instance_44;
  }
  function $serializer_43() {
    $serializer_instance_43 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.AverageCourseAssignmentMark', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('averageScore', true);
    tmp0_serialDesc.addElement_5pzumi_k$('averagePenalty', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_43).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_43).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [FloatSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_43).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0.0;
    var tmp5_local1 = 0;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return AverageCourseAssignmentMark_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_43).serialize_yn6qak_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !equals(value.averageScore_1, 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 0, value.averageScore_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.averagePenalty_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.averagePenalty_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_43).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_yn6qak_k$(encoder, value instanceof AverageCourseAssignmentMark ? value : THROW_CCE());
  };
  var $serializer_instance_43;
  function $serializer_getInstance_43() {
    if ($serializer_instance_43 == null)
      new $serializer_43();
    return $serializer_instance_43;
  }
  function AverageCourseAssignmentMark_init_$Init$(seen1, averageScore, averagePenalty, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_43().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.averageScore_1 = 0.0;
    else
      $this.averageScore_1 = averageScore;
    if (0 === (seen1 & 2))
      $this.averagePenalty_1 = 0;
    else
      $this.averagePenalty_1 = averagePenalty;
    return $this;
  }
  function AverageCourseAssignmentMark_init_$Create$(seen1, averageScore, averagePenalty, serializationConstructorMarker) {
    return AverageCourseAssignmentMark_init_$Init$(seen1, averageScore, averagePenalty, serializationConstructorMarker, objectCreate(protoOf(AverageCourseAssignmentMark)));
  }
  function AverageCourseAssignmentMark() {
    Companion_getInstance_46();
    this.averageScore_1 = 0.0;
    this.averagePenalty_1 = 0;
  }
  protoOf(AverageCourseAssignmentMark).set_averageScore_9emdai_k$ = function (_set____db54di) {
    this.averageScore_1 = _set____db54di;
  };
  protoOf(AverageCourseAssignmentMark).get_averageScore_ov15fi_k$ = function () {
    return this.averageScore_1;
  };
  protoOf(AverageCourseAssignmentMark).set_averagePenalty_87iz7l_k$ = function (_set____db54di) {
    this.averagePenalty_1 = _set____db54di;
  };
  protoOf(AverageCourseAssignmentMark).get_averagePenalty_h42i4r_k$ = function () {
    return this.averagePenalty_1;
  };
  protoOf(AverageCourseAssignmentMark).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof AverageCourseAssignmentMark))
      return false;
    if (!(this.averageScore_1 === other.averageScore_1))
      return false;
    if (!(this.averagePenalty_1 === other.averagePenalty_1))
      return false;
    return true;
  };
  protoOf(AverageCourseAssignmentMark).hashCode = function () {
    var result = getNumberHashCode(this.averageScore_1);
    result = imul(31, result) + this.averagePenalty_1 | 0;
    return result;
  };
  function Companion_45() {
    Companion_instance_45 = this;
    this.STATUS_PENDING_CREATION_1 = 1;
    this.STATUS_CREATED_1 = 2;
    this.STATUS_PENDING_DELETE_1 = 3;
    this.STATUS_ERROR_1 = 4;
    this.TYPE_SERVER_RETENTION_1 = 1;
    this.TYPE_OFFLINE_ITEM_1 = 2;
  }
  protoOf(Companion_45).get_STATUS_PENDING_CREATION_qws8rv_k$ = function () {
    return this.STATUS_PENDING_CREATION_1;
  };
  protoOf(Companion_45).get_STATUS_CREATED_6iky9o_k$ = function () {
    return this.STATUS_CREATED_1;
  };
  protoOf(Companion_45).get_STATUS_PENDING_DELETE_jcrikp_k$ = function () {
    return this.STATUS_PENDING_DELETE_1;
  };
  protoOf(Companion_45).get_STATUS_ERROR_r2qxes_k$ = function () {
    return this.STATUS_ERROR_1;
  };
  protoOf(Companion_45).get_TYPE_SERVER_RETENTION_uogaf6_k$ = function () {
    return this.TYPE_SERVER_RETENTION_1;
  };
  protoOf(Companion_45).get_TYPE_OFFLINE_ITEM_53hpvv_k$ = function () {
    return this.TYPE_OFFLINE_ITEM_1;
  };
  var Companion_instance_45;
  function Companion_getInstance_47() {
    if (Companion_instance_45 == null)
      new Companion_45();
    return Companion_instance_45;
  }
  function CacheLockJoin(cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid) {
    Companion_getInstance_47();
    cljId = cljId === VOID ? 0 : cljId;
    cljTableId = cljTableId === VOID ? 0 : cljTableId;
    cljEntityUid = cljEntityUid === VOID ? new Long(0, 0) : cljEntityUid;
    cljUrl = cljUrl === VOID ? '' : cljUrl;
    cljLockId = cljLockId === VOID ? new Long(0, 0) : cljLockId;
    cljStatus = cljStatus === VOID ? 0 : cljStatus;
    cljType = cljType === VOID ? 0 : cljType;
    cljOiUid = cljOiUid === VOID ? new Long(0, 0) : cljOiUid;
    this.cljId_1 = cljId;
    this.cljTableId_1 = cljTableId;
    this.cljEntityUid_1 = cljEntityUid;
    this.cljUrl_1 = cljUrl;
    this.cljLockId_1 = cljLockId;
    this.cljStatus_1 = cljStatus;
    this.cljType_1 = cljType;
    this.cljOiUid_1 = cljOiUid;
  }
  protoOf(CacheLockJoin).set_cljId_qcjql3_k$ = function (_set____db54di) {
    this.cljId_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljId_ips9gz_k$ = function () {
    return this.cljId_1;
  };
  protoOf(CacheLockJoin).set_cljTableId_9xvs59_k$ = function (_set____db54di) {
    this.cljTableId_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljTableId_fyqczz_k$ = function () {
    return this.cljTableId_1;
  };
  protoOf(CacheLockJoin).set_cljEntityUid_s4inn9_k$ = function (_set____db54di) {
    this.cljEntityUid_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljEntityUid_l5u2z9_k$ = function () {
    return this.cljEntityUid_1;
  };
  protoOf(CacheLockJoin).set_cljUrl_wt3f0s_k$ = function (_set____db54di) {
    this.cljUrl_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljUrl_byfz4n_k$ = function () {
    return this.cljUrl_1;
  };
  protoOf(CacheLockJoin).set_cljLockId_of2o18_k$ = function (_set____db54di) {
    this.cljLockId_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljLockId_k4ljeq_k$ = function () {
    return this.cljLockId_1;
  };
  protoOf(CacheLockJoin).set_cljStatus_9olbm6_k$ = function (_set____db54di) {
    this.cljStatus_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljStatus_gqk9x2_k$ = function () {
    return this.cljStatus_1;
  };
  protoOf(CacheLockJoin).set_cljType_t4jady_k$ = function (_set____db54di) {
    this.cljType_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljType_fi6hhu_k$ = function () {
    return this.cljType_1;
  };
  protoOf(CacheLockJoin).set_cljOiUid_tqx2s4_k$ = function (_set____db54di) {
    this.cljOiUid_1 = _set____db54di;
  };
  protoOf(CacheLockJoin).get_cljOiUid_gn922q_k$ = function () {
    return this.cljOiUid_1;
  };
  protoOf(CacheLockJoin).component1_7eebsc_k$ = function () {
    return this.cljId_1;
  };
  protoOf(CacheLockJoin).component2_7eebsb_k$ = function () {
    return this.cljTableId_1;
  };
  protoOf(CacheLockJoin).component3_7eebsa_k$ = function () {
    return this.cljEntityUid_1;
  };
  protoOf(CacheLockJoin).component4_7eebs9_k$ = function () {
    return this.cljUrl_1;
  };
  protoOf(CacheLockJoin).component5_7eebs8_k$ = function () {
    return this.cljLockId_1;
  };
  protoOf(CacheLockJoin).component6_7eebs7_k$ = function () {
    return this.cljStatus_1;
  };
  protoOf(CacheLockJoin).component7_7eebs6_k$ = function () {
    return this.cljType_1;
  };
  protoOf(CacheLockJoin).component8_7eebs5_k$ = function () {
    return this.cljOiUid_1;
  };
  protoOf(CacheLockJoin).copy_rn9fce_k$ = function (cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid) {
    return new CacheLockJoin(cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid);
  };
  protoOf(CacheLockJoin).copy$default_7r1zug_k$ = function (cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid, $super) {
    cljId = cljId === VOID ? this.cljId_1 : cljId;
    cljTableId = cljTableId === VOID ? this.cljTableId_1 : cljTableId;
    cljEntityUid = cljEntityUid === VOID ? this.cljEntityUid_1 : cljEntityUid;
    cljUrl = cljUrl === VOID ? this.cljUrl_1 : cljUrl;
    cljLockId = cljLockId === VOID ? this.cljLockId_1 : cljLockId;
    cljStatus = cljStatus === VOID ? this.cljStatus_1 : cljStatus;
    cljType = cljType === VOID ? this.cljType_1 : cljType;
    cljOiUid = cljOiUid === VOID ? this.cljOiUid_1 : cljOiUid;
    return $super === VOID ? this.copy_rn9fce_k$(cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid) : $super.copy_rn9fce_k$.call(this, cljId, cljTableId, cljEntityUid, cljUrl, cljLockId, cljStatus, cljType, cljOiUid);
  };
  protoOf(CacheLockJoin).toString = function () {
    return 'CacheLockJoin(cljId=' + this.cljId_1 + ', cljTableId=' + this.cljTableId_1 + ', cljEntityUid=' + this.cljEntityUid_1.toString() + ', cljUrl=' + this.cljUrl_1 + ', cljLockId=' + this.cljLockId_1.toString() + ', cljStatus=' + this.cljStatus_1 + ', cljType=' + this.cljType_1 + ', cljOiUid=' + this.cljOiUid_1.toString() + ')';
  };
  protoOf(CacheLockJoin).hashCode = function () {
    var result = this.cljId_1;
    result = imul(result, 31) + this.cljTableId_1 | 0;
    result = imul(result, 31) + this.cljEntityUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.cljUrl_1 == null ? 0 : getStringHashCode(this.cljUrl_1)) | 0;
    result = imul(result, 31) + this.cljLockId_1.hashCode() | 0;
    result = imul(result, 31) + this.cljStatus_1 | 0;
    result = imul(result, 31) + this.cljType_1 | 0;
    result = imul(result, 31) + this.cljOiUid_1.hashCode() | 0;
    return result;
  };
  protoOf(CacheLockJoin).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CacheLockJoin))
      return false;
    var tmp0_other_with_cast = other instanceof CacheLockJoin ? other : THROW_CCE();
    if (!(this.cljId_1 === tmp0_other_with_cast.cljId_1))
      return false;
    if (!(this.cljTableId_1 === tmp0_other_with_cast.cljTableId_1))
      return false;
    if (!this.cljEntityUid_1.equals(tmp0_other_with_cast.cljEntityUid_1))
      return false;
    if (!(this.cljUrl_1 == tmp0_other_with_cast.cljUrl_1))
      return false;
    if (!this.cljLockId_1.equals(tmp0_other_with_cast.cljLockId_1))
      return false;
    if (!(this.cljStatus_1 === tmp0_other_with_cast.cljStatus_1))
      return false;
    if (!(this.cljType_1 === tmp0_other_with_cast.cljType_1))
      return false;
    if (!this.cljOiUid_1.equals(tmp0_other_with_cast.cljOiUid_1))
      return false;
    return true;
  };
  function Clazz_init_$Init$(clazzName, $this) {
    Clazz.call($this);
    $this.clazzName_1 = clazzName;
    $this.clazzFeatures_1 = new Long(13, 0);
    $this.isClazzActive_1 = true;
    return $this;
  }
  function Clazz_init_$Create$(clazzName) {
    return Clazz_init_$Init$(clazzName, objectCreate(protoOf(Clazz)));
  }
  function Clazz_init_$Init$_0(clazzName, clazzLocationUid, $this) {
    Clazz.call($this);
    $this.clazzName_1 = clazzName;
    $this.clazzLocationUid_1 = clazzLocationUid;
    $this.clazzFeatures_1 = new Long(13, 0);
    $this.isClazzActive_1 = true;
    return $this;
  }
  function Clazz_init_$Create$_0(clazzName, clazzLocationUid) {
    return Clazz_init_$Init$_0(clazzName, clazzLocationUid, objectCreate(protoOf(Clazz)));
  }
  function Companion_46() {
    Companion_instance_46 = this;
    this.TABLE_ID_1 = 6;
    this.CLAZZ_FEATURE_ATTENDANCE_1 = new Long(1, 0);
    this.CLAZZ_FEATURE_ACTIVITY_1 = new Long(4, 0);
    this.CLAZZ_FEATURE_CLAZZ_ASSIGNMENT_1 = new Long(8, 0);
    this.CLAZZ_CODE_DEFAULT_LENGTH_1 = 6;
    this.CLAZZ_ENROLMENT_POLICY_WITH_LINK_1 = 100;
    this.CLAZZ_ENROLMENT_POLICY_OPEN_1 = 102;
  }
  protoOf(Companion_46).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_46).get_CLAZZ_FEATURE_ATTENDANCE_h2pzj6_k$ = function () {
    return this.CLAZZ_FEATURE_ATTENDANCE_1;
  };
  protoOf(Companion_46).get_CLAZZ_FEATURE_ACTIVITY_9zyb9k_k$ = function () {
    return this.CLAZZ_FEATURE_ACTIVITY_1;
  };
  protoOf(Companion_46).get_CLAZZ_FEATURE_CLAZZ_ASSIGNMENT_jbroh9_k$ = function () {
    return this.CLAZZ_FEATURE_CLAZZ_ASSIGNMENT_1;
  };
  protoOf(Companion_46).get_CLAZZ_CODE_DEFAULT_LENGTH_c26xga_k$ = function () {
    return this.CLAZZ_CODE_DEFAULT_LENGTH_1;
  };
  protoOf(Companion_46).get_CLAZZ_ENROLMENT_POLICY_WITH_LINK_w5gw29_k$ = function () {
    return this.CLAZZ_ENROLMENT_POLICY_WITH_LINK_1;
  };
  protoOf(Companion_46).get_CLAZZ_ENROLMENT_POLICY_OPEN_3ryjuc_k$ = function () {
    return this.CLAZZ_ENROLMENT_POLICY_OPEN_1;
  };
  protoOf(Companion_46).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_44();
  };
  var Companion_instance_46;
  function Companion_getInstance_48() {
    if (Companion_instance_46 == null)
      new Companion_46();
    return Companion_instance_46;
  }
  function $serializer_44() {
    $serializer_instance_44 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Clazz', this, 25);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzDesc', true);
    tmp0_serialDesc.addElement_5pzumi_k$('attendanceAverage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzHolidayUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzScheuleUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('isClazzActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocationUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEndTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzFeatures', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzSchoolUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPolicy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTerminologyUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTimeZone', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTeachersPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzPendingStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzParentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzCode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzOwnerPersonUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_44).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_44).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_44).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = 0.0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = null;
    var tmp23_local19 = new Long(0, 0);
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = new Long(0, 0);
    var tmp27_local23 = null;
    var tmp28_local24 = new Long(0, 0);
    var tmp29_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp29_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp29_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp29_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp29_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp29_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp29_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp29_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp29_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp29_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp29_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp29_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp29_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp29_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Clazz_init_$Create$_1(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, null);
  };
  protoOf($serializer_44).serialize_ooucsq_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.clazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.clazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.clazzName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.clazzName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.clazzDesc_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.clazzDesc_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !equals(value.attendanceAverage_1, -1.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 3, value.attendanceAverage_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.clazzHolidayUMCalendarUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.clazzHolidayUMCalendarUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.clazzScheuleUMCalendarUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.clazzScheuleUMCalendarUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.isClazzActive_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.isClazzActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.clazzLocationUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.clazzLocationUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.clazzStartTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.clazzStartTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.clazzEndTime_1.equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.clazzEndTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.clazzFeatures_1.equals(new Long(1, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.clazzFeatures_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.clazzSchoolUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.clazzSchoolUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.clazzEnrolmentPolicy_1 === 102)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.clazzEnrolmentPolicy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.clazzTerminologyUid_1.equals(new Long(25966, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.clazzTerminologyUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !value.clazzMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 14, value.clazzMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !value.clazzLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 15, value.clazzLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.clazzLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 16, value.clazzLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !value.clazzLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 17, value.clazzLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.clazzTimeZone_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 18, StringSerializer_getInstance(), value.clazzTimeZone_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !value.clazzStudentsPersonGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 19, value.clazzStudentsPersonGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !value.clazzTeachersPersonGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 20, value.clazzTeachersPersonGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.clazzPendingStudentsPersonGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.clazzPendingStudentsPersonGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !value.clazzParentsPersonGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 22, value.clazzParentsPersonGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !(value.clazzCode_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 23, StringSerializer_getInstance(), value.clazzCode_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 24) ? true : !value.clazzOwnerPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 24, value.clazzOwnerPersonUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_44).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_ooucsq_k$(encoder, value instanceof Clazz ? value : THROW_CCE());
  };
  var $serializer_instance_44;
  function $serializer_getInstance_44() {
    if ($serializer_instance_44 == null)
      new $serializer_44();
    return $serializer_instance_44;
  }
  function Clazz_init_$Init$_1(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_44().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzUid_1 = new Long(0, 0);
    else
      $this.clazzUid_1 = clazzUid;
    if (0 === (seen1 & 2))
      $this.clazzName_1 = null;
    else
      $this.clazzName_1 = clazzName;
    if (0 === (seen1 & 4))
      $this.clazzDesc_1 = null;
    else
      $this.clazzDesc_1 = clazzDesc;
    if (0 === (seen1 & 8))
      $this.attendanceAverage_1 = -1.0;
    else
      $this.attendanceAverage_1 = attendanceAverage;
    if (0 === (seen1 & 16))
      $this.clazzHolidayUMCalendarUid_1 = new Long(0, 0);
    else
      $this.clazzHolidayUMCalendarUid_1 = clazzHolidayUMCalendarUid;
    if (0 === (seen1 & 32))
      $this.clazzScheuleUMCalendarUid_1 = new Long(0, 0);
    else
      $this.clazzScheuleUMCalendarUid_1 = clazzScheuleUMCalendarUid;
    if (0 === (seen1 & 64))
      $this.isClazzActive_1 = false;
    else
      $this.isClazzActive_1 = isClazzActive;
    if (0 === (seen1 & 128))
      $this.clazzLocationUid_1 = new Long(0, 0);
    else
      $this.clazzLocationUid_1 = clazzLocationUid;
    if (0 === (seen1 & 256))
      $this.clazzStartTime_1 = new Long(0, 0);
    else
      $this.clazzStartTime_1 = clazzStartTime;
    if (0 === (seen1 & 512))
      $this.clazzEndTime_1 = Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$();
    else
      $this.clazzEndTime_1 = clazzEndTime;
    if (0 === (seen1 & 1024))
      $this.clazzFeatures_1 = new Long(1, 0);
    else
      $this.clazzFeatures_1 = clazzFeatures;
    if (0 === (seen1 & 2048))
      $this.clazzSchoolUid_1 = new Long(0, 0);
    else
      $this.clazzSchoolUid_1 = clazzSchoolUid;
    if (0 === (seen1 & 4096))
      $this.clazzEnrolmentPolicy_1 = 102;
    else
      $this.clazzEnrolmentPolicy_1 = clazzEnrolmentPolicy;
    if (0 === (seen1 & 8192))
      $this.clazzTerminologyUid_1 = new Long(25966, 0);
    else
      $this.clazzTerminologyUid_1 = clazzTerminologyUid;
    if (0 === (seen1 & 16384))
      $this.clazzMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.clazzMasterChangeSeqNum_1 = clazzMasterChangeSeqNum;
    if (0 === (seen1 & 32768))
      $this.clazzLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.clazzLocalChangeSeqNum_1 = clazzLocalChangeSeqNum;
    if (0 === (seen1 & 65536))
      $this.clazzLastChangedBy_1 = 0;
    else
      $this.clazzLastChangedBy_1 = clazzLastChangedBy;
    if (0 === (seen1 & 131072))
      $this.clazzLct_1 = new Long(0, 0);
    else
      $this.clazzLct_1 = clazzLct;
    if (0 === (seen1 & 262144))
      $this.clazzTimeZone_1 = null;
    else
      $this.clazzTimeZone_1 = clazzTimeZone;
    if (0 === (seen1 & 524288))
      $this.clazzStudentsPersonGroupUid_1 = new Long(0, 0);
    else
      $this.clazzStudentsPersonGroupUid_1 = clazzStudentsPersonGroupUid;
    if (0 === (seen1 & 1048576))
      $this.clazzTeachersPersonGroupUid_1 = new Long(0, 0);
    else
      $this.clazzTeachersPersonGroupUid_1 = clazzTeachersPersonGroupUid;
    if (0 === (seen1 & 2097152))
      $this.clazzPendingStudentsPersonGroupUid_1 = new Long(0, 0);
    else
      $this.clazzPendingStudentsPersonGroupUid_1 = clazzPendingStudentsPersonGroupUid;
    if (0 === (seen1 & 4194304))
      $this.clazzParentsPersonGroupUid_1 = new Long(0, 0);
    else
      $this.clazzParentsPersonGroupUid_1 = clazzParentsPersonGroupUid;
    if (0 === (seen1 & 8388608))
      $this.clazzCode_1 = null;
    else
      $this.clazzCode_1 = clazzCode;
    if (0 === (seen1 & 16777216))
      $this.clazzOwnerPersonUid_1 = new Long(0, 0);
    else
      $this.clazzOwnerPersonUid_1 = clazzOwnerPersonUid;
    return $this;
  }
  function Clazz_init_$Create$_1(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker) {
    return Clazz_init_$Init$_1(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, objectCreate(protoOf(Clazz)));
  }
  function Clazz() {
    Companion_getInstance_48();
    this.clazzUid_1 = new Long(0, 0);
    this.clazzName_1 = null;
    this.clazzDesc_1 = null;
    this.attendanceAverage_1 = -1.0;
    this.clazzHolidayUMCalendarUid_1 = new Long(0, 0);
    this.clazzScheuleUMCalendarUid_1 = new Long(0, 0);
    this.isClazzActive_1 = false;
    this.clazzLocationUid_1 = new Long(0, 0);
    this.clazzStartTime_1 = new Long(0, 0);
    this.clazzEndTime_1 = Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$();
    this.clazzFeatures_1 = new Long(1, 0);
    this.clazzSchoolUid_1 = new Long(0, 0);
    this.clazzEnrolmentPolicy_1 = 102;
    this.clazzTerminologyUid_1 = new Long(25966, 0);
    this.clazzMasterChangeSeqNum_1 = new Long(0, 0);
    this.clazzLocalChangeSeqNum_1 = new Long(0, 0);
    this.clazzLastChangedBy_1 = 0;
    this.clazzLct_1 = new Long(0, 0);
    this.clazzTimeZone_1 = null;
    this.clazzStudentsPersonGroupUid_1 = new Long(0, 0);
    this.clazzTeachersPersonGroupUid_1 = new Long(0, 0);
    this.clazzPendingStudentsPersonGroupUid_1 = new Long(0, 0);
    this.clazzParentsPersonGroupUid_1 = new Long(0, 0);
    this.clazzCode_1 = null;
    this.clazzOwnerPersonUid_1 = new Long(0, 0);
  }
  protoOf(Clazz).set_clazzUid_tlygrb_k$ = function (_set____db54di) {
    this.clazzUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzUid_k8pnbz_k$ = function () {
    return this.clazzUid_1;
  };
  protoOf(Clazz).set_clazzName_aqdmvj_k$ = function (_set____db54di) {
    this.clazzName_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzName_brsrx6_k$ = function () {
    return this.clazzName_1;
  };
  protoOf(Clazz).set_clazzDesc_gezt3p_k$ = function (_set____db54di) {
    this.clazzDesc_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzDesc_brmh5s_k$ = function () {
    return this.clazzDesc_1;
  };
  protoOf(Clazz).set_attendanceAverage_9una4v_k$ = function (_set____db54di) {
    this.attendanceAverage_1 = _set____db54di;
  };
  protoOf(Clazz).get_attendanceAverage_q3uit1_k$ = function () {
    return this.attendanceAverage_1;
  };
  protoOf(Clazz).set_clazzHolidayUMCalendarUid_fam2pr_k$ = function (_set____db54di) {
    this.clazzHolidayUMCalendarUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzHolidayUMCalendarUid_diy12p_k$ = function () {
    return this.clazzHolidayUMCalendarUid_1;
  };
  protoOf(Clazz).set_clazzScheuleUMCalendarUid_f0khzq_k$ = function (_set____db54di) {
    this.clazzScheuleUMCalendarUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzScheuleUMCalendarUid_pyne08_k$ = function () {
    return this.clazzScheuleUMCalendarUid_1;
  };
  protoOf(Clazz).set_isClazzActive_e2j2e6_k$ = function (_set____db54di) {
    this.isClazzActive_1 = _set____db54di;
  };
  protoOf(Clazz).get_isClazzActive_pdk9bp_k$ = function () {
    return this.isClazzActive_1;
  };
  protoOf(Clazz).set_clazzLocationUid_s7jxfi_k$ = function (_set____db54di) {
    this.clazzLocationUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzLocationUid_64jec4_k$ = function () {
    return this.clazzLocationUid_1;
  };
  protoOf(Clazz).set_clazzStartTime_dq8pme_k$ = function (_set____db54di) {
    this.clazzStartTime_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzStartTime_lc1vds_k$ = function () {
    return this.clazzStartTime_1;
  };
  protoOf(Clazz).set_clazzEndTime_yahlip_k$ = function (_set____db54di) {
    this.clazzEndTime_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzEndTime_sxjf8n_k$ = function () {
    return this.clazzEndTime_1;
  };
  protoOf(Clazz).set_clazzFeatures_ypnqy_k$ = function (_set____db54di) {
    this.clazzFeatures_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzFeatures_6nf4ac_k$ = function () {
    return this.clazzFeatures_1;
  };
  protoOf(Clazz).set_clazzSchoolUid_sau1vh_k$ = function (_set____db54di) {
    this.clazzSchoolUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzSchoolUid_g4bglp_k$ = function () {
    return this.clazzSchoolUid_1;
  };
  protoOf(Clazz).set_clazzEnrolmentPolicy_gowgj1_k$ = function (_set____db54di) {
    this.clazzEnrolmentPolicy_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzEnrolmentPolicy_pv7kzr_k$ = function () {
    return this.clazzEnrolmentPolicy_1;
  };
  protoOf(Clazz).set_clazzTerminologyUid_3itmsa_k$ = function (_set____db54di) {
    this.clazzTerminologyUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzTerminologyUid_4xpw4_k$ = function () {
    return this.clazzTerminologyUid_1;
  };
  protoOf(Clazz).set_clazzMasterChangeSeqNum_tt8ty_k$ = function (_set____db54di) {
    this.clazzMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzMasterChangeSeqNum_7fn794_k$ = function () {
    return this.clazzMasterChangeSeqNum_1;
  };
  protoOf(Clazz).set_clazzLocalChangeSeqNum_l29zef_k$ = function (_set____db54di) {
    this.clazzLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzLocalChangeSeqNum_9hlwk3_k$ = function () {
    return this.clazzLocalChangeSeqNum_1;
  };
  protoOf(Clazz).set_clazzLastChangedBy_g3060i_k$ = function (_set____db54di) {
    this.clazzLastChangedBy_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzLastChangedBy_wnz9za_k$ = function () {
    return this.clazzLastChangedBy_1;
  };
  protoOf(Clazz).set_clazzLct_l8nosk_k$ = function (_set____db54di) {
    this.clazzLct_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzLct_k8pu4y_k$ = function () {
    return this.clazzLct_1;
  };
  protoOf(Clazz).set_clazzTimeZone_h8a7dv_k$ = function (_set____db54di) {
    this.clazzTimeZone_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzTimeZone_yu1krs_k$ = function () {
    return this.clazzTimeZone_1;
  };
  protoOf(Clazz).set_clazzStudentsPersonGroupUid_d6byqt_k$ = function (_set____db54di) {
    this.clazzStudentsPersonGroupUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzStudentsPersonGroupUid_myynpp_k$ = function () {
    return this.clazzStudentsPersonGroupUid_1;
  };
  protoOf(Clazz).set_clazzTeachersPersonGroupUid_go0bzo_k$ = function (_set____db54di) {
    this.clazzTeachersPersonGroupUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzTeachersPersonGroupUid_5xdfqy_k$ = function () {
    return this.clazzTeachersPersonGroupUid_1;
  };
  protoOf(Clazz).set_clazzPendingStudentsPersonGroupUid_6q00t8_k$ = function (_set____db54di) {
    this.clazzPendingStudentsPersonGroupUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzPendingStudentsPersonGroupUid_4kclja_k$ = function () {
    return this.clazzPendingStudentsPersonGroupUid_1;
  };
  protoOf(Clazz).set_clazzParentsPersonGroupUid_l527ti_k$ = function (_set____db54di) {
    this.clazzParentsPersonGroupUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzParentsPersonGroupUid_gibku8_k$ = function () {
    return this.clazzParentsPersonGroupUid_1;
  };
  protoOf(Clazz).set_clazzCode_xzrrf3_k$ = function (_set____db54di) {
    this.clazzCode_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzCode_brm18c_k$ = function () {
    return this.clazzCode_1;
  };
  protoOf(Clazz).set_clazzOwnerPersonUid_jbv4ez_k$ = function (_set____db54di) {
    this.clazzOwnerPersonUid_1 = _set____db54di;
  };
  protoOf(Clazz).get_clazzOwnerPersonUid_iplxz_k$ = function () {
    return this.clazzOwnerPersonUid_1;
  };
  protoOf(Clazz).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Clazz))
      return false;
    if (!this.clazzUid_1.equals(other.clazzUid_1))
      return false;
    if (!(this.clazzName_1 == other.clazzName_1))
      return false;
    if (!(this.clazzDesc_1 == other.clazzDesc_1))
      return false;
    if (!(this.attendanceAverage_1 === other.attendanceAverage_1))
      return false;
    if (!this.clazzHolidayUMCalendarUid_1.equals(other.clazzHolidayUMCalendarUid_1))
      return false;
    if (!this.clazzScheuleUMCalendarUid_1.equals(other.clazzScheuleUMCalendarUid_1))
      return false;
    if (!(this.isClazzActive_1 === other.isClazzActive_1))
      return false;
    if (!this.clazzLocationUid_1.equals(other.clazzLocationUid_1))
      return false;
    if (!this.clazzStartTime_1.equals(other.clazzStartTime_1))
      return false;
    if (!this.clazzEndTime_1.equals(other.clazzEndTime_1))
      return false;
    if (!this.clazzFeatures_1.equals(other.clazzFeatures_1))
      return false;
    if (!this.clazzSchoolUid_1.equals(other.clazzSchoolUid_1))
      return false;
    if (!(this.clazzEnrolmentPolicy_1 === other.clazzEnrolmentPolicy_1))
      return false;
    if (!this.clazzTerminologyUid_1.equals(other.clazzTerminologyUid_1))
      return false;
    if (!this.clazzMasterChangeSeqNum_1.equals(other.clazzMasterChangeSeqNum_1))
      return false;
    if (!this.clazzLocalChangeSeqNum_1.equals(other.clazzLocalChangeSeqNum_1))
      return false;
    if (!(this.clazzLastChangedBy_1 === other.clazzLastChangedBy_1))
      return false;
    if (!this.clazzLct_1.equals(other.clazzLct_1))
      return false;
    if (!(this.clazzTimeZone_1 == other.clazzTimeZone_1))
      return false;
    if (!this.clazzStudentsPersonGroupUid_1.equals(other.clazzStudentsPersonGroupUid_1))
      return false;
    if (!this.clazzTeachersPersonGroupUid_1.equals(other.clazzTeachersPersonGroupUid_1))
      return false;
    if (!this.clazzPendingStudentsPersonGroupUid_1.equals(other.clazzPendingStudentsPersonGroupUid_1))
      return false;
    if (!this.clazzParentsPersonGroupUid_1.equals(other.clazzParentsPersonGroupUid_1))
      return false;
    if (!(this.clazzCode_1 == other.clazzCode_1))
      return false;
    return true;
  };
  protoOf(Clazz).hashCode = function () {
    var result = this.clazzUid_1.hashCode();
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.clazzName_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.clazzDesc_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    result = imul(31, result) + getNumberHashCode(this.attendanceAverage_1) | 0;
    result = imul(31, result) + this.clazzHolidayUMCalendarUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzScheuleUMCalendarUid_1.hashCode() | 0;
    result = imul(31, result) + getBooleanHashCode(this.isClazzActive_1) | 0;
    result = imul(31, result) + this.clazzLocationUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzStartTime_1.hashCode() | 0;
    result = imul(31, result) + this.clazzEndTime_1.hashCode() | 0;
    result = imul(31, result) + this.clazzFeatures_1.hashCode() | 0;
    result = imul(31, result) + this.clazzSchoolUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzEnrolmentPolicy_1 | 0;
    result = imul(31, result) + this.clazzTerminologyUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLastChangedBy_1 | 0;
    result = imul(31, result) + this.clazzLct_1.hashCode() | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.clazzTimeZone_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    result = imul(31, result) + this.clazzStudentsPersonGroupUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzTeachersPersonGroupUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzPendingStudentsPersonGroupUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzParentsPersonGroupUid_1.hashCode() | 0;
    var tmp_2 = imul(31, result);
    var tmp6_safe_receiver = this.clazzCode_1;
    var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : getStringHashCode(tmp6_safe_receiver);
    result = tmp_2 + (tmp7_elvis_lhs == null ? 0 : tmp7_elvis_lhs) | 0;
    return result;
  };
  function Companion_47() {
    Companion_instance_47 = this;
    this.TABLE_ID_1 = 520;
    this.SUBMISSION_POLICY_SUBMIT_ALL_AT_ONCE_1 = 1;
    this.SUBMISSION_POLICY_MULTIPLE_ALLOWED_1 = 2;
    this.MARKED_BY_COURSE_LEADER_1 = 1;
    this.MARKED_BY_PEERS_1 = 2;
    this.FILE_TYPE_ANY_1 = 0;
    this.FILE_TYPE_DOC_1 = 1;
    this.FILE_TYPE_IMAGE_1 = 2;
    this.FILE_TYPE_VIDEO_1 = 3;
    this.FILE_TYPE_AUDIO_1 = 4;
    this.TEXT_WORD_LIMIT_1 = 1;
    this.TEXT_CHAR_LIMIT_1 = 2;
    this.COMPLETION_CRITERIA_SUBMIT_1 = 100;
    this.COMPLETION_CRITERIA_GRADED_1 = 102;
  }
  protoOf(Companion_47).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_47).get_SUBMISSION_POLICY_SUBMIT_ALL_AT_ONCE_iohkb_k$ = function () {
    return this.SUBMISSION_POLICY_SUBMIT_ALL_AT_ONCE_1;
  };
  protoOf(Companion_47).get_SUBMISSION_POLICY_MULTIPLE_ALLOWED_u89h7g_k$ = function () {
    return this.SUBMISSION_POLICY_MULTIPLE_ALLOWED_1;
  };
  protoOf(Companion_47).get_MARKED_BY_COURSE_LEADER_54s4gf_k$ = function () {
    return this.MARKED_BY_COURSE_LEADER_1;
  };
  protoOf(Companion_47).get_MARKED_BY_PEERS_w4tbtf_k$ = function () {
    return this.MARKED_BY_PEERS_1;
  };
  protoOf(Companion_47).get_FILE_TYPE_ANY_ykm0sh_k$ = function () {
    return this.FILE_TYPE_ANY_1;
  };
  protoOf(Companion_47).get_FILE_TYPE_DOC_ykm30t_k$ = function () {
    return this.FILE_TYPE_DOC_1;
  };
  protoOf(Companion_47).get_FILE_TYPE_IMAGE_i4haog_k$ = function () {
    return this.FILE_TYPE_IMAGE_1;
  };
  protoOf(Companion_47).get_FILE_TYPE_VIDEO_hxegq8_k$ = function () {
    return this.FILE_TYPE_VIDEO_1;
  };
  protoOf(Companion_47).get_FILE_TYPE_AUDIO_i8qh91_k$ = function () {
    return this.FILE_TYPE_AUDIO_1;
  };
  protoOf(Companion_47).get_TEXT_WORD_LIMIT_v2fc7j_k$ = function () {
    return this.TEXT_WORD_LIMIT_1;
  };
  protoOf(Companion_47).get_TEXT_CHAR_LIMIT_kt4qmz_k$ = function () {
    return this.TEXT_CHAR_LIMIT_1;
  };
  protoOf(Companion_47).get_COMPLETION_CRITERIA_SUBMIT_f0aleq_k$ = function () {
    return this.COMPLETION_CRITERIA_SUBMIT_1;
  };
  protoOf(Companion_47).get_COMPLETION_CRITERIA_GRADED_kqi9ot_k$ = function () {
    return this.COMPLETION_CRITERIA_GRADED_1;
  };
  protoOf(Companion_47).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_45();
  };
  var Companion_instance_47;
  function Companion_getInstance_49() {
    if (Companion_instance_47 == null)
      new Companion_47();
    return Companion_instance_47;
  }
  function $serializer_45() {
    $serializer_instance_45 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzAssignment', this, 24);
    tmp0_serialDesc.addElement_5pzumi_k$('caUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caDescription', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caClassCommentEnabled', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caPrivateCommentsEnabled', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caCompletionCriteria', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caRequireFileSubmission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caFileType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caSizeLimit', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caNumberOfFiles', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caSubmissionPolicy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caMarkingType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caRequireTextSubmission', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caTextLimitType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caTextLimit', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caXObjectUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caPeerReviewerCount', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('caLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_45).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_45).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_45).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = false;
    var tmp10_local6 = false;
    var tmp11_local7 = 0;
    var tmp12_local8 = false;
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = 0;
    var tmp16_local12 = 0;
    var tmp17_local13 = 0;
    var tmp18_local14 = false;
    var tmp19_local15 = 0;
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = new Long(0, 0);
    var tmp23_local19 = 0;
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp28_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp28_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp28_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzAssignment_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, null);
  };
  protoOf($serializer_45).serialize_1gaw2x_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.caUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.caUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.caTitle_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.caTitle_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.caDescription_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.caDescription_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.caGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.caGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.caActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.caActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.caClassCommentEnabled_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.caClassCommentEnabled_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.caPrivateCommentsEnabled_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.caPrivateCommentsEnabled_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.caCompletionCriteria_1 === 100)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.caCompletionCriteria_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.caRequireFileSubmission_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 8, value.caRequireFileSubmission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.caFileType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.caFileType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.caSizeLimit_1 === 50)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 10, value.caSizeLimit_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.caNumberOfFiles_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 11, value.caNumberOfFiles_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.caSubmissionPolicy_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.caSubmissionPolicy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.caMarkingType_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 13, value.caMarkingType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.caRequireTextSubmission_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 14, value.caRequireTextSubmission_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.caTextLimitType_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 15, value.caTextLimitType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.caTextLimit_1 === 500)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 16, value.caTextLimit_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !value.caXObjectUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 17, value.caXObjectUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !value.caClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 18, value.caClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !(value.caPeerReviewerCount_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 19, value.caPeerReviewerCount_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !value.caLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 20, value.caLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.caMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.caMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !(value.caLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 22, value.caLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !value.caLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 23, value.caLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_45).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_1gaw2x_k$(encoder, value instanceof ClazzAssignment ? value : THROW_CCE());
  };
  var $serializer_instance_45;
  function $serializer_getInstance_45() {
    if ($serializer_instance_45 == null)
      new $serializer_45();
    return $serializer_instance_45;
  }
  function ClazzAssignment_init_$Init$(seen1, caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_45().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.caUid_1 = new Long(0, 0);
    else
      $this.caUid_1 = caUid;
    if (0 === (seen1 & 2))
      $this.caTitle_1 = null;
    else
      $this.caTitle_1 = caTitle;
    if (0 === (seen1 & 4))
      $this.caDescription_1 = null;
    else
      $this.caDescription_1 = caDescription;
    if (0 === (seen1 & 8))
      $this.caGroupUid_1 = new Long(0, 0);
    else
      $this.caGroupUid_1 = caGroupUid;
    if (0 === (seen1 & 16))
      $this.caActive_1 = true;
    else
      $this.caActive_1 = caActive;
    if (0 === (seen1 & 32))
      $this.caClassCommentEnabled_1 = true;
    else
      $this.caClassCommentEnabled_1 = caClassCommentEnabled;
    if (0 === (seen1 & 64))
      $this.caPrivateCommentsEnabled_1 = true;
    else
      $this.caPrivateCommentsEnabled_1 = caPrivateCommentsEnabled;
    if (0 === (seen1 & 128))
      $this.caCompletionCriteria_1 = 100;
    else
      $this.caCompletionCriteria_1 = caCompletionCriteria;
    if (0 === (seen1 & 256))
      $this.caRequireFileSubmission_1 = true;
    else
      $this.caRequireFileSubmission_1 = caRequireFileSubmission;
    if (0 === (seen1 & 512))
      $this.caFileType_1 = 0;
    else
      $this.caFileType_1 = caFileType;
    if (0 === (seen1 & 1024))
      $this.caSizeLimit_1 = 50;
    else
      $this.caSizeLimit_1 = caSizeLimit;
    if (0 === (seen1 & 2048))
      $this.caNumberOfFiles_1 = 1;
    else
      $this.caNumberOfFiles_1 = caNumberOfFiles;
    if (0 === (seen1 & 4096))
      $this.caSubmissionPolicy_1 = 1;
    else
      $this.caSubmissionPolicy_1 = caSubmissionPolicy;
    if (0 === (seen1 & 8192))
      $this.caMarkingType_1 = 1;
    else
      $this.caMarkingType_1 = caMarkingType;
    if (0 === (seen1 & 16384))
      $this.caRequireTextSubmission_1 = true;
    else
      $this.caRequireTextSubmission_1 = caRequireTextSubmission;
    if (0 === (seen1 & 32768))
      $this.caTextLimitType_1 = 1;
    else
      $this.caTextLimitType_1 = caTextLimitType;
    if (0 === (seen1 & 65536))
      $this.caTextLimit_1 = 500;
    else
      $this.caTextLimit_1 = caTextLimit;
    if (0 === (seen1 & 131072))
      $this.caXObjectUid_1 = new Long(0, 0);
    else
      $this.caXObjectUid_1 = caXObjectUid;
    if (0 === (seen1 & 262144))
      $this.caClazzUid_1 = new Long(0, 0);
    else
      $this.caClazzUid_1 = caClazzUid;
    if (0 === (seen1 & 524288))
      $this.caPeerReviewerCount_1 = 0;
    else
      $this.caPeerReviewerCount_1 = caPeerReviewerCount;
    if (0 === (seen1 & 1048576))
      $this.caLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.caLocalChangeSeqNum_1 = caLocalChangeSeqNum;
    if (0 === (seen1 & 2097152))
      $this.caMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.caMasterChangeSeqNum_1 = caMasterChangeSeqNum;
    if (0 === (seen1 & 4194304))
      $this.caLastChangedBy_1 = 0;
    else
      $this.caLastChangedBy_1 = caLastChangedBy;
    if (0 === (seen1 & 8388608))
      $this.caLct_1 = new Long(0, 0);
    else
      $this.caLct_1 = caLct;
    return $this;
  }
  function ClazzAssignment_init_$Create$(seen1, caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct, serializationConstructorMarker) {
    return ClazzAssignment_init_$Init$(seen1, caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct, serializationConstructorMarker, objectCreate(protoOf(ClazzAssignment)));
  }
  function ClazzAssignment(caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) {
    Companion_getInstance_49();
    caUid = caUid === VOID ? new Long(0, 0) : caUid;
    caTitle = caTitle === VOID ? null : caTitle;
    caDescription = caDescription === VOID ? null : caDescription;
    caGroupUid = caGroupUid === VOID ? new Long(0, 0) : caGroupUid;
    caActive = caActive === VOID ? true : caActive;
    caClassCommentEnabled = caClassCommentEnabled === VOID ? true : caClassCommentEnabled;
    caPrivateCommentsEnabled = caPrivateCommentsEnabled === VOID ? true : caPrivateCommentsEnabled;
    caCompletionCriteria = caCompletionCriteria === VOID ? 100 : caCompletionCriteria;
    caRequireFileSubmission = caRequireFileSubmission === VOID ? true : caRequireFileSubmission;
    caFileType = caFileType === VOID ? 0 : caFileType;
    caSizeLimit = caSizeLimit === VOID ? 50 : caSizeLimit;
    caNumberOfFiles = caNumberOfFiles === VOID ? 1 : caNumberOfFiles;
    caSubmissionPolicy = caSubmissionPolicy === VOID ? 1 : caSubmissionPolicy;
    caMarkingType = caMarkingType === VOID ? 1 : caMarkingType;
    caRequireTextSubmission = caRequireTextSubmission === VOID ? true : caRequireTextSubmission;
    caTextLimitType = caTextLimitType === VOID ? 1 : caTextLimitType;
    caTextLimit = caTextLimit === VOID ? 500 : caTextLimit;
    caXObjectUid = caXObjectUid === VOID ? new Long(0, 0) : caXObjectUid;
    caClazzUid = caClazzUid === VOID ? new Long(0, 0) : caClazzUid;
    caPeerReviewerCount = caPeerReviewerCount === VOID ? 0 : caPeerReviewerCount;
    caLocalChangeSeqNum = caLocalChangeSeqNum === VOID ? new Long(0, 0) : caLocalChangeSeqNum;
    caMasterChangeSeqNum = caMasterChangeSeqNum === VOID ? new Long(0, 0) : caMasterChangeSeqNum;
    caLastChangedBy = caLastChangedBy === VOID ? 0 : caLastChangedBy;
    caLct = caLct === VOID ? new Long(0, 0) : caLct;
    this.caUid_1 = caUid;
    this.caTitle_1 = caTitle;
    this.caDescription_1 = caDescription;
    this.caGroupUid_1 = caGroupUid;
    this.caActive_1 = caActive;
    this.caClassCommentEnabled_1 = caClassCommentEnabled;
    this.caPrivateCommentsEnabled_1 = caPrivateCommentsEnabled;
    this.caCompletionCriteria_1 = caCompletionCriteria;
    this.caRequireFileSubmission_1 = caRequireFileSubmission;
    this.caFileType_1 = caFileType;
    this.caSizeLimit_1 = caSizeLimit;
    this.caNumberOfFiles_1 = caNumberOfFiles;
    this.caSubmissionPolicy_1 = caSubmissionPolicy;
    this.caMarkingType_1 = caMarkingType;
    this.caRequireTextSubmission_1 = caRequireTextSubmission;
    this.caTextLimitType_1 = caTextLimitType;
    this.caTextLimit_1 = caTextLimit;
    this.caXObjectUid_1 = caXObjectUid;
    this.caClazzUid_1 = caClazzUid;
    this.caPeerReviewerCount_1 = caPeerReviewerCount;
    this.caLocalChangeSeqNum_1 = caLocalChangeSeqNum;
    this.caMasterChangeSeqNum_1 = caMasterChangeSeqNum;
    this.caLastChangedBy_1 = caLastChangedBy;
    this.caLct_1 = caLct;
  }
  protoOf(ClazzAssignment).set_caUid_qwqlvb_k$ = function (_set____db54di) {
    this.caUid_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caUid_ipktt5_k$ = function () {
    return this.caUid_1;
  };
  protoOf(ClazzAssignment).set_caTitle_3qxfdm_k$ = function (_set____db54di) {
    this.caTitle_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caTitle_9yyh0x_k$ = function () {
    return this.caTitle_1;
  };
  protoOf(ClazzAssignment).set_caDescription_trgpu2_k$ = function (_set____db54di) {
    this.caDescription_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caDescription_8nvpud_k$ = function () {
    return this.caDescription_1;
  };
  protoOf(ClazzAssignment).set_caGroupUid_zfz5m6_k$ = function (_set____db54di) {
    this.caGroupUid_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caGroupUid_zf52s8_k$ = function () {
    return this.caGroupUid_1;
  };
  protoOf(ClazzAssignment).set_caActive_hd63bg_k$ = function (_set____db54di) {
    this.caActive_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caActive_fw2t3h_k$ = function () {
    return this.caActive_1;
  };
  protoOf(ClazzAssignment).set_caClassCommentEnabled_p72yl2_k$ = function (_set____db54di) {
    this.caClassCommentEnabled_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caClassCommentEnabled_cfaj2r_k$ = function () {
    return this.caClassCommentEnabled_1;
  };
  protoOf(ClazzAssignment).set_caPrivateCommentsEnabled_dvommo_k$ = function (_set____db54di) {
    this.caPrivateCommentsEnabled_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caPrivateCommentsEnabled_l0k0vl_k$ = function () {
    return this.caPrivateCommentsEnabled_1;
  };
  protoOf(ClazzAssignment).set_caCompletionCriteria_z3wimm_k$ = function (_set____db54di) {
    this.caCompletionCriteria_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caCompletionCriteria_r0go66_k$ = function () {
    return this.caCompletionCriteria_1;
  };
  protoOf(ClazzAssignment).set_caRequireFileSubmission_9cvgub_k$ = function (_set____db54di) {
    this.caRequireFileSubmission_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caRequireFileSubmission_w8j1mu_k$ = function () {
    return this.caRequireFileSubmission_1;
  };
  protoOf(ClazzAssignment).set_caFileType_gbiz2v_k$ = function (_set____db54di) {
    this.caFileType_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caFileType_evrg7x_k$ = function () {
    return this.caFileType_1;
  };
  protoOf(ClazzAssignment).set_caSizeLimit_8q851l_k$ = function (_set____db54di) {
    this.caSizeLimit_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caSizeLimit_60e6st_k$ = function () {
    return this.caSizeLimit_1;
  };
  protoOf(ClazzAssignment).set_caNumberOfFiles_oglxsc_k$ = function (_set____db54di) {
    this.caNumberOfFiles_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caNumberOfFiles_gm3yhc_k$ = function () {
    return this.caNumberOfFiles_1;
  };
  protoOf(ClazzAssignment).set_caSubmissionPolicy_yxt3u9_k$ = function (_set____db54di) {
    this.caSubmissionPolicy_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caSubmissionPolicy_6vp9k5_k$ = function () {
    return this.caSubmissionPolicy_1;
  };
  protoOf(ClazzAssignment).set_caMarkingType_x9hdas_k$ = function (_set____db54di) {
    this.caMarkingType_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caMarkingType_qumoa0_k$ = function () {
    return this.caMarkingType_1;
  };
  protoOf(ClazzAssignment).set_caRequireTextSubmission_31no36_k$ = function (_set____db54di) {
    this.caRequireTextSubmission_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caRequireTextSubmission_bngh2v_k$ = function () {
    return this.caRequireTextSubmission_1;
  };
  protoOf(ClazzAssignment).set_caTextLimitType_g3o1ut_k$ = function (_set____db54di) {
    this.caTextLimitType_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caTextLimitType_w5xj27_k$ = function () {
    return this.caTextLimitType_1;
  };
  protoOf(ClazzAssignment).set_caTextLimit_j6mogb_k$ = function (_set____db54di) {
    this.caTextLimit_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caTextLimit_vdw8ex_k$ = function () {
    return this.caTextLimit_1;
  };
  protoOf(ClazzAssignment).set_caXObjectUid_q9jbvu_k$ = function (_set____db54di) {
    this.caXObjectUid_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caXObjectUid_w0d8e8_k$ = function () {
    return this.caXObjectUid_1;
  };
  protoOf(ClazzAssignment).set_caClazzUid_5omoyd_k$ = function (_set____db54di) {
    this.caClazzUid_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caClazzUid_wf7rj5_k$ = function () {
    return this.caClazzUid_1;
  };
  protoOf(ClazzAssignment).set_caPeerReviewerCount_w0n7sr_k$ = function (_set____db54di) {
    this.caPeerReviewerCount_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caPeerReviewerCount_xdajq7_k$ = function () {
    return this.caPeerReviewerCount_1;
  };
  protoOf(ClazzAssignment).set_caLocalChangeSeqNum_uzi0dl_k$ = function (_set____db54di) {
    this.caLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caLocalChangeSeqNum_n6lkrf_k$ = function () {
    return this.caLocalChangeSeqNum_1;
  };
  protoOf(ClazzAssignment).set_caMasterChangeSeqNum_jco7hm_k$ = function (_set____db54di) {
    this.caMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caMasterChangeSeqNum_93losg_k$ = function () {
    return this.caMasterChangeSeqNum_1;
  };
  protoOf(ClazzAssignment).set_caLastChangedBy_n7nzqm_k$ = function (_set____db54di) {
    this.caLastChangedBy_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caLastChangedBy_4xab6_k$ = function () {
    return this.caLastChangedBy_1;
  };
  protoOf(ClazzAssignment).set_caLct_ijftwk_k$ = function (_set____db54di) {
    this.caLct_1 = _set____db54di;
  };
  protoOf(ClazzAssignment).get_caLct_ipkn06_k$ = function () {
    return this.caLct_1;
  };
  protoOf(ClazzAssignment).component1_7eebsc_k$ = function () {
    return this.caUid_1;
  };
  protoOf(ClazzAssignment).component2_7eebsb_k$ = function () {
    return this.caTitle_1;
  };
  protoOf(ClazzAssignment).component3_7eebsa_k$ = function () {
    return this.caDescription_1;
  };
  protoOf(ClazzAssignment).component4_7eebs9_k$ = function () {
    return this.caGroupUid_1;
  };
  protoOf(ClazzAssignment).component5_7eebs8_k$ = function () {
    return this.caActive_1;
  };
  protoOf(ClazzAssignment).component6_7eebs7_k$ = function () {
    return this.caClassCommentEnabled_1;
  };
  protoOf(ClazzAssignment).component7_7eebs6_k$ = function () {
    return this.caPrivateCommentsEnabled_1;
  };
  protoOf(ClazzAssignment).component8_7eebs5_k$ = function () {
    return this.caCompletionCriteria_1;
  };
  protoOf(ClazzAssignment).component9_7eebs4_k$ = function () {
    return this.caRequireFileSubmission_1;
  };
  protoOf(ClazzAssignment).component10_gazzfo_k$ = function () {
    return this.caFileType_1;
  };
  protoOf(ClazzAssignment).component11_gazzfn_k$ = function () {
    return this.caSizeLimit_1;
  };
  protoOf(ClazzAssignment).component12_gazzfm_k$ = function () {
    return this.caNumberOfFiles_1;
  };
  protoOf(ClazzAssignment).component13_gazzfl_k$ = function () {
    return this.caSubmissionPolicy_1;
  };
  protoOf(ClazzAssignment).component14_gazzfk_k$ = function () {
    return this.caMarkingType_1;
  };
  protoOf(ClazzAssignment).component15_gazzfj_k$ = function () {
    return this.caRequireTextSubmission_1;
  };
  protoOf(ClazzAssignment).component16_gazzfi_k$ = function () {
    return this.caTextLimitType_1;
  };
  protoOf(ClazzAssignment).component17_gazzfh_k$ = function () {
    return this.caTextLimit_1;
  };
  protoOf(ClazzAssignment).component18_gazzfg_k$ = function () {
    return this.caXObjectUid_1;
  };
  protoOf(ClazzAssignment).component19_gazzff_k$ = function () {
    return this.caClazzUid_1;
  };
  protoOf(ClazzAssignment).component20_gazzet_k$ = function () {
    return this.caPeerReviewerCount_1;
  };
  protoOf(ClazzAssignment).component21_gazzes_k$ = function () {
    return this.caLocalChangeSeqNum_1;
  };
  protoOf(ClazzAssignment).component22_gazzer_k$ = function () {
    return this.caMasterChangeSeqNum_1;
  };
  protoOf(ClazzAssignment).component23_gazzeq_k$ = function () {
    return this.caLastChangedBy_1;
  };
  protoOf(ClazzAssignment).component24_gazzep_k$ = function () {
    return this.caLct_1;
  };
  protoOf(ClazzAssignment).copy_rqxeya_k$ = function (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) {
    return new ClazzAssignment(caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct);
  };
  protoOf(ClazzAssignment).copy$default_tuu5g2_k$ = function (caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct, $super) {
    caUid = caUid === VOID ? this.caUid_1 : caUid;
    caTitle = caTitle === VOID ? this.caTitle_1 : caTitle;
    caDescription = caDescription === VOID ? this.caDescription_1 : caDescription;
    caGroupUid = caGroupUid === VOID ? this.caGroupUid_1 : caGroupUid;
    caActive = caActive === VOID ? this.caActive_1 : caActive;
    caClassCommentEnabled = caClassCommentEnabled === VOID ? this.caClassCommentEnabled_1 : caClassCommentEnabled;
    caPrivateCommentsEnabled = caPrivateCommentsEnabled === VOID ? this.caPrivateCommentsEnabled_1 : caPrivateCommentsEnabled;
    caCompletionCriteria = caCompletionCriteria === VOID ? this.caCompletionCriteria_1 : caCompletionCriteria;
    caRequireFileSubmission = caRequireFileSubmission === VOID ? this.caRequireFileSubmission_1 : caRequireFileSubmission;
    caFileType = caFileType === VOID ? this.caFileType_1 : caFileType;
    caSizeLimit = caSizeLimit === VOID ? this.caSizeLimit_1 : caSizeLimit;
    caNumberOfFiles = caNumberOfFiles === VOID ? this.caNumberOfFiles_1 : caNumberOfFiles;
    caSubmissionPolicy = caSubmissionPolicy === VOID ? this.caSubmissionPolicy_1 : caSubmissionPolicy;
    caMarkingType = caMarkingType === VOID ? this.caMarkingType_1 : caMarkingType;
    caRequireTextSubmission = caRequireTextSubmission === VOID ? this.caRequireTextSubmission_1 : caRequireTextSubmission;
    caTextLimitType = caTextLimitType === VOID ? this.caTextLimitType_1 : caTextLimitType;
    caTextLimit = caTextLimit === VOID ? this.caTextLimit_1 : caTextLimit;
    caXObjectUid = caXObjectUid === VOID ? this.caXObjectUid_1 : caXObjectUid;
    caClazzUid = caClazzUid === VOID ? this.caClazzUid_1 : caClazzUid;
    caPeerReviewerCount = caPeerReviewerCount === VOID ? this.caPeerReviewerCount_1 : caPeerReviewerCount;
    caLocalChangeSeqNum = caLocalChangeSeqNum === VOID ? this.caLocalChangeSeqNum_1 : caLocalChangeSeqNum;
    caMasterChangeSeqNum = caMasterChangeSeqNum === VOID ? this.caMasterChangeSeqNum_1 : caMasterChangeSeqNum;
    caLastChangedBy = caLastChangedBy === VOID ? this.caLastChangedBy_1 : caLastChangedBy;
    caLct = caLct === VOID ? this.caLct_1 : caLct;
    return $super === VOID ? this.copy_rqxeya_k$(caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct) : $super.copy_rqxeya_k$.call(this, caUid, caTitle, caDescription, caGroupUid, caActive, caClassCommentEnabled, caPrivateCommentsEnabled, caCompletionCriteria, caRequireFileSubmission, caFileType, caSizeLimit, caNumberOfFiles, caSubmissionPolicy, caMarkingType, caRequireTextSubmission, caTextLimitType, caTextLimit, caXObjectUid, caClazzUid, caPeerReviewerCount, caLocalChangeSeqNum, caMasterChangeSeqNum, caLastChangedBy, caLct);
  };
  protoOf(ClazzAssignment).toString = function () {
    return 'ClazzAssignment(caUid=' + this.caUid_1.toString() + ', caTitle=' + this.caTitle_1 + ', caDescription=' + this.caDescription_1 + ', caGroupUid=' + this.caGroupUid_1.toString() + ', caActive=' + this.caActive_1 + ', caClassCommentEnabled=' + this.caClassCommentEnabled_1 + ', caPrivateCommentsEnabled=' + this.caPrivateCommentsEnabled_1 + ', caCompletionCriteria=' + this.caCompletionCriteria_1 + ', caRequireFileSubmission=' + this.caRequireFileSubmission_1 + ', caFileType=' + this.caFileType_1 + ', caSizeLimit=' + this.caSizeLimit_1 + ', caNumberOfFiles=' + this.caNumberOfFiles_1 + ', caSubmissionPolicy=' + this.caSubmissionPolicy_1 + ', caMarkingType=' + this.caMarkingType_1 + ', caRequireTextSubmission=' + this.caRequireTextSubmission_1 + ', caTextLimitType=' + this.caTextLimitType_1 + ', caTextLimit=' + this.caTextLimit_1 + ', caXObjectUid=' + this.caXObjectUid_1.toString() + ', caClazzUid=' + this.caClazzUid_1.toString() + ', caPeerReviewerCount=' + this.caPeerReviewerCount_1 + ', caLocalChangeSeqNum=' + this.caLocalChangeSeqNum_1.toString() + ', caMasterChangeSeqNum=' + this.caMasterChangeSeqNum_1.toString() + ', caLastChangedBy=' + this.caLastChangedBy_1 + ', caLct=' + this.caLct_1.toString() + ')';
  };
  protoOf(ClazzAssignment).hashCode = function () {
    var result = this.caUid_1.hashCode();
    result = imul(result, 31) + (this.caTitle_1 == null ? 0 : getStringHashCode(this.caTitle_1)) | 0;
    result = imul(result, 31) + (this.caDescription_1 == null ? 0 : getStringHashCode(this.caDescription_1)) | 0;
    result = imul(result, 31) + this.caGroupUid_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.caActive_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.caClassCommentEnabled_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.caPrivateCommentsEnabled_1) | 0;
    result = imul(result, 31) + this.caCompletionCriteria_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.caRequireFileSubmission_1) | 0;
    result = imul(result, 31) + this.caFileType_1 | 0;
    result = imul(result, 31) + this.caSizeLimit_1 | 0;
    result = imul(result, 31) + this.caNumberOfFiles_1 | 0;
    result = imul(result, 31) + this.caSubmissionPolicy_1 | 0;
    result = imul(result, 31) + this.caMarkingType_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.caRequireTextSubmission_1) | 0;
    result = imul(result, 31) + this.caTextLimitType_1 | 0;
    result = imul(result, 31) + this.caTextLimit_1 | 0;
    result = imul(result, 31) + this.caXObjectUid_1.hashCode() | 0;
    result = imul(result, 31) + this.caClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + this.caPeerReviewerCount_1 | 0;
    result = imul(result, 31) + this.caLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(result, 31) + this.caMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(result, 31) + this.caLastChangedBy_1 | 0;
    result = imul(result, 31) + this.caLct_1.hashCode() | 0;
    return result;
  };
  protoOf(ClazzAssignment).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAssignment))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAssignment ? other : THROW_CCE();
    if (!this.caUid_1.equals(tmp0_other_with_cast.caUid_1))
      return false;
    if (!(this.caTitle_1 == tmp0_other_with_cast.caTitle_1))
      return false;
    if (!(this.caDescription_1 == tmp0_other_with_cast.caDescription_1))
      return false;
    if (!this.caGroupUid_1.equals(tmp0_other_with_cast.caGroupUid_1))
      return false;
    if (!(this.caActive_1 === tmp0_other_with_cast.caActive_1))
      return false;
    if (!(this.caClassCommentEnabled_1 === tmp0_other_with_cast.caClassCommentEnabled_1))
      return false;
    if (!(this.caPrivateCommentsEnabled_1 === tmp0_other_with_cast.caPrivateCommentsEnabled_1))
      return false;
    if (!(this.caCompletionCriteria_1 === tmp0_other_with_cast.caCompletionCriteria_1))
      return false;
    if (!(this.caRequireFileSubmission_1 === tmp0_other_with_cast.caRequireFileSubmission_1))
      return false;
    if (!(this.caFileType_1 === tmp0_other_with_cast.caFileType_1))
      return false;
    if (!(this.caSizeLimit_1 === tmp0_other_with_cast.caSizeLimit_1))
      return false;
    if (!(this.caNumberOfFiles_1 === tmp0_other_with_cast.caNumberOfFiles_1))
      return false;
    if (!(this.caSubmissionPolicy_1 === tmp0_other_with_cast.caSubmissionPolicy_1))
      return false;
    if (!(this.caMarkingType_1 === tmp0_other_with_cast.caMarkingType_1))
      return false;
    if (!(this.caRequireTextSubmission_1 === tmp0_other_with_cast.caRequireTextSubmission_1))
      return false;
    if (!(this.caTextLimitType_1 === tmp0_other_with_cast.caTextLimitType_1))
      return false;
    if (!(this.caTextLimit_1 === tmp0_other_with_cast.caTextLimit_1))
      return false;
    if (!this.caXObjectUid_1.equals(tmp0_other_with_cast.caXObjectUid_1))
      return false;
    if (!this.caClazzUid_1.equals(tmp0_other_with_cast.caClazzUid_1))
      return false;
    if (!(this.caPeerReviewerCount_1 === tmp0_other_with_cast.caPeerReviewerCount_1))
      return false;
    if (!this.caLocalChangeSeqNum_1.equals(tmp0_other_with_cast.caLocalChangeSeqNum_1))
      return false;
    if (!this.caMasterChangeSeqNum_1.equals(tmp0_other_with_cast.caMasterChangeSeqNum_1))
      return false;
    if (!(this.caLastChangedBy_1 === tmp0_other_with_cast.caLastChangedBy_1))
      return false;
    if (!this.caLct_1.equals(tmp0_other_with_cast.caLct_1))
      return false;
    return true;
  };
  function Companion_48() {
    Companion_instance_48 = this;
  }
  protoOf(Companion_48).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_46();
  };
  var Companion_instance_48;
  function Companion_getInstance_50() {
    if (Companion_instance_48 == null)
      new Companion_48();
    return Companion_instance_48;
  }
  function $serializer_46() {
    $serializer_instance_46 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzAssignmentCourseBlockAndSubmitterUid', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzAssignment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlock', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseBlockPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('courseGroupSet', true);
    tmp0_serialDesc.addElement_5pzumi_k$('submitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('hasModeratePermission', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_46).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_46).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_45()), get_nullable($serializer_getInstance_76()), get_nullable($serializer_getInstance_77()), get_nullable($serializer_getInstance_80()), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_46).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_45(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_76(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_77(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_80(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_45(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_76(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_77(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_80(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzAssignmentCourseBlockAndSubmitterUid_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_46).serialize_1rumal_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.clazzAssignment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_45(), value.clazzAssignment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.courseBlock_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_76(), value.courseBlock_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.courseBlockPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_77(), value.courseBlockPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.courseGroupSet_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_80(), value.courseGroupSet_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.submitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.submitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.hasModeratePermission_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.hasModeratePermission_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_46).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_1rumal_k$(encoder, value instanceof ClazzAssignmentCourseBlockAndSubmitterUid ? value : THROW_CCE());
  };
  var $serializer_instance_46;
  function $serializer_getInstance_46() {
    if ($serializer_instance_46 == null)
      new $serializer_46();
    return $serializer_instance_46;
  }
  function ClazzAssignmentCourseBlockAndSubmitterUid_init_$Init$(seen1, clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_46().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzAssignment_1 = null;
    else
      $this.clazzAssignment_1 = clazzAssignment;
    if (0 === (seen1 & 2))
      $this.courseBlock_1 = null;
    else
      $this.courseBlock_1 = courseBlock;
    if (0 === (seen1 & 4))
      $this.courseBlockPicture_1 = null;
    else
      $this.courseBlockPicture_1 = courseBlockPicture;
    if (0 === (seen1 & 8))
      $this.courseGroupSet_1 = null;
    else
      $this.courseGroupSet_1 = courseGroupSet;
    if (0 === (seen1 & 16))
      $this.submitterUid_1 = new Long(0, 0);
    else
      $this.submitterUid_1 = submitterUid;
    if (0 === (seen1 & 32))
      $this.hasModeratePermission_1 = false;
    else
      $this.hasModeratePermission_1 = hasModeratePermission;
    return $this;
  }
  function ClazzAssignmentCourseBlockAndSubmitterUid_init_$Create$(seen1, clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission, serializationConstructorMarker) {
    return ClazzAssignmentCourseBlockAndSubmitterUid_init_$Init$(seen1, clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission, serializationConstructorMarker, objectCreate(protoOf(ClazzAssignmentCourseBlockAndSubmitterUid)));
  }
  function ClazzAssignmentCourseBlockAndSubmitterUid(clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission) {
    Companion_getInstance_50();
    clazzAssignment = clazzAssignment === VOID ? null : clazzAssignment;
    courseBlock = courseBlock === VOID ? null : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? null : courseBlockPicture;
    courseGroupSet = courseGroupSet === VOID ? null : courseGroupSet;
    submitterUid = submitterUid === VOID ? new Long(0, 0) : submitterUid;
    hasModeratePermission = hasModeratePermission === VOID ? false : hasModeratePermission;
    this.clazzAssignment_1 = clazzAssignment;
    this.courseBlock_1 = courseBlock;
    this.courseBlockPicture_1 = courseBlockPicture;
    this.courseGroupSet_1 = courseGroupSet;
    this.submitterUid_1 = submitterUid;
    this.hasModeratePermission_1 = hasModeratePermission;
  }
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).set_clazzAssignment_qwtmo7_k$ = function (_set____db54di) {
    this.clazzAssignment_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).get_clazzAssignment_l29hss_k$ = function () {
    return this.clazzAssignment_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).set_courseBlock_x7q8yb_k$ = function (_set____db54di) {
    this.courseBlock_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).get_courseBlock_c2ojbd_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).set_courseBlockPicture_pbyd35_k$ = function (_set____db54di) {
    this.courseBlockPicture_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).get_courseBlockPicture_gnlyiz_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).set_courseGroupSet_p20t1b_k$ = function (_set____db54di) {
    this.courseGroupSet_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).get_courseGroupSet_txhi1z_k$ = function () {
    return this.courseGroupSet_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).set_submitterUid_5nf92e_k$ = function (_set____db54di) {
    this.submitterUid_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).get_submitterUid_tbcwmo_k$ = function () {
    return this.submitterUid_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).set_hasModeratePermission_fm1pwm_k$ = function (_set____db54di) {
    this.hasModeratePermission_1 = _set____db54di;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).get_hasModeratePermission_rdln0d_k$ = function () {
    return this.hasModeratePermission_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).component1_7eebsc_k$ = function () {
    return this.clazzAssignment_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).component2_7eebsb_k$ = function () {
    return this.courseBlock_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).component3_7eebsa_k$ = function () {
    return this.courseBlockPicture_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).component4_7eebs9_k$ = function () {
    return this.courseGroupSet_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).component5_7eebs8_k$ = function () {
    return this.submitterUid_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).component6_7eebs7_k$ = function () {
    return this.hasModeratePermission_1;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).copy_3jz92r_k$ = function (clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission) {
    return new ClazzAssignmentCourseBlockAndSubmitterUid(clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission);
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).copy$default_1rtnvd_k$ = function (clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission, $super) {
    clazzAssignment = clazzAssignment === VOID ? this.clazzAssignment_1 : clazzAssignment;
    courseBlock = courseBlock === VOID ? this.courseBlock_1 : courseBlock;
    courseBlockPicture = courseBlockPicture === VOID ? this.courseBlockPicture_1 : courseBlockPicture;
    courseGroupSet = courseGroupSet === VOID ? this.courseGroupSet_1 : courseGroupSet;
    submitterUid = submitterUid === VOID ? this.submitterUid_1 : submitterUid;
    hasModeratePermission = hasModeratePermission === VOID ? this.hasModeratePermission_1 : hasModeratePermission;
    return $super === VOID ? this.copy_3jz92r_k$(clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission) : $super.copy_3jz92r_k$.call(this, clazzAssignment, courseBlock, courseBlockPicture, courseGroupSet, submitterUid, hasModeratePermission);
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).toString = function () {
    return 'ClazzAssignmentCourseBlockAndSubmitterUid(clazzAssignment=' + this.clazzAssignment_1 + ', courseBlock=' + this.courseBlock_1 + ', courseBlockPicture=' + this.courseBlockPicture_1 + ', courseGroupSet=' + this.courseGroupSet_1 + ', submitterUid=' + this.submitterUid_1.toString() + ', hasModeratePermission=' + this.hasModeratePermission_1 + ')';
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).hashCode = function () {
    var result = this.clazzAssignment_1 == null ? 0 : this.clazzAssignment_1.hashCode();
    result = imul(result, 31) + (this.courseBlock_1 == null ? 0 : this.courseBlock_1.hashCode()) | 0;
    result = imul(result, 31) + (this.courseBlockPicture_1 == null ? 0 : this.courseBlockPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.courseGroupSet_1 == null ? 0 : hashCode(this.courseGroupSet_1)) | 0;
    result = imul(result, 31) + this.submitterUid_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.hasModeratePermission_1) | 0;
    return result;
  };
  protoOf(ClazzAssignmentCourseBlockAndSubmitterUid).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzAssignmentCourseBlockAndSubmitterUid))
      return false;
    var tmp0_other_with_cast = other instanceof ClazzAssignmentCourseBlockAndSubmitterUid ? other : THROW_CCE();
    if (!equals(this.clazzAssignment_1, tmp0_other_with_cast.clazzAssignment_1))
      return false;
    if (!equals(this.courseBlock_1, tmp0_other_with_cast.courseBlock_1))
      return false;
    if (!equals(this.courseBlockPicture_1, tmp0_other_with_cast.courseBlockPicture_1))
      return false;
    if (!equals(this.courseGroupSet_1, tmp0_other_with_cast.courseGroupSet_1))
      return false;
    if (!this.submitterUid_1.equals(tmp0_other_with_cast.submitterUid_1))
      return false;
    if (!(this.hasModeratePermission_1 === tmp0_other_with_cast.hasModeratePermission_1))
      return false;
    return true;
  };
  function ClazzEnrolment_init_$Init$(clazzUid, personUid, $this) {
    ClazzEnrolment.call($this);
    $this.clazzEnrolmentClazzUid_1 = clazzUid;
    $this.clazzEnrolmentPersonUid_1 = personUid;
    $this.clazzEnrolmentActive_1 = true;
    return $this;
  }
  function ClazzEnrolment_init_$Create$(clazzUid, personUid) {
    return ClazzEnrolment_init_$Init$(clazzUid, personUid, objectCreate(protoOf(ClazzEnrolment)));
  }
  function ClazzEnrolment_init_$Init$_0(clazzUid, personUid, role, $this) {
    ClazzEnrolment.call($this);
    $this.clazzEnrolmentClazzUid_1 = clazzUid;
    $this.clazzEnrolmentPersonUid_1 = personUid;
    $this.clazzEnrolmentRole_1 = role;
    $this.clazzEnrolmentActive_1 = true;
    return $this;
  }
  function ClazzEnrolment_init_$Create$_0(clazzUid, personUid, role) {
    return ClazzEnrolment_init_$Init$_0(clazzUid, personUid, role, objectCreate(protoOf(ClazzEnrolment)));
  }
  function Companion_49() {
    Companion_instance_49 = this;
    this.ROLE_STUDENT_1 = 1000;
    this.ROLE_TEACHER_1 = 1001;
    this.ROLE_STUDENT_PENDING_1 = 1002;
    this.ROLE_PARENT_1 = 1003;
    this.OUTCOME_IN_PROGRESS_1 = 200;
    this.OUTCOME_GRADUATED_1 = 201;
    this.OUTCOME_FAILED_1 = 202;
    this.OUTCOME_DROPPED_OUT_1 = 203;
    this.TABLE_ID_1 = 65;
  }
  protoOf(Companion_49).get_ROLE_STUDENT_h1t6zf_k$ = function () {
    return this.ROLE_STUDENT_1;
  };
  protoOf(Companion_49).get_ROLE_TEACHER_obiog2_k$ = function () {
    return this.ROLE_TEACHER_1;
  };
  protoOf(Companion_49).get_ROLE_STUDENT_PENDING_13dnf7_k$ = function () {
    return this.ROLE_STUDENT_PENDING_1;
  };
  protoOf(Companion_49).get_ROLE_PARENT_x7h7vu_k$ = function () {
    return this.ROLE_PARENT_1;
  };
  protoOf(Companion_49).get_OUTCOME_IN_PROGRESS_z4xz4h_k$ = function () {
    return this.OUTCOME_IN_PROGRESS_1;
  };
  protoOf(Companion_49).get_OUTCOME_GRADUATED_1g2bz1_k$ = function () {
    return this.OUTCOME_GRADUATED_1;
  };
  protoOf(Companion_49).get_OUTCOME_FAILED_3n82kt_k$ = function () {
    return this.OUTCOME_FAILED_1;
  };
  protoOf(Companion_49).get_OUTCOME_DROPPED_OUT_oen6cn_k$ = function () {
    return this.OUTCOME_DROPPED_OUT_1;
  };
  protoOf(Companion_49).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_49).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_47();
  };
  var Companion_instance_49;
  function Companion_getInstance_51() {
    if (Companion_instance_49 == null)
      new Companion_49();
    return Companion_instance_49;
  }
  function $serializer_47() {
    $serializer_instance_47 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzEnrolment', this, 14);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateJoined', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateLeft', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentRole', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentAttendancePercentage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLeavingReasonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentOutcome', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_47).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_47).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_47).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp18_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzEnrolment_init_$Create$_1(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_47).serialize_fm7aoc_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.clazzEnrolmentUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.clazzEnrolmentUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.clazzEnrolmentPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.clazzEnrolmentPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.clazzEnrolmentClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.clazzEnrolmentClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.clazzEnrolmentDateJoined_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.clazzEnrolmentDateJoined_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.clazzEnrolmentDateLeft_1.equals(get_UNSET_DISTANT_FUTURE())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.clazzEnrolmentDateLeft_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.clazzEnrolmentRole_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.clazzEnrolmentRole_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !equals(value.clazzEnrolmentAttendancePercentage_1, 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 6, value.clazzEnrolmentAttendancePercentage_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.clazzEnrolmentActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.clazzEnrolmentActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.clazzEnrolmentLeavingReasonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.clazzEnrolmentLeavingReasonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.clazzEnrolmentOutcome_1 === 200)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.clazzEnrolmentOutcome_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.clazzEnrolmentLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.clazzEnrolmentLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.clazzEnrolmentMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.clazzEnrolmentMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.clazzEnrolmentLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.clazzEnrolmentLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.clazzEnrolmentLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.clazzEnrolmentLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_47).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_fm7aoc_k$(encoder, value instanceof ClazzEnrolment ? value : THROW_CCE());
  };
  var $serializer_instance_47;
  function $serializer_getInstance_47() {
    if ($serializer_instance_47 == null)
      new $serializer_47();
    return $serializer_instance_47;
  }
  function ClazzEnrolment_init_$Init$_1(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_47().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzEnrolmentUid_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentUid_1 = clazzEnrolmentUid;
    if (0 === (seen1 & 2))
      $this.clazzEnrolmentPersonUid_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentPersonUid_1 = clazzEnrolmentPersonUid;
    if (0 === (seen1 & 4))
      $this.clazzEnrolmentClazzUid_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentClazzUid_1 = clazzEnrolmentClazzUid;
    if (0 === (seen1 & 8))
      $this.clazzEnrolmentDateJoined_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentDateJoined_1 = clazzEnrolmentDateJoined;
    if (0 === (seen1 & 16))
      $this.clazzEnrolmentDateLeft_1 = get_UNSET_DISTANT_FUTURE();
    else
      $this.clazzEnrolmentDateLeft_1 = clazzEnrolmentDateLeft;
    if (0 === (seen1 & 32))
      $this.clazzEnrolmentRole_1 = 0;
    else
      $this.clazzEnrolmentRole_1 = clazzEnrolmentRole;
    if (0 === (seen1 & 64))
      $this.clazzEnrolmentAttendancePercentage_1 = 0.0;
    else
      $this.clazzEnrolmentAttendancePercentage_1 = clazzEnrolmentAttendancePercentage;
    if (0 === (seen1 & 128))
      $this.clazzEnrolmentActive_1 = true;
    else
      $this.clazzEnrolmentActive_1 = clazzEnrolmentActive;
    if (0 === (seen1 & 256))
      $this.clazzEnrolmentLeavingReasonUid_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentLeavingReasonUid_1 = clazzEnrolmentLeavingReasonUid;
    if (0 === (seen1 & 512))
      $this.clazzEnrolmentOutcome_1 = 200;
    else
      $this.clazzEnrolmentOutcome_1 = clazzEnrolmentOutcome;
    if (0 === (seen1 & 1024))
      $this.clazzEnrolmentLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentLocalChangeSeqNum_1 = clazzEnrolmentLocalChangeSeqNum;
    if (0 === (seen1 & 2048))
      $this.clazzEnrolmentMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentMasterChangeSeqNum_1 = clazzEnrolmentMasterChangeSeqNum;
    if (0 === (seen1 & 4096))
      $this.clazzEnrolmentLastChangedBy_1 = 0;
    else
      $this.clazzEnrolmentLastChangedBy_1 = clazzEnrolmentLastChangedBy;
    if (0 === (seen1 & 8192))
      $this.clazzEnrolmentLct_1 = new Long(0, 0);
    else
      $this.clazzEnrolmentLct_1 = clazzEnrolmentLct;
    return $this;
  }
  function ClazzEnrolment_init_$Create$_1(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker) {
    return ClazzEnrolment_init_$Init$_1(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolment)));
  }
  function ClazzEnrolment() {
    Companion_getInstance_51();
    this.clazzEnrolmentUid_1 = new Long(0, 0);
    this.clazzEnrolmentPersonUid_1 = new Long(0, 0);
    this.clazzEnrolmentClazzUid_1 = new Long(0, 0);
    this.clazzEnrolmentDateJoined_1 = new Long(0, 0);
    this.clazzEnrolmentDateLeft_1 = get_UNSET_DISTANT_FUTURE();
    this.clazzEnrolmentRole_1 = 0;
    this.clazzEnrolmentAttendancePercentage_1 = 0.0;
    this.clazzEnrolmentActive_1 = true;
    this.clazzEnrolmentLeavingReasonUid_1 = new Long(0, 0);
    this.clazzEnrolmentOutcome_1 = 200;
    this.clazzEnrolmentLocalChangeSeqNum_1 = new Long(0, 0);
    this.clazzEnrolmentMasterChangeSeqNum_1 = new Long(0, 0);
    this.clazzEnrolmentLastChangedBy_1 = 0;
    this.clazzEnrolmentLct_1 = new Long(0, 0);
  }
  protoOf(ClazzEnrolment).set_clazzEnrolmentUid_ymgyw9_k$ = function (_set____db54di) {
    this.clazzEnrolmentUid_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentUid_xeo3a3_k$ = function () {
    return this.clazzEnrolmentUid_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentPersonUid_qntlsc_k$ = function (_set____db54di) {
    this.clazzEnrolmentPersonUid_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentPersonUid_67nqh2_k$ = function () {
    return this.clazzEnrolmentPersonUid_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentClazzUid_1nipul_k$ = function (_set____db54di) {
    this.clazzEnrolmentClazzUid_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentClazzUid_5dtar_k$ = function () {
    return this.clazzEnrolmentClazzUid_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentDateJoined_miq3em_k$ = function (_set____db54di) {
    this.clazzEnrolmentDateJoined_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentDateJoined_r9j21g_k$ = function () {
    return this.clazzEnrolmentDateJoined_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentDateLeft_8szytc_k$ = function (_set____db54di) {
    this.clazzEnrolmentDateLeft_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentDateLeft_hxlqp6_k$ = function () {
    return this.clazzEnrolmentDateLeft_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentRole_38vbyv_k$ = function (_set____db54di) {
    this.clazzEnrolmentRole_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentRole_ttzs6t_k$ = function () {
    return this.clazzEnrolmentRole_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentAttendancePercentage_pmbqh0_k$ = function (_set____db54di) {
    this.clazzEnrolmentAttendancePercentage_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentAttendancePercentage_851g8o_k$ = function () {
    return this.clazzEnrolmentAttendancePercentage_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentActive_rmas2i_k$ = function (_set____db54di) {
    this.clazzEnrolmentActive_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentActive_il2uaj_k$ = function () {
    return this.clazzEnrolmentActive_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentLeavingReasonUid_ivk5wj_k$ = function (_set____db54di) {
    this.clazzEnrolmentLeavingReasonUid_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentLeavingReasonUid_7vfqdv_k$ = function () {
    return this.clazzEnrolmentLeavingReasonUid_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentOutcome_dmmssf_k$ = function (_set____db54di) {
    this.clazzEnrolmentOutcome_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentOutcome_8tgopp_k$ = function () {
    return this.clazzEnrolmentOutcome_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentLocalChangeSeqNum_dnlxnp_k$ = function (_set____db54di) {
    this.clazzEnrolmentLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentLocalChangeSeqNum_ylajcj_k$ = function () {
    return this.clazzEnrolmentLocalChangeSeqNum_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentMasterChangeSeqNum_hd6kx0_k$ = function (_set____db54di) {
    this.clazzEnrolmentMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentMasterChangeSeqNum_ocfusy_k$ = function () {
    return this.clazzEnrolmentMasterChangeSeqNum_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentLastChangedBy_i735xg_k$ = function (_set____db54di) {
    this.clazzEnrolmentLastChangedBy_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentLastChangedBy_u2wke8_k$ = function () {
    return this.clazzEnrolmentLastChangedBy_1;
  };
  protoOf(ClazzEnrolment).set_clazzEnrolmentLct_q966xi_k$ = function (_set____db54di) {
    this.clazzEnrolmentLct_1 = _set____db54di;
  };
  protoOf(ClazzEnrolment).get_clazzEnrolmentLct_xenwh4_k$ = function () {
    return this.clazzEnrolmentLct_1;
  };
  function Companion_50() {
    Companion_instance_50 = this;
  }
  protoOf(Companion_50).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_48();
  };
  var Companion_instance_50;
  function Companion_getInstance_52() {
    if (Companion_instance_50 == null)
      new Companion_50();
    return Companion_instance_50;
  }
  function $serializer_48() {
    $serializer_instance_48 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzEnrolmentWithClazz', this, 15);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateJoined', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateLeft', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentRole', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentAttendancePercentage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLeavingReasonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentOutcome', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazz', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_48).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_48).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_44())];
  };
  protoOf($serializer_48).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = null;
    var tmp19_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp19_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp19_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp19_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp19_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, $serializer_getInstance_44(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp19_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp19_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp19_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp19_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, $serializer_getInstance_44(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp19_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzEnrolmentWithClazz_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, null);
  };
  protoOf($serializer_48).serialize_o4ddya_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_clazzEnrolmentUid_xeo3a3_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_clazzEnrolmentUid_xeo3a3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.get_clazzEnrolmentPersonUid_67nqh2_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.get_clazzEnrolmentPersonUid_67nqh2_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.get_clazzEnrolmentClazzUid_5dtar_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.get_clazzEnrolmentClazzUid_5dtar_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.get_clazzEnrolmentDateJoined_r9j21g_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.get_clazzEnrolmentDateJoined_r9j21g_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_clazzEnrolmentDateLeft_hxlqp6_k$().equals(get_UNSET_DISTANT_FUTURE())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_clazzEnrolmentDateLeft_hxlqp6_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.get_clazzEnrolmentRole_ttzs6t_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.get_clazzEnrolmentRole_ttzs6t_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !equals(value.get_clazzEnrolmentAttendancePercentage_851g8o_k$(), 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 6, value.get_clazzEnrolmentAttendancePercentage_851g8o_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.get_clazzEnrolmentActive_il2uaj_k$() === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.get_clazzEnrolmentActive_il2uaj_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_clazzEnrolmentLeavingReasonUid_7vfqdv_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_clazzEnrolmentLeavingReasonUid_7vfqdv_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.get_clazzEnrolmentOutcome_8tgopp_k$() === Companion_getInstance_51().get_OUTCOME_IN_PROGRESS_z4xz4h_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.get_clazzEnrolmentOutcome_8tgopp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.get_clazzEnrolmentLocalChangeSeqNum_ylajcj_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.get_clazzEnrolmentLocalChangeSeqNum_ylajcj_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.get_clazzEnrolmentMasterChangeSeqNum_ocfusy_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.get_clazzEnrolmentMasterChangeSeqNum_ocfusy_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.get_clazzEnrolmentLastChangedBy_u2wke8_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.get_clazzEnrolmentLastChangedBy_u2wke8_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.get_clazzEnrolmentLct_xenwh4_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.get_clazzEnrolmentLct_xenwh4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.clazz_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 14, $serializer_getInstance_44(), value.clazz_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_48).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_o4ddya_k$(encoder, value instanceof ClazzEnrolmentWithClazz ? value : THROW_CCE());
  };
  var $serializer_instance_48;
  function $serializer_getInstance_48() {
    if ($serializer_instance_48 == null)
      new $serializer_48();
    return $serializer_instance_48;
  }
  function ClazzEnrolmentWithClazz_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, clazz, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_48().descriptor_1);
    }
    ClazzEnrolment_init_$Init$_1(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 16384))
      $this.clazz_1 = null;
    else
      $this.clazz_1 = clazz;
    return $this;
  }
  function ClazzEnrolmentWithClazz_init_$Create$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, clazz, serializationConstructorMarker) {
    return ClazzEnrolmentWithClazz_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, clazz, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolmentWithClazz)));
  }
  function ClazzEnrolmentWithClazz() {
    Companion_getInstance_52();
    ClazzEnrolment.call(this);
    this.clazz_1 = null;
  }
  protoOf(ClazzEnrolmentWithClazz).set_clazz_sym4kf_k$ = function (_set____db54di) {
    this.clazz_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentWithClazz).get_clazz_ips3zj_k$ = function () {
    return this.clazz_1;
  };
  function Companion_51() {
    Companion_instance_51 = this;
  }
  protoOf(Companion_51).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_49();
  };
  var Companion_instance_51;
  function Companion_getInstance_53() {
    if (Companion_instance_51 == null)
      new Companion_51();
    return Companion_instance_51;
  }
  function $serializer_49() {
    $serializer_instance_49 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzEnrolmentWithLeavingReason', this, 16);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateJoined', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateLeft', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentRole', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentAttendancePercentage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLeavingReasonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentOutcome', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leavingReason', true);
    tmp0_serialDesc.addElement_5pzumi_k$('timeZone', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_49).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_49).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_94()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_49).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = null;
    var tmp19_local15 = null;
    var tmp20_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp20_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp20_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp20_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp20_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, $serializer_getInstance_94(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp20_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp20_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp20_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp20_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp20_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, $serializer_getInstance_94(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp20_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp20_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzEnrolmentWithLeavingReason_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, null);
  };
  protoOf($serializer_49).serialize_fjqk6a_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_clazzEnrolmentUid_xeo3a3_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_clazzEnrolmentUid_xeo3a3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.get_clazzEnrolmentPersonUid_67nqh2_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.get_clazzEnrolmentPersonUid_67nqh2_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.get_clazzEnrolmentClazzUid_5dtar_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.get_clazzEnrolmentClazzUid_5dtar_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.get_clazzEnrolmentDateJoined_r9j21g_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.get_clazzEnrolmentDateJoined_r9j21g_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_clazzEnrolmentDateLeft_hxlqp6_k$().equals(get_UNSET_DISTANT_FUTURE())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_clazzEnrolmentDateLeft_hxlqp6_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.get_clazzEnrolmentRole_ttzs6t_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.get_clazzEnrolmentRole_ttzs6t_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !equals(value.get_clazzEnrolmentAttendancePercentage_851g8o_k$(), 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 6, value.get_clazzEnrolmentAttendancePercentage_851g8o_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.get_clazzEnrolmentActive_il2uaj_k$() === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.get_clazzEnrolmentActive_il2uaj_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_clazzEnrolmentLeavingReasonUid_7vfqdv_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_clazzEnrolmentLeavingReasonUid_7vfqdv_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.get_clazzEnrolmentOutcome_8tgopp_k$() === Companion_getInstance_51().get_OUTCOME_IN_PROGRESS_z4xz4h_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.get_clazzEnrolmentOutcome_8tgopp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.get_clazzEnrolmentLocalChangeSeqNum_ylajcj_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.get_clazzEnrolmentLocalChangeSeqNum_ylajcj_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.get_clazzEnrolmentMasterChangeSeqNum_ocfusy_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.get_clazzEnrolmentMasterChangeSeqNum_ocfusy_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.get_clazzEnrolmentLastChangedBy_u2wke8_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.get_clazzEnrolmentLastChangedBy_u2wke8_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.get_clazzEnrolmentLct_xenwh4_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.get_clazzEnrolmentLct_xenwh4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.leavingReason_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 14, $serializer_getInstance_94(), value.leavingReason_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.timeZone_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 15, StringSerializer_getInstance(), value.timeZone_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_49).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_fjqk6a_k$(encoder, value instanceof ClazzEnrolmentWithLeavingReason ? value : THROW_CCE());
  };
  var $serializer_instance_49;
  function $serializer_getInstance_49() {
    if ($serializer_instance_49 == null)
      new $serializer_49();
    return $serializer_instance_49;
  }
  function ClazzEnrolmentWithLeavingReason_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, leavingReason, timeZone, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_49().descriptor_1);
    }
    ClazzEnrolment_init_$Init$_1(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 16384))
      $this.leavingReason_1 = null;
    else
      $this.leavingReason_1 = leavingReason;
    if (0 === (seen1 & 32768))
      $this.timeZone_1 = null;
    else
      $this.timeZone_1 = timeZone;
    return $this;
  }
  function ClazzEnrolmentWithLeavingReason_init_$Create$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, leavingReason, timeZone, serializationConstructorMarker) {
    return ClazzEnrolmentWithLeavingReason_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, leavingReason, timeZone, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolmentWithLeavingReason)));
  }
  function ClazzEnrolmentWithLeavingReason() {
    Companion_getInstance_53();
    ClazzEnrolment.call(this);
    this.leavingReason_1 = null;
    this.timeZone_1 = null;
  }
  protoOf(ClazzEnrolmentWithLeavingReason).set_leavingReason_lyjv33_k$ = function (_set____db54di) {
    this.leavingReason_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentWithLeavingReason).get_leavingReason_2vr8r5_k$ = function () {
    return this.leavingReason_1;
  };
  protoOf(ClazzEnrolmentWithLeavingReason).set_timeZone_fxensv_k$ = function (_set____db54di) {
    this.timeZone_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentWithLeavingReason).get_timeZone_4vh49u_k$ = function () {
    return this.timeZone_1;
  };
  function Companion_52() {
    Companion_instance_52 = this;
  }
  protoOf(Companion_52).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_50();
  };
  var Companion_instance_52;
  function Companion_getInstance_54() {
    if (Companion_instance_52 == null)
      new Companion_52();
    return Companion_instance_52;
  }
  function $serializer_50() {
    $serializer_instance_50 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzEnrolmentWithPerson', this, 15);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateJoined', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentDateLeft', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentRole', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentAttendancePercentage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLeavingReasonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentOutcome', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_50).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_50).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_98())];
  };
  protoOf($serializer_50).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = null;
    var tmp19_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp19_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp19_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp19_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp19_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, $serializer_getInstance_98(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp19_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp19_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp19_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp19_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp19_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp19_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, $serializer_getInstance_98(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp19_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzEnrolmentWithPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, null);
  };
  protoOf($serializer_50).serialize_8n7ymf_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_clazzEnrolmentUid_xeo3a3_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_clazzEnrolmentUid_xeo3a3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.get_clazzEnrolmentPersonUid_67nqh2_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.get_clazzEnrolmentPersonUid_67nqh2_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.get_clazzEnrolmentClazzUid_5dtar_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.get_clazzEnrolmentClazzUid_5dtar_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.get_clazzEnrolmentDateJoined_r9j21g_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.get_clazzEnrolmentDateJoined_r9j21g_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_clazzEnrolmentDateLeft_hxlqp6_k$().equals(get_UNSET_DISTANT_FUTURE())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_clazzEnrolmentDateLeft_hxlqp6_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.get_clazzEnrolmentRole_ttzs6t_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.get_clazzEnrolmentRole_ttzs6t_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !equals(value.get_clazzEnrolmentAttendancePercentage_851g8o_k$(), 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 6, value.get_clazzEnrolmentAttendancePercentage_851g8o_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.get_clazzEnrolmentActive_il2uaj_k$() === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.get_clazzEnrolmentActive_il2uaj_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_clazzEnrolmentLeavingReasonUid_7vfqdv_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_clazzEnrolmentLeavingReasonUid_7vfqdv_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.get_clazzEnrolmentOutcome_8tgopp_k$() === Companion_getInstance_51().get_OUTCOME_IN_PROGRESS_z4xz4h_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.get_clazzEnrolmentOutcome_8tgopp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.get_clazzEnrolmentLocalChangeSeqNum_ylajcj_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.get_clazzEnrolmentLocalChangeSeqNum_ylajcj_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.get_clazzEnrolmentMasterChangeSeqNum_ocfusy_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.get_clazzEnrolmentMasterChangeSeqNum_ocfusy_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.get_clazzEnrolmentLastChangedBy_u2wke8_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.get_clazzEnrolmentLastChangedBy_u2wke8_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.get_clazzEnrolmentLct_xenwh4_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.get_clazzEnrolmentLct_xenwh4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 14, $serializer_getInstance_98(), value.person_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_50).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_8n7ymf_k$(encoder, value instanceof ClazzEnrolmentWithPerson ? value : THROW_CCE());
  };
  var $serializer_instance_50;
  function $serializer_getInstance_50() {
    if ($serializer_instance_50 == null)
      new $serializer_50();
    return $serializer_instance_50;
  }
  function ClazzEnrolmentWithPerson_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, person, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_50().descriptor_1);
    }
    ClazzEnrolment_init_$Init$_1(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 16384))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    return $this;
  }
  function ClazzEnrolmentWithPerson_init_$Create$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, person, serializationConstructorMarker) {
    return ClazzEnrolmentWithPerson_init_$Init$(seen1, clazzEnrolmentUid, clazzEnrolmentPersonUid, clazzEnrolmentClazzUid, clazzEnrolmentDateJoined, clazzEnrolmentDateLeft, clazzEnrolmentRole, clazzEnrolmentAttendancePercentage, clazzEnrolmentActive, clazzEnrolmentLeavingReasonUid, clazzEnrolmentOutcome, clazzEnrolmentLocalChangeSeqNum, clazzEnrolmentMasterChangeSeqNum, clazzEnrolmentLastChangedBy, clazzEnrolmentLct, person, serializationConstructorMarker, objectCreate(protoOf(ClazzEnrolmentWithPerson)));
  }
  function ClazzEnrolmentWithPerson() {
    Companion_getInstance_54();
    ClazzEnrolment.call(this);
    this.person_1 = null;
  }
  protoOf(ClazzEnrolmentWithPerson).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(ClazzEnrolmentWithPerson).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  function ClazzLog_init_$Init$(clazzLogUid, clazzUid, logDate, scheduleUid, $this) {
    ClazzLog.call($this);
    $this.clazzLogUid_1 = clazzLogUid;
    $this.clazzLogClazzUid_1 = clazzUid;
    $this.logDate_1 = logDate;
    $this.clazzLogScheduleUid_1 = scheduleUid;
    return $this;
  }
  function ClazzLog_init_$Create$(clazzLogUid, clazzUid, logDate, scheduleUid) {
    return ClazzLog_init_$Init$(clazzLogUid, clazzUid, logDate, scheduleUid, objectCreate(protoOf(ClazzLog)));
  }
  function Companion_53() {
    Companion_instance_53 = this;
    this.TABLE_ID_1 = 14;
    this.STATUS_CREATED_1 = 0;
    this.STATUS_HOLIDAY_1 = 1;
    this.STATUS_MANUALLYCANCELED_1 = 2;
    this.STATUS_RECORDED_1 = 4;
    this.STATUS_RESCHEDULED_1 = 8;
    this.STATUS_INACTIVE_1 = 16;
  }
  protoOf(Companion_53).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_53).get_STATUS_CREATED_6iky9o_k$ = function () {
    return this.STATUS_CREATED_1;
  };
  protoOf(Companion_53).get_STATUS_HOLIDAY_5gv47g_k$ = function () {
    return this.STATUS_HOLIDAY_1;
  };
  protoOf(Companion_53).get_STATUS_MANUALLYCANCELED_rowwcw_k$ = function () {
    return this.STATUS_MANUALLYCANCELED_1;
  };
  protoOf(Companion_53).get_STATUS_RECORDED_w8dkek_k$ = function () {
    return this.STATUS_RECORDED_1;
  };
  protoOf(Companion_53).get_STATUS_RESCHEDULED_ob487e_k$ = function () {
    return this.STATUS_RESCHEDULED_1;
  };
  protoOf(Companion_53).get_STATUS_INACTIVE_ilujtd_k$ = function () {
    return this.STATUS_INACTIVE_1;
  };
  protoOf(Companion_53).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_51();
  };
  var Companion_instance_53;
  function Companion_getInstance_55() {
    if (Companion_instance_53 == null)
      new Companion_53();
    return Companion_instance_53;
  }
  function $serializer_51() {
    $serializer_instance_51 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzLog', this, 16);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('logDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('timeRecorded', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogDone', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cancellationNote', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogCancelled', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogNumPresent', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogNumAbsent', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogNumPartial', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogScheduleUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogStatusFlag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogMSQN', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogLCSN', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogLCB', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogLastChangedTime', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_51).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_51).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_51).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = 0;
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = 0;
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = 0;
    var tmp19_local15 = new Long(0, 0);
    var tmp20_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp20_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp20_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp20_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp20_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp20_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp20_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp20_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp20_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp20_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp20_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp20_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzLog_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, null);
  };
  protoOf($serializer_51).serialize_oyovdg_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.clazzLogUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.clazzLogUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.clazzLogClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.clazzLogClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.logDate_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.logDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.timeRecorded_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.timeRecorded_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.clazzLogDone_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.clazzLogDone_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.cancellationNote_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.cancellationNote_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.clazzLogCancelled_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.clazzLogCancelled_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.clazzLogNumPresent_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.clazzLogNumPresent_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.clazzLogNumAbsent_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.clazzLogNumAbsent_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.clazzLogNumPartial_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.clazzLogNumPartial_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.clazzLogScheduleUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.clazzLogScheduleUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.clazzLogStatusFlag_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 11, value.clazzLogStatusFlag_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.clazzLogMSQN_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.clazzLogMSQN_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.clazzLogLCSN_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.clazzLogLCSN_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.clazzLogLCB_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 14, value.clazzLogLCB_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !value.clazzLogLastChangedTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 15, value.clazzLogLastChangedTime_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_51).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_oyovdg_k$(encoder, value instanceof ClazzLog ? value : THROW_CCE());
  };
  var $serializer_instance_51;
  function $serializer_getInstance_51() {
    if ($serializer_instance_51 == null)
      new $serializer_51();
    return $serializer_instance_51;
  }
  function ClazzLog_init_$Init$_0(seen1, clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_51().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzLogUid_1 = new Long(0, 0);
    else
      $this.clazzLogUid_1 = clazzLogUid;
    if (0 === (seen1 & 2))
      $this.clazzLogClazzUid_1 = new Long(0, 0);
    else
      $this.clazzLogClazzUid_1 = clazzLogClazzUid;
    if (0 === (seen1 & 4))
      $this.logDate_1 = new Long(0, 0);
    else
      $this.logDate_1 = logDate;
    if (0 === (seen1 & 8))
      $this.timeRecorded_1 = new Long(0, 0);
    else
      $this.timeRecorded_1 = timeRecorded;
    if (0 === (seen1 & 16))
      $this.clazzLogDone_1 = false;
    else
      $this.clazzLogDone_1 = clazzLogDone;
    if (0 === (seen1 & 32))
      $this.cancellationNote_1 = null;
    else
      $this.cancellationNote_1 = cancellationNote;
    if (0 === (seen1 & 64))
      $this.clazzLogCancelled_1 = false;
    else
      $this.clazzLogCancelled_1 = clazzLogCancelled;
    if (0 === (seen1 & 128))
      $this.clazzLogNumPresent_1 = 0;
    else
      $this.clazzLogNumPresent_1 = clazzLogNumPresent;
    if (0 === (seen1 & 256))
      $this.clazzLogNumAbsent_1 = 0;
    else
      $this.clazzLogNumAbsent_1 = clazzLogNumAbsent;
    if (0 === (seen1 & 512))
      $this.clazzLogNumPartial_1 = 0;
    else
      $this.clazzLogNumPartial_1 = clazzLogNumPartial;
    if (0 === (seen1 & 1024))
      $this.clazzLogScheduleUid_1 = new Long(0, 0);
    else
      $this.clazzLogScheduleUid_1 = clazzLogScheduleUid;
    if (0 === (seen1 & 2048))
      $this.clazzLogStatusFlag_1 = 0;
    else
      $this.clazzLogStatusFlag_1 = clazzLogStatusFlag;
    if (0 === (seen1 & 4096))
      $this.clazzLogMSQN_1 = new Long(0, 0);
    else
      $this.clazzLogMSQN_1 = clazzLogMSQN;
    if (0 === (seen1 & 8192))
      $this.clazzLogLCSN_1 = new Long(0, 0);
    else
      $this.clazzLogLCSN_1 = clazzLogLCSN;
    if (0 === (seen1 & 16384))
      $this.clazzLogLCB_1 = 0;
    else
      $this.clazzLogLCB_1 = clazzLogLCB;
    if (0 === (seen1 & 32768))
      $this.clazzLogLastChangedTime_1 = new Long(0, 0);
    else
      $this.clazzLogLastChangedTime_1 = clazzLogLastChangedTime;
    return $this;
  }
  function ClazzLog_init_$Create$_0(seen1, clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime, serializationConstructorMarker) {
    return ClazzLog_init_$Init$_0(seen1, clazzLogUid, clazzLogClazzUid, logDate, timeRecorded, clazzLogDone, cancellationNote, clazzLogCancelled, clazzLogNumPresent, clazzLogNumAbsent, clazzLogNumPartial, clazzLogScheduleUid, clazzLogStatusFlag, clazzLogMSQN, clazzLogLCSN, clazzLogLCB, clazzLogLastChangedTime, serializationConstructorMarker, objectCreate(protoOf(ClazzLog)));
  }
  function ClazzLog() {
    Companion_getInstance_55();
    this.clazzLogUid_1 = new Long(0, 0);
    this.clazzLogClazzUid_1 = new Long(0, 0);
    this.logDate_1 = new Long(0, 0);
    this.timeRecorded_1 = new Long(0, 0);
    this.clazzLogDone_1 = false;
    this.cancellationNote_1 = null;
    this.clazzLogCancelled_1 = false;
    this.clazzLogNumPresent_1 = 0;
    this.clazzLogNumAbsent_1 = 0;
    this.clazzLogNumPartial_1 = 0;
    this.clazzLogScheduleUid_1 = new Long(0, 0);
    this.clazzLogStatusFlag_1 = 0;
    this.clazzLogMSQN_1 = new Long(0, 0);
    this.clazzLogLCSN_1 = new Long(0, 0);
    this.clazzLogLCB_1 = 0;
    this.clazzLogLastChangedTime_1 = new Long(0, 0);
  }
  protoOf(ClazzLog).set_clazzLogUid_ks9wuh_k$ = function (_set____db54di) {
    this.clazzLogUid_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogUid_ifqem3_k$ = function () {
    return this.clazzLogUid_1;
  };
  protoOf(ClazzLog).set_clazzLogClazzUid_g2lcqr_k$ = function (_set____db54di) {
    this.clazzLogClazzUid_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogClazzUid_p2tbpp_k$ = function () {
    return this.clazzLogClazzUid_1;
  };
  protoOf(ClazzLog).set_logDate_dvs32h_k$ = function (_set____db54di) {
    this.logDate_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_logDate_6wppgp_k$ = function () {
    return this.logDate_1;
  };
  protoOf(ClazzLog).set_timeRecorded_s2m610_k$ = function (_set____db54di) {
    this.timeRecorded_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_timeRecorded_30b196_k$ = function () {
    return this.timeRecorded_1;
  };
  protoOf(ClazzLog).set_clazzLogDone_area5y_k$ = function (_set____db54di) {
    this.clazzLogDone_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogDone_3ajf7b_k$ = function () {
    return this.clazzLogDone_1;
  };
  protoOf(ClazzLog).set_cancellationNote_5l3n97_k$ = function (_set____db54di) {
    this.cancellationNote_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_cancellationNote_xf4nfm_k$ = function () {
    return this.cancellationNote_1;
  };
  protoOf(ClazzLog).set_clazzLogCancelled_ws6ff1_k$ = function (_set____db54di) {
    this.clazzLogCancelled_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogCancelled_pcu2k_k$ = function () {
    return this.clazzLogCancelled_1;
  };
  protoOf(ClazzLog).set_clazzLogNumPresent_oia4y2_k$ = function (_set____db54di) {
    this.clazzLogNumPresent_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogNumPresent_9zzoay_k$ = function () {
    return this.clazzLogNumPresent_1;
  };
  protoOf(ClazzLog).set_clazzLogNumAbsent_m3kfwu_k$ = function (_set____db54di) {
    this.clazzLogNumAbsent_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogNumAbsent_4ftf7u_k$ = function () {
    return this.clazzLogNumAbsent_1;
  };
  protoOf(ClazzLog).set_clazzLogNumPartial_5wqx38_k$ = function (_set____db54di) {
    this.clazzLogNumPartial_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogNumPartial_25e4y8_k$ = function () {
    return this.clazzLogNumPartial_1;
  };
  protoOf(ClazzLog).set_clazzLogScheduleUid_98b2vm_k$ = function (_set____db54di) {
    this.clazzLogScheduleUid_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogScheduleUid_4puu8s_k$ = function () {
    return this.clazzLogScheduleUid_1;
  };
  protoOf(ClazzLog).set_clazzLogStatusFlag_tr01j3_k$ = function (_set____db54di) {
    this.clazzLogStatusFlag_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogStatusFlag_5bedjh_k$ = function () {
    return this.clazzLogStatusFlag_1;
  };
  protoOf(ClazzLog).set_clazzLogMSQN_a5eeoi_k$ = function (_set____db54di) {
    this.clazzLogMSQN_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogMSQN_3aokm0_k$ = function () {
    return this.clazzLogMSQN_1;
  };
  protoOf(ClazzLog).set_clazzLogLCSN_tbobmr_k$ = function (_set____db54di) {
    this.clazzLogLCSN_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogLCSN_3anlt3_k$ = function () {
    return this.clazzLogLCSN_1;
  };
  protoOf(ClazzLog).set_clazzLogLCB_x6ghiy_k$ = function (_set____db54di) {
    this.clazzLogLCB_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogLCB_ifq706_k$ = function () {
    return this.clazzLogLCB_1;
  };
  protoOf(ClazzLog).set_clazzLogLastChangedTime_hpmcu4_k$ = function (_set____db54di) {
    this.clazzLogLastChangedTime_1 = _set____db54di;
  };
  protoOf(ClazzLog).get_clazzLogLastChangedTime_dwg7je_k$ = function () {
    return this.clazzLogLastChangedTime_1;
  };
  protoOf(ClazzLog).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ClazzLog))
      THROW_CCE();
    if (!this.clazzLogUid_1.equals(other.clazzLogUid_1))
      return false;
    if (!this.clazzLogClazzUid_1.equals(other.clazzLogClazzUid_1))
      return false;
    if (!this.logDate_1.equals(other.logDate_1))
      return false;
    if (!this.timeRecorded_1.equals(other.timeRecorded_1))
      return false;
    if (!(this.clazzLogDone_1 === other.clazzLogDone_1))
      return false;
    if (!(this.cancellationNote_1 == other.cancellationNote_1))
      return false;
    if (!(this.clazzLogCancelled_1 === other.clazzLogCancelled_1))
      return false;
    if (!(this.clazzLogNumPresent_1 === other.clazzLogNumPresent_1))
      return false;
    if (!(this.clazzLogNumAbsent_1 === other.clazzLogNumAbsent_1))
      return false;
    if (!(this.clazzLogNumPartial_1 === other.clazzLogNumPartial_1))
      return false;
    if (!this.clazzLogScheduleUid_1.equals(other.clazzLogScheduleUid_1))
      return false;
    if (!(this.clazzLogStatusFlag_1 === other.clazzLogStatusFlag_1))
      return false;
    if (!this.clazzLogMSQN_1.equals(other.clazzLogMSQN_1))
      return false;
    if (!this.clazzLogLCSN_1.equals(other.clazzLogLCSN_1))
      return false;
    if (!(this.clazzLogLCB_1 === other.clazzLogLCB_1))
      return false;
    if (!this.clazzLogLastChangedTime_1.equals(other.clazzLogLastChangedTime_1))
      return false;
    return true;
  };
  protoOf(ClazzLog).hashCode = function () {
    var result = this.clazzLogUid_1.hashCode();
    result = imul(31, result) + this.clazzLogClazzUid_1.hashCode() | 0;
    result = imul(31, result) + this.logDate_1.hashCode() | 0;
    result = imul(31, result) + this.timeRecorded_1.hashCode() | 0;
    result = imul(31, result) + getBooleanHashCode(this.clazzLogDone_1) | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.cancellationNote_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    result = imul(31, result) + getBooleanHashCode(this.clazzLogCancelled_1) | 0;
    result = imul(31, result) + this.clazzLogNumPresent_1 | 0;
    result = imul(31, result) + this.clazzLogNumAbsent_1 | 0;
    result = imul(31, result) + this.clazzLogNumPartial_1 | 0;
    result = imul(31, result) + this.clazzLogScheduleUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLogStatusFlag_1 | 0;
    result = imul(31, result) + this.clazzLogMSQN_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLogLCSN_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLogLCB_1 | 0;
    result = imul(31, result) + this.clazzLogLastChangedTime_1.hashCode() | 0;
    return result;
  };
  function Companion_54() {
    Companion_instance_54 = this;
    this.TABLE_ID_1 = 15;
    this.STATUS_ATTENDED_1 = 1;
    this.STATUS_ABSENT_1 = 2;
    this.STATUS_PARTIAL_1 = 4;
    this.ATTENDANCE_THRESHOLD_GOOD_1 = 0.8;
    this.ATTENDANCE_THRESHOLD_WARNING_1 = 0.6;
  }
  protoOf(Companion_54).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_54).get_STATUS_ATTENDED_a1e2df_k$ = function () {
    return this.STATUS_ATTENDED_1;
  };
  protoOf(Companion_54).get_STATUS_ABSENT_f54nib_k$ = function () {
    return this.STATUS_ABSENT_1;
  };
  protoOf(Companion_54).get_STATUS_PARTIAL_ye2a71_k$ = function () {
    return this.STATUS_PARTIAL_1;
  };
  protoOf(Companion_54).get_ATTENDANCE_THRESHOLD_GOOD_duyf6q_k$ = function () {
    return this.ATTENDANCE_THRESHOLD_GOOD_1;
  };
  protoOf(Companion_54).get_ATTENDANCE_THRESHOLD_WARNING_hqyigr_k$ = function () {
    return this.ATTENDANCE_THRESHOLD_WARNING_1;
  };
  protoOf(Companion_54).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_52();
  };
  var Companion_instance_54;
  function Companion_getInstance_56() {
    if (Companion_instance_54 == null)
      new Companion_54();
    return Companion_instance_54;
  }
  function $serializer_52() {
    $serializer_instance_52 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzLogAttendanceRecord', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordClazzLogUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('attendanceStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordLastChangedTime', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_52).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_52).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_52).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzLogAttendanceRecord_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_52).serialize_tdf8i6_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.clazzLogAttendanceRecordUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.clazzLogAttendanceRecordUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.clazzLogAttendanceRecordClazzLogUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.clazzLogAttendanceRecordClazzLogUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.clazzLogAttendanceRecordPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.clazzLogAttendanceRecordPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.attendanceStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.attendanceStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.clazzLogAttendanceRecordMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.clazzLogAttendanceRecordMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.clazzLogAttendanceRecordLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.clazzLogAttendanceRecordLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.clazzLogAttendanceRecordLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.clazzLogAttendanceRecordLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.clazzLogAttendanceRecordLastChangedTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.clazzLogAttendanceRecordLastChangedTime_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_52).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_tdf8i6_k$(encoder, value instanceof ClazzLogAttendanceRecord ? value : THROW_CCE());
  };
  var $serializer_instance_52;
  function $serializer_getInstance_52() {
    if ($serializer_instance_52 == null)
      new $serializer_52();
    return $serializer_instance_52;
  }
  function ClazzLogAttendanceRecord_init_$Init$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_52().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.clazzLogAttendanceRecordUid_1 = new Long(0, 0);
    else
      $this.clazzLogAttendanceRecordUid_1 = clazzLogAttendanceRecordUid;
    if (0 === (seen1 & 2))
      $this.clazzLogAttendanceRecordClazzLogUid_1 = new Long(0, 0);
    else
      $this.clazzLogAttendanceRecordClazzLogUid_1 = clazzLogAttendanceRecordClazzLogUid;
    if (0 === (seen1 & 4))
      $this.clazzLogAttendanceRecordPersonUid_1 = new Long(0, 0);
    else
      $this.clazzLogAttendanceRecordPersonUid_1 = clazzLogAttendanceRecordPersonUid;
    if (0 === (seen1 & 8))
      $this.attendanceStatus_1 = 0;
    else
      $this.attendanceStatus_1 = attendanceStatus;
    if (0 === (seen1 & 16))
      $this.clazzLogAttendanceRecordMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.clazzLogAttendanceRecordMasterChangeSeqNum_1 = clazzLogAttendanceRecordMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.clazzLogAttendanceRecordLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.clazzLogAttendanceRecordLocalChangeSeqNum_1 = clazzLogAttendanceRecordLocalChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.clazzLogAttendanceRecordLastChangedBy_1 = 0;
    else
      $this.clazzLogAttendanceRecordLastChangedBy_1 = clazzLogAttendanceRecordLastChangedBy;
    if (0 === (seen1 & 128))
      $this.clazzLogAttendanceRecordLastChangedTime_1 = new Long(0, 0);
    else
      $this.clazzLogAttendanceRecordLastChangedTime_1 = clazzLogAttendanceRecordLastChangedTime;
    return $this;
  }
  function ClazzLogAttendanceRecord_init_$Create$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, serializationConstructorMarker) {
    return ClazzLogAttendanceRecord_init_$Init$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, serializationConstructorMarker, objectCreate(protoOf(ClazzLogAttendanceRecord)));
  }
  function ClazzLogAttendanceRecord() {
    Companion_getInstance_56();
    this.clazzLogAttendanceRecordUid_1 = new Long(0, 0);
    this.clazzLogAttendanceRecordClazzLogUid_1 = new Long(0, 0);
    this.clazzLogAttendanceRecordPersonUid_1 = new Long(0, 0);
    this.attendanceStatus_1 = 0;
    this.clazzLogAttendanceRecordMasterChangeSeqNum_1 = new Long(0, 0);
    this.clazzLogAttendanceRecordLocalChangeSeqNum_1 = new Long(0, 0);
    this.clazzLogAttendanceRecordLastChangedBy_1 = 0;
    this.clazzLogAttendanceRecordLastChangedTime_1 = new Long(0, 0);
  }
  protoOf(ClazzLogAttendanceRecord).set_clazzLogAttendanceRecordUid_u3gxm9_k$ = function (_set____db54di) {
    this.clazzLogAttendanceRecordUid_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_clazzLogAttendanceRecordUid_a6xjzz_k$ = function () {
    return this.clazzLogAttendanceRecordUid_1;
  };
  protoOf(ClazzLogAttendanceRecord).set_clazzLogAttendanceRecordClazzLogUid_ln2yg3_k$ = function (_set____db54di) {
    this.clazzLogAttendanceRecordClazzLogUid_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_clazzLogAttendanceRecordClazzLogUid_a8zaj9_k$ = function () {
    return this.clazzLogAttendanceRecordClazzLogUid_1;
  };
  protoOf(ClazzLogAttendanceRecord).set_clazzLogAttendanceRecordPersonUid_tldzbu_k$ = function (_set____db54di) {
    this.clazzLogAttendanceRecordPersonUid_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_clazzLogAttendanceRecordPersonUid_1jxn10_k$ = function () {
    return this.clazzLogAttendanceRecordPersonUid_1;
  };
  protoOf(ClazzLogAttendanceRecord).set_attendanceStatus_scnmkw_k$ = function (_set____db54di) {
    this.attendanceStatus_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_attendanceStatus_noqiv8_k$ = function () {
    return this.attendanceStatus_1;
  };
  protoOf(ClazzLogAttendanceRecord).set_clazzLogAttendanceRecordMasterChangeSeqNum_59a35q_k$ = function (_set____db54di) {
    this.clazzLogAttendanceRecordMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_clazzLogAttendanceRecordMasterChangeSeqNum_jtnrko_k$ = function () {
    return this.clazzLogAttendanceRecordMasterChangeSeqNum_1;
  };
  protoOf(ClazzLogAttendanceRecord).set_clazzLogAttendanceRecordLocalChangeSeqNum_vs2uwx_k$ = function (_set____db54di) {
    this.clazzLogAttendanceRecordLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_clazzLogAttendanceRecordLocalChangeSeqNum_2q8zx_k$ = function () {
    return this.clazzLogAttendanceRecordLocalChangeSeqNum_1;
  };
  protoOf(ClazzLogAttendanceRecord).set_clazzLogAttendanceRecordLastChangedBy_pjw2y2_k$ = function (_set____db54di) {
    this.clazzLogAttendanceRecordLastChangedBy_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_clazzLogAttendanceRecordLastChangedBy_9c33mu_k$ = function () {
    return this.clazzLogAttendanceRecordLastChangedBy_1;
  };
  protoOf(ClazzLogAttendanceRecord).set_clazzLogAttendanceRecordLastChangedTime_oygn9m_k$ = function (_set____db54di) {
    this.clazzLogAttendanceRecordLastChangedTime_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecord).get_clazzLogAttendanceRecordLastChangedTime_lqwc7w_k$ = function () {
    return this.clazzLogAttendanceRecordLastChangedTime_1;
  };
  protoOf(ClazzLogAttendanceRecord).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ClazzLogAttendanceRecord))
      THROW_CCE();
    if (!this.clazzLogAttendanceRecordUid_1.equals(other.clazzLogAttendanceRecordUid_1))
      return false;
    if (!this.clazzLogAttendanceRecordClazzLogUid_1.equals(other.clazzLogAttendanceRecordClazzLogUid_1))
      return false;
    if (!this.clazzLogAttendanceRecordPersonUid_1.equals(other.clazzLogAttendanceRecordPersonUid_1))
      return false;
    if (!(this.attendanceStatus_1 === other.attendanceStatus_1))
      return false;
    if (!this.clazzLogAttendanceRecordMasterChangeSeqNum_1.equals(other.clazzLogAttendanceRecordMasterChangeSeqNum_1))
      return false;
    if (!this.clazzLogAttendanceRecordLocalChangeSeqNum_1.equals(other.clazzLogAttendanceRecordLocalChangeSeqNum_1))
      return false;
    if (!(this.clazzLogAttendanceRecordLastChangedBy_1 === other.clazzLogAttendanceRecordLastChangedBy_1))
      return false;
    return true;
  };
  protoOf(ClazzLogAttendanceRecord).hashCode = function () {
    var result = this.clazzLogAttendanceRecordUid_1.hashCode();
    result = imul(31, result) + this.clazzLogAttendanceRecordClazzLogUid_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLogAttendanceRecordPersonUid_1.hashCode() | 0;
    result = imul(31, result) + this.attendanceStatus_1 | 0;
    result = imul(31, result) + this.clazzLogAttendanceRecordMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLogAttendanceRecordLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.clazzLogAttendanceRecordLastChangedBy_1 | 0;
    return result;
  };
  function Companion_55() {
    Companion_instance_55 = this;
  }
  protoOf(Companion_55).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_53();
  };
  var Companion_instance_55;
  function Companion_getInstance_57() {
    if (Companion_instance_55 == null)
      new Companion_55();
    return Companion_instance_55;
  }
  function $serializer_53() {
    $serializer_instance_53 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzLogAttendanceRecordWithPerson', this, 9);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordClazzLogUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('attendanceStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLogAttendanceRecordLastChangedTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_53).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_53).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_98())];
  };
  protoOf($serializer_53).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = null;
    var tmp13_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp13_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, $serializer_getInstance_98(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, $serializer_getInstance_98(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzLogAttendanceRecordWithPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_53).serialize_y9wfnd_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_clazzLogAttendanceRecordUid_a6xjzz_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_clazzLogAttendanceRecordUid_a6xjzz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.get_clazzLogAttendanceRecordClazzLogUid_a8zaj9_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.get_clazzLogAttendanceRecordClazzLogUid_a8zaj9_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.get_clazzLogAttendanceRecordPersonUid_1jxn10_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.get_clazzLogAttendanceRecordPersonUid_1jxn10_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.get_attendanceStatus_noqiv8_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.get_attendanceStatus_noqiv8_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_clazzLogAttendanceRecordMasterChangeSeqNum_jtnrko_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_clazzLogAttendanceRecordMasterChangeSeqNum_jtnrko_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.get_clazzLogAttendanceRecordLocalChangeSeqNum_2q8zx_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.get_clazzLogAttendanceRecordLocalChangeSeqNum_2q8zx_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.get_clazzLogAttendanceRecordLastChangedBy_9c33mu_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.get_clazzLogAttendanceRecordLastChangedBy_9c33mu_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_clazzLogAttendanceRecordLastChangedTime_lqwc7w_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_clazzLogAttendanceRecordLastChangedTime_lqwc7w_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 8, $serializer_getInstance_98(), value.person_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_53).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_y9wfnd_k$(encoder, value instanceof ClazzLogAttendanceRecordWithPerson ? value : THROW_CCE());
  };
  var $serializer_instance_53;
  function $serializer_getInstance_53() {
    if ($serializer_instance_53 == null)
      new $serializer_53();
    return $serializer_instance_53;
  }
  function ClazzLogAttendanceRecordWithPerson_init_$Init$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, person, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_53().descriptor_1);
    }
    ClazzLogAttendanceRecord_init_$Init$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, serializationConstructorMarker, $this);
    if (0 === (seen1 & 256))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    return $this;
  }
  function ClazzLogAttendanceRecordWithPerson_init_$Create$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, person, serializationConstructorMarker) {
    return ClazzLogAttendanceRecordWithPerson_init_$Init$(seen1, clazzLogAttendanceRecordUid, clazzLogAttendanceRecordClazzLogUid, clazzLogAttendanceRecordPersonUid, attendanceStatus, clazzLogAttendanceRecordMasterChangeSeqNum, clazzLogAttendanceRecordLocalChangeSeqNum, clazzLogAttendanceRecordLastChangedBy, clazzLogAttendanceRecordLastChangedTime, person, serializationConstructorMarker, objectCreate(protoOf(ClazzLogAttendanceRecordWithPerson)));
  }
  function ClazzLogAttendanceRecordWithPerson() {
    Companion_getInstance_57();
    ClazzLogAttendanceRecord.call(this);
    this.person_1 = null;
  }
  protoOf(ClazzLogAttendanceRecordWithPerson).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(ClazzLogAttendanceRecordWithPerson).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(ClazzLogAttendanceRecordWithPerson).copy_1tks5_k$ = function () {
    // Inline function 'kotlin.also' call
    var this_0 = new ClazzLogAttendanceRecordWithPerson();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.ClazzLogAttendanceRecordWithPerson.copy.<anonymous>' call
    this_0.person_1 = this.person_1;
    this_0.set_clazzLogAttendanceRecordUid_u3gxm9_k$(this.get_clazzLogAttendanceRecordUid_a6xjzz_k$());
    this_0.set_clazzLogAttendanceRecordPersonUid_tldzbu_k$(this.get_clazzLogAttendanceRecordPersonUid_1jxn10_k$());
    this_0.set_clazzLogAttendanceRecordClazzLogUid_ln2yg3_k$(this.get_clazzLogAttendanceRecordClazzLogUid_a8zaj9_k$());
    this_0.set_clazzLogAttendanceRecordLastChangedBy_pjw2y2_k$(this.get_clazzLogAttendanceRecordLastChangedBy_9c33mu_k$());
    this_0.set_clazzLogAttendanceRecordLocalChangeSeqNum_vs2uwx_k$(this.get_clazzLogAttendanceRecordLocalChangeSeqNum_2q8zx_k$());
    this_0.set_clazzLogAttendanceRecordMasterChangeSeqNum_59a35q_k$(this.get_clazzLogAttendanceRecordMasterChangeSeqNum_jtnrko_k$());
    this_0.set_attendanceStatus_scnmkw_k$(this.get_attendanceStatus_noqiv8_k$());
    return this_0;
  };
  function Companion_56() {
    Companion_instance_56 = this;
  }
  protoOf(Companion_56).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_54();
  };
  var Companion_instance_56;
  function Companion_getInstance_58() {
    if (Companion_instance_56 == null)
      new Companion_56();
    return Companion_instance_56;
  }
  function $serializer_54() {
    $serializer_instance_54 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzWithDisplayDetails', this, 30);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzDesc', true);
    tmp0_serialDesc.addElement_5pzumi_k$('attendanceAverage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzHolidayUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzScheuleUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('isClazzActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocationUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEndTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzFeatures', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzSchoolUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPolicy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTerminologyUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTimeZone', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTeachersPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzPendingStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzParentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzCode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzOwnerPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzHolidayCalendar', true);
    tmp0_serialDesc.addElement_5pzumi_k$('terminology', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('numStudents', true);
    tmp0_serialDesc.addElement_5pzumi_k$('numTeachers', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_54).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_54).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable($serializer_getInstance_90()), get_nullable($serializer_getInstance_83()), get_nullable($serializer_getInstance_82()), IntSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_54).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = 0.0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = null;
    var tmp23_local19 = new Long(0, 0);
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = new Long(0, 0);
    var tmp27_local23 = null;
    var tmp28_local24 = new Long(0, 0);
    var tmp29_local25 = null;
    var tmp30_local26 = null;
    var tmp31_local27 = null;
    var tmp32_local28 = 0;
    var tmp33_local29 = 0;
    var tmp34_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp34_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp34_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp34_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp29_local25 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 25, $serializer_getInstance_90(), tmp29_local25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp30_local26 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 26, $serializer_getInstance_83(), tmp30_local26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp31_local27 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, $serializer_getInstance_82(), tmp31_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
      tmp32_local28 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 28);
      tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
      tmp33_local29 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 29);
      tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp34_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp34_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp34_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp34_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp29_local25 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 25, $serializer_getInstance_90(), tmp29_local25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp30_local26 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 26, $serializer_getInstance_83(), tmp30_local26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp31_local27 = tmp34_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, $serializer_getInstance_82(), tmp31_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          case 28:
            tmp32_local28 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 28);
            tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
            break;
          case 29:
            tmp33_local29 = tmp34_input.decodeIntElement_941u6a_k$(tmp0_desc, 29);
            tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp34_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzWithDisplayDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, tmp29_local25, tmp30_local26, tmp31_local27, tmp32_local28, tmp33_local29, null);
  };
  protoOf($serializer_54).serialize_rxfzoi_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_clazzUid_k8pnbz_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_clazzUid_k8pnbz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.get_clazzName_brsrx6_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.get_clazzName_brsrx6_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.get_clazzDesc_brmh5s_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.get_clazzDesc_brmh5s_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !equals(value.get_attendanceAverage_q3uit1_k$(), -1.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 3, value.get_attendanceAverage_q3uit1_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_clazzHolidayUMCalendarUid_diy12p_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_clazzHolidayUMCalendarUid_diy12p_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.get_clazzScheuleUMCalendarUid_pyne08_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.get_clazzScheuleUMCalendarUid_pyne08_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.get_isClazzActive_pdk9bp_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.get_isClazzActive_pdk9bp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_clazzLocationUid_64jec4_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_clazzLocationUid_64jec4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_clazzStartTime_lc1vds_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_clazzStartTime_lc1vds_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.get_clazzEndTime_sxjf8n_k$().equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.get_clazzEndTime_sxjf8n_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.get_clazzFeatures_6nf4ac_k$().equals(Companion_getInstance_48().get_CLAZZ_FEATURE_ATTENDANCE_h2pzj6_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.get_clazzFeatures_6nf4ac_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.get_clazzSchoolUid_g4bglp_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.get_clazzSchoolUid_g4bglp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.get_clazzEnrolmentPolicy_pv7kzr_k$() === Companion_getInstance_48().get_CLAZZ_ENROLMENT_POLICY_OPEN_3ryjuc_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.get_clazzEnrolmentPolicy_pv7kzr_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.get_clazzTerminologyUid_4xpw4_k$().equals(new Long(25966, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.get_clazzTerminologyUid_4xpw4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !value.get_clazzMasterChangeSeqNum_7fn794_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 14, value.get_clazzMasterChangeSeqNum_7fn794_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !value.get_clazzLocalChangeSeqNum_9hlwk3_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 15, value.get_clazzLocalChangeSeqNum_9hlwk3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.get_clazzLastChangedBy_wnz9za_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 16, value.get_clazzLastChangedBy_wnz9za_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !value.get_clazzLct_k8pu4y_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 17, value.get_clazzLct_k8pu4y_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.get_clazzTimeZone_yu1krs_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 18, StringSerializer_getInstance(), value.get_clazzTimeZone_yu1krs_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !value.get_clazzStudentsPersonGroupUid_myynpp_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 19, value.get_clazzStudentsPersonGroupUid_myynpp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !value.get_clazzTeachersPersonGroupUid_5xdfqy_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 20, value.get_clazzTeachersPersonGroupUid_5xdfqy_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.get_clazzPendingStudentsPersonGroupUid_4kclja_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.get_clazzPendingStudentsPersonGroupUid_4kclja_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !value.get_clazzParentsPersonGroupUid_gibku8_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 22, value.get_clazzParentsPersonGroupUid_gibku8_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !(value.get_clazzCode_brm18c_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 23, StringSerializer_getInstance(), value.get_clazzCode_brm18c_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 24) ? true : !value.get_clazzOwnerPersonUid_iplxz_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 24, value.get_clazzOwnerPersonUid_iplxz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 25) ? true : !(value.clazzHolidayCalendar_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 25, $serializer_getInstance_90(), value.clazzHolidayCalendar_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 26) ? true : !(value.terminology_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 26, $serializer_getInstance_83(), value.terminology_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 27) ? true : !(value.coursePicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 27, $serializer_getInstance_82(), value.coursePicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 28) ? true : !(value.numStudents_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 28, value.numStudents_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 29) ? true : !(value.numTeachers_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 29, value.numTeachers_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_54).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_rxfzoi_k$(encoder, value instanceof ClazzWithDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_54;
  function $serializer_getInstance_54() {
    if ($serializer_instance_54 == null)
      new $serializer_54();
    return $serializer_instance_54;
  }
  function ClazzWithDisplayDetails_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, clazzHolidayCalendar, terminology, coursePicture, numStudents, numTeachers, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_54().descriptor_1);
    }
    Clazz_init_$Init$_1(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, $this);
    if (0 === (seen1 & 33554432))
      $this.clazzHolidayCalendar_1 = null;
    else
      $this.clazzHolidayCalendar_1 = clazzHolidayCalendar;
    if (0 === (seen1 & 67108864))
      $this.terminology_1 = null;
    else
      $this.terminology_1 = terminology;
    if (0 === (seen1 & 134217728))
      $this.coursePicture_1 = null;
    else
      $this.coursePicture_1 = coursePicture;
    if (0 === (seen1 & 268435456))
      $this.numStudents_1 = 0;
    else
      $this.numStudents_1 = numStudents;
    if (0 === (seen1 & 536870912))
      $this.numTeachers_1 = 0;
    else
      $this.numTeachers_1 = numTeachers;
    return $this;
  }
  function ClazzWithDisplayDetails_init_$Create$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, clazzHolidayCalendar, terminology, coursePicture, numStudents, numTeachers, serializationConstructorMarker) {
    return ClazzWithDisplayDetails_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, clazzHolidayCalendar, terminology, coursePicture, numStudents, numTeachers, serializationConstructorMarker, objectCreate(protoOf(ClazzWithDisplayDetails)));
  }
  function ClazzWithDisplayDetails() {
    Companion_getInstance_58();
    Clazz.call(this);
    this.clazzHolidayCalendar_1 = null;
    this.terminology_1 = null;
    this.coursePicture_1 = null;
    this.numStudents_1 = 0;
    this.numTeachers_1 = 0;
  }
  protoOf(ClazzWithDisplayDetails).set_clazzHolidayCalendar_fp531_k$ = function (_set____db54di) {
    this.clazzHolidayCalendar_1 = _set____db54di;
  };
  protoOf(ClazzWithDisplayDetails).get_clazzHolidayCalendar_cwdsah_k$ = function () {
    return this.clazzHolidayCalendar_1;
  };
  protoOf(ClazzWithDisplayDetails).set_terminology_opn48q_k$ = function (_set____db54di) {
    this.terminology_1 = _set____db54di;
  };
  protoOf(ClazzWithDisplayDetails).get_terminology_hmih12_k$ = function () {
    return this.terminology_1;
  };
  protoOf(ClazzWithDisplayDetails).set_coursePicture_h9sgol_k$ = function (_set____db54di) {
    this.coursePicture_1 = _set____db54di;
  };
  protoOf(ClazzWithDisplayDetails).get_coursePicture_gcf86y_k$ = function () {
    return this.coursePicture_1;
  };
  protoOf(ClazzWithDisplayDetails).set_numStudents_sx9y7t_k$ = function (_set____db54di) {
    this.numStudents_1 = _set____db54di;
  };
  protoOf(ClazzWithDisplayDetails).get_numStudents_si1t5h_k$ = function () {
    return this.numStudents_1;
  };
  protoOf(ClazzWithDisplayDetails).set_numTeachers_35yqj6_k$ = function (_set____db54di) {
    this.numTeachers_1 = _set____db54di;
  };
  protoOf(ClazzWithDisplayDetails).get_numTeachers_u9gdf6_k$ = function () {
    return this.numTeachers_1;
  };
  function Companion_57() {
    Companion_instance_57 = this;
  }
  protoOf(Companion_57).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_55();
  };
  var Companion_instance_57;
  function Companion_getInstance_59() {
    if (Companion_instance_57 == null)
      new Companion_57();
    return Companion_instance_57;
  }
  function $serializer_55() {
    $serializer_instance_55 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzWithHolidayCalendarAndAndTerminology', this, 28);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzDesc', true);
    tmp0_serialDesc.addElement_5pzumi_k$('attendanceAverage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzHolidayUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzScheuleUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('isClazzActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocationUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEndTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzFeatures', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzSchoolUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPolicy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTerminologyUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTimeZone', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTeachersPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzPendingStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzParentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzCode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzOwnerPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holidayCalendar', true);
    tmp0_serialDesc.addElement_5pzumi_k$('terminology', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePicture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_55).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_55).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable($serializer_getInstance_90()), get_nullable($serializer_getInstance_83()), get_nullable($serializer_getInstance_82())];
  };
  protoOf($serializer_55).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = 0.0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = 0;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = null;
    var tmp23_local19 = new Long(0, 0);
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = new Long(0, 0);
    var tmp27_local23 = null;
    var tmp28_local24 = new Long(0, 0);
    var tmp29_local25 = null;
    var tmp30_local26 = null;
    var tmp31_local27 = null;
    var tmp32_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp32_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp32_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp29_local25 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 25, $serializer_getInstance_90(), tmp29_local25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp30_local26 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 26, $serializer_getInstance_83(), tmp30_local26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp31_local27 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, $serializer_getInstance_82(), tmp31_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp32_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp32_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp29_local25 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 25, $serializer_getInstance_90(), tmp29_local25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp30_local26 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 26, $serializer_getInstance_83(), tmp30_local26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp31_local27 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, $serializer_getInstance_82(), tmp31_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp32_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzWithHolidayCalendarAndAndTerminology_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, tmp29_local25, tmp30_local26, tmp31_local27, null);
  };
  protoOf($serializer_55).serialize_3722gr_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_clazzUid_k8pnbz_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_clazzUid_k8pnbz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.get_clazzName_brsrx6_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.get_clazzName_brsrx6_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.get_clazzDesc_brmh5s_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.get_clazzDesc_brmh5s_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !equals(value.get_attendanceAverage_q3uit1_k$(), -1.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 3, value.get_attendanceAverage_q3uit1_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_clazzHolidayUMCalendarUid_diy12p_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_clazzHolidayUMCalendarUid_diy12p_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.get_clazzScheuleUMCalendarUid_pyne08_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.get_clazzScheuleUMCalendarUid_pyne08_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.get_isClazzActive_pdk9bp_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.get_isClazzActive_pdk9bp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_clazzLocationUid_64jec4_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_clazzLocationUid_64jec4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_clazzStartTime_lc1vds_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_clazzStartTime_lc1vds_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.get_clazzEndTime_sxjf8n_k$().equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.get_clazzEndTime_sxjf8n_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.get_clazzFeatures_6nf4ac_k$().equals(Companion_getInstance_48().get_CLAZZ_FEATURE_ATTENDANCE_h2pzj6_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.get_clazzFeatures_6nf4ac_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.get_clazzSchoolUid_g4bglp_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.get_clazzSchoolUid_g4bglp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.get_clazzEnrolmentPolicy_pv7kzr_k$() === Companion_getInstance_48().get_CLAZZ_ENROLMENT_POLICY_OPEN_3ryjuc_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.get_clazzEnrolmentPolicy_pv7kzr_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.get_clazzTerminologyUid_4xpw4_k$().equals(new Long(25966, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.get_clazzTerminologyUid_4xpw4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !value.get_clazzMasterChangeSeqNum_7fn794_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 14, value.get_clazzMasterChangeSeqNum_7fn794_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !value.get_clazzLocalChangeSeqNum_9hlwk3_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 15, value.get_clazzLocalChangeSeqNum_9hlwk3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.get_clazzLastChangedBy_wnz9za_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 16, value.get_clazzLastChangedBy_wnz9za_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !value.get_clazzLct_k8pu4y_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 17, value.get_clazzLct_k8pu4y_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.get_clazzTimeZone_yu1krs_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 18, StringSerializer_getInstance(), value.get_clazzTimeZone_yu1krs_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !value.get_clazzStudentsPersonGroupUid_myynpp_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 19, value.get_clazzStudentsPersonGroupUid_myynpp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !value.get_clazzTeachersPersonGroupUid_5xdfqy_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 20, value.get_clazzTeachersPersonGroupUid_5xdfqy_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.get_clazzPendingStudentsPersonGroupUid_4kclja_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.get_clazzPendingStudentsPersonGroupUid_4kclja_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !value.get_clazzParentsPersonGroupUid_gibku8_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 22, value.get_clazzParentsPersonGroupUid_gibku8_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !(value.get_clazzCode_brm18c_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 23, StringSerializer_getInstance(), value.get_clazzCode_brm18c_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 24) ? true : !value.get_clazzOwnerPersonUid_iplxz_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 24, value.get_clazzOwnerPersonUid_iplxz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 25) ? true : !(value.holidayCalendar_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 25, $serializer_getInstance_90(), value.holidayCalendar_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 26) ? true : !(value.terminology_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 26, $serializer_getInstance_83(), value.terminology_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 27) ? true : !(value.coursePicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 27, $serializer_getInstance_82(), value.coursePicture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_55).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_3722gr_k$(encoder, value instanceof ClazzWithHolidayCalendarAndAndTerminology ? value : THROW_CCE());
  };
  var $serializer_instance_55;
  function $serializer_getInstance_55() {
    if ($serializer_instance_55 == null)
      new $serializer_55();
    return $serializer_instance_55;
  }
  function ClazzWithHolidayCalendarAndAndTerminology_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, holidayCalendar, terminology, coursePicture, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_55().descriptor_1);
    }
    Clazz_init_$Init$_1(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, $this);
    if (0 === (seen1 & 33554432))
      $this.holidayCalendar_1 = null;
    else
      $this.holidayCalendar_1 = holidayCalendar;
    if (0 === (seen1 & 67108864))
      $this.terminology_1 = null;
    else
      $this.terminology_1 = terminology;
    if (0 === (seen1 & 134217728))
      $this.coursePicture_1 = null;
    else
      $this.coursePicture_1 = coursePicture;
    return $this;
  }
  function ClazzWithHolidayCalendarAndAndTerminology_init_$Create$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, holidayCalendar, terminology, coursePicture, serializationConstructorMarker) {
    return ClazzWithHolidayCalendarAndAndTerminology_init_$Init$(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, holidayCalendar, terminology, coursePicture, serializationConstructorMarker, objectCreate(protoOf(ClazzWithHolidayCalendarAndAndTerminology)));
  }
  function ClazzWithHolidayCalendarAndAndTerminology() {
    Companion_getInstance_59();
    Clazz.call(this);
    this.holidayCalendar_1 = null;
    this.terminology_1 = null;
    this.coursePicture_1 = null;
  }
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).set_holidayCalendar_1i7d23_k$ = function (_set____db54di) {
    this.holidayCalendar_1 = _set____db54di;
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).get_holidayCalendar_vsvfar_k$ = function () {
    return this.holidayCalendar_1;
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).set_terminology_opn48q_k$ = function (_set____db54di) {
    this.terminology_1 = _set____db54di;
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).get_terminology_hmih12_k$ = function () {
    return this.terminology_1;
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).set_coursePicture_h9sgol_k$ = function (_set____db54di) {
    this.coursePicture_1 = _set____db54di;
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).get_coursePicture_gcf86y_k$ = function () {
    return this.coursePicture_1;
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzWithHolidayCalendarAndAndTerminology))
      return false;
    if (!protoOf(Clazz).equals.call(this, other))
      return false;
    if (!equals(this.holidayCalendar_1, other.holidayCalendar_1))
      return false;
    if (!equals(this.terminology_1, other.terminology_1))
      return false;
    return equals(this.coursePicture_1, other.coursePicture_1);
  };
  protoOf(ClazzWithHolidayCalendarAndAndTerminology).hashCode = function () {
    var result = protoOf(Clazz).hashCode.call(this);
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.holidayCalendar_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : hashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.terminology_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : hashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.coursePicture_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : tmp4_safe_receiver.hashCode();
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    return result;
  };
  function Companion_58() {
    Companion_instance_58 = this;
  }
  protoOf(Companion_58).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_56();
  };
  var Companion_instance_58;
  function Companion_getInstance_60() {
    if (Companion_instance_58 == null)
      new Companion_58();
    return Companion_instance_58;
  }
  function $serializer_56() {
    $serializer_instance_56 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ClazzWithListDisplayDetails', this, 32);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzDesc', true);
    tmp0_serialDesc.addElement_5pzumi_k$('attendanceAverage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzHolidayUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzScheuleUMCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('isClazzActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocationUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEndTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzFeatures', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzSchoolUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzEnrolmentPolicy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTerminologyUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTimeZone', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzTeachersPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzPendingStudentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzParentsPersonGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzCode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzOwnerPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('numStudents', true);
    tmp0_serialDesc.addElement_5pzumi_k$('numTeachers', true);
    tmp0_serialDesc.addElement_5pzumi_k$('teacherNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastRecorded', true);
    tmp0_serialDesc.addElement_5pzumi_k$('clazzActiveEnrolment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('terminology', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePicture', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_56).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_56).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable($serializer_getInstance_47()), get_nullable($serializer_getInstance_83()), get_nullable($serializer_getInstance_82())];
  };
  protoOf($serializer_56).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp5_local0 = new Long(0, 0);
    var tmp6_local1 = null;
    var tmp7_local2 = null;
    var tmp8_local3 = 0.0;
    var tmp9_local4 = new Long(0, 0);
    var tmp10_local5 = new Long(0, 0);
    var tmp11_local6 = false;
    var tmp12_local7 = new Long(0, 0);
    var tmp13_local8 = new Long(0, 0);
    var tmp14_local9 = new Long(0, 0);
    var tmp15_local10 = new Long(0, 0);
    var tmp16_local11 = new Long(0, 0);
    var tmp17_local12 = 0;
    var tmp18_local13 = new Long(0, 0);
    var tmp19_local14 = new Long(0, 0);
    var tmp20_local15 = new Long(0, 0);
    var tmp21_local16 = 0;
    var tmp22_local17 = new Long(0, 0);
    var tmp23_local18 = null;
    var tmp24_local19 = new Long(0, 0);
    var tmp25_local20 = new Long(0, 0);
    var tmp26_local21 = new Long(0, 0);
    var tmp27_local22 = new Long(0, 0);
    var tmp28_local23 = null;
    var tmp29_local24 = new Long(0, 0);
    var tmp30_local25 = 0;
    var tmp31_local26 = 0;
    var tmp32_local27 = null;
    var tmp33_local28 = new Long(0, 0);
    var tmp34_local29 = null;
    var tmp35_local30 = null;
    var tmp36_local31 = null;
    var tmp37_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp37_input.decodeSequentially_xlblqy_k$()) {
      tmp5_local0 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp6_local1 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp6_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp7_local2 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp7_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp8_local3 = tmp37_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp9_local4 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp10_local5 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp11_local6 = tmp37_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp12_local7 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp13_local8 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp14_local9 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp15_local10 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp16_local11 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp17_local12 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp18_local13 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp19_local14 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp20_local15 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp21_local16 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp22_local17 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp23_local18 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp23_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp24_local19 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp25_local20 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp26_local21 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp27_local22 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp28_local23 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp28_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp29_local24 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp30_local25 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp31_local26 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp32_local27 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, StringSerializer_getInstance(), tmp32_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
      tmp33_local28 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 28);
      tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
      tmp34_local29 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 29, $serializer_getInstance_47(), tmp34_local29);
      tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
      tmp35_local30 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 30, $serializer_getInstance_83(), tmp35_local30);
      tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
      tmp36_local31 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 31, $serializer_getInstance_82(), tmp36_local31);
      tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp37_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp5_local0 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp6_local1 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp6_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp7_local2 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp7_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp8_local3 = tmp37_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp9_local4 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp10_local5 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp11_local6 = tmp37_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp12_local7 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp13_local8 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp14_local9 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp15_local10 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp16_local11 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp17_local12 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp18_local13 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp19_local14 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp20_local15 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp21_local16 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp22_local17 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp23_local18 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp23_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp24_local19 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp25_local20 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp26_local21 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp27_local22 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp28_local23 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp28_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp29_local24 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp30_local25 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp31_local26 = tmp37_input.decodeIntElement_941u6a_k$(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp32_local27 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, StringSerializer_getInstance(), tmp32_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          case 28:
            tmp33_local28 = tmp37_input.decodeLongElement_994anb_k$(tmp0_desc, 28);
            tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
            break;
          case 29:
            tmp34_local29 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 29, $serializer_getInstance_47(), tmp34_local29);
            tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
            break;
          case 30:
            tmp35_local30 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 30, $serializer_getInstance_83(), tmp35_local30);
            tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
            break;
          case 31:
            tmp36_local31 = tmp37_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 31, $serializer_getInstance_82(), tmp36_local31);
            tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp37_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ClazzWithListDisplayDetails_init_$Create$(tmp3_bitMask0, 0, tmp5_local0, tmp6_local1, tmp7_local2, tmp8_local3, tmp9_local4, tmp10_local5, tmp11_local6, tmp12_local7, tmp13_local8, tmp14_local9, tmp15_local10, tmp16_local11, tmp17_local12, tmp18_local13, tmp19_local14, tmp20_local15, tmp21_local16, tmp22_local17, tmp23_local18, tmp24_local19, tmp25_local20, tmp26_local21, tmp27_local22, tmp28_local23, tmp29_local24, tmp30_local25, tmp31_local26, tmp32_local27, tmp33_local28, tmp34_local29, tmp35_local30, tmp36_local31, null);
  };
  protoOf($serializer_56).serialize_5oqtd0_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_clazzUid_k8pnbz_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_clazzUid_k8pnbz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.get_clazzName_brsrx6_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.get_clazzName_brsrx6_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.get_clazzDesc_brmh5s_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.get_clazzDesc_brmh5s_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !equals(value.get_attendanceAverage_q3uit1_k$(), -1.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 3, value.get_attendanceAverage_q3uit1_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_clazzHolidayUMCalendarUid_diy12p_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_clazzHolidayUMCalendarUid_diy12p_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.get_clazzScheuleUMCalendarUid_pyne08_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.get_clazzScheuleUMCalendarUid_pyne08_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.get_isClazzActive_pdk9bp_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.get_isClazzActive_pdk9bp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_clazzLocationUid_64jec4_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_clazzLocationUid_64jec4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_clazzStartTime_lc1vds_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_clazzStartTime_lc1vds_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.get_clazzEndTime_sxjf8n_k$().equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.get_clazzEndTime_sxjf8n_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.get_clazzFeatures_6nf4ac_k$().equals(Companion_getInstance_48().get_CLAZZ_FEATURE_ATTENDANCE_h2pzj6_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.get_clazzFeatures_6nf4ac_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.get_clazzSchoolUid_g4bglp_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.get_clazzSchoolUid_g4bglp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.get_clazzEnrolmentPolicy_pv7kzr_k$() === Companion_getInstance_48().get_CLAZZ_ENROLMENT_POLICY_OPEN_3ryjuc_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.get_clazzEnrolmentPolicy_pv7kzr_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.get_clazzTerminologyUid_4xpw4_k$().equals(new Long(25966, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.get_clazzTerminologyUid_4xpw4_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !value.get_clazzMasterChangeSeqNum_7fn794_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 14, value.get_clazzMasterChangeSeqNum_7fn794_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !value.get_clazzLocalChangeSeqNum_9hlwk3_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 15, value.get_clazzLocalChangeSeqNum_9hlwk3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.get_clazzLastChangedBy_wnz9za_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 16, value.get_clazzLastChangedBy_wnz9za_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !value.get_clazzLct_k8pu4y_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 17, value.get_clazzLct_k8pu4y_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.get_clazzTimeZone_yu1krs_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 18, StringSerializer_getInstance(), value.get_clazzTimeZone_yu1krs_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !value.get_clazzStudentsPersonGroupUid_myynpp_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 19, value.get_clazzStudentsPersonGroupUid_myynpp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !value.get_clazzTeachersPersonGroupUid_5xdfqy_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 20, value.get_clazzTeachersPersonGroupUid_5xdfqy_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.get_clazzPendingStudentsPersonGroupUid_4kclja_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.get_clazzPendingStudentsPersonGroupUid_4kclja_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !value.get_clazzParentsPersonGroupUid_gibku8_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 22, value.get_clazzParentsPersonGroupUid_gibku8_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !(value.get_clazzCode_brm18c_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 23, StringSerializer_getInstance(), value.get_clazzCode_brm18c_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 24) ? true : !value.get_clazzOwnerPersonUid_iplxz_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 24, value.get_clazzOwnerPersonUid_iplxz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 25) ? true : !(value.numStudents_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 25, value.numStudents_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 26) ? true : !(value.numTeachers_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 26, value.numTeachers_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 27) ? true : !(value.teacherNames_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 27, StringSerializer_getInstance(), value.teacherNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 28) ? true : !value.lastRecorded_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 28, value.lastRecorded_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 29) ? true : !(value.clazzActiveEnrolment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 29, $serializer_getInstance_47(), value.clazzActiveEnrolment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 30) ? true : !(value.terminology_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 30, $serializer_getInstance_83(), value.terminology_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 31) ? true : !(value.coursePicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 31, $serializer_getInstance_82(), value.coursePicture_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_56).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_5oqtd0_k$(encoder, value instanceof ClazzWithListDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_56;
  function $serializer_getInstance_56() {
    if ($serializer_instance_56 == null)
      new $serializer_56();
    return $serializer_instance_56;
  }
  function ClazzWithListDisplayDetails_init_$Init$(seen1, seen2, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, numStudents, numTeachers, teacherNames, lastRecorded, clazzActiveEnrolment, terminology, coursePicture, serializationConstructorMarker, $this) {
    if (!!(!(0 === (0 & seen1)) | !(0 === (0 & seen2)))) {
      // Inline function 'kotlin.intArrayOf' call
      var tmp = new Int32Array([seen1, seen2]);
      // Inline function 'kotlin.intArrayOf' call
      var tmp$ret$1 = new Int32Array([0, 0]);
      throwArrayMissingFieldException(tmp, tmp$ret$1, $serializer_getInstance_56().descriptor_1);
    }
    Clazz_init_$Init$_1(seen1, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, serializationConstructorMarker, $this);
    if (0 === (seen1 & 33554432))
      $this.numStudents_1 = 0;
    else
      $this.numStudents_1 = numStudents;
    if (0 === (seen1 & 67108864))
      $this.numTeachers_1 = 0;
    else
      $this.numTeachers_1 = numTeachers;
    if (0 === (seen1 & 134217728))
      $this.teacherNames_1 = null;
    else
      $this.teacherNames_1 = teacherNames;
    if (0 === (seen1 & 268435456))
      $this.lastRecorded_1 = new Long(0, 0);
    else
      $this.lastRecorded_1 = lastRecorded;
    if (0 === (seen1 & 536870912))
      $this.clazzActiveEnrolment_1 = null;
    else
      $this.clazzActiveEnrolment_1 = clazzActiveEnrolment;
    if (0 === (seen1 & 1073741824))
      $this.terminology_1 = null;
    else
      $this.terminology_1 = terminology;
    if (0 === (seen1 & -2147483648))
      $this.coursePicture_1 = null;
    else
      $this.coursePicture_1 = coursePicture;
    return $this;
  }
  function ClazzWithListDisplayDetails_init_$Create$(seen1, seen2, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, numStudents, numTeachers, teacherNames, lastRecorded, clazzActiveEnrolment, terminology, coursePicture, serializationConstructorMarker) {
    return ClazzWithListDisplayDetails_init_$Init$(seen1, seen2, clazzUid, clazzName, clazzDesc, attendanceAverage, clazzHolidayUMCalendarUid, clazzScheuleUMCalendarUid, isClazzActive, clazzLocationUid, clazzStartTime, clazzEndTime, clazzFeatures, clazzSchoolUid, clazzEnrolmentPolicy, clazzTerminologyUid, clazzMasterChangeSeqNum, clazzLocalChangeSeqNum, clazzLastChangedBy, clazzLct, clazzTimeZone, clazzStudentsPersonGroupUid, clazzTeachersPersonGroupUid, clazzPendingStudentsPersonGroupUid, clazzParentsPersonGroupUid, clazzCode, clazzOwnerPersonUid, numStudents, numTeachers, teacherNames, lastRecorded, clazzActiveEnrolment, terminology, coursePicture, serializationConstructorMarker, objectCreate(protoOf(ClazzWithListDisplayDetails)));
  }
  function ClazzWithListDisplayDetails() {
    Companion_getInstance_60();
    Clazz.call(this);
    this.numStudents_1 = 0;
    this.numTeachers_1 = 0;
    this.teacherNames_1 = null;
    this.lastRecorded_1 = new Long(0, 0);
    this.clazzActiveEnrolment_1 = null;
    this.terminology_1 = null;
    this.coursePicture_1 = null;
  }
  protoOf(ClazzWithListDisplayDetails).set_numStudents_sx9y7t_k$ = function (_set____db54di) {
    this.numStudents_1 = _set____db54di;
  };
  protoOf(ClazzWithListDisplayDetails).get_numStudents_si1t5h_k$ = function () {
    return this.numStudents_1;
  };
  protoOf(ClazzWithListDisplayDetails).set_numTeachers_35yqj6_k$ = function (_set____db54di) {
    this.numTeachers_1 = _set____db54di;
  };
  protoOf(ClazzWithListDisplayDetails).get_numTeachers_u9gdf6_k$ = function () {
    return this.numTeachers_1;
  };
  protoOf(ClazzWithListDisplayDetails).set_teacherNames_eipx1w_k$ = function (_set____db54di) {
    this.teacherNames_1 = _set____db54di;
  };
  protoOf(ClazzWithListDisplayDetails).get_teacherNames_2yyfv3_k$ = function () {
    return this.teacherNames_1;
  };
  protoOf(ClazzWithListDisplayDetails).set_lastRecorded_46vqe3_k$ = function (_set____db54di) {
    this.lastRecorded_1 = _set____db54di;
  };
  protoOf(ClazzWithListDisplayDetails).get_lastRecorded_xwirhr_k$ = function () {
    return this.lastRecorded_1;
  };
  protoOf(ClazzWithListDisplayDetails).set_clazzActiveEnrolment_bpyzvp_k$ = function (_set____db54di) {
    this.clazzActiveEnrolment_1 = _set____db54di;
  };
  protoOf(ClazzWithListDisplayDetails).get_clazzActiveEnrolment_qyeb7z_k$ = function () {
    return this.clazzActiveEnrolment_1;
  };
  protoOf(ClazzWithListDisplayDetails).set_terminology_opn48q_k$ = function (_set____db54di) {
    this.terminology_1 = _set____db54di;
  };
  protoOf(ClazzWithListDisplayDetails).get_terminology_hmih12_k$ = function () {
    return this.terminology_1;
  };
  protoOf(ClazzWithListDisplayDetails).set_coursePicture_h9sgol_k$ = function (_set____db54di) {
    this.coursePicture_1 = _set____db54di;
  };
  protoOf(ClazzWithListDisplayDetails).get_coursePicture_gcf86y_k$ = function () {
    return this.coursePicture_1;
  };
  protoOf(ClazzWithListDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ClazzWithListDisplayDetails))
      return false;
    if (!protoOf(Clazz).equals.call(this, other))
      return false;
    if (!(this.numStudents_1 === other.numStudents_1))
      return false;
    if (!(this.numTeachers_1 === other.numTeachers_1))
      return false;
    if (!(this.teacherNames_1 == other.teacherNames_1))
      return false;
    if (!this.lastRecorded_1.equals(other.lastRecorded_1))
      return false;
    if (!equals(this.clazzActiveEnrolment_1, other.clazzActiveEnrolment_1))
      return false;
    if (!equals(this.terminology_1, other.terminology_1))
      return false;
    return equals(this.coursePicture_1, other.coursePicture_1);
  };
  protoOf(ClazzWithListDisplayDetails).hashCode = function () {
    var result = protoOf(Clazz).hashCode.call(this);
    result = imul(31, result) + this.numStudents_1 | 0;
    result = imul(31, result) + this.numTeachers_1 | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.teacherNames_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    result = imul(31, result) + this.lastRecorded_1.hashCode() | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.clazzActiveEnrolment_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : hashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.terminology_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : hashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    var tmp_2 = imul(31, result);
    var tmp6_safe_receiver = this.coursePicture_1;
    var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : tmp6_safe_receiver.hashCode();
    result = tmp_2 + (tmp7_elvis_lhs == null ? 0 : tmp7_elvis_lhs) | 0;
    return result;
  };
  function Companion_59() {
    Companion_instance_59 = this;
    this.TABLE_ID_1 = 208;
    this.COMMENTS_STATUS_APPROVED_1 = 0;
  }
  protoOf(Companion_59).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_59).get_COMMENTS_STATUS_APPROVED_sk8l42_k$ = function () {
    return this.COMMENTS_STATUS_APPROVED_1;
  };
  protoOf(Companion_59).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_57();
  };
  var Companion_instance_59;
  function Companion_getInstance_61() {
    if (Companion_instance_59 == null)
      new Companion_59();
    return Companion_instance_59;
  }
  function $serializer_57() {
    $serializer_instance_57 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Comments', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsText', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsEntityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsFromPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsForSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsFromSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsFlagged', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsDeleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsDateTimeAdded', true);
    tmp0_serialDesc.addElement_5pzumi_k$('commentsLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_57).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_57).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_57).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = false;
    var tmp12_local8 = false;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Comments_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_57).serialize_cyve9o_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.commentsUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.commentsUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.commentsText_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.commentsText_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.commentsEntityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.commentsEntityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.commentsStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.commentsStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.commentsFromPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.commentsFromPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.commentsForSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.commentsForSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.commentsFromSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.commentsFromSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.commentsFlagged_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.commentsFlagged_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.commentsDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 8, value.commentsDeleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.commentsDateTimeAdded_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.commentsDateTimeAdded_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.commentsLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.commentsLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_57).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_cyve9o_k$(encoder, value instanceof Comments ? value : THROW_CCE());
  };
  var $serializer_instance_57;
  function $serializer_getInstance_57() {
    if ($serializer_instance_57 == null)
      new $serializer_57();
    return $serializer_instance_57;
  }
  function Comments_init_$Init$(seen1, commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_57().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.commentsUid_1 = new Long(0, 0);
    else
      $this.commentsUid_1 = commentsUid;
    if (0 === (seen1 & 2))
      $this.commentsText_1 = null;
    else
      $this.commentsText_1 = commentsText;
    if (0 === (seen1 & 4))
      $this.commentsEntityUid_1 = new Long(0, 0);
    else
      $this.commentsEntityUid_1 = commentsEntityUid;
    if (0 === (seen1 & 8))
      $this.commentsStatus_1 = 0;
    else
      $this.commentsStatus_1 = commentsStatus;
    if (0 === (seen1 & 16))
      $this.commentsFromPersonUid_1 = new Long(0, 0);
    else
      $this.commentsFromPersonUid_1 = commentsFromPersonUid;
    if (0 === (seen1 & 32))
      $this.commentsForSubmitterUid_1 = new Long(0, 0);
    else
      $this.commentsForSubmitterUid_1 = commentsForSubmitterUid;
    if (0 === (seen1 & 64))
      $this.commentsFromSubmitterUid_1 = new Long(0, 0);
    else
      $this.commentsFromSubmitterUid_1 = commentsFromSubmitterUid;
    if (0 === (seen1 & 128))
      $this.commentsFlagged_1 = false;
    else
      $this.commentsFlagged_1 = commentsFlagged;
    if (0 === (seen1 & 256))
      $this.commentsDeleted_1 = false;
    else
      $this.commentsDeleted_1 = commentsDeleted;
    if (0 === (seen1 & 512))
      $this.commentsDateTimeAdded_1 = new Long(0, 0);
    else
      $this.commentsDateTimeAdded_1 = commentsDateTimeAdded;
    if (0 === (seen1 & 1024))
      $this.commentsLct_1 = new Long(0, 0);
    else
      $this.commentsLct_1 = commentsLct;
    return $this;
  }
  function Comments_init_$Create$(seen1, commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct, serializationConstructorMarker) {
    return Comments_init_$Init$(seen1, commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct, serializationConstructorMarker, objectCreate(protoOf(Comments)));
  }
  function Comments(commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) {
    Companion_getInstance_61();
    commentsUid = commentsUid === VOID ? new Long(0, 0) : commentsUid;
    commentsText = commentsText === VOID ? null : commentsText;
    commentsEntityUid = commentsEntityUid === VOID ? new Long(0, 0) : commentsEntityUid;
    commentsStatus = commentsStatus === VOID ? 0 : commentsStatus;
    commentsFromPersonUid = commentsFromPersonUid === VOID ? new Long(0, 0) : commentsFromPersonUid;
    commentsForSubmitterUid = commentsForSubmitterUid === VOID ? new Long(0, 0) : commentsForSubmitterUid;
    commentsFromSubmitterUid = commentsFromSubmitterUid === VOID ? new Long(0, 0) : commentsFromSubmitterUid;
    commentsFlagged = commentsFlagged === VOID ? false : commentsFlagged;
    commentsDeleted = commentsDeleted === VOID ? false : commentsDeleted;
    commentsDateTimeAdded = commentsDateTimeAdded === VOID ? new Long(0, 0) : commentsDateTimeAdded;
    commentsLct = commentsLct === VOID ? new Long(0, 0) : commentsLct;
    this.commentsUid_1 = commentsUid;
    this.commentsText_1 = commentsText;
    this.commentsEntityUid_1 = commentsEntityUid;
    this.commentsStatus_1 = commentsStatus;
    this.commentsFromPersonUid_1 = commentsFromPersonUid;
    this.commentsForSubmitterUid_1 = commentsForSubmitterUid;
    this.commentsFromSubmitterUid_1 = commentsFromSubmitterUid;
    this.commentsFlagged_1 = commentsFlagged;
    this.commentsDeleted_1 = commentsDeleted;
    this.commentsDateTimeAdded_1 = commentsDateTimeAdded;
    this.commentsLct_1 = commentsLct;
  }
  protoOf(Comments).set_commentsUid_j6laht_k$ = function (_set____db54di) {
    this.commentsUid_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsUid_mbzbu5_k$ = function () {
    return this.commentsUid_1;
  };
  protoOf(Comments).set_commentsText_l77wpl_k$ = function (_set____db54di) {
    this.commentsText_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsText_hzoney_k$ = function () {
    return this.commentsText_1;
  };
  protoOf(Comments).set_commentsEntityUid_efls2q_k$ = function (_set____db54di) {
    this.commentsEntityUid_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsEntityUid_550xjk_k$ = function () {
    return this.commentsEntityUid_1;
  };
  protoOf(Comments).set_commentsStatus_9c8691_k$ = function (_set____db54di) {
    this.commentsStatus_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsStatus_stgemn_k$ = function () {
    return this.commentsStatus_1;
  };
  protoOf(Comments).set_commentsFromPersonUid_5ww49q_k$ = function (_set____db54di) {
    this.commentsFromPersonUid_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsFromPersonUid_xf607g_k$ = function () {
    return this.commentsFromPersonUid_1;
  };
  protoOf(Comments).set_commentsForSubmitterUid_kngio1_k$ = function (_set____db54di) {
    this.commentsForSubmitterUid_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsForSubmitterUid_1gyutp_k$ = function () {
    return this.commentsForSubmitterUid_1;
  };
  protoOf(Comments).set_commentsFromSubmitterUid_brso5g_k$ = function (_set____db54di) {
    this.commentsFromSubmitterUid_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsFromSubmitterUid_xf26um_k$ = function () {
    return this.commentsFromSubmitterUid_1;
  };
  protoOf(Comments).set_commentsFlagged_5zmmto_k$ = function (_set____db54di) {
    this.commentsFlagged_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsFlagged_bjr7s3_k$ = function () {
    return this.commentsFlagged_1;
  };
  protoOf(Comments).set_commentsDeleted_pcy4od_k$ = function (_set____db54di) {
    this.commentsDeleted_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsDeleted_qz9n6k_k$ = function () {
    return this.commentsDeleted_1;
  };
  protoOf(Comments).set_commentsDateTimeAdded_w1vh7a_k$ = function (_set____db54di) {
    this.commentsDateTimeAdded_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsDateTimeAdded_giu1d4_k$ = function () {
    return this.commentsDateTimeAdded_1;
  };
  protoOf(Comments).set_commentsLct_ataij2_k$ = function (_set____db54di) {
    this.commentsLct_1 = _set____db54di;
  };
  protoOf(Comments).get_commentsLct_mbzin4_k$ = function () {
    return this.commentsLct_1;
  };
  protoOf(Comments).component1_7eebsc_k$ = function () {
    return this.commentsUid_1;
  };
  protoOf(Comments).component2_7eebsb_k$ = function () {
    return this.commentsText_1;
  };
  protoOf(Comments).component3_7eebsa_k$ = function () {
    return this.commentsEntityUid_1;
  };
  protoOf(Comments).component4_7eebs9_k$ = function () {
    return this.commentsStatus_1;
  };
  protoOf(Comments).component5_7eebs8_k$ = function () {
    return this.commentsFromPersonUid_1;
  };
  protoOf(Comments).component6_7eebs7_k$ = function () {
    return this.commentsForSubmitterUid_1;
  };
  protoOf(Comments).component7_7eebs6_k$ = function () {
    return this.commentsFromSubmitterUid_1;
  };
  protoOf(Comments).component8_7eebs5_k$ = function () {
    return this.commentsFlagged_1;
  };
  protoOf(Comments).component9_7eebs4_k$ = function () {
    return this.commentsDeleted_1;
  };
  protoOf(Comments).component10_gazzfo_k$ = function () {
    return this.commentsDateTimeAdded_1;
  };
  protoOf(Comments).component11_gazzfn_k$ = function () {
    return this.commentsLct_1;
  };
  protoOf(Comments).copy_iiedv2_k$ = function (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) {
    return new Comments(commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct);
  };
  protoOf(Comments).copy$default_qhyi10_k$ = function (commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct, $super) {
    commentsUid = commentsUid === VOID ? this.commentsUid_1 : commentsUid;
    commentsText = commentsText === VOID ? this.commentsText_1 : commentsText;
    commentsEntityUid = commentsEntityUid === VOID ? this.commentsEntityUid_1 : commentsEntityUid;
    commentsStatus = commentsStatus === VOID ? this.commentsStatus_1 : commentsStatus;
    commentsFromPersonUid = commentsFromPersonUid === VOID ? this.commentsFromPersonUid_1 : commentsFromPersonUid;
    commentsForSubmitterUid = commentsForSubmitterUid === VOID ? this.commentsForSubmitterUid_1 : commentsForSubmitterUid;
    commentsFromSubmitterUid = commentsFromSubmitterUid === VOID ? this.commentsFromSubmitterUid_1 : commentsFromSubmitterUid;
    commentsFlagged = commentsFlagged === VOID ? this.commentsFlagged_1 : commentsFlagged;
    commentsDeleted = commentsDeleted === VOID ? this.commentsDeleted_1 : commentsDeleted;
    commentsDateTimeAdded = commentsDateTimeAdded === VOID ? this.commentsDateTimeAdded_1 : commentsDateTimeAdded;
    commentsLct = commentsLct === VOID ? this.commentsLct_1 : commentsLct;
    return $super === VOID ? this.copy_iiedv2_k$(commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct) : $super.copy_iiedv2_k$.call(this, commentsUid, commentsText, commentsEntityUid, commentsStatus, commentsFromPersonUid, commentsForSubmitterUid, commentsFromSubmitterUid, commentsFlagged, commentsDeleted, commentsDateTimeAdded, commentsLct);
  };
  protoOf(Comments).toString = function () {
    return 'Comments(commentsUid=' + this.commentsUid_1.toString() + ', commentsText=' + this.commentsText_1 + ', commentsEntityUid=' + this.commentsEntityUid_1.toString() + ', commentsStatus=' + this.commentsStatus_1 + ', commentsFromPersonUid=' + this.commentsFromPersonUid_1.toString() + ', commentsForSubmitterUid=' + this.commentsForSubmitterUid_1.toString() + ', commentsFromSubmitterUid=' + this.commentsFromSubmitterUid_1.toString() + ', commentsFlagged=' + this.commentsFlagged_1 + ', commentsDeleted=' + this.commentsDeleted_1 + ', commentsDateTimeAdded=' + this.commentsDateTimeAdded_1.toString() + ', commentsLct=' + this.commentsLct_1.toString() + ')';
  };
  protoOf(Comments).hashCode = function () {
    var result = this.commentsUid_1.hashCode();
    result = imul(result, 31) + (this.commentsText_1 == null ? 0 : getStringHashCode(this.commentsText_1)) | 0;
    result = imul(result, 31) + this.commentsEntityUid_1.hashCode() | 0;
    result = imul(result, 31) + this.commentsStatus_1 | 0;
    result = imul(result, 31) + this.commentsFromPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.commentsForSubmitterUid_1.hashCode() | 0;
    result = imul(result, 31) + this.commentsFromSubmitterUid_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.commentsFlagged_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.commentsDeleted_1) | 0;
    result = imul(result, 31) + this.commentsDateTimeAdded_1.hashCode() | 0;
    result = imul(result, 31) + this.commentsLct_1.hashCode() | 0;
    return result;
  };
  protoOf(Comments).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Comments))
      return false;
    var tmp0_other_with_cast = other instanceof Comments ? other : THROW_CCE();
    if (!this.commentsUid_1.equals(tmp0_other_with_cast.commentsUid_1))
      return false;
    if (!(this.commentsText_1 == tmp0_other_with_cast.commentsText_1))
      return false;
    if (!this.commentsEntityUid_1.equals(tmp0_other_with_cast.commentsEntityUid_1))
      return false;
    if (!(this.commentsStatus_1 === tmp0_other_with_cast.commentsStatus_1))
      return false;
    if (!this.commentsFromPersonUid_1.equals(tmp0_other_with_cast.commentsFromPersonUid_1))
      return false;
    if (!this.commentsForSubmitterUid_1.equals(tmp0_other_with_cast.commentsForSubmitterUid_1))
      return false;
    if (!this.commentsFromSubmitterUid_1.equals(tmp0_other_with_cast.commentsFromSubmitterUid_1))
      return false;
    if (!(this.commentsFlagged_1 === tmp0_other_with_cast.commentsFlagged_1))
      return false;
    if (!(this.commentsDeleted_1 === tmp0_other_with_cast.commentsDeleted_1))
      return false;
    if (!this.commentsDateTimeAdded_1.equals(tmp0_other_with_cast.commentsDateTimeAdded_1))
      return false;
    if (!this.commentsLct_1.equals(tmp0_other_with_cast.commentsLct_1))
      return false;
    return true;
  };
  function Companion_60() {
    Companion_instance_60 = this;
    this.TABLE_ID_1 = 1;
  }
  protoOf(Companion_60).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_60).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_58();
  };
  var Companion_instance_60;
  function Companion_getInstance_62() {
    if (Companion_instance_60 == null)
      new Companion_60();
    return Companion_instance_60;
  }
  function $serializer_58() {
    $serializer_instance_58 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentCategory', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategoryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ctnCatContentCategorySchemaUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('name', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategoryLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategoryMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategoryLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategoryLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_58).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_58).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_58).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentCategory_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_58).serialize_sckjhl_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.contentCategoryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.contentCategoryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.ctnCatContentCategorySchemaUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.ctnCatContentCategorySchemaUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.name_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.name_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.contentCategoryLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.contentCategoryLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.contentCategoryMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.contentCategoryMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.contentCategoryLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.contentCategoryLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.contentCategoryLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.contentCategoryLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_58).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_sckjhl_k$(encoder, value instanceof ContentCategory ? value : THROW_CCE());
  };
  var $serializer_instance_58;
  function $serializer_getInstance_58() {
    if ($serializer_instance_58 == null)
      new $serializer_58();
    return $serializer_instance_58;
  }
  function ContentCategory_init_$Init$(seen1, contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_58().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.contentCategoryUid_1 = new Long(0, 0);
    else
      $this.contentCategoryUid_1 = contentCategoryUid;
    if (0 === (seen1 & 2))
      $this.ctnCatContentCategorySchemaUid_1 = new Long(0, 0);
    else
      $this.ctnCatContentCategorySchemaUid_1 = ctnCatContentCategorySchemaUid;
    if (0 === (seen1 & 4))
      $this.name_1 = null;
    else
      $this.name_1 = name;
    if (0 === (seen1 & 8))
      $this.contentCategoryLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.contentCategoryLocalChangeSeqNum_1 = contentCategoryLocalChangeSeqNum;
    if (0 === (seen1 & 16))
      $this.contentCategoryMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.contentCategoryMasterChangeSeqNum_1 = contentCategoryMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.contentCategoryLastChangedBy_1 = 0;
    else
      $this.contentCategoryLastChangedBy_1 = contentCategoryLastChangedBy;
    if (0 === (seen1 & 64))
      $this.contentCategoryLct_1 = new Long(0, 0);
    else
      $this.contentCategoryLct_1 = contentCategoryLct;
    return $this;
  }
  function ContentCategory_init_$Create$(seen1, contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct, serializationConstructorMarker) {
    return ContentCategory_init_$Init$(seen1, contentCategoryUid, ctnCatContentCategorySchemaUid, name, contentCategoryLocalChangeSeqNum, contentCategoryMasterChangeSeqNum, contentCategoryLastChangedBy, contentCategoryLct, serializationConstructorMarker, objectCreate(protoOf(ContentCategory)));
  }
  function ContentCategory() {
    Companion_getInstance_62();
    this.contentCategoryUid_1 = new Long(0, 0);
    this.ctnCatContentCategorySchemaUid_1 = new Long(0, 0);
    this.name_1 = null;
    this.contentCategoryLocalChangeSeqNum_1 = new Long(0, 0);
    this.contentCategoryMasterChangeSeqNum_1 = new Long(0, 0);
    this.contentCategoryLastChangedBy_1 = 0;
    this.contentCategoryLct_1 = new Long(0, 0);
  }
  protoOf(ContentCategory).set_contentCategoryUid_6aaso8_k$ = function (_set____db54di) {
    this.contentCategoryUid_1 = _set____db54di;
  };
  protoOf(ContentCategory).get_contentCategoryUid_bl11ry_k$ = function () {
    return this.contentCategoryUid_1;
  };
  protoOf(ContentCategory).set_ctnCatContentCategorySchemaUid_wwv5ps_k$ = function (_set____db54di) {
    this.ctnCatContentCategorySchemaUid_1 = _set____db54di;
  };
  protoOf(ContentCategory).get_ctnCatContentCategorySchemaUid_9uofqy_k$ = function () {
    return this.ctnCatContentCategorySchemaUid_1;
  };
  protoOf(ContentCategory).set_name_wkmnld_k$ = function (_set____db54di) {
    this.name_1 = _set____db54di;
  };
  protoOf(ContentCategory).get_name_woqyms_k$ = function () {
    return this.name_1;
  };
  protoOf(ContentCategory).set_contentCategoryLocalChangeSeqNum_12rgzu_k$ = function (_set____db54di) {
    this.contentCategoryLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentCategory).get_contentCategoryLocalChangeSeqNum_wbgrck_k$ = function () {
    return this.contentCategoryLocalChangeSeqNum_1;
  };
  protoOf(ContentCategory).set_contentCategoryMasterChangeSeqNum_n526nf_k$ = function (_set____db54di) {
    this.contentCategoryMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentCategory).get_contentCategoryMasterChangeSeqNum_a178hl_k$ = function () {
    return this.contentCategoryMasterChangeSeqNum_1;
  };
  protoOf(ContentCategory).set_contentCategoryLastChangedBy_yh4bjn_k$ = function (_set____db54di) {
    this.contentCategoryLastChangedBy_1 = _set____db54di;
  };
  protoOf(ContentCategory).get_contentCategoryLastChangedBy_v71fbt_k$ = function () {
    return this.contentCategoryLastChangedBy_1;
  };
  protoOf(ContentCategory).set_contentCategoryLct_enlkmz_k$ = function (_set____db54di) {
    this.contentCategoryLct_1 = _set____db54di;
  };
  protoOf(ContentCategory).get_contentCategoryLct_bl18kx_k$ = function () {
    return this.contentCategoryLct_1;
  };
  protoOf(ContentCategory).equals = function (other) {
    if (this === other)
      return true;
    var category = (other == null ? true : other instanceof ContentCategory) ? other : THROW_CCE();
    if (!this.contentCategoryUid_1.equals(ensureNotNull(category).contentCategoryUid_1))
      return false;
    if (!this.ctnCatContentCategorySchemaUid_1.equals(category.ctnCatContentCategorySchemaUid_1))
      return false;
    return !(this.name_1 == null) ? this.name_1 == category.name_1 : category.name_1 == null;
  };
  protoOf(ContentCategory).hashCode = function () {
    var result = this.contentCategoryUid_1.xor_qzz94j_k$(this.contentCategoryUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$();
    result = imul(31, result) + this.ctnCatContentCategorySchemaUid_1.xor_qzz94j_k$(this.ctnCatContentCategorySchemaUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$() | 0;
    result = imul(31, result) + (!(this.name_1 == null) ? getStringHashCode(ensureNotNull(this.name_1)) : 0) | 0;
    return result;
  };
  function Companion_61() {
    Companion_instance_61 = this;
    this.TABLE_ID_1 = 2;
  }
  protoOf(Companion_61).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_61).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_59();
  };
  var Companion_instance_61;
  function Companion_getInstance_63() {
    if (Companion_instance_61 == null)
      new Companion_61();
    return Companion_instance_61;
  }
  function $serializer_59() {
    $serializer_instance_59 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentCategorySchema', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategorySchemaUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('schemaName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('schemaUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategorySchemaLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategorySchemaMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategorySchemaLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentCategorySchemaLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_59).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_59).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_59).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentCategorySchema_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_59).serialize_cnvj0q_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.contentCategorySchemaUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.contentCategorySchemaUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.schemaName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.schemaName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.schemaUrl_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.schemaUrl_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.contentCategorySchemaLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.contentCategorySchemaLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.contentCategorySchemaMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.contentCategorySchemaMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.contentCategorySchemaLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.contentCategorySchemaLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.contentCategorySchemaLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.contentCategorySchemaLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_59).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_cnvj0q_k$(encoder, value instanceof ContentCategorySchema ? value : THROW_CCE());
  };
  var $serializer_instance_59;
  function $serializer_getInstance_59() {
    if ($serializer_instance_59 == null)
      new $serializer_59();
    return $serializer_instance_59;
  }
  function ContentCategorySchema_init_$Init$(seen1, contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_59().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.contentCategorySchemaUid_1 = new Long(0, 0);
    else
      $this.contentCategorySchemaUid_1 = contentCategorySchemaUid;
    if (0 === (seen1 & 2))
      $this.schemaName_1 = null;
    else
      $this.schemaName_1 = schemaName;
    if (0 === (seen1 & 4))
      $this.schemaUrl_1 = null;
    else
      $this.schemaUrl_1 = schemaUrl;
    if (0 === (seen1 & 8))
      $this.contentCategorySchemaLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.contentCategorySchemaLocalChangeSeqNum_1 = contentCategorySchemaLocalChangeSeqNum;
    if (0 === (seen1 & 16))
      $this.contentCategorySchemaMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.contentCategorySchemaMasterChangeSeqNum_1 = contentCategorySchemaMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.contentCategorySchemaLastChangedBy_1 = 0;
    else
      $this.contentCategorySchemaLastChangedBy_1 = contentCategorySchemaLastChangedBy;
    if (0 === (seen1 & 64))
      $this.contentCategorySchemaLct_1 = new Long(0, 0);
    else
      $this.contentCategorySchemaLct_1 = contentCategorySchemaLct;
    return $this;
  }
  function ContentCategorySchema_init_$Create$(seen1, contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct, serializationConstructorMarker) {
    return ContentCategorySchema_init_$Init$(seen1, contentCategorySchemaUid, schemaName, schemaUrl, contentCategorySchemaLocalChangeSeqNum, contentCategorySchemaMasterChangeSeqNum, contentCategorySchemaLastChangedBy, contentCategorySchemaLct, serializationConstructorMarker, objectCreate(protoOf(ContentCategorySchema)));
  }
  function ContentCategorySchema() {
    Companion_getInstance_63();
    this.contentCategorySchemaUid_1 = new Long(0, 0);
    this.schemaName_1 = null;
    this.schemaUrl_1 = null;
    this.contentCategorySchemaLocalChangeSeqNum_1 = new Long(0, 0);
    this.contentCategorySchemaMasterChangeSeqNum_1 = new Long(0, 0);
    this.contentCategorySchemaLastChangedBy_1 = 0;
    this.contentCategorySchemaLct_1 = new Long(0, 0);
  }
  protoOf(ContentCategorySchema).set_contentCategorySchemaUid_e4p507_k$ = function (_set____db54di) {
    this.contentCategorySchemaUid_1 = _set____db54di;
  };
  protoOf(ContentCategorySchema).get_contentCategorySchemaUid_j392ox_k$ = function () {
    return this.contentCategorySchemaUid_1;
  };
  protoOf(ContentCategorySchema).set_schemaName_rihn9q_k$ = function (_set____db54di) {
    this.schemaName_1 = _set____db54di;
  };
  protoOf(ContentCategorySchema).get_schemaName_rlfmaz_k$ = function () {
    return this.schemaName_1;
  };
  protoOf(ContentCategorySchema).set_schemaUrl_2ssgii_k$ = function (_set____db54di) {
    this.schemaUrl_1 = _set____db54di;
  };
  protoOf(ContentCategorySchema).get_schemaUrl_5zf52d_k$ = function () {
    return this.schemaUrl_1;
  };
  protoOf(ContentCategorySchema).set_contentCategorySchemaLocalChangeSeqNum_fi539l_k$ = function (_set____db54di) {
    this.contentCategorySchemaLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentCategorySchema).get_contentCategorySchemaLocalChangeSeqNum_fiv0rx_k$ = function () {
    return this.contentCategorySchemaLocalChangeSeqNum_1;
  };
  protoOf(ContentCategorySchema).set_contentCategorySchemaMasterChangeSeqNum_230c3u_k$ = function (_set____db54di) {
    this.contentCategorySchemaMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentCategorySchema).get_contentCategorySchemaMasterChangeSeqNum_1hzauw_k$ = function () {
    return this.contentCategorySchemaMasterChangeSeqNum_1;
  };
  protoOf(ContentCategorySchema).set_contentCategorySchemaLastChangedBy_zgg9ma_k$ = function (_set____db54di) {
    this.contentCategorySchemaLastChangedBy_1 = _set____db54di;
  };
  protoOf(ContentCategorySchema).get_contentCategorySchemaLastChangedBy_ev2nwa_k$ = function () {
    return this.contentCategorySchemaLastChangedBy_1;
  };
  protoOf(ContentCategorySchema).set_contentCategorySchemaLct_5red1g_k$ = function (_set____db54di) {
    this.contentCategorySchemaLct_1 = _set____db54di;
  };
  protoOf(ContentCategorySchema).get_contentCategorySchemaLct_j38vvy_k$ = function () {
    return this.contentCategorySchemaLct_1;
  };
  protoOf(ContentCategorySchema).equals = function (other) {
    if (this === other)
      return true;
    var schema = (other == null ? true : other instanceof ContentCategorySchema) ? other : THROW_CCE();
    if (!this.contentCategorySchemaUid_1.equals(ensureNotNull(schema).contentCategorySchemaUid_1))
      return false;
    if (!(this.schemaName_1 == null) ? !(this.schemaName_1 == schema.schemaName_1) : !(schema.schemaName_1 == null))
      return false;
    return !(this.schemaUrl_1 == null) ? this.schemaUrl_1 == schema.schemaUrl_1 : schema.schemaUrl_1 == null;
  };
  protoOf(ContentCategorySchema).hashCode = function () {
    var result = this.contentCategorySchemaUid_1.xor_qzz94j_k$(this.contentCategorySchemaUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$();
    result = imul(31, result) + (!(this.schemaName_1 == null) ? getStringHashCode(ensureNotNull(this.schemaName_1)) : 0) | 0;
    result = imul(31, result) + (!(this.schemaUrl_1 == null) ? getStringHashCode(ensureNotNull(this.schemaUrl_1)) : 0) | 0;
    return result;
  };
  function ContentEntry_init_$Init$(title, description, leaf, publik, $this) {
    ContentEntry.call($this);
    $this.title_1 = title;
    $this.description_1 = description;
    $this.leaf_1 = leaf;
    $this.publik_1 = publik;
    return $this;
  }
  function ContentEntry_init_$Create$(title, description, leaf, publik) {
    return ContentEntry_init_$Init$(title, description, leaf, publik, objectCreate(protoOf(ContentEntry)));
  }
  function Companion_62() {
    Companion_instance_62 = this;
    this.TABLE_ID_1 = 42;
    this.LICENSE_TYPE_UNSPECIFIED_1 = 0;
    this.LICENSE_TYPE_CC_BY_1 = 1;
    this.LICENSE_TYPE_CC_BY_SA_1 = 2;
    this.LICENSE_TYPE_CC_BY_SA_NC_1 = 3;
    this.LICENSE_TYPE_CC_BY_NC_1 = 4;
    this.ALL_RIGHTS_RESERVED_1 = 5;
    this.LICENSE_TYPE_CC_BY_NC_SA_1 = 6;
    this.LICENSE_TYPE_PUBLIC_DOMAIN_1 = 7;
    this.LICENSE_TYPE_OTHER_1 = 8;
    this.LICENSE_TYPE_CC_BY_ND_1 = 10;
    this.LICENSE_TYPE_CC_BY_NC_ND_1 = 11;
    this.LICENSE_TYPE_CC_0__1 = 9;
    this.TYPE_UNDEFINED_1 = 0;
    this.TYPE_COLLECTION_1 = 1;
    this.TYPE_EBOOK_1 = 2;
    this.TYPE_INTERACTIVE_EXERCISE_1 = 3;
    this.TYPE_VIDEO_1 = 4;
    this.TYPE_AUDIO_1 = 5;
    this.TYPE_DOCUMENT_1 = 6;
    this.TYPE_ARTICLE_1 = 7;
    this.TYPE_PDF_1 = 8;
    this.FLAG_IMPORTED_1 = 1;
    this.COMPLETION_CRITERIA_AUTOMATIC_1 = 0;
    this.COMPLETION_CRITERIA_MIN_SCORE_1 = 1;
    this.COMPLETION_CRITERIA_MARKED_BY_STUDENT_1 = 2;
    this.OWNER_TYPE_LIBRARY_1 = 1;
    this.OWNER_TYPE_COURSE_1 = 2;
  }
  protoOf(Companion_62).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_UNSPECIFIED_hafl4p_k$ = function () {
    return this.LICENSE_TYPE_UNSPECIFIED_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_BY_x2hlqg_k$ = function () {
    return this.LICENSE_TYPE_CC_BY_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_BY_SA_z2dyh7_k$ = function () {
    return this.LICENSE_TYPE_CC_BY_SA_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_BY_SA_NC_9ct7nl_k$ = function () {
    return this.LICENSE_TYPE_CC_BY_SA_NC_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_BY_NC_z2dylg_k$ = function () {
    return this.LICENSE_TYPE_CC_BY_NC_1;
  };
  protoOf(Companion_62).get_ALL_RIGHTS_RESERVED_z8200n_k$ = function () {
    return this.ALL_RIGHTS_RESERVED_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_BY_NC_SA_9fiwj3_k$ = function () {
    return this.LICENSE_TYPE_CC_BY_NC_SA_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_PUBLIC_DOMAIN_r5wb5w_k$ = function () {
    return this.LICENSE_TYPE_PUBLIC_DOMAIN_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_OTHER_wvlotq_k$ = function () {
    return this.LICENSE_TYPE_OTHER_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_BY_ND_z2dylf_k$ = function () {
    return this.LICENSE_TYPE_CC_BY_ND_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_BY_NC_ND_9fiwnb_k$ = function () {
    return this.LICENSE_TYPE_CC_BY_NC_ND_1;
  };
  protoOf(Companion_62).get_LICENSE_TYPE_CC_0_12ei4x_k$ = function () {
    return this.LICENSE_TYPE_CC_0__1;
  };
  protoOf(Companion_62).get_TYPE_UNDEFINED_6zk6t0_k$ = function () {
    return this.TYPE_UNDEFINED_1;
  };
  protoOf(Companion_62).get_TYPE_COLLECTION_9qw3x6_k$ = function () {
    return this.TYPE_COLLECTION_1;
  };
  protoOf(Companion_62).get_TYPE_EBOOK_f31atq_k$ = function () {
    return this.TYPE_EBOOK_1;
  };
  protoOf(Companion_62).get_TYPE_INTERACTIVE_EXERCISE_xcz7kf_k$ = function () {
    return this.TYPE_INTERACTIVE_EXERCISE_1;
  };
  protoOf(Companion_62).get_TYPE_VIDEO_etkk81_k$ = function () {
    return this.TYPE_VIDEO_1;
  };
  protoOf(Companion_62).get_TYPE_AUDIO_f4wkqu_k$ = function () {
    return this.TYPE_AUDIO_1;
  };
  protoOf(Companion_62).get_TYPE_DOCUMENT_lmp8dl_k$ = function () {
    return this.TYPE_DOCUMENT_1;
  };
  protoOf(Companion_62).get_TYPE_ARTICLE_e853x6_k$ = function () {
    return this.TYPE_ARTICLE_1;
  };
  protoOf(Companion_62).get_TYPE_PDF_u0vn56_k$ = function () {
    return this.TYPE_PDF_1;
  };
  protoOf(Companion_62).get_FLAG_IMPORTED_aehmby_k$ = function () {
    return this.FLAG_IMPORTED_1;
  };
  protoOf(Companion_62).get_COMPLETION_CRITERIA_AUTOMATIC_i3k6gr_k$ = function () {
    return this.COMPLETION_CRITERIA_AUTOMATIC_1;
  };
  protoOf(Companion_62).get_COMPLETION_CRITERIA_MIN_SCORE_lqhbxd_k$ = function () {
    return this.COMPLETION_CRITERIA_MIN_SCORE_1;
  };
  protoOf(Companion_62).get_COMPLETION_CRITERIA_MARKED_BY_STUDENT_9ahw80_k$ = function () {
    return this.COMPLETION_CRITERIA_MARKED_BY_STUDENT_1;
  };
  protoOf(Companion_62).get_OWNER_TYPE_LIBRARY_sj7et1_k$ = function () {
    return this.OWNER_TYPE_LIBRARY_1;
  };
  protoOf(Companion_62).get_OWNER_TYPE_COURSE_9nvo9h_k$ = function () {
    return this.OWNER_TYPE_COURSE_1;
  };
  protoOf(Companion_62).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_60();
  };
  var Companion_instance_62;
  function Companion_getInstance_64() {
    if (Companion_instance_62 == null)
      new Companion_62();
    return Companion_instance_62;
  }
  function $serializer_60() {
    $serializer_instance_60 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntry', this, 27);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('title', true);
    tmp0_serialDesc.addElement_5pzumi_k$('description', true);
    tmp0_serialDesc.addElement_5pzumi_k$('entryId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('author', true);
    tmp0_serialDesc.addElement_5pzumi_k$('publisher', true);
    tmp0_serialDesc.addElement_5pzumi_k$('licenseType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('licenseName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('licenseUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sourceUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('thumbnailUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastModified', true);
    tmp0_serialDesc.addElement_5pzumi_k$('primaryLanguageUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('languageVariantUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentFlags', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leaf', true);
    tmp0_serialDesc.addElement_5pzumi_k$('publik', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceInactive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('completionCriteria', true);
    tmp0_serialDesc.addElement_5pzumi_k$('minScore', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentTypeFlag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentOwner', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentOwnerType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_60).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_60).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_60).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = null;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_local10 = null;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = 0;
    var tmp19_local15 = false;
    var tmp20_local16 = false;
    var tmp21_local17 = false;
    var tmp22_local18 = 0;
    var tmp23_local19 = 0;
    var tmp24_local20 = 0;
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_local24 = new Long(0, 0);
    var tmp29_local25 = 0;
    var tmp30_local26 = new Long(0, 0);
    var tmp31_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp31_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp31_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp31_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp31_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp29_local25 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp30_local26 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp31_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp31_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp31_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp31_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp31_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp29_local25 = tmp31_input.decodeIntElement_941u6a_k$(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp30_local26 = tmp31_input.decodeLongElement_994anb_k$(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp31_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntry_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, tmp29_local25, tmp30_local26, null);
  };
  protoOf($serializer_60).serialize_d3d3q9_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.contentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.contentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.title_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.title_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.description_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.description_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.entryId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.entryId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.author_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.author_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.publisher_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.publisher_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.licenseType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.licenseType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.licenseName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 7, StringSerializer_getInstance(), value.licenseName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.licenseUrl_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 8, StringSerializer_getInstance(), value.licenseUrl_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.sourceUrl_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 9, StringSerializer_getInstance(), value.sourceUrl_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.thumbnailUrl_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 10, StringSerializer_getInstance(), value.thumbnailUrl_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.lastModified_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.lastModified_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.primaryLanguageUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.primaryLanguageUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.languageVariantUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.languageVariantUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.contentFlags_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 14, value.contentFlags_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.leaf_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 15, value.leaf_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.publik_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 16, value.publik_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.ceInactive_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 17, value.ceInactive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.completionCriteria_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 18, value.completionCriteria_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !(value.minScore_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 19, value.minScore_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !(value.contentTypeFlag_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 20, value.contentTypeFlag_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.contentOwner_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.contentOwner_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !(value.contentOwnerType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 22, value.contentOwnerType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !value.contentEntryLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 23, value.contentEntryLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 24) ? true : !value.contentEntryMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 24, value.contentEntryMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 25) ? true : !(value.contentEntryLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 25, value.contentEntryLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 26) ? true : !value.contentEntryLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 26, value.contentEntryLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_60).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_d3d3q9_k$(encoder, value instanceof ContentEntry ? value : THROW_CCE());
  };
  var $serializer_instance_60;
  function $serializer_getInstance_60() {
    if ($serializer_instance_60 == null)
      new $serializer_60();
    return $serializer_instance_60;
  }
  function ContentEntry_init_$Init$_0(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_60().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.contentEntryUid_1 = new Long(0, 0);
    else
      $this.contentEntryUid_1 = contentEntryUid;
    if (0 === (seen1 & 2))
      $this.title_1 = null;
    else
      $this.title_1 = title;
    if (0 === (seen1 & 4))
      $this.description_1 = null;
    else
      $this.description_1 = description;
    if (0 === (seen1 & 8))
      $this.entryId_1 = null;
    else
      $this.entryId_1 = entryId;
    if (0 === (seen1 & 16))
      $this.author_1 = null;
    else
      $this.author_1 = author;
    if (0 === (seen1 & 32))
      $this.publisher_1 = null;
    else
      $this.publisher_1 = publisher;
    if (0 === (seen1 & 64))
      $this.licenseType_1 = 0;
    else
      $this.licenseType_1 = licenseType;
    if (0 === (seen1 & 128))
      $this.licenseName_1 = null;
    else
      $this.licenseName_1 = licenseName;
    if (0 === (seen1 & 256))
      $this.licenseUrl_1 = null;
    else
      $this.licenseUrl_1 = licenseUrl;
    if (0 === (seen1 & 512))
      $this.sourceUrl_1 = null;
    else
      $this.sourceUrl_1 = sourceUrl;
    if (0 === (seen1 & 1024))
      $this.thumbnailUrl_1 = null;
    else
      $this.thumbnailUrl_1 = thumbnailUrl;
    if (0 === (seen1 & 2048))
      $this.lastModified_1 = new Long(0, 0);
    else
      $this.lastModified_1 = lastModified;
    if (0 === (seen1 & 4096))
      $this.primaryLanguageUid_1 = new Long(0, 0);
    else
      $this.primaryLanguageUid_1 = primaryLanguageUid;
    if (0 === (seen1 & 8192))
      $this.languageVariantUid_1 = new Long(0, 0);
    else
      $this.languageVariantUid_1 = languageVariantUid;
    if (0 === (seen1 & 16384))
      $this.contentFlags_1 = 0;
    else
      $this.contentFlags_1 = contentFlags;
    if (0 === (seen1 & 32768))
      $this.leaf_1 = false;
    else
      $this.leaf_1 = leaf;
    if (0 === (seen1 & 65536))
      $this.publik_1 = true;
    else
      $this.publik_1 = publik;
    if (0 === (seen1 & 131072))
      $this.ceInactive_1 = false;
    else
      $this.ceInactive_1 = ceInactive;
    if (0 === (seen1 & 262144))
      $this.completionCriteria_1 = 0;
    else
      $this.completionCriteria_1 = completionCriteria;
    if (0 === (seen1 & 524288))
      $this.minScore_1 = 0;
    else
      $this.minScore_1 = minScore;
    if (0 === (seen1 & 1048576))
      $this.contentTypeFlag_1 = 0;
    else
      $this.contentTypeFlag_1 = contentTypeFlag;
    if (0 === (seen1 & 2097152))
      $this.contentOwner_1 = new Long(0, 0);
    else
      $this.contentOwner_1 = contentOwner;
    if (0 === (seen1 & 4194304))
      $this.contentOwnerType_1 = 0;
    else
      $this.contentOwnerType_1 = contentOwnerType;
    if (0 === (seen1 & 8388608))
      $this.contentEntryLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.contentEntryLocalChangeSeqNum_1 = contentEntryLocalChangeSeqNum;
    if (0 === (seen1 & 16777216))
      $this.contentEntryMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.contentEntryMasterChangeSeqNum_1 = contentEntryMasterChangeSeqNum;
    if (0 === (seen1 & 33554432))
      $this.contentEntryLastChangedBy_1 = 0;
    else
      $this.contentEntryLastChangedBy_1 = contentEntryLastChangedBy;
    if (0 === (seen1 & 67108864))
      $this.contentEntryLct_1 = new Long(0, 0);
    else
      $this.contentEntryLct_1 = contentEntryLct;
    return $this;
  }
  function ContentEntry_init_$Create$_0(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker) {
    return ContentEntry_init_$Init$_0(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker, objectCreate(protoOf(ContentEntry)));
  }
  function ContentEntry() {
    Companion_getInstance_64();
    this.contentEntryUid_1 = new Long(0, 0);
    this.title_1 = null;
    this.description_1 = null;
    this.entryId_1 = null;
    this.author_1 = null;
    this.publisher_1 = null;
    this.licenseType_1 = 0;
    this.licenseName_1 = null;
    this.licenseUrl_1 = null;
    this.sourceUrl_1 = null;
    this.thumbnailUrl_1 = null;
    this.lastModified_1 = new Long(0, 0);
    this.primaryLanguageUid_1 = new Long(0, 0);
    this.languageVariantUid_1 = new Long(0, 0);
    this.contentFlags_1 = 0;
    this.leaf_1 = false;
    this.publik_1 = true;
    this.ceInactive_1 = false;
    this.completionCriteria_1 = 0;
    this.minScore_1 = 0;
    this.contentTypeFlag_1 = 0;
    this.contentOwner_1 = new Long(0, 0);
    this.contentOwnerType_1 = 0;
    this.contentEntryLocalChangeSeqNum_1 = new Long(0, 0);
    this.contentEntryMasterChangeSeqNum_1 = new Long(0, 0);
    this.contentEntryLastChangedBy_1 = 0;
    this.contentEntryLct_1 = new Long(0, 0);
  }
  protoOf(ContentEntry).set_contentEntryUid_82c9uk_k$ = function (_set____db54di) {
    this.contentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentEntryUid_pu6bbm_k$ = function () {
    return this.contentEntryUid_1;
  };
  protoOf(ContentEntry).set_title_ceyuu4_k$ = function (_set____db54di) {
    this.title_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_title_iz32un_k$ = function () {
    return this.title_1;
  };
  protoOf(ContentEntry).set_description_s1386w_k$ = function (_set____db54di) {
    this.description_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_description_emjre5_k$ = function () {
    return this.description_1;
  };
  protoOf(ContentEntry).set_entryId_b4l6o7_k$ = function (_set____db54di) {
    this.entryId_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_entryId_p20on0_k$ = function () {
    return this.entryId_1;
  };
  protoOf(ContentEntry).set_author_btovnz_k$ = function (_set____db54di) {
    this.author_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_author_b5hnkk_k$ = function () {
    return this.author_1;
  };
  protoOf(ContentEntry).set_publisher_u973bc_k$ = function (_set____db54di) {
    this.publisher_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_publisher_wg9par_k$ = function () {
    return this.publisher_1;
  };
  protoOf(ContentEntry).set_licenseType_n5xz3q_k$ = function (_set____db54di) {
    this.licenseType_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_licenseType_3ajir6_k$ = function () {
    return this.licenseType_1;
  };
  protoOf(ContentEntry).set_licenseName_gyoh54_k$ = function (_set____db54di) {
    this.licenseName_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_licenseName_3af6yr_k$ = function () {
    return this.licenseName_1;
  };
  protoOf(ContentEntry).set_licenseUrl_1fxkks_k$ = function (_set____db54di) {
    this.licenseUrl_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_licenseUrl_rloa2f_k$ = function () {
    return this.licenseUrl_1;
  };
  protoOf(ContentEntry).set_sourceUrl_nz40kg_k$ = function (_set____db54di) {
    this.sourceUrl_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_sourceUrl_jko7yt_k$ = function () {
    return this.sourceUrl_1;
  };
  protoOf(ContentEntry).set_thumbnailUrl_m15vw7_k$ = function (_set____db54di) {
    this.thumbnailUrl_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_thumbnailUrl_1cubbo_k$ = function () {
    return this.thumbnailUrl_1;
  };
  protoOf(ContentEntry).set_lastModified_2tc4ma_k$ = function (_set____db54di) {
    this.lastModified_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_lastModified_y37iuw_k$ = function () {
    return this.lastModified_1;
  };
  protoOf(ContentEntry).set_primaryLanguageUid_mnu87f_k$ = function (_set____db54di) {
    this.primaryLanguageUid_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_primaryLanguageUid_r5tse9_k$ = function () {
    return this.primaryLanguageUid_1;
  };
  protoOf(ContentEntry).set_languageVariantUid_j38ahq_k$ = function (_set____db54di) {
    this.languageVariantUid_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_languageVariantUid_i54xak_k$ = function () {
    return this.languageVariantUid_1;
  };
  protoOf(ContentEntry).set_contentFlags_bzqxgd_k$ = function (_set____db54di) {
    this.contentFlags_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentFlags_hwx6mv_k$ = function () {
    return this.contentFlags_1;
  };
  protoOf(ContentEntry).set_leaf_nt94be_k$ = function (_set____db54di) {
    this.leaf_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_leaf_woprc7_k$ = function () {
    return this.leaf_1;
  };
  protoOf(ContentEntry).set_publik_bkafrt_k$ = function (_set____db54di) {
    this.publik_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_publik_i8ukje_k$ = function () {
    return this.publik_1;
  };
  protoOf(ContentEntry).set_ceInactive_jm4757_k$ = function (_set____db54di) {
    this.ceInactive_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_ceInactive_l2z6a2_k$ = function () {
    return this.ceInactive_1;
  };
  protoOf(ContentEntry).set_completionCriteria_r963w0_k$ = function (_set____db54di) {
    this.completionCriteria_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_completionCriteria_godp98_k$ = function () {
    return this.completionCriteria_1;
  };
  protoOf(ContentEntry).set_minScore_d3l9dh_k$ = function (_set____db54di) {
    this.minScore_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_minScore_ger1gp_k$ = function () {
    return this.minScore_1;
  };
  protoOf(ContentEntry).set_contentTypeFlag_c07dx6_k$ = function (_set____db54di) {
    this.contentTypeFlag_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentTypeFlag_2ekfii_k$ = function () {
    return this.contentTypeFlag_1;
  };
  protoOf(ContentEntry).set_contentOwner_87csqv_k$ = function (_set____db54di) {
    this.contentOwner_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentOwner_i22mf7_k$ = function () {
    return this.contentOwner_1;
  };
  protoOf(ContentEntry).set_contentOwnerType_rj9ic7_k$ = function (_set____db54di) {
    this.contentOwnerType_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentOwnerType_bfan1f_k$ = function () {
    return this.contentOwnerType_1;
  };
  protoOf(ContentEntry).set_contentEntryLocalChangeSeqNum_q6f3ny_k$ = function (_set____db54di) {
    this.contentEntryLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentEntryLocalChangeSeqNum_awxlpc_k$ = function () {
    return this.contentEntryLocalChangeSeqNum_1;
  };
  protoOf(ContentEntry).set_contentEntryMasterChangeSeqNum_qby9m7_k$ = function (_set____db54di) {
    this.contentEntryMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentEntryMasterChangeSeqNum_offl1_k$ = function () {
    return this.contentEntryMasterChangeSeqNum_1;
  };
  protoOf(ContentEntry).set_contentEntryLastChangedBy_5d0hdj_k$ = function (_set____db54di) {
    this.contentEntryLastChangedBy_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentEntryLastChangedBy_4itnjh_k$ = function () {
    return this.contentEntryLastChangedBy_1;
  };
  protoOf(ContentEntry).set_contentEntryLct_ayi47_k$ = function (_set____db54di) {
    this.contentEntryLct_1 = _set____db54di;
  };
  protoOf(ContentEntry).get_contentEntryLct_pu6i4l_k$ = function () {
    return this.contentEntryLct_1;
  };
  protoOf(ContentEntry).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntry))
      return false;
    if (!this.contentEntryUid_1.equals(other.contentEntryUid_1))
      return false;
    if (!(this.title_1 == other.title_1))
      return false;
    if (!(this.description_1 == other.description_1))
      return false;
    if (!(this.entryId_1 == other.entryId_1))
      return false;
    if (!(this.author_1 == other.author_1))
      return false;
    if (!(this.publisher_1 == other.publisher_1))
      return false;
    if (!(this.licenseType_1 === other.licenseType_1))
      return false;
    if (!(this.licenseName_1 == other.licenseName_1))
      return false;
    if (!(this.licenseUrl_1 == other.licenseUrl_1))
      return false;
    if (!(this.sourceUrl_1 == other.sourceUrl_1))
      return false;
    if (!(this.thumbnailUrl_1 == other.thumbnailUrl_1))
      return false;
    if (!this.lastModified_1.equals(other.lastModified_1))
      return false;
    if (!this.primaryLanguageUid_1.equals(other.primaryLanguageUid_1))
      return false;
    if (!this.languageVariantUid_1.equals(other.languageVariantUid_1))
      return false;
    if (!(this.contentFlags_1 === other.contentFlags_1))
      return false;
    if (!(this.leaf_1 === other.leaf_1))
      return false;
    if (!(this.publik_1 === other.publik_1))
      return false;
    if (!(this.ceInactive_1 === other.ceInactive_1))
      return false;
    if (!(this.contentTypeFlag_1 === other.contentTypeFlag_1))
      return false;
    if (!(this.completionCriteria_1 === other.completionCriteria_1))
      return false;
    if (!(this.minScore_1 === other.minScore_1))
      return false;
    if (!this.contentEntryLocalChangeSeqNum_1.equals(other.contentEntryLocalChangeSeqNum_1))
      return false;
    if (!this.contentEntryMasterChangeSeqNum_1.equals(other.contentEntryMasterChangeSeqNum_1))
      return false;
    if (!(this.contentEntryLastChangedBy_1 === other.contentEntryLastChangedBy_1))
      return false;
    return true;
  };
  protoOf(ContentEntry).hashCode = function () {
    var result = this.contentEntryUid_1.hashCode();
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.title_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.description_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.entryId_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    var tmp_2 = imul(31, result);
    var tmp6_safe_receiver = this.author_1;
    var tmp7_elvis_lhs = tmp6_safe_receiver == null ? null : getStringHashCode(tmp6_safe_receiver);
    result = tmp_2 + (tmp7_elvis_lhs == null ? 0 : tmp7_elvis_lhs) | 0;
    var tmp_3 = imul(31, result);
    var tmp8_safe_receiver = this.publisher_1;
    var tmp9_elvis_lhs = tmp8_safe_receiver == null ? null : getStringHashCode(tmp8_safe_receiver);
    result = tmp_3 + (tmp9_elvis_lhs == null ? 0 : tmp9_elvis_lhs) | 0;
    result = imul(31, result) + this.licenseType_1 | 0;
    var tmp_4 = imul(31, result);
    var tmp10_safe_receiver = this.licenseName_1;
    var tmp11_elvis_lhs = tmp10_safe_receiver == null ? null : getStringHashCode(tmp10_safe_receiver);
    result = tmp_4 + (tmp11_elvis_lhs == null ? 0 : tmp11_elvis_lhs) | 0;
    var tmp_5 = imul(31, result);
    var tmp12_safe_receiver = this.licenseUrl_1;
    var tmp13_elvis_lhs = tmp12_safe_receiver == null ? null : getStringHashCode(tmp12_safe_receiver);
    result = tmp_5 + (tmp13_elvis_lhs == null ? 0 : tmp13_elvis_lhs) | 0;
    var tmp_6 = imul(31, result);
    var tmp14_safe_receiver = this.sourceUrl_1;
    var tmp15_elvis_lhs = tmp14_safe_receiver == null ? null : getStringHashCode(tmp14_safe_receiver);
    result = tmp_6 + (tmp15_elvis_lhs == null ? 0 : tmp15_elvis_lhs) | 0;
    var tmp_7 = imul(31, result);
    var tmp16_safe_receiver = this.thumbnailUrl_1;
    var tmp17_elvis_lhs = tmp16_safe_receiver == null ? null : getStringHashCode(tmp16_safe_receiver);
    result = tmp_7 + (tmp17_elvis_lhs == null ? 0 : tmp17_elvis_lhs) | 0;
    result = imul(31, result) + this.lastModified_1.hashCode() | 0;
    result = imul(31, result) + this.primaryLanguageUid_1.hashCode() | 0;
    result = imul(31, result) + this.languageVariantUid_1.hashCode() | 0;
    result = imul(31, result) + this.contentFlags_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.leaf_1) | 0;
    result = imul(31, result) + getBooleanHashCode(this.publik_1) | 0;
    result = imul(31, result) + getBooleanHashCode(this.ceInactive_1) | 0;
    result = imul(31, result) + this.contentTypeFlag_1 | 0;
    result = imul(31, result) + this.completionCriteria_1 | 0;
    result = imul(31, result) + this.minScore_1 | 0;
    result = imul(31, result) + this.contentEntryLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.contentEntryMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.contentEntryLastChangedBy_1 | 0;
    return result;
  };
  function ContentEntryButtonModel() {
    this.showDownloadButton_1 = false;
    this.showOpenButton_1 = false;
    this.showUpdateButton_1 = false;
    this.showDeleteButton_1 = false;
    this.showManageDownloadButton_1 = false;
  }
  protoOf(ContentEntryButtonModel).set_showDownloadButton_4pryu9_k$ = function (_set____db54di) {
    this.showDownloadButton_1 = _set____db54di;
  };
  protoOf(ContentEntryButtonModel).get_showDownloadButton_ceymv4_k$ = function () {
    return this.showDownloadButton_1;
  };
  protoOf(ContentEntryButtonModel).set_showOpenButton_ksdogv_k$ = function (_set____db54di) {
    this.showOpenButton_1 = _set____db54di;
  };
  protoOf(ContentEntryButtonModel).get_showOpenButton_dkp24e_k$ = function () {
    return this.showOpenButton_1;
  };
  protoOf(ContentEntryButtonModel).set_showUpdateButton_30hkxs_k$ = function (_set____db54di) {
    this.showUpdateButton_1 = _set____db54di;
  };
  protoOf(ContentEntryButtonModel).get_showUpdateButton_m6z6f3_k$ = function () {
    return this.showUpdateButton_1;
  };
  protoOf(ContentEntryButtonModel).set_showDeleteButton_cl3ehq_k$ = function (_set____db54di) {
    this.showDeleteButton_1 = _set____db54di;
  };
  protoOf(ContentEntryButtonModel).get_showDeleteButton_j7owkd_k$ = function () {
    return this.showDeleteButton_1;
  };
  protoOf(ContentEntryButtonModel).set_showManageDownloadButton_ppaetg_k$ = function (_set____db54di) {
    this.showManageDownloadButton_1 = _set____db54di;
  };
  protoOf(ContentEntryButtonModel).get_showManageDownloadButton_uvkvzv_k$ = function () {
    return this.showManageDownloadButton_1;
  };
  function Companion_63() {
    Companion_instance_63 = this;
    this.TABLE_ID_1 = 3;
  }
  protoOf(Companion_63).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_63).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_61();
  };
  var Companion_instance_63;
  function Companion_getInstance_65() {
    if (Companion_instance_63 == null)
      new Companion_63();
    return Companion_instance_63;
  }
  function $serializer_61() {
    $serializer_instance_61 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryContentCategoryJoin', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('ceccjUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceccjContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceccjContentCategoryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceccjLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceccjMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceccjLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceccjLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_61).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_61).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_61).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryContentCategoryJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_61).serialize_73ejom_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.ceccjUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.ceccjUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.ceccjContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.ceccjContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.ceccjContentCategoryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.ceccjContentCategoryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.ceccjLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.ceccjLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.ceccjMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.ceccjMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.ceccjLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.ceccjLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.ceccjLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.ceccjLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_61).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_73ejom_k$(encoder, value instanceof ContentEntryContentCategoryJoin ? value : THROW_CCE());
  };
  var $serializer_instance_61;
  function $serializer_getInstance_61() {
    if ($serializer_instance_61 == null)
      new $serializer_61();
    return $serializer_instance_61;
  }
  function ContentEntryContentCategoryJoin_init_$Init$(seen1, ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_61().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.ceccjUid_1 = new Long(0, 0);
    else
      $this.ceccjUid_1 = ceccjUid;
    if (0 === (seen1 & 2))
      $this.ceccjContentEntryUid_1 = new Long(0, 0);
    else
      $this.ceccjContentEntryUid_1 = ceccjContentEntryUid;
    if (0 === (seen1 & 4))
      $this.ceccjContentCategoryUid_1 = new Long(0, 0);
    else
      $this.ceccjContentCategoryUid_1 = ceccjContentCategoryUid;
    if (0 === (seen1 & 8))
      $this.ceccjLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.ceccjLocalChangeSeqNum_1 = ceccjLocalChangeSeqNum;
    if (0 === (seen1 & 16))
      $this.ceccjMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.ceccjMasterChangeSeqNum_1 = ceccjMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.ceccjLastChangedBy_1 = 0;
    else
      $this.ceccjLastChangedBy_1 = ceccjLastChangedBy;
    if (0 === (seen1 & 64))
      $this.ceccjLct_1 = new Long(0, 0);
    else
      $this.ceccjLct_1 = ceccjLct;
    return $this;
  }
  function ContentEntryContentCategoryJoin_init_$Create$(seen1, ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct, serializationConstructorMarker) {
    return ContentEntryContentCategoryJoin_init_$Init$(seen1, ceccjUid, ceccjContentEntryUid, ceccjContentCategoryUid, ceccjLocalChangeSeqNum, ceccjMasterChangeSeqNum, ceccjLastChangedBy, ceccjLct, serializationConstructorMarker, objectCreate(protoOf(ContentEntryContentCategoryJoin)));
  }
  function ContentEntryContentCategoryJoin() {
    Companion_getInstance_65();
    this.ceccjUid_1 = new Long(0, 0);
    this.ceccjContentEntryUid_1 = new Long(0, 0);
    this.ceccjContentCategoryUid_1 = new Long(0, 0);
    this.ceccjLocalChangeSeqNum_1 = new Long(0, 0);
    this.ceccjMasterChangeSeqNum_1 = new Long(0, 0);
    this.ceccjLastChangedBy_1 = 0;
    this.ceccjLct_1 = new Long(0, 0);
  }
  protoOf(ContentEntryContentCategoryJoin).set_ceccjUid_jeg2pl_k$ = function (_set____db54di) {
    this.ceccjUid_1 = _set____db54di;
  };
  protoOf(ContentEntryContentCategoryJoin).get_ceccjUid_jnw8ep_k$ = function () {
    return this.ceccjUid_1;
  };
  protoOf(ContentEntryContentCategoryJoin).set_ceccjContentEntryUid_v909ta_k$ = function (_set____db54di) {
    this.ceccjContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryContentCategoryJoin).get_ceccjContentEntryUid_xbpd5k_k$ = function () {
    return this.ceccjContentEntryUid_1;
  };
  protoOf(ContentEntryContentCategoryJoin).set_ceccjContentCategoryUid_zppyy_k$ = function (_set____db54di) {
    this.ceccjContentCategoryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryContentCategoryJoin).get_ceccjContentCategoryUid_xe5qs8_k$ = function () {
    return this.ceccjContentCategoryUid_1;
  };
  protoOf(ContentEntryContentCategoryJoin).set_ceccjLocalChangeSeqNum_76g2o7_k$ = function (_set____db54di) {
    this.ceccjLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntryContentCategoryJoin).get_ceccjLocalChangeSeqNum_boys59_k$ = function () {
    return this.ceccjLocalChangeSeqNum_1;
  };
  protoOf(ContentEntryContentCategoryJoin).set_ceccjMasterChangeSeqNum_51w3k6_k$ = function (_set____db54di) {
    this.ceccjMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntryContentCategoryJoin).get_ceccjMasterChangeSeqNum_otfzag_k$ = function () {
    return this.ceccjMasterChangeSeqNum_1;
  };
  protoOf(ContentEntryContentCategoryJoin).set_ceccjLastChangedBy_dyrov2_k$ = function (_set____db54di) {
    this.ceccjLastChangedBy_1 = _set____db54di;
  };
  protoOf(ContentEntryContentCategoryJoin).get_ceccjLastChangedBy_cazpvu_k$ = function () {
    return this.ceccjLastChangedBy_1;
  };
  protoOf(ContentEntryContentCategoryJoin).set_ceccjLct_rrquoc_k$ = function (_set____db54di) {
    this.ceccjLct_1 = _set____db54di;
  };
  protoOf(ContentEntryContentCategoryJoin).get_ceccjLct_jnw1lq_k$ = function () {
    return this.ceccjLct_1;
  };
  protoOf(ContentEntryContentCategoryJoin).equals = function (other) {
    if (this === other)
      return true;
    var that = (other == null ? true : other instanceof ContentEntryContentCategoryJoin) ? other : THROW_CCE();
    if (!this.ceccjUid_1.equals(ensureNotNull(that).ceccjUid_1))
      return false;
    return !this.ceccjContentEntryUid_1.equals(that.ceccjContentEntryUid_1) ? false : this.ceccjContentCategoryUid_1.equals(that.ceccjContentCategoryUid_1);
  };
  protoOf(ContentEntryContentCategoryJoin).hashCode = function () {
    var result = this.ceccjUid_1.xor_qzz94j_k$(this.ceccjUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$();
    result = imul(31, result) + this.ceccjContentEntryUid_1.xor_qzz94j_k$(this.ceccjContentEntryUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$() | 0;
    result = imul(31, result) + this.ceccjContentCategoryUid_1.xor_qzz94j_k$(this.ceccjContentCategoryUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$() | 0;
    return result;
  };
  function Companion_64() {
    Companion_instance_64 = this;
    this.TABLE_ID_1 = 720;
    this.PARAM_KEY_SUBTITLES_1 = 'subtitles';
  }
  protoOf(Companion_64).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_64).get_PARAM_KEY_SUBTITLES_95z14w_k$ = function () {
    return this.PARAM_KEY_SUBTITLES_1;
  };
  protoOf(Companion_64).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_62();
  };
  var Companion_instance_64;
  function Companion_getInstance_66() {
    if (Companion_instance_64 == null)
      new Companion_64();
    return Companion_instance_64;
  }
  function $serializer_62() {
    $serializer_instance_62 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryImportJob', this, 20);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sourceUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiOriginalFilename', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiParentContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiContentEntryVersion', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiItemProgress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiItemTotal', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiRecursiveStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiPluginId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiParentCjiUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiFinishTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiContentDeletedOnCancellation', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiCompressionLevel', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiError', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiErrorDismissed', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiOwnerPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjiParams', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_62).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_62).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_62).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = false;
    var tmp19_local15 = 0;
    var tmp20_local16 = null;
    var tmp21_local17 = false;
    var tmp22_local18 = new Long(0, 0);
    var tmp23_local19 = null;
    var tmp24_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp24_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp24_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp24_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp24_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp24_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp24_input.decodeIntElement_941u6a_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp24_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp24_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp24_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp24_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryImportJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, null);
  };
  protoOf($serializer_62).serialize_c72ybz_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cjiUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cjiUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.sourceUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.sourceUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cjiOriginalFilename_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.cjiOriginalFilename_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.cjiContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.cjiContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.cjiParentContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.cjiParentContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.cjiContentEntryVersion_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.cjiContentEntryVersion_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.cjiItemProgress_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.cjiItemProgress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.cjiItemTotal_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.cjiItemTotal_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.cjiStatus_1 === 4)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.cjiStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.cjiRecursiveStatus_1 === 4)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.cjiRecursiveStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.cjiPluginId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 10, value.cjiPluginId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.cjiParentCjiUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.cjiParentCjiUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.cjiStartTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.cjiStartTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.cjiFinishTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.cjiFinishTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.cjiContentDeletedOnCancellation_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 14, value.cjiContentDeletedOnCancellation_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.cjiCompressionLevel_1 === 3)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 15, value.cjiCompressionLevel_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.cjiError_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 16, StringSerializer_getInstance(), value.cjiError_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.cjiErrorDismissed_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 17, value.cjiErrorDismissed_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !value.cjiOwnerPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 18, value.cjiOwnerPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !(value.cjiParams_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 19, StringSerializer_getInstance(), value.cjiParams_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_62).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_c72ybz_k$(encoder, value instanceof ContentEntryImportJob ? value : THROW_CCE());
  };
  var $serializer_instance_62;
  function $serializer_getInstance_62() {
    if ($serializer_instance_62 == null)
      new $serializer_62();
    return $serializer_instance_62;
  }
  function ContentEntryImportJob_init_$Init$(seen1, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_62().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cjiUid_1 = new Long(0, 0);
    else
      $this.cjiUid_1 = cjiUid;
    if (0 === (seen1 & 2))
      $this.sourceUri_1 = null;
    else
      $this.sourceUri_1 = sourceUri;
    if (0 === (seen1 & 4))
      $this.cjiOriginalFilename_1 = null;
    else
      $this.cjiOriginalFilename_1 = cjiOriginalFilename;
    if (0 === (seen1 & 8))
      $this.cjiContentEntryUid_1 = new Long(0, 0);
    else
      $this.cjiContentEntryUid_1 = cjiContentEntryUid;
    if (0 === (seen1 & 16))
      $this.cjiParentContentEntryUid_1 = new Long(0, 0);
    else
      $this.cjiParentContentEntryUid_1 = cjiParentContentEntryUid;
    if (0 === (seen1 & 32))
      $this.cjiContentEntryVersion_1 = new Long(0, 0);
    else
      $this.cjiContentEntryVersion_1 = cjiContentEntryVersion;
    if (0 === (seen1 & 64))
      $this.cjiItemProgress_1 = new Long(0, 0);
    else
      $this.cjiItemProgress_1 = cjiItemProgress;
    if (0 === (seen1 & 128))
      $this.cjiItemTotal_1 = new Long(0, 0);
    else
      $this.cjiItemTotal_1 = cjiItemTotal;
    if (0 === (seen1 & 256))
      $this.cjiStatus_1 = 4;
    else
      $this.cjiStatus_1 = cjiStatus;
    if (0 === (seen1 & 512))
      $this.cjiRecursiveStatus_1 = 4;
    else
      $this.cjiRecursiveStatus_1 = cjiRecursiveStatus;
    if (0 === (seen1 & 1024))
      $this.cjiPluginId_1 = 0;
    else
      $this.cjiPluginId_1 = cjiPluginId;
    if (0 === (seen1 & 2048))
      $this.cjiParentCjiUid_1 = new Long(0, 0);
    else
      $this.cjiParentCjiUid_1 = cjiParentCjiUid;
    if (0 === (seen1 & 4096))
      $this.cjiStartTime_1 = new Long(0, 0);
    else
      $this.cjiStartTime_1 = cjiStartTime;
    if (0 === (seen1 & 8192))
      $this.cjiFinishTime_1 = new Long(0, 0);
    else
      $this.cjiFinishTime_1 = cjiFinishTime;
    if (0 === (seen1 & 16384))
      $this.cjiContentDeletedOnCancellation_1 = false;
    else
      $this.cjiContentDeletedOnCancellation_1 = cjiContentDeletedOnCancellation;
    if (0 === (seen1 & 32768))
      $this.cjiCompressionLevel_1 = 3;
    else
      $this.cjiCompressionLevel_1 = cjiCompressionLevel;
    if (0 === (seen1 & 65536))
      $this.cjiError_1 = null;
    else
      $this.cjiError_1 = cjiError;
    if (0 === (seen1 & 131072))
      $this.cjiErrorDismissed_1 = false;
    else
      $this.cjiErrorDismissed_1 = cjiErrorDismissed;
    if (0 === (seen1 & 262144))
      $this.cjiOwnerPersonUid_1 = new Long(0, 0);
    else
      $this.cjiOwnerPersonUid_1 = cjiOwnerPersonUid;
    if (0 === (seen1 & 524288))
      $this.cjiParams_1 = null;
    else
      $this.cjiParams_1 = cjiParams;
    return $this;
  }
  function ContentEntryImportJob_init_$Create$(seen1, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, serializationConstructorMarker) {
    return ContentEntryImportJob_init_$Init$(seen1, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, serializationConstructorMarker, objectCreate(protoOf(ContentEntryImportJob)));
  }
  function ContentEntryImportJob(cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) {
    Companion_getInstance_66();
    cjiUid = cjiUid === VOID ? new Long(0, 0) : cjiUid;
    sourceUri = sourceUri === VOID ? null : sourceUri;
    cjiOriginalFilename = cjiOriginalFilename === VOID ? null : cjiOriginalFilename;
    cjiContentEntryUid = cjiContentEntryUid === VOID ? new Long(0, 0) : cjiContentEntryUid;
    cjiParentContentEntryUid = cjiParentContentEntryUid === VOID ? new Long(0, 0) : cjiParentContentEntryUid;
    cjiContentEntryVersion = cjiContentEntryVersion === VOID ? new Long(0, 0) : cjiContentEntryVersion;
    cjiItemProgress = cjiItemProgress === VOID ? new Long(0, 0) : cjiItemProgress;
    cjiItemTotal = cjiItemTotal === VOID ? new Long(0, 0) : cjiItemTotal;
    cjiStatus = cjiStatus === VOID ? 4 : cjiStatus;
    cjiRecursiveStatus = cjiRecursiveStatus === VOID ? 4 : cjiRecursiveStatus;
    cjiPluginId = cjiPluginId === VOID ? 0 : cjiPluginId;
    cjiParentCjiUid = cjiParentCjiUid === VOID ? new Long(0, 0) : cjiParentCjiUid;
    cjiStartTime = cjiStartTime === VOID ? new Long(0, 0) : cjiStartTime;
    cjiFinishTime = cjiFinishTime === VOID ? new Long(0, 0) : cjiFinishTime;
    cjiContentDeletedOnCancellation = cjiContentDeletedOnCancellation === VOID ? false : cjiContentDeletedOnCancellation;
    cjiCompressionLevel = cjiCompressionLevel === VOID ? 3 : cjiCompressionLevel;
    cjiError = cjiError === VOID ? null : cjiError;
    cjiErrorDismissed = cjiErrorDismissed === VOID ? false : cjiErrorDismissed;
    cjiOwnerPersonUid = cjiOwnerPersonUid === VOID ? new Long(0, 0) : cjiOwnerPersonUid;
    cjiParams = cjiParams === VOID ? null : cjiParams;
    this.cjiUid_1 = cjiUid;
    this.sourceUri_1 = sourceUri;
    this.cjiOriginalFilename_1 = cjiOriginalFilename;
    this.cjiContentEntryUid_1 = cjiContentEntryUid;
    this.cjiParentContentEntryUid_1 = cjiParentContentEntryUid;
    this.cjiContentEntryVersion_1 = cjiContentEntryVersion;
    this.cjiItemProgress_1 = cjiItemProgress;
    this.cjiItemTotal_1 = cjiItemTotal;
    this.cjiStatus_1 = cjiStatus;
    this.cjiRecursiveStatus_1 = cjiRecursiveStatus;
    this.cjiPluginId_1 = cjiPluginId;
    this.cjiParentCjiUid_1 = cjiParentCjiUid;
    this.cjiStartTime_1 = cjiStartTime;
    this.cjiFinishTime_1 = cjiFinishTime;
    this.cjiContentDeletedOnCancellation_1 = cjiContentDeletedOnCancellation;
    this.cjiCompressionLevel_1 = cjiCompressionLevel;
    this.cjiError_1 = cjiError;
    this.cjiErrorDismissed_1 = cjiErrorDismissed;
    this.cjiOwnerPersonUid_1 = cjiOwnerPersonUid;
    this.cjiParams_1 = cjiParams;
  }
  protoOf(ContentEntryImportJob).set_cjiUid_520bub_k$ = function (_set____db54di) {
    this.cjiUid_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiUid_bxbqqf_k$ = function () {
    return this.cjiUid_1;
  };
  protoOf(ContentEntryImportJob).set_sourceUri_cxuqfx_k$ = function (_set____db54di) {
    this.sourceUri_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_sourceUri_jko7yw_k$ = function () {
    return this.sourceUri_1;
  };
  protoOf(ContentEntryImportJob).set_cjiOriginalFilename_wioxc6_k$ = function (_set____db54di) {
    this.cjiOriginalFilename_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiOriginalFilename_5qc9rj_k$ = function () {
    return this.cjiOriginalFilename_1;
  };
  protoOf(ContentEntryImportJob).set_cjiContentEntryUid_auvyx8_k$ = function (_set____db54di) {
    this.cjiContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiContentEntryUid_ayw19a_k$ = function () {
    return this.cjiContentEntryUid_1;
  };
  protoOf(ContentEntryImportJob).set_cjiParentContentEntryUid_56m7ai_k$ = function (_set____db54di) {
    this.cjiParentContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiParentContentEntryUid_lqm49g_k$ = function () {
    return this.cjiParentContentEntryUid_1;
  };
  protoOf(ContentEntryImportJob).set_cjiContentEntryVersion_gz0d8c_k$ = function (_set____db54di) {
    this.cjiContentEntryVersion_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiContentEntryVersion_km06ca_k$ = function () {
    return this.cjiContentEntryVersion_1;
  };
  protoOf(ContentEntryImportJob).set_cjiItemProgress_7dh35l_k$ = function (_set____db54di) {
    this.cjiItemProgress_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiItemProgress_rooux3_k$ = function () {
    return this.cjiItemProgress_1;
  };
  protoOf(ContentEntryImportJob).set_cjiItemTotal_nqgzw2_k$ = function (_set____db54di) {
    this.cjiItemTotal_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiItemTotal_aik9s8_k$ = function () {
    return this.cjiItemTotal_1;
  };
  protoOf(ContentEntryImportJob).set_cjiStatus_kle71r_k$ = function (_set____db54di) {
    this.cjiStatus_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiStatus_i13gad_k$ = function () {
    return this.cjiStatus_1;
  };
  protoOf(ContentEntryImportJob).set_cjiRecursiveStatus_uk8izt_k$ = function (_set____db54di) {
    this.cjiRecursiveStatus_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiRecursiveStatus_a66z2j_k$ = function () {
    return this.cjiRecursiveStatus_1;
  };
  protoOf(ContentEntryImportJob).set_cjiPluginId_8nr8b9_k$ = function (_set____db54di) {
    this.cjiPluginId_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiPluginId_mr5gsn_k$ = function () {
    return this.cjiPluginId_1;
  };
  protoOf(ContentEntryImportJob).set_cjiParentCjiUid_exikw1_k$ = function (_set____db54di) {
    this.cjiParentCjiUid_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiParentCjiUid_bo2s9b_k$ = function () {
    return this.cjiParentCjiUid_1;
  };
  protoOf(ContentEntryImportJob).set_cjiStartTime_j5vht8_k$ = function (_set____db54di) {
    this.cjiStartTime_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiStartTime_a5da96_k$ = function () {
    return this.cjiStartTime_1;
  };
  protoOf(ContentEntryImportJob).set_cjiFinishTime_kuemah_k$ = function (_set____db54di) {
    this.cjiFinishTime_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiFinishTime_eqg509_k$ = function () {
    return this.cjiFinishTime_1;
  };
  protoOf(ContentEntryImportJob).set_cjiContentDeletedOnCancellation_x1z53i_k$ = function (_set____db54di) {
    this.cjiContentDeletedOnCancellation_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiContentDeletedOnCancellation_a7jylh_k$ = function () {
    return this.cjiContentDeletedOnCancellation_1;
  };
  protoOf(ContentEntryImportJob).set_cjiCompressionLevel_p9rlj9_k$ = function (_set____db54di) {
    this.cjiCompressionLevel_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiCompressionLevel_5fa7jd_k$ = function () {
    return this.cjiCompressionLevel_1;
  };
  protoOf(ContentEntryImportJob).set_cjiError_crtvak_k$ = function (_set____db54di) {
    this.cjiError_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiError_oep7nz_k$ = function () {
    return this.cjiError_1;
  };
  protoOf(ContentEntryImportJob).set_cjiErrorDismissed_g4yptb_k$ = function (_set____db54di) {
    this.cjiErrorDismissed_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiErrorDismissed_sti1cq_k$ = function () {
    return this.cjiErrorDismissed_1;
  };
  protoOf(ContentEntryImportJob).set_cjiOwnerPersonUid_mxouc1_k$ = function (_set____db54di) {
    this.cjiOwnerPersonUid_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiOwnerPersonUid_7yysrl_k$ = function () {
    return this.cjiOwnerPersonUid_1;
  };
  protoOf(ContentEntryImportJob).set_cjiParams_lov0yc_k$ = function (_set____db54di) {
    this.cjiParams_1 = _set____db54di;
  };
  protoOf(ContentEntryImportJob).get_cjiParams_jqdy8x_k$ = function () {
    return this.cjiParams_1;
  };
  protoOf(ContentEntryImportJob).component1_7eebsc_k$ = function () {
    return this.cjiUid_1;
  };
  protoOf(ContentEntryImportJob).component2_7eebsb_k$ = function () {
    return this.sourceUri_1;
  };
  protoOf(ContentEntryImportJob).component3_7eebsa_k$ = function () {
    return this.cjiOriginalFilename_1;
  };
  protoOf(ContentEntryImportJob).component4_7eebs9_k$ = function () {
    return this.cjiContentEntryUid_1;
  };
  protoOf(ContentEntryImportJob).component5_7eebs8_k$ = function () {
    return this.cjiParentContentEntryUid_1;
  };
  protoOf(ContentEntryImportJob).component6_7eebs7_k$ = function () {
    return this.cjiContentEntryVersion_1;
  };
  protoOf(ContentEntryImportJob).component7_7eebs6_k$ = function () {
    return this.cjiItemProgress_1;
  };
  protoOf(ContentEntryImportJob).component8_7eebs5_k$ = function () {
    return this.cjiItemTotal_1;
  };
  protoOf(ContentEntryImportJob).component9_7eebs4_k$ = function () {
    return this.cjiStatus_1;
  };
  protoOf(ContentEntryImportJob).component10_gazzfo_k$ = function () {
    return this.cjiRecursiveStatus_1;
  };
  protoOf(ContentEntryImportJob).component11_gazzfn_k$ = function () {
    return this.cjiPluginId_1;
  };
  protoOf(ContentEntryImportJob).component12_gazzfm_k$ = function () {
    return this.cjiParentCjiUid_1;
  };
  protoOf(ContentEntryImportJob).component13_gazzfl_k$ = function () {
    return this.cjiStartTime_1;
  };
  protoOf(ContentEntryImportJob).component14_gazzfk_k$ = function () {
    return this.cjiFinishTime_1;
  };
  protoOf(ContentEntryImportJob).component15_gazzfj_k$ = function () {
    return this.cjiContentDeletedOnCancellation_1;
  };
  protoOf(ContentEntryImportJob).component16_gazzfi_k$ = function () {
    return this.cjiCompressionLevel_1;
  };
  protoOf(ContentEntryImportJob).component17_gazzfh_k$ = function () {
    return this.cjiError_1;
  };
  protoOf(ContentEntryImportJob).component18_gazzfg_k$ = function () {
    return this.cjiErrorDismissed_1;
  };
  protoOf(ContentEntryImportJob).component19_gazzff_k$ = function () {
    return this.cjiOwnerPersonUid_1;
  };
  protoOf(ContentEntryImportJob).component20_gazzet_k$ = function () {
    return this.cjiParams_1;
  };
  protoOf(ContentEntryImportJob).copy_9epjd3_k$ = function (cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) {
    return new ContentEntryImportJob(cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams);
  };
  protoOf(ContentEntryImportJob).copy$default_kp0j0x_k$ = function (cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams, $super) {
    cjiUid = cjiUid === VOID ? this.cjiUid_1 : cjiUid;
    sourceUri = sourceUri === VOID ? this.sourceUri_1 : sourceUri;
    cjiOriginalFilename = cjiOriginalFilename === VOID ? this.cjiOriginalFilename_1 : cjiOriginalFilename;
    cjiContentEntryUid = cjiContentEntryUid === VOID ? this.cjiContentEntryUid_1 : cjiContentEntryUid;
    cjiParentContentEntryUid = cjiParentContentEntryUid === VOID ? this.cjiParentContentEntryUid_1 : cjiParentContentEntryUid;
    cjiContentEntryVersion = cjiContentEntryVersion === VOID ? this.cjiContentEntryVersion_1 : cjiContentEntryVersion;
    cjiItemProgress = cjiItemProgress === VOID ? this.cjiItemProgress_1 : cjiItemProgress;
    cjiItemTotal = cjiItemTotal === VOID ? this.cjiItemTotal_1 : cjiItemTotal;
    cjiStatus = cjiStatus === VOID ? this.cjiStatus_1 : cjiStatus;
    cjiRecursiveStatus = cjiRecursiveStatus === VOID ? this.cjiRecursiveStatus_1 : cjiRecursiveStatus;
    cjiPluginId = cjiPluginId === VOID ? this.cjiPluginId_1 : cjiPluginId;
    cjiParentCjiUid = cjiParentCjiUid === VOID ? this.cjiParentCjiUid_1 : cjiParentCjiUid;
    cjiStartTime = cjiStartTime === VOID ? this.cjiStartTime_1 : cjiStartTime;
    cjiFinishTime = cjiFinishTime === VOID ? this.cjiFinishTime_1 : cjiFinishTime;
    cjiContentDeletedOnCancellation = cjiContentDeletedOnCancellation === VOID ? this.cjiContentDeletedOnCancellation_1 : cjiContentDeletedOnCancellation;
    cjiCompressionLevel = cjiCompressionLevel === VOID ? this.cjiCompressionLevel_1 : cjiCompressionLevel;
    cjiError = cjiError === VOID ? this.cjiError_1 : cjiError;
    cjiErrorDismissed = cjiErrorDismissed === VOID ? this.cjiErrorDismissed_1 : cjiErrorDismissed;
    cjiOwnerPersonUid = cjiOwnerPersonUid === VOID ? this.cjiOwnerPersonUid_1 : cjiOwnerPersonUid;
    cjiParams = cjiParams === VOID ? this.cjiParams_1 : cjiParams;
    return $super === VOID ? this.copy_9epjd3_k$(cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams) : $super.copy_9epjd3_k$.call(this, cjiUid, sourceUri, cjiOriginalFilename, cjiContentEntryUid, cjiParentContentEntryUid, cjiContentEntryVersion, cjiItemProgress, cjiItemTotal, cjiStatus, cjiRecursiveStatus, cjiPluginId, cjiParentCjiUid, cjiStartTime, cjiFinishTime, cjiContentDeletedOnCancellation, cjiCompressionLevel, cjiError, cjiErrorDismissed, cjiOwnerPersonUid, cjiParams);
  };
  protoOf(ContentEntryImportJob).toString = function () {
    return 'ContentEntryImportJob(cjiUid=' + this.cjiUid_1.toString() + ', sourceUri=' + this.sourceUri_1 + ', cjiOriginalFilename=' + this.cjiOriginalFilename_1 + ', cjiContentEntryUid=' + this.cjiContentEntryUid_1.toString() + ', cjiParentContentEntryUid=' + this.cjiParentContentEntryUid_1.toString() + ', cjiContentEntryVersion=' + this.cjiContentEntryVersion_1.toString() + ', cjiItemProgress=' + this.cjiItemProgress_1.toString() + ', cjiItemTotal=' + this.cjiItemTotal_1.toString() + ', cjiStatus=' + this.cjiStatus_1 + ', cjiRecursiveStatus=' + this.cjiRecursiveStatus_1 + ', cjiPluginId=' + this.cjiPluginId_1 + ', cjiParentCjiUid=' + this.cjiParentCjiUid_1.toString() + ', cjiStartTime=' + this.cjiStartTime_1.toString() + ', cjiFinishTime=' + this.cjiFinishTime_1.toString() + ', cjiContentDeletedOnCancellation=' + this.cjiContentDeletedOnCancellation_1 + ', cjiCompressionLevel=' + this.cjiCompressionLevel_1 + ', cjiError=' + this.cjiError_1 + ', cjiErrorDismissed=' + this.cjiErrorDismissed_1 + ', cjiOwnerPersonUid=' + this.cjiOwnerPersonUid_1.toString() + ', cjiParams=' + this.cjiParams_1 + ')';
  };
  protoOf(ContentEntryImportJob).hashCode = function () {
    var result = this.cjiUid_1.hashCode();
    result = imul(result, 31) + (this.sourceUri_1 == null ? 0 : getStringHashCode(this.sourceUri_1)) | 0;
    result = imul(result, 31) + (this.cjiOriginalFilename_1 == null ? 0 : getStringHashCode(this.cjiOriginalFilename_1)) | 0;
    result = imul(result, 31) + this.cjiContentEntryUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiParentContentEntryUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiContentEntryVersion_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiItemProgress_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiItemTotal_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiStatus_1 | 0;
    result = imul(result, 31) + this.cjiRecursiveStatus_1 | 0;
    result = imul(result, 31) + this.cjiPluginId_1 | 0;
    result = imul(result, 31) + this.cjiParentCjiUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiStartTime_1.hashCode() | 0;
    result = imul(result, 31) + this.cjiFinishTime_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.cjiContentDeletedOnCancellation_1) | 0;
    result = imul(result, 31) + this.cjiCompressionLevel_1 | 0;
    result = imul(result, 31) + (this.cjiError_1 == null ? 0 : getStringHashCode(this.cjiError_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.cjiErrorDismissed_1) | 0;
    result = imul(result, 31) + this.cjiOwnerPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.cjiParams_1 == null ? 0 : getStringHashCode(this.cjiParams_1)) | 0;
    return result;
  };
  protoOf(ContentEntryImportJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryImportJob))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryImportJob ? other : THROW_CCE();
    if (!this.cjiUid_1.equals(tmp0_other_with_cast.cjiUid_1))
      return false;
    if (!(this.sourceUri_1 == tmp0_other_with_cast.sourceUri_1))
      return false;
    if (!(this.cjiOriginalFilename_1 == tmp0_other_with_cast.cjiOriginalFilename_1))
      return false;
    if (!this.cjiContentEntryUid_1.equals(tmp0_other_with_cast.cjiContentEntryUid_1))
      return false;
    if (!this.cjiParentContentEntryUid_1.equals(tmp0_other_with_cast.cjiParentContentEntryUid_1))
      return false;
    if (!this.cjiContentEntryVersion_1.equals(tmp0_other_with_cast.cjiContentEntryVersion_1))
      return false;
    if (!this.cjiItemProgress_1.equals(tmp0_other_with_cast.cjiItemProgress_1))
      return false;
    if (!this.cjiItemTotal_1.equals(tmp0_other_with_cast.cjiItemTotal_1))
      return false;
    if (!(this.cjiStatus_1 === tmp0_other_with_cast.cjiStatus_1))
      return false;
    if (!(this.cjiRecursiveStatus_1 === tmp0_other_with_cast.cjiRecursiveStatus_1))
      return false;
    if (!(this.cjiPluginId_1 === tmp0_other_with_cast.cjiPluginId_1))
      return false;
    if (!this.cjiParentCjiUid_1.equals(tmp0_other_with_cast.cjiParentCjiUid_1))
      return false;
    if (!this.cjiStartTime_1.equals(tmp0_other_with_cast.cjiStartTime_1))
      return false;
    if (!this.cjiFinishTime_1.equals(tmp0_other_with_cast.cjiFinishTime_1))
      return false;
    if (!(this.cjiContentDeletedOnCancellation_1 === tmp0_other_with_cast.cjiContentDeletedOnCancellation_1))
      return false;
    if (!(this.cjiCompressionLevel_1 === tmp0_other_with_cast.cjiCompressionLevel_1))
      return false;
    if (!(this.cjiError_1 == tmp0_other_with_cast.cjiError_1))
      return false;
    if (!(this.cjiErrorDismissed_1 === tmp0_other_with_cast.cjiErrorDismissed_1))
      return false;
    if (!this.cjiOwnerPersonUid_1.equals(tmp0_other_with_cast.cjiOwnerPersonUid_1))
      return false;
    if (!(this.cjiParams_1 == tmp0_other_with_cast.cjiParams_1))
      return false;
    return true;
  };
  function ContentEntryParentChildJoin_init_$Init$(parentEntry, childEntry, index, $this) {
    ContentEntryParentChildJoin.call($this);
    $this.cepcjParentContentEntryUid_1 = parentEntry.get_contentEntryUid_pu6bbm_k$();
    $this.cepcjChildContentEntryUid_1 = childEntry.get_contentEntryUid_pu6bbm_k$();
    $this.childIndex_1 = index;
    return $this;
  }
  function ContentEntryParentChildJoin_init_$Create$(parentEntry, childEntry, index) {
    return ContentEntryParentChildJoin_init_$Init$(parentEntry, childEntry, index, objectCreate(protoOf(ContentEntryParentChildJoin)));
  }
  function Companion_65() {
    Companion_instance_65 = this;
    this.TABLE_ID_1 = 7;
  }
  protoOf(Companion_65).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_65).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_63();
  };
  var Companion_instance_65;
  function Companion_getInstance_67() {
    if (Companion_instance_65 == null)
      new Companion_65();
    return Companion_instance_65;
  }
  function $serializer_63() {
    $serializer_instance_63 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryParentChildJoin', this, 9);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjParentContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjChildContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('childIndex', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepcjDeleted', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_63).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_63).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_63).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = false;
    var tmp13_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp13_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryParentChildJoin_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_63).serialize_kut6ph_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cepcjParentContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cepcjParentContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cepcjChildContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cepcjChildContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.childIndex_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.childIndex_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.cepcjUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.cepcjUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.cepcjLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.cepcjLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.cepcjMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.cepcjMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.cepcjLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.cepcjLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.cepcjLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.cepcjLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.cepcjDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 8, value.cepcjDeleted_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_63).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_kut6ph_k$(encoder, value instanceof ContentEntryParentChildJoin ? value : THROW_CCE());
  };
  var $serializer_instance_63;
  function $serializer_getInstance_63() {
    if ($serializer_instance_63 == null)
      new $serializer_63();
    return $serializer_instance_63;
  }
  function ContentEntryParentChildJoin_init_$Init$_0(seen1, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_63().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cepcjParentContentEntryUid_1 = new Long(0, 0);
    else
      $this.cepcjParentContentEntryUid_1 = cepcjParentContentEntryUid;
    if (0 === (seen1 & 2))
      $this.cepcjChildContentEntryUid_1 = new Long(0, 0);
    else
      $this.cepcjChildContentEntryUid_1 = cepcjChildContentEntryUid;
    if (0 === (seen1 & 4))
      $this.childIndex_1 = 0;
    else
      $this.childIndex_1 = childIndex;
    if (0 === (seen1 & 8))
      $this.cepcjUid_1 = new Long(0, 0);
    else
      $this.cepcjUid_1 = cepcjUid;
    if (0 === (seen1 & 16))
      $this.cepcjLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.cepcjLocalChangeSeqNum_1 = cepcjLocalChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.cepcjMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.cepcjMasterChangeSeqNum_1 = cepcjMasterChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.cepcjLastChangedBy_1 = 0;
    else
      $this.cepcjLastChangedBy_1 = cepcjLastChangedBy;
    if (0 === (seen1 & 128))
      $this.cepcjLct_1 = new Long(0, 0);
    else
      $this.cepcjLct_1 = cepcjLct;
    if (0 === (seen1 & 256))
      $this.cepcjDeleted_1 = false;
    else
      $this.cepcjDeleted_1 = cepcjDeleted;
    return $this;
  }
  function ContentEntryParentChildJoin_init_$Create$_0(seen1, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, serializationConstructorMarker) {
    return ContentEntryParentChildJoin_init_$Init$_0(seen1, cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex, cepcjUid, cepcjLocalChangeSeqNum, cepcjMasterChangeSeqNum, cepcjLastChangedBy, cepcjLct, cepcjDeleted, serializationConstructorMarker, objectCreate(protoOf(ContentEntryParentChildJoin)));
  }
  function ContentEntryParentChildJoin(cepcjParentContentEntryUid, cepcjChildContentEntryUid, childIndex) {
    Companion_getInstance_67();
    cepcjParentContentEntryUid = cepcjParentContentEntryUid === VOID ? new Long(0, 0) : cepcjParentContentEntryUid;
    cepcjChildContentEntryUid = cepcjChildContentEntryUid === VOID ? new Long(0, 0) : cepcjChildContentEntryUid;
    childIndex = childIndex === VOID ? 0 : childIndex;
    this.cepcjParentContentEntryUid_1 = cepcjParentContentEntryUid;
    this.cepcjChildContentEntryUid_1 = cepcjChildContentEntryUid;
    this.childIndex_1 = childIndex;
    this.cepcjUid_1 = new Long(0, 0);
    this.cepcjLocalChangeSeqNum_1 = new Long(0, 0);
    this.cepcjMasterChangeSeqNum_1 = new Long(0, 0);
    this.cepcjLastChangedBy_1 = 0;
    this.cepcjLct_1 = new Long(0, 0);
    this.cepcjDeleted_1 = false;
  }
  protoOf(ContentEntryParentChildJoin).set_cepcjParentContentEntryUid_oowyqx_k$ = function (_set____db54di) {
    this.cepcjParentContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjParentContentEntryUid_27xw81_k$ = function () {
    return this.cepcjParentContentEntryUid_1;
  };
  protoOf(ContentEntryParentChildJoin).set_cepcjChildContentEntryUid_xs79pn_k$ = function (_set____db54di) {
    this.cepcjChildContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjChildContentEntryUid_mkd6kn_k$ = function () {
    return this.cepcjChildContentEntryUid_1;
  };
  protoOf(ContentEntryParentChildJoin).set_childIndex_yj4tez_k$ = function (_set____db54di) {
    this.childIndex_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_childIndex_1wd0v3_k$ = function () {
    return this.childIndex_1;
  };
  protoOf(ContentEntryParentChildJoin).set_cepcjUid_psyd4q_k$ = function (_set____db54di) {
    this.cepcjUid_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjUid_pthbj8_k$ = function () {
    return this.cepcjUid_1;
  };
  protoOf(ContentEntryParentChildJoin).set_cepcjLocalChangeSeqNum_grk6p8_k$ = function (_set____db54di) {
    this.cepcjLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjLocalChangeSeqNum_sk3iga_k$ = function () {
    return this.cepcjLocalChangeSeqNum_1;
  };
  protoOf(ContentEntryParentChildJoin).set_cepcjMasterChangeSeqNum_y04fm5_k$ = function (_set____db54di) {
    this.cepcjMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjMasterChangeSeqNum_kmdt0l_k$ = function () {
    return this.cepcjMasterChangeSeqNum_1;
  };
  protoOf(ContentEntryParentChildJoin).set_cepcjLastChangedBy_djiuqd_k$ = function (_set____db54di) {
    this.cepcjLastChangedBy_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjLastChangedBy_jzrn2h_k$ = function () {
    return this.cepcjLastChangedBy_1;
  };
  protoOf(ContentEntryParentChildJoin).set_cepcjLct_hfnl5z_k$ = function (_set____db54di) {
    this.cepcjLct_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjLct_pth4q9_k$ = function () {
    return this.cepcjLct_1;
  };
  protoOf(ContentEntryParentChildJoin).set_cepcjDeleted_vbtces_k$ = function (_set____db54di) {
    this.cepcjDeleted_1 = _set____db54di;
  };
  protoOf(ContentEntryParentChildJoin).get_cepcjDeleted_h9leab_k$ = function () {
    return this.cepcjDeleted_1;
  };
  protoOf(ContentEntryParentChildJoin).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ContentEntryParentChildJoin))
      THROW_CCE();
    if (!this.cepcjUid_1.equals(other.cepcjUid_1))
      return false;
    if (!this.cepcjLocalChangeSeqNum_1.equals(other.cepcjLocalChangeSeqNum_1))
      return false;
    if (!this.cepcjMasterChangeSeqNum_1.equals(other.cepcjMasterChangeSeqNum_1))
      return false;
    if (!(this.cepcjLastChangedBy_1 === other.cepcjLastChangedBy_1))
      return false;
    if (!this.cepcjParentContentEntryUid_1.equals(other.cepcjParentContentEntryUid_1))
      return false;
    if (!this.cepcjChildContentEntryUid_1.equals(other.cepcjChildContentEntryUid_1))
      return false;
    if (!(this.childIndex_1 === other.childIndex_1))
      return false;
    return true;
  };
  protoOf(ContentEntryParentChildJoin).hashCode = function () {
    var result = this.cepcjUid_1.hashCode();
    result = imul(31, result) + this.cepcjLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.cepcjMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.cepcjLastChangedBy_1 | 0;
    result = imul(31, result) + this.cepcjParentContentEntryUid_1.hashCode() | 0;
    result = imul(31, result) + this.cepcjChildContentEntryUid_1.hashCode() | 0;
    result = imul(31, result) + this.childIndex_1 | 0;
    return result;
  };
  function Companion_66() {
    Companion_instance_66 = this;
    this.TABLE_ID_1 = 138;
  }
  protoOf(Companion_66).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_66).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_64();
  };
  var Companion_instance_66;
  function Companion_getInstance_68() {
    if (Companion_instance_66 == null)
      new Companion_66();
    return Companion_instance_66;
  }
  function $serializer_64() {
    $serializer_instance_64 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryPicture', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('cepUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepMd5', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepFileSize', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepTimestamp', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepMimeType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepActive', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_64).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_64).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_64).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = null;
    var tmp11_local7 = false;
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_64).serialize_oeiy5l_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cepUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cepUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cepContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cepContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cepUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.cepUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cepMd5__1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.cepMd5__1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.cepFileSize_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.cepFileSize_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.cepTimestamp_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.cepTimestamp_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.cepMimeType_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.cepMimeType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.cepActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.cepActive_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_64).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_oeiy5l_k$(encoder, value instanceof ContentEntryPicture ? value : THROW_CCE());
  };
  var $serializer_instance_64;
  function $serializer_getInstance_64() {
    if ($serializer_instance_64 == null)
      new $serializer_64();
    return $serializer_instance_64;
  }
  function ContentEntryPicture_init_$Init$(seen1, cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_64().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cepUid_1 = new Long(0, 0);
    else
      $this.cepUid_1 = cepUid;
    if (0 === (seen1 & 2))
      $this.cepContentEntryUid_1 = new Long(0, 0);
    else
      $this.cepContentEntryUid_1 = cepContentEntryUid;
    if (0 === (seen1 & 4))
      $this.cepUri_1 = null;
    else
      $this.cepUri_1 = cepUri;
    if (0 === (seen1 & 8))
      $this.cepMd5__1 = null;
    else
      $this.cepMd5__1 = cepMd5;
    if (0 === (seen1 & 16))
      $this.cepFileSize_1 = 0;
    else
      $this.cepFileSize_1 = cepFileSize;
    if (0 === (seen1 & 32))
      $this.cepTimestamp_1 = new Long(0, 0);
    else
      $this.cepTimestamp_1 = cepTimestamp;
    if (0 === (seen1 & 64))
      $this.cepMimeType_1 = null;
    else
      $this.cepMimeType_1 = cepMimeType;
    if (0 === (seen1 & 128))
      $this.cepActive_1 = true;
    else
      $this.cepActive_1 = cepActive;
    return $this;
  }
  function ContentEntryPicture_init_$Create$(seen1, cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive, serializationConstructorMarker) {
    return ContentEntryPicture_init_$Init$(seen1, cepUid, cepContentEntryUid, cepUri, cepMd5, cepFileSize, cepTimestamp, cepMimeType, cepActive, serializationConstructorMarker, objectCreate(protoOf(ContentEntryPicture)));
  }
  function ContentEntryPicture() {
    Companion_getInstance_68();
    this.cepUid_1 = new Long(0, 0);
    this.cepContentEntryUid_1 = new Long(0, 0);
    this.cepUri_1 = null;
    this.cepMd5__1 = null;
    this.cepFileSize_1 = 0;
    this.cepTimestamp_1 = new Long(0, 0);
    this.cepMimeType_1 = null;
    this.cepActive_1 = true;
  }
  protoOf(ContentEntryPicture).set_cepUid_s2fsm9_k$ = function (_set____db54di) {
    this.cepUid_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepUid_bup8ob_k$ = function () {
    return this.cepUid_1;
  };
  protoOf(ContentEntryPicture).set_cepContentEntryUid_up5wc8_k$ = function (_set____db54di) {
    this.cepContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepContentEntryUid_hz83v2_k$ = function () {
    return this.cepContentEntryUid_1;
  };
  protoOf(ContentEntryPicture).set_cepUri_mg6dic_k$ = function (_set____db54di) {
    this.cepUri_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepUri_bup8w7_k$ = function () {
    return this.cepUri_1;
  };
  protoOf(ContentEntryPicture).set_cepMd5_loo4y2_k$ = function (_set____db54di) {
    this.cepMd5__1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepMd5_bup2l5_k$ = function () {
    return this.cepMd5__1;
  };
  protoOf(ContentEntryPicture).set_cepFileSize_o3ewbe_k$ = function (_set____db54di) {
    this.cepFileSize_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepFileSize_9l6d7i_k$ = function () {
    return this.cepFileSize_1;
  };
  protoOf(ContentEntryPicture).set_cepTimestamp_vlvzon_k$ = function (_set____db54di) {
    this.cepTimestamp_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepTimestamp_9r931t_k$ = function () {
    return this.cepTimestamp_1;
  };
  protoOf(ContentEntryPicture).set_cepMimeType_a6gyx4_k$ = function (_set____db54di) {
    this.cepMimeType_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepMimeType_kg2mp9_k$ = function () {
    return this.cepMimeType_1;
  };
  protoOf(ContentEntryPicture).set_cepActive_cro1um_k$ = function (_set____db54di) {
    this.cepActive_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture).get_cepActive_2uufd7_k$ = function () {
    return this.cepActive_1;
  };
  protoOf(ContentEntryPicture).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ContentEntryPicture))
      THROW_CCE();
    if (!this.cepUid_1.equals(other.cepUid_1))
      return false;
    if (!this.cepContentEntryUid_1.equals(other.cepContentEntryUid_1))
      return false;
    if (!(this.cepUri_1 == other.cepUri_1))
      return false;
    if (!(this.cepMd5__1 == other.cepMd5__1))
      return false;
    if (!(this.cepFileSize_1 === other.cepFileSize_1))
      return false;
    if (!this.cepTimestamp_1.equals(other.cepTimestamp_1))
      return false;
    if (!(this.cepMimeType_1 == other.cepMimeType_1))
      return false;
    if (!(this.cepActive_1 === other.cepActive_1))
      return false;
    return true;
  };
  protoOf(ContentEntryPicture).hashCode = function () {
    var result = this.cepUid_1.hashCode();
    result = imul(31, result) + this.cepContentEntryUid_1.hashCode() | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.cepUri_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.cepMd5__1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    result = imul(31, result) + this.cepFileSize_1 | 0;
    result = imul(31, result) + this.cepTimestamp_1.hashCode() | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.cepMimeType_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    result = imul(31, result) + getBooleanHashCode(this.cepActive_1) | 0;
    return result;
  };
  function Companion_67() {
    Companion_instance_67 = this;
    this.TABLE_ID_1 = 6678;
  }
  protoOf(Companion_67).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_67).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_65();
  };
  var Companion_instance_67;
  function Companion_getInstance_69() {
    if (Companion_instance_67 == null)
      new Companion_67();
    return Companion_instance_67;
  }
  function $serializer_65() {
    $serializer_instance_65 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryPicture2', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('cepUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepPictureUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cepThumbnailUri', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_65).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_65).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_65).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryPicture2_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_65).serialize_78279n_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cepUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cepUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cepLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cepLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cepPictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.cepPictureUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cepThumbnailUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.cepThumbnailUri_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_65).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_78279n_k$(encoder, value instanceof ContentEntryPicture2 ? value : THROW_CCE());
  };
  var $serializer_instance_65;
  function $serializer_getInstance_65() {
    if ($serializer_instance_65 == null)
      new $serializer_65();
    return $serializer_instance_65;
  }
  function ContentEntryPicture2_init_$Init$(seen1, cepUid, cepLct, cepPictureUri, cepThumbnailUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_65().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cepUid_1 = new Long(0, 0);
    else
      $this.cepUid_1 = cepUid;
    if (0 === (seen1 & 2))
      $this.cepLct_1 = new Long(0, 0);
    else
      $this.cepLct_1 = cepLct;
    if (0 === (seen1 & 4))
      $this.cepPictureUri_1 = null;
    else
      $this.cepPictureUri_1 = cepPictureUri;
    if (0 === (seen1 & 8))
      $this.cepThumbnailUri_1 = null;
    else
      $this.cepThumbnailUri_1 = cepThumbnailUri;
    return $this;
  }
  function ContentEntryPicture2_init_$Create$(seen1, cepUid, cepLct, cepPictureUri, cepThumbnailUri, serializationConstructorMarker) {
    return ContentEntryPicture2_init_$Init$(seen1, cepUid, cepLct, cepPictureUri, cepThumbnailUri, serializationConstructorMarker, objectCreate(protoOf(ContentEntryPicture2)));
  }
  function ContentEntryPicture2(cepUid, cepLct, cepPictureUri, cepThumbnailUri) {
    Companion_getInstance_69();
    cepUid = cepUid === VOID ? new Long(0, 0) : cepUid;
    cepLct = cepLct === VOID ? new Long(0, 0) : cepLct;
    cepPictureUri = cepPictureUri === VOID ? null : cepPictureUri;
    cepThumbnailUri = cepThumbnailUri === VOID ? null : cepThumbnailUri;
    this.cepUid_1 = cepUid;
    this.cepLct_1 = cepLct;
    this.cepPictureUri_1 = cepPictureUri;
    this.cepThumbnailUri_1 = cepThumbnailUri;
  }
  protoOf(ContentEntryPicture2).set_cepUid_s2fsm9_k$ = function (_set____db54di) {
    this.cepUid_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture2).get_cepUid_bup8ob_k$ = function () {
    return this.cepUid_1;
  };
  protoOf(ContentEntryPicture2).set_cepLct_jp50ni_k$ = function (_set____db54di) {
    this.cepLct_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture2).get_cepLct_bup1vc_k$ = function () {
    return this.cepLct_1;
  };
  protoOf(ContentEntryPicture2).set_cepPictureUri_op8u48_k$ = function (_set____db54di) {
    this.cepPictureUri_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture2).get_cepPictureUri_z88ker_k$ = function () {
    return this.cepPictureUri_1;
  };
  protoOf(ContentEntryPicture2).set_cepThumbnailUri_vrexy_k$ = function (_set____db54di) {
    this.cepThumbnailUri_1 = _set____db54di;
  };
  protoOf(ContentEntryPicture2).get_cepThumbnailUri_jl1i1n_k$ = function () {
    return this.cepThumbnailUri_1;
  };
  protoOf(ContentEntryPicture2).component1_7eebsc_k$ = function () {
    return this.cepUid_1;
  };
  protoOf(ContentEntryPicture2).component2_7eebsb_k$ = function () {
    return this.cepLct_1;
  };
  protoOf(ContentEntryPicture2).component3_7eebsa_k$ = function () {
    return this.cepPictureUri_1;
  };
  protoOf(ContentEntryPicture2).component4_7eebs9_k$ = function () {
    return this.cepThumbnailUri_1;
  };
  protoOf(ContentEntryPicture2).copy_wdqa93_k$ = function (cepUid, cepLct, cepPictureUri, cepThumbnailUri) {
    return new ContentEntryPicture2(cepUid, cepLct, cepPictureUri, cepThumbnailUri);
  };
  protoOf(ContentEntryPicture2).copy$default_mj71ff_k$ = function (cepUid, cepLct, cepPictureUri, cepThumbnailUri, $super) {
    cepUid = cepUid === VOID ? this.cepUid_1 : cepUid;
    cepLct = cepLct === VOID ? this.cepLct_1 : cepLct;
    cepPictureUri = cepPictureUri === VOID ? this.cepPictureUri_1 : cepPictureUri;
    cepThumbnailUri = cepThumbnailUri === VOID ? this.cepThumbnailUri_1 : cepThumbnailUri;
    return $super === VOID ? this.copy_wdqa93_k$(cepUid, cepLct, cepPictureUri, cepThumbnailUri) : $super.copy_wdqa93_k$.call(this, cepUid, cepLct, cepPictureUri, cepThumbnailUri);
  };
  protoOf(ContentEntryPicture2).toString = function () {
    return 'ContentEntryPicture2(cepUid=' + this.cepUid_1.toString() + ', cepLct=' + this.cepLct_1.toString() + ', cepPictureUri=' + this.cepPictureUri_1 + ', cepThumbnailUri=' + this.cepThumbnailUri_1 + ')';
  };
  protoOf(ContentEntryPicture2).hashCode = function () {
    var result = this.cepUid_1.hashCode();
    result = imul(result, 31) + this.cepLct_1.hashCode() | 0;
    result = imul(result, 31) + (this.cepPictureUri_1 == null ? 0 : getStringHashCode(this.cepPictureUri_1)) | 0;
    result = imul(result, 31) + (this.cepThumbnailUri_1 == null ? 0 : getStringHashCode(this.cepThumbnailUri_1)) | 0;
    return result;
  };
  protoOf(ContentEntryPicture2).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryPicture2))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryPicture2 ? other : THROW_CCE();
    if (!this.cepUid_1.equals(tmp0_other_with_cast.cepUid_1))
      return false;
    if (!this.cepLct_1.equals(tmp0_other_with_cast.cepLct_1))
      return false;
    if (!(this.cepPictureUri_1 == tmp0_other_with_cast.cepPictureUri_1))
      return false;
    if (!(this.cepThumbnailUri_1 == tmp0_other_with_cast.cepThumbnailUri_1))
      return false;
    return true;
  };
  function Companion_68() {
    Companion_instance_68 = this;
    this.TABLE_ID_1 = 8;
    this.REL_TYPE_TRANSLATED_VERSION_1 = 1;
    this.REL_TYPE_SEE_ALSO_1 = 2;
  }
  protoOf(Companion_68).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_68).get_REL_TYPE_TRANSLATED_VERSION_3a79z9_k$ = function () {
    return this.REL_TYPE_TRANSLATED_VERSION_1;
  };
  protoOf(Companion_68).get_REL_TYPE_SEE_ALSO_xfawg9_k$ = function () {
    return this.REL_TYPE_SEE_ALSO_1;
  };
  protoOf(Companion_68).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_66();
  };
  var Companion_instance_68;
  function Companion_getInstance_70() {
    if (Companion_instance_68 == null)
      new Companion_68();
    return Companion_instance_68;
  }
  function $serializer_66() {
    $serializer_instance_66 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoin', this, 10);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejRelatedEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('relType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('comment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejRelLanguageUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_66).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_66).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_66).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp14_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryRelatedEntryJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_66).serialize_mpm376_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cerejUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cerejUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cerejContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cerejContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.cerejRelatedEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.cerejRelatedEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cerejLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.cerejLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.relType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.relType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.comment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.comment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.cerejRelLanguageUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.cerejRelLanguageUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.cerejLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.cerejLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.cerejMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.cerejMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.cerejLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.cerejLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_66).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_mpm376_k$(encoder, value instanceof ContentEntryRelatedEntryJoin ? value : THROW_CCE());
  };
  var $serializer_instance_66;
  function $serializer_getInstance_66() {
    if ($serializer_instance_66 == null)
      new $serializer_66();
    return $serializer_instance_66;
  }
  function ContentEntryRelatedEntryJoin_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_66().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cerejUid_1 = new Long(0, 0);
    else
      $this.cerejUid_1 = cerejUid;
    if (0 === (seen1 & 2))
      $this.cerejContentEntryUid_1 = new Long(0, 0);
    else
      $this.cerejContentEntryUid_1 = cerejContentEntryUid;
    if (0 === (seen1 & 4))
      $this.cerejRelatedEntryUid_1 = new Long(0, 0);
    else
      $this.cerejRelatedEntryUid_1 = cerejRelatedEntryUid;
    if (0 === (seen1 & 8))
      $this.cerejLastChangedBy_1 = 0;
    else
      $this.cerejLastChangedBy_1 = cerejLastChangedBy;
    if (0 === (seen1 & 16))
      $this.relType_1 = 0;
    else
      $this.relType_1 = relType;
    if (0 === (seen1 & 32))
      $this.comment_1 = null;
    else
      $this.comment_1 = comment;
    if (0 === (seen1 & 64))
      $this.cerejRelLanguageUid_1 = new Long(0, 0);
    else
      $this.cerejRelLanguageUid_1 = cerejRelLanguageUid;
    if (0 === (seen1 & 128))
      $this.cerejLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.cerejLocalChangeSeqNum_1 = cerejLocalChangeSeqNum;
    if (0 === (seen1 & 256))
      $this.cerejMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.cerejMasterChangeSeqNum_1 = cerejMasterChangeSeqNum;
    if (0 === (seen1 & 512))
      $this.cerejLct_1 = new Long(0, 0);
    else
      $this.cerejLct_1 = cerejLct;
    return $this;
  }
  function ContentEntryRelatedEntryJoin_init_$Create$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker) {
    return ContentEntryRelatedEntryJoin_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker, objectCreate(protoOf(ContentEntryRelatedEntryJoin)));
  }
  function ContentEntryRelatedEntryJoin() {
    Companion_getInstance_70();
    this.cerejUid_1 = new Long(0, 0);
    this.cerejContentEntryUid_1 = new Long(0, 0);
    this.cerejRelatedEntryUid_1 = new Long(0, 0);
    this.cerejLastChangedBy_1 = 0;
    this.relType_1 = 0;
    this.comment_1 = null;
    this.cerejRelLanguageUid_1 = new Long(0, 0);
    this.cerejLocalChangeSeqNum_1 = new Long(0, 0);
    this.cerejMasterChangeSeqNum_1 = new Long(0, 0);
    this.cerejLct_1 = new Long(0, 0);
  }
  protoOf(ContentEntryRelatedEntryJoin).set_cerejUid_7ydsfu_k$ = function (_set____db54di) {
    this.cerejUid_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejUid_qso5ic_k$ = function () {
    return this.cerejUid_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_cerejContentEntryUid_rteom9_k$ = function (_set____db54di) {
    this.cerejContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejContentEntryUid_r7339x_k$ = function () {
    return this.cerejContentEntryUid_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_cerejRelatedEntryUid_jaf6nh_k$ = function (_set____db54di) {
    this.cerejRelatedEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejRelatedEntryUid_z3n04d_k$ = function () {
    return this.cerejRelatedEntryUid_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_cerejLastChangedBy_feg7mz_k$ = function (_set____db54di) {
    this.cerejLastChangedBy_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejLastChangedBy_i25bg7_k$ = function () {
    return this.cerejLastChangedBy_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_relType_w0aqq6_k$ = function (_set____db54di) {
    this.relType_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_relType_jaktca_k$ = function () {
    return this.relType_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_comment_aa11d7_k$ = function (_set____db54di) {
    this.comment_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_comment_gzea9i_k$ = function () {
    return this.comment_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_cerejRelLanguageUid_qernnd_k$ = function (_set____db54di) {
    this.cerejRelLanguageUid_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejRelLanguageUid_rv382d_k$ = function () {
    return this.cerejRelLanguageUid_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_cerejLocalChangeSeqNum_vujpkc_k$ = function (_set____db54di) {
    this.cerejLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejLocalChangeSeqNum_10nkly_k$ = function () {
    return this.cerejLocalChangeSeqNum_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_cerejMasterChangeSeqNum_7dshbn_k$ = function (_set____db54di) {
    this.cerejMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejMasterChangeSeqNum_e38q91_k$ = function () {
    return this.cerejMasterChangeSeqNum_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).set_cerejLct_ewzix_k$ = function (_set____db54di) {
    this.cerejLct_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoin).get_cerejLct_qsnypd_k$ = function () {
    return this.cerejLct_1;
  };
  protoOf(ContentEntryRelatedEntryJoin).equals = function (other) {
    if (this === other)
      return true;
    var that = (other == null ? true : other instanceof ContentEntryRelatedEntryJoin) ? other : THROW_CCE();
    if (!this.cerejUid_1.equals(ensureNotNull(that).cerejUid_1))
      return false;
    if (!this.cerejContentEntryUid_1.equals(that.cerejContentEntryUid_1))
      return false;
    if (!this.cerejRelatedEntryUid_1.equals(that.cerejRelatedEntryUid_1))
      return false;
    if (!(this.relType_1 === that.relType_1))
      return false;
    if (!this.cerejRelLanguageUid_1.equals(that.cerejRelLanguageUid_1))
      return false;
    return !(this.comment_1 == null) ? this.comment_1 == that.comment_1 : that.comment_1 == null;
  };
  protoOf(ContentEntryRelatedEntryJoin).hashCode = function () {
    var result = this.cerejUid_1.xor_qzz94j_k$(this.cerejUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$();
    result = imul(31, result) + this.cerejContentEntryUid_1.xor_qzz94j_k$(this.cerejContentEntryUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$() | 0;
    result = imul(31, result) + this.cerejRelatedEntryUid_1.xor_qzz94j_k$(this.cerejRelatedEntryUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$() | 0;
    result = imul(31, result) + this.relType_1 | 0;
    result = imul(31, result) + (!(this.comment_1 == null) ? getStringHashCode(ensureNotNull(this.comment_1)) : 0) | 0;
    result = imul(31, result) + this.cerejRelLanguageUid_1.xor_qzz94j_k$(this.cerejRelLanguageUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$() | 0;
    return result;
  };
  function Companion_69() {
    Companion_instance_69 = this;
  }
  protoOf(Companion_69).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_67();
  };
  var Companion_instance_69;
  function Companion_getInstance_71() {
    if (Companion_instance_69 == null)
      new Companion_69();
    return Companion_instance_69;
  }
  function $serializer_67() {
    $serializer_instance_67 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoinWithLangName', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejRelatedEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('languageName', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_67).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_67).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_67).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryRelatedEntryJoinWithLangName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_67).serialize_j5zkfl_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cerejContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cerejContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cerejRelatedEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cerejRelatedEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.languageName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.languageName_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_67).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_j5zkfl_k$(encoder, value instanceof ContentEntryRelatedEntryJoinWithLangName ? value : THROW_CCE());
  };
  var $serializer_instance_67;
  function $serializer_getInstance_67() {
    if ($serializer_instance_67 == null)
      new $serializer_67();
    return $serializer_instance_67;
  }
  function ContentEntryRelatedEntryJoinWithLangName_init_$Init$(seen1, cerejContentEntryUid, cerejRelatedEntryUid, languageName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_67().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cerejContentEntryUid_1 = new Long(0, 0);
    else
      $this.cerejContentEntryUid_1 = cerejContentEntryUid;
    if (0 === (seen1 & 2))
      $this.cerejRelatedEntryUid_1 = new Long(0, 0);
    else
      $this.cerejRelatedEntryUid_1 = cerejRelatedEntryUid;
    if (0 === (seen1 & 4))
      $this.languageName_1 = null;
    else
      $this.languageName_1 = languageName;
    return $this;
  }
  function ContentEntryRelatedEntryJoinWithLangName_init_$Create$(seen1, cerejContentEntryUid, cerejRelatedEntryUid, languageName, serializationConstructorMarker) {
    return ContentEntryRelatedEntryJoinWithLangName_init_$Init$(seen1, cerejContentEntryUid, cerejRelatedEntryUid, languageName, serializationConstructorMarker, objectCreate(protoOf(ContentEntryRelatedEntryJoinWithLangName)));
  }
  function ContentEntryRelatedEntryJoinWithLangName() {
    Companion_getInstance_71();
    this.cerejContentEntryUid_1 = new Long(0, 0);
    this.cerejRelatedEntryUid_1 = new Long(0, 0);
    this.languageName_1 = null;
  }
  protoOf(ContentEntryRelatedEntryJoinWithLangName).set_cerejContentEntryUid_rteom9_k$ = function (_set____db54di) {
    this.cerejContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLangName).get_cerejContentEntryUid_r7339x_k$ = function () {
    return this.cerejContentEntryUid_1;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLangName).set_cerejRelatedEntryUid_jaf6nh_k$ = function (_set____db54di) {
    this.cerejRelatedEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLangName).get_cerejRelatedEntryUid_z3n04d_k$ = function () {
    return this.cerejRelatedEntryUid_1;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLangName).set_languageName_mn7rs9_k$ = function (_set____db54di) {
    this.languageName_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLangName).get_languageName_u1z9h0_k$ = function () {
    return this.languageName_1;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLangName).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ContentEntryRelatedEntryJoinWithLangName))
      THROW_CCE();
    if (!this.cerejContentEntryUid_1.equals(other.cerejContentEntryUid_1))
      return false;
    if (!this.cerejRelatedEntryUid_1.equals(other.cerejRelatedEntryUid_1))
      return false;
    if (!(this.languageName_1 == other.languageName_1))
      return false;
    return true;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLangName).hashCode = function () {
    var result = this.cerejContentEntryUid_1.hashCode();
    result = imul(31, result) + this.cerejRelatedEntryUid_1.hashCode() | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.languageName_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    return result;
  };
  function ContentEntryRelatedEntryJoinWithLanguage_init_$Init$(relatedEntryJoin, $this) {
    ContentEntryRelatedEntryJoinWithLanguage.call($this);
    protoOf(ContentEntryRelatedEntryJoin).set_cerejUid_7ydsfu_k$.call($this, relatedEntryJoin.get_cerejUid_qso5ic_k$());
    protoOf(ContentEntryRelatedEntryJoin).set_comment_aa11d7_k$.call($this, relatedEntryJoin.get_comment_gzea9i_k$());
    protoOf(ContentEntryRelatedEntryJoin).set_relType_w0aqq6_k$.call($this, relatedEntryJoin.get_relType_jaktca_k$());
    protoOf(ContentEntryRelatedEntryJoin).set_cerejRelLanguageUid_qernnd_k$.call($this, relatedEntryJoin.get_cerejRelLanguageUid_rv382d_k$());
    protoOf(ContentEntryRelatedEntryJoin).set_cerejContentEntryUid_rteom9_k$.call($this, relatedEntryJoin.get_cerejContentEntryUid_r7339x_k$());
    protoOf(ContentEntryRelatedEntryJoin).set_cerejRelatedEntryUid_jaf6nh_k$.call($this, relatedEntryJoin.get_cerejRelatedEntryUid_z3n04d_k$());
    return $this;
  }
  function ContentEntryRelatedEntryJoinWithLanguage_init_$Create$(relatedEntryJoin) {
    return ContentEntryRelatedEntryJoinWithLanguage_init_$Init$(relatedEntryJoin, objectCreate(protoOf(ContentEntryRelatedEntryJoinWithLanguage)));
  }
  function Companion_70() {
    Companion_instance_70 = this;
  }
  protoOf(Companion_70).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_68();
  };
  var Companion_instance_70;
  function Companion_getInstance_72() {
    if (Companion_instance_70 == null)
      new Companion_70();
    return Companion_instance_70;
  }
  function $serializer_68() {
    $serializer_instance_68 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryRelatedEntryJoinWithLanguage', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejRelatedEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('relType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('comment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejRelLanguageUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cerejLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('language', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_68).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_68).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_92())];
  };
  protoOf($serializer_68).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = null;
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, $serializer_getInstance_92(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, $serializer_getInstance_92(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryRelatedEntryJoinWithLanguage_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_68).serialize_y0oz50_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_cerejUid_qso5ic_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_cerejUid_qso5ic_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.get_cerejContentEntryUid_r7339x_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.get_cerejContentEntryUid_r7339x_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.get_cerejRelatedEntryUid_z3n04d_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.get_cerejRelatedEntryUid_z3n04d_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.get_cerejLastChangedBy_i25bg7_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.get_cerejLastChangedBy_i25bg7_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.get_relType_jaktca_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.get_relType_jaktca_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.get_comment_gzea9i_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.get_comment_gzea9i_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.get_cerejRelLanguageUid_rv382d_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.get_cerejRelLanguageUid_rv382d_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_cerejLocalChangeSeqNum_10nkly_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_cerejLocalChangeSeqNum_10nkly_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_cerejMasterChangeSeqNum_e38q91_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_cerejMasterChangeSeqNum_e38q91_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.get_cerejLct_qsnypd_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.get_cerejLct_qsnypd_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.language_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 10, $serializer_getInstance_92(), value.language_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_68).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_y0oz50_k$(encoder, value instanceof ContentEntryRelatedEntryJoinWithLanguage ? value : THROW_CCE());
  };
  var $serializer_instance_68;
  function $serializer_getInstance_68() {
    if ($serializer_instance_68 == null)
      new $serializer_68();
    return $serializer_instance_68;
  }
  function ContentEntryRelatedEntryJoinWithLanguage_init_$Init$_0(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, language, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_68().descriptor_1);
    }
    ContentEntryRelatedEntryJoin_init_$Init$(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 1024))
      $this.language_1 = null;
    else
      $this.language_1 = language;
    return $this;
  }
  function ContentEntryRelatedEntryJoinWithLanguage_init_$Create$_0(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, language, serializationConstructorMarker) {
    return ContentEntryRelatedEntryJoinWithLanguage_init_$Init$_0(seen1, cerejUid, cerejContentEntryUid, cerejRelatedEntryUid, cerejLastChangedBy, relType, comment, cerejRelLanguageUid, cerejLocalChangeSeqNum, cerejMasterChangeSeqNum, cerejLct, language, serializationConstructorMarker, objectCreate(protoOf(ContentEntryRelatedEntryJoinWithLanguage)));
  }
  function ContentEntryRelatedEntryJoinWithLanguage() {
    Companion_getInstance_72();
    ContentEntryRelatedEntryJoin.call(this);
    this.language_1 = null;
  }
  protoOf(ContentEntryRelatedEntryJoinWithLanguage).set_language_k1j0e9_k$ = function (_set____db54di) {
    this.language_1 = _set____db54di;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLanguage).get_language_cjhhk1_k$ = function () {
    return this.language_1;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLanguage).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!protoOf(ContentEntryRelatedEntryJoin).equals.call(this, other))
      return false;
    if (!(other instanceof ContentEntryRelatedEntryJoinWithLanguage))
      THROW_CCE();
    if (!equals(this.language_1, other.language_1))
      return false;
    return true;
  };
  protoOf(ContentEntryRelatedEntryJoinWithLanguage).hashCode = function () {
    var result = protoOf(ContentEntryRelatedEntryJoin).hashCode.call(this);
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.language_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : tmp0_safe_receiver.hashCode();
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    return result;
  };
  function Companion_71() {
    Companion_instance_71 = this;
  }
  protoOf(Companion_71).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_69();
  };
  var Companion_instance_71;
  function Companion_getInstance_73() {
    if (Companion_instance_71 == null)
      new Companion_71();
    return Companion_instance_71;
  }
  function $serializer_69() {
    $serializer_instance_69 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryStatementScoreProgress', this, 10);
    tmp0_serialDesc.addElement_5pzumi_k$('resultScore', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultMax', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultScaled', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultWeight', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentComplete', true);
    tmp0_serialDesc.addElement_5pzumi_k$('progress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('success', true);
    tmp0_serialDesc.addElement_5pzumi_k$('penalty', true);
    tmp0_serialDesc.addElement_5pzumi_k$('totalContent', true);
    tmp0_serialDesc.addElement_5pzumi_k$('totalCompletedContent', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_69).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_69).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), ByteSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_69).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0.0;
    var tmp7_local3 = 0;
    var tmp8_local4 = false;
    var tmp9_local5 = 0;
    var tmp10_local6 = 0;
    var tmp11_local7 = 0;
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp14_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.decodeByteElement_c1pisz_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.decodeByteElement_c1pisz_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryStatementScoreProgress_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_69).serialize_40581d_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.resultScore_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.resultScore_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.resultMax_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.resultMax_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !equals(value.resultScaled_1, 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 2, value.resultScaled_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.resultWeight_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.resultWeight_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.contentComplete_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.contentComplete_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.progress_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.progress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.success_1 === Companion_getInstance_138().get_RESULT_UNSET_481jkg_k$())) {
      tmp1_output.encodeByteElement_kft2ib_k$(tmp0_desc, 6, value.success_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.penalty_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.penalty_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.totalContent_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.totalContent_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.totalCompletedContent_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.totalCompletedContent_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_69).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_40581d_k$(encoder, value instanceof ContentEntryStatementScoreProgress ? value : THROW_CCE());
  };
  var $serializer_instance_69;
  function $serializer_getInstance_69() {
    if ($serializer_instance_69 == null)
      new $serializer_69();
    return $serializer_instance_69;
  }
  function ContentEntryStatementScoreProgress_init_$Init$(seen1, resultScore, resultMax, resultScaled, resultWeight, contentComplete, progress, success, penalty, totalContent, totalCompletedContent, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_69().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.resultScore_1 = 0;
    else
      $this.resultScore_1 = resultScore;
    if (0 === (seen1 & 2))
      $this.resultMax_1 = 0;
    else
      $this.resultMax_1 = resultMax;
    if (0 === (seen1 & 4))
      $this.resultScaled_1 = 0.0;
    else
      $this.resultScaled_1 = resultScaled;
    if (0 === (seen1 & 8))
      $this.resultWeight_1 = 0;
    else
      $this.resultWeight_1 = resultWeight;
    if (0 === (seen1 & 16))
      $this.contentComplete_1 = false;
    else
      $this.contentComplete_1 = contentComplete;
    if (0 === (seen1 & 32))
      $this.progress_1 = 0;
    else
      $this.progress_1 = progress;
    if (0 === (seen1 & 64))
      $this.success_1 = Companion_getInstance_138().get_RESULT_UNSET_481jkg_k$();
    else
      $this.success_1 = success;
    if (0 === (seen1 & 128))
      $this.penalty_1 = 0;
    else
      $this.penalty_1 = penalty;
    if (0 === (seen1 & 256))
      $this.totalContent_1 = 0;
    else
      $this.totalContent_1 = totalContent;
    if (0 === (seen1 & 512))
      $this.totalCompletedContent_1 = 0;
    else
      $this.totalCompletedContent_1 = totalCompletedContent;
    return $this;
  }
  function ContentEntryStatementScoreProgress_init_$Create$(seen1, resultScore, resultMax, resultScaled, resultWeight, contentComplete, progress, success, penalty, totalContent, totalCompletedContent, serializationConstructorMarker) {
    return ContentEntryStatementScoreProgress_init_$Init$(seen1, resultScore, resultMax, resultScaled, resultWeight, contentComplete, progress, success, penalty, totalContent, totalCompletedContent, serializationConstructorMarker, objectCreate(protoOf(ContentEntryStatementScoreProgress)));
  }
  function ContentEntryStatementScoreProgress() {
    Companion_getInstance_73();
    this.resultScore_1 = 0;
    this.resultMax_1 = 0;
    this.resultScaled_1 = 0.0;
    this.resultWeight_1 = 0;
    this.contentComplete_1 = false;
    this.progress_1 = 0;
    this.success_1 = Companion_getInstance_138().get_RESULT_UNSET_481jkg_k$();
    this.penalty_1 = 0;
    this.totalContent_1 = 0;
    this.totalCompletedContent_1 = 0;
  }
  protoOf(ContentEntryStatementScoreProgress).set_resultScore_kp381c_k$ = function (_set____db54di) {
    this.resultScore_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_resultScore_4tjhn0_k$ = function () {
    return this.resultScore_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_resultMax_s3899a_k$ = function (_set____db54di) {
    this.resultMax_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_resultMax_lksvc2_k$ = function () {
    return this.resultMax_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_resultScaled_z2ekyc_k$ = function (_set____db54di) {
    this.resultScaled_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_resultScaled_7db0o0_k$ = function () {
    return this.resultScaled_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_resultWeight_somm52_k$ = function (_set____db54di) {
    this.resultWeight_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_resultWeight_9aq3pa_k$ = function () {
    return this.resultWeight_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_contentComplete_hltqbk_k$ = function (_set____db54di) {
    this.contentComplete_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_contentComplete_14jtw7_k$ = function () {
    return this.contentComplete_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_progress_b501lu_k$ = function (_set____db54di) {
    this.progress_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_progress_mo5qeu_k$ = function () {
    return this.progress_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_success_glm1b2_k$ = function (_set____db54di) {
    this.success_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_success_tm3zdy_k$ = function () {
    return this.success_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_penalty_vc4t3w_k$ = function (_set____db54di) {
    this.penalty_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_penalty_a0w4m8_k$ = function () {
    return this.penalty_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_totalContent_pybd9y_k$ = function (_set____db54di) {
    this.totalContent_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_totalContent_tgje8u_k$ = function () {
    return this.totalContent_1;
  };
  protoOf(ContentEntryStatementScoreProgress).set_totalCompletedContent_62a96b_k$ = function (_set____db54di) {
    this.totalCompletedContent_1 = _set____db54di;
  };
  protoOf(ContentEntryStatementScoreProgress).get_totalCompletedContent_8tr28n_k$ = function () {
    return this.totalCompletedContent_1;
  };
  protoOf(ContentEntryStatementScoreProgress).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ContentEntryStatementScoreProgress))
      THROW_CCE();
    if (!(this.resultScore_1 === other.resultScore_1))
      return false;
    if (!(this.resultMax_1 === other.resultMax_1))
      return false;
    if (!(this.resultScaled_1 === other.resultScaled_1))
      return false;
    if (!(this.resultWeight_1 === other.resultWeight_1))
      return false;
    if (!(this.contentComplete_1 === other.contentComplete_1))
      return false;
    if (!(this.progress_1 === other.progress_1))
      return false;
    if (!(this.success_1 === other.success_1))
      return false;
    if (!(this.penalty_1 === other.penalty_1))
      return false;
    if (!(this.totalContent_1 === other.totalContent_1))
      return false;
    if (!(this.totalCompletedContent_1 === other.totalCompletedContent_1))
      return false;
    return true;
  };
  protoOf(ContentEntryStatementScoreProgress).hashCode = function () {
    var result = this.resultScore_1;
    result = imul(31, result) + this.resultMax_1 | 0;
    result = imul(31, result) + getNumberHashCode(this.resultScaled_1) | 0;
    result = imul(31, result) + this.resultWeight_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.contentComplete_1) | 0;
    result = imul(31, result) + this.progress_1 | 0;
    result = imul(31, result) + this.success_1 | 0;
    result = imul(31, result) + this.penalty_1 | 0;
    result = imul(31, result) + this.totalContent_1 | 0;
    result = imul(31, result) + this.totalCompletedContent_1 | 0;
    return result;
  };
  function Companion_72() {
    Companion_instance_72 = this;
    this.TYPE_EPUB_1 = 'epub';
    this.TYPE_VIDEO_1 = 'video';
    this.TYPE_PDF_1 = 'pdf';
    this.TYPE_XAPI_1 = 'xapi';
    this.PATH_POSTFIX_1 = 'api/content/';
    this.TABLE_ID_1 = 738;
    this.SELECT_OFFLINE_ITEM_UID_FOR_NEW_CONTENT_ENTRY_VERSION_SQL_1 = '\n                 SELECT OfflineItem.oiUid\n                   FROM OfflineItem\n                  WHERE OfflineItem.oiContentEntryUid = NEW.cevContentEntryUid\n                    AND CAST(OfflineItem.oiActive AS INTEGER) = 1\n                    AND OfflineItem.oiNodeId = \n            (SELECT COALESCE(\n                    (SELECT nodeClientId \n                       FROM SyncNode \n                      LIMIT 1), 0))\n        \n        ';
  }
  protoOf(Companion_72).get_TYPE_EPUB_7cyzbg_k$ = function () {
    return this.TYPE_EPUB_1;
  };
  protoOf(Companion_72).get_TYPE_VIDEO_etkk81_k$ = function () {
    return this.TYPE_VIDEO_1;
  };
  protoOf(Companion_72).get_TYPE_PDF_u0vn56_k$ = function () {
    return this.TYPE_PDF_1;
  };
  protoOf(Companion_72).get_TYPE_XAPI_7cn5sy_k$ = function () {
    return this.TYPE_XAPI_1;
  };
  protoOf(Companion_72).get_PATH_POSTFIX_hdvv5o_k$ = function () {
    return this.PATH_POSTFIX_1;
  };
  protoOf(Companion_72).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_72).get_SELECT_OFFLINE_ITEM_UID_FOR_NEW_CONTENT_ENTRY_VERSION_SQL_bwkyii_k$ = function () {
    return this.SELECT_OFFLINE_ITEM_UID_FOR_NEW_CONTENT_ENTRY_VERSION_SQL_1;
  };
  protoOf(Companion_72).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_70();
  };
  var Companion_instance_72;
  function Companion_getInstance_74() {
    if (Companion_instance_72 == null)
      new Companion_72();
    return Companion_instance_72;
  }
  function $serializer_70() {
    $serializer_instance_70 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryVersion', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('cevUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevOpenUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevContentType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevManifestUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevSize', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevInActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevLastModified', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevStorageSize', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cevOriginalSize', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_70).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_70).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_70).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryVersion_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_70).serialize_o9e8q9_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cevUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cevUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cevContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cevContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cevOpenUri_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.cevOpenUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cevContentType_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.cevContentType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.cevManifestUrl_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.cevManifestUrl_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.cevSize_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.cevSize_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.cevInActive_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.cevInActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.cevLastModified_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.cevLastModified_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.cevLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.cevLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.cevStorageSize_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.cevStorageSize_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.cevOriginalSize_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.cevOriginalSize_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_70).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_o9e8q9_k$(encoder, value instanceof ContentEntryVersion ? value : THROW_CCE());
  };
  var $serializer_instance_70;
  function $serializer_getInstance_70() {
    if ($serializer_instance_70 == null)
      new $serializer_70();
    return $serializer_instance_70;
  }
  function ContentEntryVersion_init_$Init$(seen1, cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_70().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cevUid_1 = new Long(0, 0);
    else
      $this.cevUid_1 = cevUid;
    if (0 === (seen1 & 2))
      $this.cevContentEntryUid_1 = new Long(0, 0);
    else
      $this.cevContentEntryUid_1 = cevContentEntryUid;
    if (0 === (seen1 & 4))
      $this.cevOpenUri_1 = '';
    else
      $this.cevOpenUri_1 = cevOpenUri;
    if (0 === (seen1 & 8))
      $this.cevContentType_1 = '';
    else
      $this.cevContentType_1 = cevContentType;
    if (0 === (seen1 & 16))
      $this.cevManifestUrl_1 = null;
    else
      $this.cevManifestUrl_1 = cevManifestUrl;
    if (0 === (seen1 & 32))
      $this.cevSize_1 = new Long(0, 0);
    else
      $this.cevSize_1 = cevSize;
    if (0 === (seen1 & 64))
      $this.cevInActive_1 = false;
    else
      $this.cevInActive_1 = cevInActive;
    if (0 === (seen1 & 128))
      $this.cevLastModified_1 = new Long(0, 0);
    else
      $this.cevLastModified_1 = cevLastModified;
    if (0 === (seen1 & 256))
      $this.cevLct_1 = new Long(0, 0);
    else
      $this.cevLct_1 = cevLct;
    if (0 === (seen1 & 512))
      $this.cevStorageSize_1 = new Long(0, 0);
    else
      $this.cevStorageSize_1 = cevStorageSize;
    if (0 === (seen1 & 1024))
      $this.cevOriginalSize_1 = new Long(0, 0);
    else
      $this.cevOriginalSize_1 = cevOriginalSize;
    return $this;
  }
  function ContentEntryVersion_init_$Create$(seen1, cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize, serializationConstructorMarker) {
    return ContentEntryVersion_init_$Init$(seen1, cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize, serializationConstructorMarker, objectCreate(protoOf(ContentEntryVersion)));
  }
  function ContentEntryVersion(cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) {
    Companion_getInstance_74();
    cevUid = cevUid === VOID ? new Long(0, 0) : cevUid;
    cevContentEntryUid = cevContentEntryUid === VOID ? new Long(0, 0) : cevContentEntryUid;
    cevOpenUri = cevOpenUri === VOID ? '' : cevOpenUri;
    cevContentType = cevContentType === VOID ? '' : cevContentType;
    cevManifestUrl = cevManifestUrl === VOID ? null : cevManifestUrl;
    cevSize = cevSize === VOID ? new Long(0, 0) : cevSize;
    cevInActive = cevInActive === VOID ? false : cevInActive;
    cevLastModified = cevLastModified === VOID ? new Long(0, 0) : cevLastModified;
    cevLct = cevLct === VOID ? new Long(0, 0) : cevLct;
    cevStorageSize = cevStorageSize === VOID ? new Long(0, 0) : cevStorageSize;
    cevOriginalSize = cevOriginalSize === VOID ? new Long(0, 0) : cevOriginalSize;
    this.cevUid_1 = cevUid;
    this.cevContentEntryUid_1 = cevContentEntryUid;
    this.cevOpenUri_1 = cevOpenUri;
    this.cevContentType_1 = cevContentType;
    this.cevManifestUrl_1 = cevManifestUrl;
    this.cevSize_1 = cevSize;
    this.cevInActive_1 = cevInActive;
    this.cevLastModified_1 = cevLastModified;
    this.cevLct_1 = cevLct;
    this.cevStorageSize_1 = cevStorageSize;
    this.cevOriginalSize_1 = cevOriginalSize;
  }
  protoOf(ContentEntryVersion).set_cevUid_qq3grf_k$ = function (_set____db54di) {
    this.cevUid_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevUid_but2lh_k$ = function () {
    return this.cevUid_1;
  };
  protoOf(ContentEntryVersion).set_cevContentEntryUid_7jgl4y_k$ = function (_set____db54di) {
    this.cevContentEntryUid_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevContentEntryUid_2e4tyk_k$ = function () {
    return this.cevContentEntryUid_1;
  };
  protoOf(ContentEntryVersion).set_cevOpenUri_pcvf0_k$ = function (_set____db54di) {
    this.cevOpenUri_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevOpenUri_oavmw9_k$ = function () {
    return this.cevOpenUri_1;
  };
  protoOf(ContentEntryVersion).set_cevContentType_ideg79_k$ = function (_set____db54di) {
    this.cevContentType_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevContentType_gzbvyw_k$ = function () {
    return this.cevContentType_1;
  };
  protoOf(ContentEntryVersion).set_cevManifestUrl_j9gcjy_k$ = function (_set____db54di) {
    this.cevManifestUrl_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevManifestUrl_71wl63_k$ = function () {
    return this.cevManifestUrl_1;
  };
  protoOf(ContentEntryVersion).set_cevSize_6z2zqy_k$ = function (_set____db54di) {
    this.cevSize_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevSize_cdfp8s_k$ = function () {
    return this.cevSize_1;
  };
  protoOf(ContentEntryVersion).set_cevInActive_fcf9u5_k$ = function (_set____db54di) {
    this.cevInActive_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevInActive_lko4nq_k$ = function () {
    return this.cevInActive_1;
  };
  protoOf(ContentEntryVersion).set_cevLastModified_av83s_k$ = function (_set____db54di) {
    this.cevLastModified_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevLastModified_aeeiuu_k$ = function () {
    return this.cevLastModified_1;
  };
  protoOf(ContentEntryVersion).set_cevLct_icsoso_k$ = function (_set____db54di) {
    this.cevLct_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevLct_busvsi_k$ = function () {
    return this.cevLct_1;
  };
  protoOf(ContentEntryVersion).set_cevStorageSize_l6q8m1_k$ = function (_set____db54di) {
    this.cevStorageSize_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevStorageSize_j8l0wf_k$ = function () {
    return this.cevStorageSize_1;
  };
  protoOf(ContentEntryVersion).set_cevOriginalSize_ehp645_k$ = function (_set____db54di) {
    this.cevOriginalSize_1 = _set____db54di;
  };
  protoOf(ContentEntryVersion).get_cevOriginalSize_7fv18j_k$ = function () {
    return this.cevOriginalSize_1;
  };
  protoOf(ContentEntryVersion).component1_7eebsc_k$ = function () {
    return this.cevUid_1;
  };
  protoOf(ContentEntryVersion).component2_7eebsb_k$ = function () {
    return this.cevContentEntryUid_1;
  };
  protoOf(ContentEntryVersion).component3_7eebsa_k$ = function () {
    return this.cevOpenUri_1;
  };
  protoOf(ContentEntryVersion).component4_7eebs9_k$ = function () {
    return this.cevContentType_1;
  };
  protoOf(ContentEntryVersion).component5_7eebs8_k$ = function () {
    return this.cevManifestUrl_1;
  };
  protoOf(ContentEntryVersion).component6_7eebs7_k$ = function () {
    return this.cevSize_1;
  };
  protoOf(ContentEntryVersion).component7_7eebs6_k$ = function () {
    return this.cevInActive_1;
  };
  protoOf(ContentEntryVersion).component8_7eebs5_k$ = function () {
    return this.cevLastModified_1;
  };
  protoOf(ContentEntryVersion).component9_7eebs4_k$ = function () {
    return this.cevLct_1;
  };
  protoOf(ContentEntryVersion).component10_gazzfo_k$ = function () {
    return this.cevStorageSize_1;
  };
  protoOf(ContentEntryVersion).component11_gazzfn_k$ = function () {
    return this.cevOriginalSize_1;
  };
  protoOf(ContentEntryVersion).copy_qt5kq1_k$ = function (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) {
    return new ContentEntryVersion(cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize);
  };
  protoOf(ContentEntryVersion).copy$default_fcm5hg_k$ = function (cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize, $super) {
    cevUid = cevUid === VOID ? this.cevUid_1 : cevUid;
    cevContentEntryUid = cevContentEntryUid === VOID ? this.cevContentEntryUid_1 : cevContentEntryUid;
    cevOpenUri = cevOpenUri === VOID ? this.cevOpenUri_1 : cevOpenUri;
    cevContentType = cevContentType === VOID ? this.cevContentType_1 : cevContentType;
    cevManifestUrl = cevManifestUrl === VOID ? this.cevManifestUrl_1 : cevManifestUrl;
    cevSize = cevSize === VOID ? this.cevSize_1 : cevSize;
    cevInActive = cevInActive === VOID ? this.cevInActive_1 : cevInActive;
    cevLastModified = cevLastModified === VOID ? this.cevLastModified_1 : cevLastModified;
    cevLct = cevLct === VOID ? this.cevLct_1 : cevLct;
    cevStorageSize = cevStorageSize === VOID ? this.cevStorageSize_1 : cevStorageSize;
    cevOriginalSize = cevOriginalSize === VOID ? this.cevOriginalSize_1 : cevOriginalSize;
    return $super === VOID ? this.copy_qt5kq1_k$(cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize) : $super.copy_qt5kq1_k$.call(this, cevUid, cevContentEntryUid, cevOpenUri, cevContentType, cevManifestUrl, cevSize, cevInActive, cevLastModified, cevLct, cevStorageSize, cevOriginalSize);
  };
  protoOf(ContentEntryVersion).toString = function () {
    return 'ContentEntryVersion(cevUid=' + this.cevUid_1.toString() + ', cevContentEntryUid=' + this.cevContentEntryUid_1.toString() + ', cevOpenUri=' + this.cevOpenUri_1 + ', cevContentType=' + this.cevContentType_1 + ', cevManifestUrl=' + this.cevManifestUrl_1 + ', cevSize=' + this.cevSize_1.toString() + ', cevInActive=' + this.cevInActive_1 + ', cevLastModified=' + this.cevLastModified_1.toString() + ', cevLct=' + this.cevLct_1.toString() + ', cevStorageSize=' + this.cevStorageSize_1.toString() + ', cevOriginalSize=' + this.cevOriginalSize_1.toString() + ')';
  };
  protoOf(ContentEntryVersion).hashCode = function () {
    var result = this.cevUid_1.hashCode();
    result = imul(result, 31) + this.cevContentEntryUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.cevOpenUri_1 == null ? 0 : getStringHashCode(this.cevOpenUri_1)) | 0;
    result = imul(result, 31) + (this.cevContentType_1 == null ? 0 : getStringHashCode(this.cevContentType_1)) | 0;
    result = imul(result, 31) + (this.cevManifestUrl_1 == null ? 0 : getStringHashCode(this.cevManifestUrl_1)) | 0;
    result = imul(result, 31) + this.cevSize_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.cevInActive_1) | 0;
    result = imul(result, 31) + this.cevLastModified_1.hashCode() | 0;
    result = imul(result, 31) + this.cevLct_1.hashCode() | 0;
    result = imul(result, 31) + this.cevStorageSize_1.hashCode() | 0;
    result = imul(result, 31) + this.cevOriginalSize_1.hashCode() | 0;
    return result;
  };
  protoOf(ContentEntryVersion).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentEntryVersion))
      return false;
    var tmp0_other_with_cast = other instanceof ContentEntryVersion ? other : THROW_CCE();
    if (!this.cevUid_1.equals(tmp0_other_with_cast.cevUid_1))
      return false;
    if (!this.cevContentEntryUid_1.equals(tmp0_other_with_cast.cevContentEntryUid_1))
      return false;
    if (!(this.cevOpenUri_1 == tmp0_other_with_cast.cevOpenUri_1))
      return false;
    if (!(this.cevContentType_1 == tmp0_other_with_cast.cevContentType_1))
      return false;
    if (!(this.cevManifestUrl_1 == tmp0_other_with_cast.cevManifestUrl_1))
      return false;
    if (!this.cevSize_1.equals(tmp0_other_with_cast.cevSize_1))
      return false;
    if (!(this.cevInActive_1 === tmp0_other_with_cast.cevInActive_1))
      return false;
    if (!this.cevLastModified_1.equals(tmp0_other_with_cast.cevLastModified_1))
      return false;
    if (!this.cevLct_1.equals(tmp0_other_with_cast.cevLct_1))
      return false;
    if (!this.cevStorageSize_1.equals(tmp0_other_with_cast.cevStorageSize_1))
      return false;
    if (!this.cevOriginalSize_1.equals(tmp0_other_with_cast.cevOriginalSize_1))
      return false;
    return true;
  };
  function Companion_73() {
    Companion_instance_73 = this;
  }
  protoOf(Companion_73).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_71();
  };
  var Companion_instance_73;
  function Companion_getInstance_75() {
    if (Companion_instance_73 == null)
      new Companion_73();
    return Companion_instance_73;
  }
  function $serializer_71() {
    $serializer_instance_71 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentEntryWithLanguage', this, 28);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('title', true);
    tmp0_serialDesc.addElement_5pzumi_k$('description', true);
    tmp0_serialDesc.addElement_5pzumi_k$('entryId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('author', true);
    tmp0_serialDesc.addElement_5pzumi_k$('publisher', true);
    tmp0_serialDesc.addElement_5pzumi_k$('licenseType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('licenseName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('licenseUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sourceUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('thumbnailUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastModified', true);
    tmp0_serialDesc.addElement_5pzumi_k$('primaryLanguageUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('languageVariantUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentFlags', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leaf', true);
    tmp0_serialDesc.addElement_5pzumi_k$('publik', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ceInactive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('completionCriteria', true);
    tmp0_serialDesc.addElement_5pzumi_k$('minScore', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentTypeFlag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentOwner', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentOwnerType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contentEntryLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('language', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_71).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_71).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_92())];
  };
  protoOf($serializer_71).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = null;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_local10 = null;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = 0;
    var tmp19_local15 = false;
    var tmp20_local16 = false;
    var tmp21_local17 = false;
    var tmp22_local18 = 0;
    var tmp23_local19 = 0;
    var tmp24_local20 = 0;
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_local24 = new Long(0, 0);
    var tmp29_local25 = 0;
    var tmp30_local26 = new Long(0, 0);
    var tmp31_local27 = null;
    var tmp32_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp32_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp28_local24 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp29_local25 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp30_local26 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp31_local27 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, $serializer_getInstance_92(), tmp31_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp32_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp32_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp28_local24 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp29_local25 = tmp32_input.decodeIntElement_941u6a_k$(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp30_local26 = tmp32_input.decodeLongElement_994anb_k$(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp31_local27 = tmp32_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, $serializer_getInstance_92(), tmp31_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp32_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentEntryWithLanguage_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, tmp28_local24, tmp29_local25, tmp30_local26, tmp31_local27, null);
  };
  protoOf($serializer_71).serialize_sq4vw_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_contentEntryUid_pu6bbm_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_contentEntryUid_pu6bbm_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.get_title_iz32un_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.get_title_iz32un_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.get_description_emjre5_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.get_description_emjre5_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.get_entryId_p20on0_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.get_entryId_p20on0_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.get_author_b5hnkk_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.get_author_b5hnkk_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.get_publisher_wg9par_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.get_publisher_wg9par_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.get_licenseType_3ajir6_k$() === Companion_getInstance_64().get_LICENSE_TYPE_UNSPECIFIED_hafl4p_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.get_licenseType_3ajir6_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.get_licenseName_3af6yr_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 7, StringSerializer_getInstance(), value.get_licenseName_3af6yr_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.get_licenseUrl_rloa2f_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 8, StringSerializer_getInstance(), value.get_licenseUrl_rloa2f_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.get_sourceUrl_jko7yt_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 9, StringSerializer_getInstance(), value.get_sourceUrl_jko7yt_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.get_thumbnailUrl_1cubbo_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 10, StringSerializer_getInstance(), value.get_thumbnailUrl_1cubbo_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.get_lastModified_y37iuw_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.get_lastModified_y37iuw_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.get_primaryLanguageUid_r5tse9_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.get_primaryLanguageUid_r5tse9_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.get_languageVariantUid_i54xak_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.get_languageVariantUid_i54xak_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.get_contentFlags_hwx6mv_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 14, value.get_contentFlags_hwx6mv_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.get_leaf_woprc7_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 15, value.get_leaf_woprc7_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.get_publik_i8ukje_k$() === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 16, value.get_publik_i8ukje_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.get_ceInactive_l2z6a2_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 17, value.get_ceInactive_l2z6a2_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.get_completionCriteria_godp98_k$() === Companion_getInstance_64().get_COMPLETION_CRITERIA_AUTOMATIC_i3k6gr_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 18, value.get_completionCriteria_godp98_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !(value.get_minScore_ger1gp_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 19, value.get_minScore_ger1gp_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !(value.get_contentTypeFlag_2ekfii_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 20, value.get_contentTypeFlag_2ekfii_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.get_contentOwner_i22mf7_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.get_contentOwner_i22mf7_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !(value.get_contentOwnerType_bfan1f_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 22, value.get_contentOwnerType_bfan1f_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !value.get_contentEntryLocalChangeSeqNum_awxlpc_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 23, value.get_contentEntryLocalChangeSeqNum_awxlpc_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 24) ? true : !value.get_contentEntryMasterChangeSeqNum_offl1_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 24, value.get_contentEntryMasterChangeSeqNum_offl1_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 25) ? true : !(value.get_contentEntryLastChangedBy_4itnjh_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 25, value.get_contentEntryLastChangedBy_4itnjh_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 26) ? true : !value.get_contentEntryLct_pu6i4l_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 26, value.get_contentEntryLct_pu6i4l_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 27) ? true : !(value.language_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 27, $serializer_getInstance_92(), value.language_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_71).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_sq4vw_k$(encoder, value instanceof ContentEntryWithLanguage ? value : THROW_CCE());
  };
  var $serializer_instance_71;
  function $serializer_getInstance_71() {
    if ($serializer_instance_71 == null)
      new $serializer_71();
    return $serializer_instance_71;
  }
  function ContentEntryWithLanguage_init_$Init$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, language, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_71().descriptor_1);
    }
    ContentEntry_init_$Init$_0(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 134217728))
      $this.language_1 = null;
    else
      $this.language_1 = language;
    return $this;
  }
  function ContentEntryWithLanguage_init_$Create$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, language, serializationConstructorMarker) {
    return ContentEntryWithLanguage_init_$Init$(seen1, contentEntryUid, title, description, entryId, author, publisher, licenseType, licenseName, licenseUrl, sourceUrl, thumbnailUrl, lastModified, primaryLanguageUid, languageVariantUid, contentFlags, leaf, publik, ceInactive, completionCriteria, minScore, contentTypeFlag, contentOwner, contentOwnerType, contentEntryLocalChangeSeqNum, contentEntryMasterChangeSeqNum, contentEntryLastChangedBy, contentEntryLct, language, serializationConstructorMarker, objectCreate(protoOf(ContentEntryWithLanguage)));
  }
  function ContentEntryWithLanguage() {
    Companion_getInstance_75();
    ContentEntry.call(this);
    this.language_1 = null;
  }
  protoOf(ContentEntryWithLanguage).set_language_k1j0e9_k$ = function (_set____db54di) {
    this.language_1 = _set____db54di;
  };
  protoOf(ContentEntryWithLanguage).get_language_cjhhk1_k$ = function () {
    return this.language_1;
  };
  function Companion_74() {
    Companion_instance_74 = this;
    this.TABLE_ID_1 = 702;
  }
  protoOf(Companion_74).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_74).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_72();
  };
  var Companion_instance_74;
  function Companion_getInstance_76() {
    if (Companion_instance_74 == null)
      new Companion_74();
    return Companion_instance_74;
  }
  function $serializer_72() {
    $serializer_instance_72 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ContentJob', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('cjUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('toUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjProgress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjTotal', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjNotificationTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjIsMeteredAllowed', true);
    tmp0_serialDesc.addElement_5pzumi_k$('params', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cjLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_72).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_72).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_72).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = false;
    var tmp10_local6 = null;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ContentJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_72).serialize_3uhsr0_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cjUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cjUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.toUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.toUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.cjProgress_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.cjProgress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.cjTotal_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.cjTotal_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.cjNotificationTitle_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.cjNotificationTitle_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.cjIsMeteredAllowed_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.cjIsMeteredAllowed_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.params_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.params_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.cjLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.cjLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_72).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_3uhsr0_k$(encoder, value instanceof ContentJob ? value : THROW_CCE());
  };
  var $serializer_instance_72;
  function $serializer_getInstance_72() {
    if ($serializer_instance_72 == null)
      new $serializer_72();
    return $serializer_instance_72;
  }
  function ContentJob_init_$Init$(seen1, cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_72().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cjUid_1 = new Long(0, 0);
    else
      $this.cjUid_1 = cjUid;
    if (0 === (seen1 & 2))
      $this.toUri_1 = null;
    else
      $this.toUri_1 = toUri;
    if (0 === (seen1 & 4))
      $this.cjProgress_1 = new Long(0, 0);
    else
      $this.cjProgress_1 = cjProgress;
    if (0 === (seen1 & 8))
      $this.cjTotal_1 = new Long(0, 0);
    else
      $this.cjTotal_1 = cjTotal;
    if (0 === (seen1 & 16))
      $this.cjNotificationTitle_1 = null;
    else
      $this.cjNotificationTitle_1 = cjNotificationTitle;
    if (0 === (seen1 & 32))
      $this.cjIsMeteredAllowed_1 = false;
    else
      $this.cjIsMeteredAllowed_1 = cjIsMeteredAllowed;
    if (0 === (seen1 & 64))
      $this.params_1 = null;
    else
      $this.params_1 = params;
    if (0 === (seen1 & 128))
      $this.cjLct_1 = new Long(0, 0);
    else
      $this.cjLct_1 = cjLct;
    return $this;
  }
  function ContentJob_init_$Create$(seen1, cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct, serializationConstructorMarker) {
    return ContentJob_init_$Init$(seen1, cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct, serializationConstructorMarker, objectCreate(protoOf(ContentJob)));
  }
  function ContentJob(cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) {
    Companion_getInstance_76();
    cjUid = cjUid === VOID ? new Long(0, 0) : cjUid;
    toUri = toUri === VOID ? null : toUri;
    cjProgress = cjProgress === VOID ? new Long(0, 0) : cjProgress;
    cjTotal = cjTotal === VOID ? new Long(0, 0) : cjTotal;
    cjNotificationTitle = cjNotificationTitle === VOID ? null : cjNotificationTitle;
    cjIsMeteredAllowed = cjIsMeteredAllowed === VOID ? false : cjIsMeteredAllowed;
    params = params === VOID ? null : params;
    cjLct = cjLct === VOID ? new Long(0, 0) : cjLct;
    this.cjUid_1 = cjUid;
    this.toUri_1 = toUri;
    this.cjProgress_1 = cjProgress;
    this.cjTotal_1 = cjTotal;
    this.cjNotificationTitle_1 = cjNotificationTitle;
    this.cjIsMeteredAllowed_1 = cjIsMeteredAllowed;
    this.params_1 = params;
    this.cjLct_1 = cjLct;
  }
  protoOf(ContentJob).set_cjUid_ow8432_k$ = function (_set____db54di) {
    this.cjUid_1 = _set____db54di;
  };
  protoOf(ContentJob).get_cjUid_ipqkow_k$ = function () {
    return this.cjUid_1;
  };
  protoOf(ContentJob).set_toUri_hwbsl9_k$ = function (_set____db54di) {
    this.toUri_1 = _set____db54di;
  };
  protoOf(ContentJob).get_toUri_iz69xk_k$ = function () {
    return this.toUri_1;
  };
  protoOf(ContentJob).set_cjProgress_qenxjh_k$ = function (_set____db54di) {
    this.cjProgress_1 = _set____db54di;
  };
  protoOf(ContentJob).get_cjProgress_pl3n0d_k$ = function () {
    return this.cjProgress_1;
  };
  protoOf(ContentJob).set_cjTotal_n2jp3y_k$ = function (_set____db54di) {
    this.cjTotal_1 = _set____db54di;
  };
  protoOf(ContentJob).get_cjTotal_e8gw8k_k$ = function () {
    return this.cjTotal_1;
  };
  protoOf(ContentJob).set_cjNotificationTitle_9owj82_k$ = function (_set____db54di) {
    this.cjNotificationTitle_1 = _set____db54di;
  };
  protoOf(ContentJob).get_cjNotificationTitle_4o2a71_k$ = function () {
    return this.cjNotificationTitle_1;
  };
  protoOf(ContentJob).set_cjIsMeteredAllowed_xm01pj_k$ = function (_set____db54di) {
    this.cjIsMeteredAllowed_1 = _set____db54di;
  };
  protoOf(ContentJob).get_cjIsMeteredAllowed_fq7iiu_k$ = function () {
    return this.cjIsMeteredAllowed_1;
  };
  protoOf(ContentJob).set_params_kkmx4c_k$ = function (_set____db54di) {
    this.params_1 = _set____db54di;
  };
  protoOf(ContentJob).get_params_hy4oen_k$ = function () {
    return this.params_1;
  };
  protoOf(ContentJob).set_cjLct_gixc4b_k$ = function (_set____db54di) {
    this.cjLct_1 = _set____db54di;
  };
  protoOf(ContentJob).get_cjLct_ipqdvx_k$ = function () {
    return this.cjLct_1;
  };
  protoOf(ContentJob).component1_7eebsc_k$ = function () {
    return this.cjUid_1;
  };
  protoOf(ContentJob).component2_7eebsb_k$ = function () {
    return this.toUri_1;
  };
  protoOf(ContentJob).component3_7eebsa_k$ = function () {
    return this.cjProgress_1;
  };
  protoOf(ContentJob).component4_7eebs9_k$ = function () {
    return this.cjTotal_1;
  };
  protoOf(ContentJob).component5_7eebs8_k$ = function () {
    return this.cjNotificationTitle_1;
  };
  protoOf(ContentJob).component6_7eebs7_k$ = function () {
    return this.cjIsMeteredAllowed_1;
  };
  protoOf(ContentJob).component7_7eebs6_k$ = function () {
    return this.params_1;
  };
  protoOf(ContentJob).component8_7eebs5_k$ = function () {
    return this.cjLct_1;
  };
  protoOf(ContentJob).copy_m7p0th_k$ = function (cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) {
    return new ContentJob(cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct);
  };
  protoOf(ContentJob).copy$default_8644to_k$ = function (cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct, $super) {
    cjUid = cjUid === VOID ? this.cjUid_1 : cjUid;
    toUri = toUri === VOID ? this.toUri_1 : toUri;
    cjProgress = cjProgress === VOID ? this.cjProgress_1 : cjProgress;
    cjTotal = cjTotal === VOID ? this.cjTotal_1 : cjTotal;
    cjNotificationTitle = cjNotificationTitle === VOID ? this.cjNotificationTitle_1 : cjNotificationTitle;
    cjIsMeteredAllowed = cjIsMeteredAllowed === VOID ? this.cjIsMeteredAllowed_1 : cjIsMeteredAllowed;
    params = params === VOID ? this.params_1 : params;
    cjLct = cjLct === VOID ? this.cjLct_1 : cjLct;
    return $super === VOID ? this.copy_m7p0th_k$(cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct) : $super.copy_m7p0th_k$.call(this, cjUid, toUri, cjProgress, cjTotal, cjNotificationTitle, cjIsMeteredAllowed, params, cjLct);
  };
  protoOf(ContentJob).toString = function () {
    return 'ContentJob(cjUid=' + this.cjUid_1.toString() + ', toUri=' + this.toUri_1 + ', cjProgress=' + this.cjProgress_1.toString() + ', cjTotal=' + this.cjTotal_1.toString() + ', cjNotificationTitle=' + this.cjNotificationTitle_1 + ', cjIsMeteredAllowed=' + this.cjIsMeteredAllowed_1 + ', params=' + this.params_1 + ', cjLct=' + this.cjLct_1.toString() + ')';
  };
  protoOf(ContentJob).hashCode = function () {
    var result = this.cjUid_1.hashCode();
    result = imul(result, 31) + (this.toUri_1 == null ? 0 : getStringHashCode(this.toUri_1)) | 0;
    result = imul(result, 31) + this.cjProgress_1.hashCode() | 0;
    result = imul(result, 31) + this.cjTotal_1.hashCode() | 0;
    result = imul(result, 31) + (this.cjNotificationTitle_1 == null ? 0 : getStringHashCode(this.cjNotificationTitle_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.cjIsMeteredAllowed_1) | 0;
    result = imul(result, 31) + (this.params_1 == null ? 0 : getStringHashCode(this.params_1)) | 0;
    result = imul(result, 31) + this.cjLct_1.hashCode() | 0;
    return result;
  };
  protoOf(ContentJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ContentJob))
      return false;
    var tmp0_other_with_cast = other instanceof ContentJob ? other : THROW_CCE();
    if (!this.cjUid_1.equals(tmp0_other_with_cast.cjUid_1))
      return false;
    if (!(this.toUri_1 == tmp0_other_with_cast.toUri_1))
      return false;
    if (!this.cjProgress_1.equals(tmp0_other_with_cast.cjProgress_1))
      return false;
    if (!this.cjTotal_1.equals(tmp0_other_with_cast.cjTotal_1))
      return false;
    if (!(this.cjNotificationTitle_1 == tmp0_other_with_cast.cjNotificationTitle_1))
      return false;
    if (!(this.cjIsMeteredAllowed_1 === tmp0_other_with_cast.cjIsMeteredAllowed_1))
      return false;
    if (!(this.params_1 == tmp0_other_with_cast.params_1))
      return false;
    if (!this.cjLct_1.equals(tmp0_other_with_cast.cjLct_1))
      return false;
    return true;
  };
  function Companion_75() {
    Companion_instance_75 = this;
    this.TABLE_ID_1 = 523;
  }
  protoOf(Companion_75).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_75).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_73();
  };
  var Companion_instance_75;
  function Companion_getInstance_77() {
    if (Companion_instance_75 == null)
      new Companion_75();
    return Companion_instance_75;
  }
  function $serializer_73() {
    $serializer_instance_73 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseAssignmentMark', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('camUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camAssignmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camMarkerSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camMarkerPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camMarkerComment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camMark', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camMaxMark', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camPenalty', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('camClazzUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_73).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_73).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), FloatSerializer_getInstance(), FloatSerializer_getInstance(), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_73).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = 0.0;
    var tmp11_local7 = 0.0;
    var tmp12_local8 = 0.0;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseAssignmentMark_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_73).serialize_9mnjqb_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.camUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.camUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.camAssignmentUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.camAssignmentUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.camSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.camSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.camMarkerSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.camMarkerSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.camMarkerPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.camMarkerPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.camMarkerComment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.camMarkerComment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !equals(value.camMark_1, 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 6, value.camMark_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !equals(value.camMaxMark_1, 1.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 7, value.camMaxMark_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !equals(value.camPenalty_1, 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 8, value.camPenalty_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.camLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.camLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.camClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.camClazzUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_73).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_9mnjqb_k$(encoder, value instanceof CourseAssignmentMark ? value : THROW_CCE());
  };
  var $serializer_instance_73;
  function $serializer_getInstance_73() {
    if ($serializer_instance_73 == null)
      new $serializer_73();
    return $serializer_instance_73;
  }
  function CourseAssignmentMark_init_$Init$(seen1, camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_73().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.camUid_1 = new Long(0, 0);
    else
      $this.camUid_1 = camUid;
    if (0 === (seen1 & 2))
      $this.camAssignmentUid_1 = new Long(0, 0);
    else
      $this.camAssignmentUid_1 = camAssignmentUid;
    if (0 === (seen1 & 4))
      $this.camSubmitterUid_1 = new Long(0, 0);
    else
      $this.camSubmitterUid_1 = camSubmitterUid;
    if (0 === (seen1 & 8))
      $this.camMarkerSubmitterUid_1 = new Long(0, 0);
    else
      $this.camMarkerSubmitterUid_1 = camMarkerSubmitterUid;
    if (0 === (seen1 & 16))
      $this.camMarkerPersonUid_1 = new Long(0, 0);
    else
      $this.camMarkerPersonUid_1 = camMarkerPersonUid;
    if (0 === (seen1 & 32))
      $this.camMarkerComment_1 = null;
    else
      $this.camMarkerComment_1 = camMarkerComment;
    if (0 === (seen1 & 64))
      $this.camMark_1 = 0.0;
    else
      $this.camMark_1 = camMark;
    if (0 === (seen1 & 128))
      $this.camMaxMark_1 = 1.0;
    else
      $this.camMaxMark_1 = camMaxMark;
    if (0 === (seen1 & 256))
      $this.camPenalty_1 = 0.0;
    else
      $this.camPenalty_1 = camPenalty;
    if (0 === (seen1 & 512))
      $this.camLct_1 = new Long(0, 0);
    else
      $this.camLct_1 = camLct;
    if (0 === (seen1 & 1024))
      $this.camClazzUid_1 = new Long(0, 0);
    else
      $this.camClazzUid_1 = camClazzUid;
    return $this;
  }
  function CourseAssignmentMark_init_$Create$(seen1, camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid, serializationConstructorMarker) {
    return CourseAssignmentMark_init_$Init$(seen1, camUid, camAssignmentUid, camSubmitterUid, camMarkerSubmitterUid, camMarkerPersonUid, camMarkerComment, camMark, camMaxMark, camPenalty, camLct, camClazzUid, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentMark)));
  }
  function CourseAssignmentMark() {
    Companion_getInstance_77();
    this.camUid_1 = new Long(0, 0);
    this.camAssignmentUid_1 = new Long(0, 0);
    this.camSubmitterUid_1 = new Long(0, 0);
    this.camMarkerSubmitterUid_1 = new Long(0, 0);
    this.camMarkerPersonUid_1 = new Long(0, 0);
    this.camMarkerComment_1 = null;
    this.camMark_1 = 0.0;
    this.camMaxMark_1 = 1.0;
    this.camPenalty_1 = 0.0;
    this.camLct_1 = new Long(0, 0);
    this.camClazzUid_1 = new Long(0, 0);
  }
  protoOf(CourseAssignmentMark).set_camUid_ejfae8_k$ = function (_set____db54di) {
    this.camUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camUid_bsg5ca_k$ = function () {
    return this.camUid_1;
  };
  protoOf(CourseAssignmentMark).set_camAssignmentUid_j3ay0j_k$ = function (_set____db54di) {
    this.camAssignmentUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camAssignmentUid_se0bjx_k$ = function () {
    return this.camAssignmentUid_1;
  };
  protoOf(CourseAssignmentMark).set_camSubmitterUid_kl6od7_k$ = function (_set____db54di) {
    this.camSubmitterUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camSubmitterUid_ghcel_k$ = function () {
    return this.camSubmitterUid_1;
  };
  protoOf(CourseAssignmentMark).set_camMarkerSubmitterUid_eboa5x_k$ = function (_set____db54di) {
    this.camMarkerSubmitterUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camMarkerSubmitterUid_4ixg61_k$ = function () {
    return this.camMarkerSubmitterUid_1;
  };
  protoOf(CourseAssignmentMark).set_camMarkerPersonUid_xbe3hr_k$ = function (_set____db54di) {
    this.camMarkerPersonUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camMarkerPersonUid_g7yjbv_k$ = function () {
    return this.camMarkerPersonUid_1;
  };
  protoOf(CourseAssignmentMark).set_camMarkerComment_by6xyc_k$ = function (_set____db54di) {
    this.camMarkerComment_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camMarkerComment_fhxt6n_k$ = function () {
    return this.camMarkerComment_1;
  };
  protoOf(CourseAssignmentMark).set_camMark_87svl5_k$ = function (_set____db54di) {
    this.camMark_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camMark_ac72ab_k$ = function () {
    return this.camMark_1;
  };
  protoOf(CourseAssignmentMark).set_camMaxMark_ahvi6h_k$ = function (_set____db54di) {
    this.camMaxMark_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camMaxMark_cropvv_k$ = function () {
    return this.camMaxMark_1;
  };
  protoOf(CourseAssignmentMark).set_camPenalty_f53gbz_k$ = function (_set____db54di) {
    this.camPenalty_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camPenalty_ch6xtp_k$ = function () {
    return this.camPenalty_1;
  };
  protoOf(CourseAssignmentMark).set_camLct_mwq2cz_k$ = function (_set____db54di) {
    this.camLct_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camLct_bsfyjb_k$ = function () {
    return this.camLct_1;
  };
  protoOf(CourseAssignmentMark).set_camClazzUid_408elw_k$ = function (_set____db54di) {
    this.camClazzUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMark).get_camClazzUid_p8wqsi_k$ = function () {
    return this.camClazzUid_1;
  };
  function CourseAssignmentMarkWithPersonMarker() {
    CourseAssignmentMark.call(this);
    this.isGroup_1 = false;
    this.marker_1 = null;
  }
  protoOf(CourseAssignmentMarkWithPersonMarker).set_isGroup_i7r0zn_k$ = function (_set____db54di) {
    this.isGroup_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMarkWithPersonMarker).get_isGroup_zc1n64_k$ = function () {
    return this.isGroup_1;
  };
  protoOf(CourseAssignmentMarkWithPersonMarker).set_marker_onle6y_k$ = function (_set____db54di) {
    this.marker_1 = _set____db54di;
  };
  protoOf(CourseAssignmentMarkWithPersonMarker).get_marker_gj00g3_k$ = function () {
    return this.marker_1;
  };
  function Companion_76() {
    Companion_instance_76 = this;
    this.TABLE_ID_1 = 522;
    this.SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP_1 = new Long(-1, -1);
    this.SUBMISSION_TYPE_TEXT_1 = 1;
    this.SUBMISSION_TYPE_FILE_1 = 2;
    this.NOT_SUBMITTED_1 = 0;
    this.SUBMITTED_1 = 1;
    this.MARKED_1 = 2;
    this.MIN_SUBMITTER_UID_FOR_PERSON_1 = 10000;
  }
  protoOf(Companion_76).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_76).get_SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP_ldit4a_k$ = function () {
    return this.SUBMITTER_ENROLLED_BUT_NOT_IN_GROUP_1;
  };
  protoOf(Companion_76).get_SUBMISSION_TYPE_TEXT_yxaey0_k$ = function () {
    return this.SUBMISSION_TYPE_TEXT_1;
  };
  protoOf(Companion_76).get_SUBMISSION_TYPE_FILE_yx1jsn_k$ = function () {
    return this.SUBMISSION_TYPE_FILE_1;
  };
  protoOf(Companion_76).get_NOT_SUBMITTED_j0kqw6_k$ = function () {
    return this.NOT_SUBMITTED_1;
  };
  protoOf(Companion_76).get_SUBMITTED_anxgi6_k$ = function () {
    return this.SUBMITTED_1;
  };
  protoOf(Companion_76).get_MARKED_vdkqd_k$ = function () {
    return this.MARKED_1;
  };
  protoOf(Companion_76).get_MIN_SUBMITTER_UID_FOR_PERSON_uk2rru_k$ = function () {
    return this.MIN_SUBMITTER_UID_FOR_PERSON_1;
  };
  protoOf(Companion_76).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_74();
  };
  var Companion_instance_76;
  function Companion_getInstance_78() {
    if (Companion_instance_76 == null)
      new Companion_76();
    return Companion_instance_76;
  }
  function $serializer_74() {
    $serializer_instance_74 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseAssignmentSubmission', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('casUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casAssignmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casSubmitterPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casText', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casTimestamp', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casClazzUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_74).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_74).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_74).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseAssignmentSubmission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_74).serialize_7eb4zo_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.casUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.casUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.casAssignmentUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.casAssignmentUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.casSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.casSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.casSubmitterPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.casSubmitterPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.casText_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.casText_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.casType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.casType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.casTimestamp_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.casTimestamp_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.casClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.casClazzUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_74).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_7eb4zo_k$(encoder, value instanceof CourseAssignmentSubmission ? value : THROW_CCE());
  };
  var $serializer_instance_74;
  function $serializer_getInstance_74() {
    if ($serializer_instance_74 == null)
      new $serializer_74();
    return $serializer_instance_74;
  }
  function CourseAssignmentSubmission_init_$Init$(seen1, casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_74().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.casUid_1 = new Long(0, 0);
    else
      $this.casUid_1 = casUid;
    if (0 === (seen1 & 2))
      $this.casAssignmentUid_1 = new Long(0, 0);
    else
      $this.casAssignmentUid_1 = casAssignmentUid;
    if (0 === (seen1 & 4))
      $this.casSubmitterUid_1 = new Long(0, 0);
    else
      $this.casSubmitterUid_1 = casSubmitterUid;
    if (0 === (seen1 & 8))
      $this.casSubmitterPersonUid_1 = new Long(0, 0);
    else
      $this.casSubmitterPersonUid_1 = casSubmitterPersonUid;
    if (0 === (seen1 & 16))
      $this.casText_1 = null;
    else
      $this.casText_1 = casText;
    if (0 === (seen1 & 32))
      $this.casType_1 = 0;
    else
      $this.casType_1 = casType;
    if (0 === (seen1 & 64))
      $this.casTimestamp_1 = new Long(0, 0);
    else
      $this.casTimestamp_1 = casTimestamp;
    if (0 === (seen1 & 128))
      $this.casClazzUid_1 = new Long(0, 0);
    else
      $this.casClazzUid_1 = casClazzUid;
    return $this;
  }
  function CourseAssignmentSubmission_init_$Create$(seen1, casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid, serializationConstructorMarker) {
    return CourseAssignmentSubmission_init_$Init$(seen1, casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentSubmission)));
  }
  function CourseAssignmentSubmission(casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) {
    Companion_getInstance_78();
    casUid = casUid === VOID ? new Long(0, 0) : casUid;
    casAssignmentUid = casAssignmentUid === VOID ? new Long(0, 0) : casAssignmentUid;
    casSubmitterUid = casSubmitterUid === VOID ? new Long(0, 0) : casSubmitterUid;
    casSubmitterPersonUid = casSubmitterPersonUid === VOID ? new Long(0, 0) : casSubmitterPersonUid;
    casText = casText === VOID ? null : casText;
    casType = casType === VOID ? 0 : casType;
    casTimestamp = casTimestamp === VOID ? new Long(0, 0) : casTimestamp;
    casClazzUid = casClazzUid === VOID ? new Long(0, 0) : casClazzUid;
    this.casUid_1 = casUid;
    this.casAssignmentUid_1 = casAssignmentUid;
    this.casSubmitterUid_1 = casSubmitterUid;
    this.casSubmitterPersonUid_1 = casSubmitterPersonUid;
    this.casText_1 = casText;
    this.casType_1 = casType;
    this.casTimestamp_1 = casTimestamp;
    this.casClazzUid_1 = casClazzUid;
  }
  protoOf(CourseAssignmentSubmission).set_casUid_fvrm92_k$ = function (_set____db54di) {
    this.casUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casUid_bsjz9g_k$ = function () {
    return this.casUid_1;
  };
  protoOf(CourseAssignmentSubmission).set_casAssignmentUid_munb2r_k$ = function (_set____db54di) {
    this.casAssignmentUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casAssignmentUid_lryxmx_k$ = function () {
    return this.casAssignmentUid_1;
  };
  protoOf(CourseAssignmentSubmission).set_casSubmitterUid_oas9nj_k$ = function (_set____db54di) {
    this.casSubmitterUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casSubmitterUid_snmiul_k$ = function () {
    return this.casSubmitterUid_1;
  };
  protoOf(CourseAssignmentSubmission).set_casSubmitterPersonUid_ow553o_k$ = function (_set____db54di) {
    this.casSubmitterPersonUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casSubmitterPersonUid_fp4ypu_k$ = function () {
    return this.casSubmitterPersonUid_1;
  };
  protoOf(CourseAssignmentSubmission).set_casText_o0fpqq_k$ = function (_set____db54di) {
    this.casText_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casText_afmdvd_k$ = function () {
    return this.casText_1;
  };
  protoOf(CourseAssignmentSubmission).set_casType_8ly6iy_k$ = function (_set____db54di) {
    this.casType_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casType_afmshy_k$ = function () {
    return this.casType_1;
  };
  protoOf(CourseAssignmentSubmission).set_casTimestamp_rwaz4w_k$ = function (_set____db54di) {
    this.casTimestamp_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casTimestamp_n6jb3q_k$ = function () {
    return this.casTimestamp_1;
  };
  protoOf(CourseAssignmentSubmission).set_casClazzUid_apjj5a_k$ = function (_set____db54di) {
    this.casClazzUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmission).get_casClazzUid_8hraec_k$ = function () {
    return this.casClazzUid_1;
  };
  protoOf(CourseAssignmentSubmission).component1_7eebsc_k$ = function () {
    return this.casUid_1;
  };
  protoOf(CourseAssignmentSubmission).component2_7eebsb_k$ = function () {
    return this.casAssignmentUid_1;
  };
  protoOf(CourseAssignmentSubmission).component3_7eebsa_k$ = function () {
    return this.casSubmitterUid_1;
  };
  protoOf(CourseAssignmentSubmission).component4_7eebs9_k$ = function () {
    return this.casSubmitterPersonUid_1;
  };
  protoOf(CourseAssignmentSubmission).component5_7eebs8_k$ = function () {
    return this.casText_1;
  };
  protoOf(CourseAssignmentSubmission).component6_7eebs7_k$ = function () {
    return this.casType_1;
  };
  protoOf(CourseAssignmentSubmission).component7_7eebs6_k$ = function () {
    return this.casTimestamp_1;
  };
  protoOf(CourseAssignmentSubmission).component8_7eebs5_k$ = function () {
    return this.casClazzUid_1;
  };
  protoOf(CourseAssignmentSubmission).copy_nfpj12_k$ = function (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) {
    return new CourseAssignmentSubmission(casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid);
  };
  protoOf(CourseAssignmentSubmission).copy$default_dcw3hj_k$ = function (casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid, $super) {
    casUid = casUid === VOID ? this.casUid_1 : casUid;
    casAssignmentUid = casAssignmentUid === VOID ? this.casAssignmentUid_1 : casAssignmentUid;
    casSubmitterUid = casSubmitterUid === VOID ? this.casSubmitterUid_1 : casSubmitterUid;
    casSubmitterPersonUid = casSubmitterPersonUid === VOID ? this.casSubmitterPersonUid_1 : casSubmitterPersonUid;
    casText = casText === VOID ? this.casText_1 : casText;
    casType = casType === VOID ? this.casType_1 : casType;
    casTimestamp = casTimestamp === VOID ? this.casTimestamp_1 : casTimestamp;
    casClazzUid = casClazzUid === VOID ? this.casClazzUid_1 : casClazzUid;
    return $super === VOID ? this.copy_nfpj12_k$(casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid) : $super.copy_nfpj12_k$.call(this, casUid, casAssignmentUid, casSubmitterUid, casSubmitterPersonUid, casText, casType, casTimestamp, casClazzUid);
  };
  protoOf(CourseAssignmentSubmission).toString = function () {
    return 'CourseAssignmentSubmission(casUid=' + this.casUid_1.toString() + ', casAssignmentUid=' + this.casAssignmentUid_1.toString() + ', casSubmitterUid=' + this.casSubmitterUid_1.toString() + ', casSubmitterPersonUid=' + this.casSubmitterPersonUid_1.toString() + ', casText=' + this.casText_1 + ', casType=' + this.casType_1 + ', casTimestamp=' + this.casTimestamp_1.toString() + ', casClazzUid=' + this.casClazzUid_1.toString() + ')';
  };
  protoOf(CourseAssignmentSubmission).hashCode = function () {
    var result = this.casUid_1.hashCode();
    result = imul(result, 31) + this.casAssignmentUid_1.hashCode() | 0;
    result = imul(result, 31) + this.casSubmitterUid_1.hashCode() | 0;
    result = imul(result, 31) + this.casSubmitterPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.casText_1 == null ? 0 : getStringHashCode(this.casText_1)) | 0;
    result = imul(result, 31) + this.casType_1 | 0;
    result = imul(result, 31) + this.casTimestamp_1.hashCode() | 0;
    result = imul(result, 31) + this.casClazzUid_1.hashCode() | 0;
    return result;
  };
  protoOf(CourseAssignmentSubmission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentSubmission))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentSubmission ? other : THROW_CCE();
    if (!this.casUid_1.equals(tmp0_other_with_cast.casUid_1))
      return false;
    if (!this.casAssignmentUid_1.equals(tmp0_other_with_cast.casAssignmentUid_1))
      return false;
    if (!this.casSubmitterUid_1.equals(tmp0_other_with_cast.casSubmitterUid_1))
      return false;
    if (!this.casSubmitterPersonUid_1.equals(tmp0_other_with_cast.casSubmitterPersonUid_1))
      return false;
    if (!(this.casText_1 == tmp0_other_with_cast.casText_1))
      return false;
    if (!(this.casType_1 === tmp0_other_with_cast.casType_1))
      return false;
    if (!this.casTimestamp_1.equals(tmp0_other_with_cast.casTimestamp_1))
      return false;
    if (!this.casClazzUid_1.equals(tmp0_other_with_cast.casClazzUid_1))
      return false;
    return true;
  };
  function Companion_77() {
    Companion_instance_77 = this;
    this.TABLE_ID_1 = 90;
  }
  protoOf(Companion_77).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_77).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_75();
  };
  var Companion_instance_77;
  function Companion_getInstance_79() {
    if (Companion_instance_77 == null)
      new Companion_77();
    return Companion_instance_77;
  }
  function $serializer_75() {
    $serializer_instance_75 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseAssignmentSubmissionFile', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('casaUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaSubmissionUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaCaUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaMimeType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaFileName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaSize', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaTimestamp', true);
    tmp0_serialDesc.addElement_5pzumi_k$('casaDeleted', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_75).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_75).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_75).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_local8 = 0;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = false;
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseAssignmentSubmissionFile_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_75).serialize_9b6x60_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.casaUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.casaUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.casaSubmissionUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.casaSubmissionUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.casaSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.casaSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.casaCaUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.casaCaUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.casaClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.casaClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.casaMimeType_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.casaMimeType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.casaFileName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.casaFileName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.casaUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 7, StringSerializer_getInstance(), value.casaUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.casaSize_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.casaSize_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.casaTimestamp_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.casaTimestamp_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.casaDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 10, value.casaDeleted_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_75).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_9b6x60_k$(encoder, value instanceof CourseAssignmentSubmissionFile ? value : THROW_CCE());
  };
  var $serializer_instance_75;
  function $serializer_getInstance_75() {
    if ($serializer_instance_75 == null)
      new $serializer_75();
    return $serializer_instance_75;
  }
  function CourseAssignmentSubmissionFile_init_$Init$(seen1, casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_75().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.casaUid_1 = new Long(0, 0);
    else
      $this.casaUid_1 = casaUid;
    if (0 === (seen1 & 2))
      $this.casaSubmissionUid_1 = new Long(0, 0);
    else
      $this.casaSubmissionUid_1 = casaSubmissionUid;
    if (0 === (seen1 & 4))
      $this.casaSubmitterUid_1 = new Long(0, 0);
    else
      $this.casaSubmitterUid_1 = casaSubmitterUid;
    if (0 === (seen1 & 8))
      $this.casaCaUid_1 = new Long(0, 0);
    else
      $this.casaCaUid_1 = casaCaUid;
    if (0 === (seen1 & 16))
      $this.casaClazzUid_1 = new Long(0, 0);
    else
      $this.casaClazzUid_1 = casaClazzUid;
    if (0 === (seen1 & 32))
      $this.casaMimeType_1 = null;
    else
      $this.casaMimeType_1 = casaMimeType;
    if (0 === (seen1 & 64))
      $this.casaFileName_1 = null;
    else
      $this.casaFileName_1 = casaFileName;
    if (0 === (seen1 & 128))
      $this.casaUri_1 = null;
    else
      $this.casaUri_1 = casaUri;
    if (0 === (seen1 & 256))
      $this.casaSize_1 = 0;
    else
      $this.casaSize_1 = casaSize;
    if (0 === (seen1 & 512))
      $this.casaTimestamp_1 = new Long(0, 0);
    else
      $this.casaTimestamp_1 = casaTimestamp;
    if (0 === (seen1 & 1024))
      $this.casaDeleted_1 = false;
    else
      $this.casaDeleted_1 = casaDeleted;
    return $this;
  }
  function CourseAssignmentSubmissionFile_init_$Create$(seen1, casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted, serializationConstructorMarker) {
    return CourseAssignmentSubmissionFile_init_$Init$(seen1, casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted, serializationConstructorMarker, objectCreate(protoOf(CourseAssignmentSubmissionFile)));
  }
  function CourseAssignmentSubmissionFile(casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) {
    Companion_getInstance_79();
    casaUid = casaUid === VOID ? new Long(0, 0) : casaUid;
    casaSubmissionUid = casaSubmissionUid === VOID ? new Long(0, 0) : casaSubmissionUid;
    casaSubmitterUid = casaSubmitterUid === VOID ? new Long(0, 0) : casaSubmitterUid;
    casaCaUid = casaCaUid === VOID ? new Long(0, 0) : casaCaUid;
    casaClazzUid = casaClazzUid === VOID ? new Long(0, 0) : casaClazzUid;
    casaMimeType = casaMimeType === VOID ? null : casaMimeType;
    casaFileName = casaFileName === VOID ? null : casaFileName;
    casaUri = casaUri === VOID ? null : casaUri;
    casaSize = casaSize === VOID ? 0 : casaSize;
    casaTimestamp = casaTimestamp === VOID ? new Long(0, 0) : casaTimestamp;
    casaDeleted = casaDeleted === VOID ? false : casaDeleted;
    this.casaUid_1 = casaUid;
    this.casaSubmissionUid_1 = casaSubmissionUid;
    this.casaSubmitterUid_1 = casaSubmitterUid;
    this.casaCaUid_1 = casaCaUid;
    this.casaClazzUid_1 = casaClazzUid;
    this.casaMimeType_1 = casaMimeType;
    this.casaFileName_1 = casaFileName;
    this.casaUri_1 = casaUri;
    this.casaSize_1 = casaSize;
    this.casaTimestamp_1 = casaTimestamp;
    this.casaDeleted_1 = casaDeleted;
  }
  protoOf(CourseAssignmentSubmissionFile).set_casaUid_b6pf3d_k$ = function (_set____db54di) {
    this.casaUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaUid_afucgr_k$ = function () {
    return this.casaUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaSubmissionUid_kkikcj_k$ = function (_set____db54di) {
    this.casaSubmissionUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaSubmissionUid_1x308f_k$ = function () {
    return this.casaSubmissionUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaSubmitterUid_nijjm6_k$ = function (_set____db54di) {
    this.casaSubmitterUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaSubmitterUid_1el2fw_k$ = function () {
    return this.casaSubmitterUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaCaUid_8pcmej_k$ = function (_set____db54di) {
    this.casaCaUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaCaUid_ha5di5_k$ = function () {
    return this.casaCaUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaClazzUid_1l6qu5_k$ = function (_set____db54di) {
    this.casaClazzUid_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaClazzUid_vuz2xf_k$ = function () {
    return this.casaClazzUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaMimeType_fnm5kw_k$ = function (_set____db54di) {
    this.casaMimeType_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaMimeType_4l2wpv_k$ = function () {
    return this.casaMimeType_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaFileName_wj90dj_k$ = function (_set____db54di) {
    this.casaFileName_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaFileName_ffvt18_k$ = function () {
    return this.casaFileName_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaUri_f6f9po_k$ = function (_set____db54di) {
    this.casaUri_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaUri_afucon_k$ = function () {
    return this.casaUri_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaSize_heel36_k$ = function (_set____db54di) {
    this.casaSize_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaSize_vigstm_k$ = function () {
    return this.casaSize_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaTimestamp_t9qtg1_k$ = function (_set____db54di) {
    this.casaTimestamp_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaTimestamp_4es7c1_k$ = function () {
    return this.casaTimestamp_1;
  };
  protoOf(CourseAssignmentSubmissionFile).set_casaDeleted_xf74yt_k$ = function (_set____db54di) {
    this.casaDeleted_1 = _set____db54di;
  };
  protoOf(CourseAssignmentSubmissionFile).get_casaDeleted_3maiuc_k$ = function () {
    return this.casaDeleted_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component1_7eebsc_k$ = function () {
    return this.casaUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component2_7eebsb_k$ = function () {
    return this.casaSubmissionUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component3_7eebsa_k$ = function () {
    return this.casaSubmitterUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component4_7eebs9_k$ = function () {
    return this.casaCaUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component5_7eebs8_k$ = function () {
    return this.casaClazzUid_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component6_7eebs7_k$ = function () {
    return this.casaMimeType_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component7_7eebs6_k$ = function () {
    return this.casaFileName_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component8_7eebs5_k$ = function () {
    return this.casaUri_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component9_7eebs4_k$ = function () {
    return this.casaSize_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component10_gazzfo_k$ = function () {
    return this.casaTimestamp_1;
  };
  protoOf(CourseAssignmentSubmissionFile).component11_gazzfn_k$ = function () {
    return this.casaDeleted_1;
  };
  protoOf(CourseAssignmentSubmissionFile).copy_qeubpn_k$ = function (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) {
    return new CourseAssignmentSubmissionFile(casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted);
  };
  protoOf(CourseAssignmentSubmissionFile).copy$default_5fesxh_k$ = function (casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted, $super) {
    casaUid = casaUid === VOID ? this.casaUid_1 : casaUid;
    casaSubmissionUid = casaSubmissionUid === VOID ? this.casaSubmissionUid_1 : casaSubmissionUid;
    casaSubmitterUid = casaSubmitterUid === VOID ? this.casaSubmitterUid_1 : casaSubmitterUid;
    casaCaUid = casaCaUid === VOID ? this.casaCaUid_1 : casaCaUid;
    casaClazzUid = casaClazzUid === VOID ? this.casaClazzUid_1 : casaClazzUid;
    casaMimeType = casaMimeType === VOID ? this.casaMimeType_1 : casaMimeType;
    casaFileName = casaFileName === VOID ? this.casaFileName_1 : casaFileName;
    casaUri = casaUri === VOID ? this.casaUri_1 : casaUri;
    casaSize = casaSize === VOID ? this.casaSize_1 : casaSize;
    casaTimestamp = casaTimestamp === VOID ? this.casaTimestamp_1 : casaTimestamp;
    casaDeleted = casaDeleted === VOID ? this.casaDeleted_1 : casaDeleted;
    return $super === VOID ? this.copy_qeubpn_k$(casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted) : $super.copy_qeubpn_k$.call(this, casaUid, casaSubmissionUid, casaSubmitterUid, casaCaUid, casaClazzUid, casaMimeType, casaFileName, casaUri, casaSize, casaTimestamp, casaDeleted);
  };
  protoOf(CourseAssignmentSubmissionFile).toString = function () {
    return 'CourseAssignmentSubmissionFile(casaUid=' + this.casaUid_1.toString() + ', casaSubmissionUid=' + this.casaSubmissionUid_1.toString() + ', casaSubmitterUid=' + this.casaSubmitterUid_1.toString() + ', casaCaUid=' + this.casaCaUid_1.toString() + ', casaClazzUid=' + this.casaClazzUid_1.toString() + ', casaMimeType=' + this.casaMimeType_1 + ', casaFileName=' + this.casaFileName_1 + ', casaUri=' + this.casaUri_1 + ', casaSize=' + this.casaSize_1 + ', casaTimestamp=' + this.casaTimestamp_1.toString() + ', casaDeleted=' + this.casaDeleted_1 + ')';
  };
  protoOf(CourseAssignmentSubmissionFile).hashCode = function () {
    var result = this.casaUid_1.hashCode();
    result = imul(result, 31) + this.casaSubmissionUid_1.hashCode() | 0;
    result = imul(result, 31) + this.casaSubmitterUid_1.hashCode() | 0;
    result = imul(result, 31) + this.casaCaUid_1.hashCode() | 0;
    result = imul(result, 31) + this.casaClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.casaMimeType_1 == null ? 0 : getStringHashCode(this.casaMimeType_1)) | 0;
    result = imul(result, 31) + (this.casaFileName_1 == null ? 0 : getStringHashCode(this.casaFileName_1)) | 0;
    result = imul(result, 31) + (this.casaUri_1 == null ? 0 : getStringHashCode(this.casaUri_1)) | 0;
    result = imul(result, 31) + this.casaSize_1 | 0;
    result = imul(result, 31) + this.casaTimestamp_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.casaDeleted_1) | 0;
    return result;
  };
  protoOf(CourseAssignmentSubmissionFile).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseAssignmentSubmissionFile))
      return false;
    var tmp0_other_with_cast = other instanceof CourseAssignmentSubmissionFile ? other : THROW_CCE();
    if (!this.casaUid_1.equals(tmp0_other_with_cast.casaUid_1))
      return false;
    if (!this.casaSubmissionUid_1.equals(tmp0_other_with_cast.casaSubmissionUid_1))
      return false;
    if (!this.casaSubmitterUid_1.equals(tmp0_other_with_cast.casaSubmitterUid_1))
      return false;
    if (!this.casaCaUid_1.equals(tmp0_other_with_cast.casaCaUid_1))
      return false;
    if (!this.casaClazzUid_1.equals(tmp0_other_with_cast.casaClazzUid_1))
      return false;
    if (!(this.casaMimeType_1 == tmp0_other_with_cast.casaMimeType_1))
      return false;
    if (!(this.casaFileName_1 == tmp0_other_with_cast.casaFileName_1))
      return false;
    if (!(this.casaUri_1 == tmp0_other_with_cast.casaUri_1))
      return false;
    if (!(this.casaSize_1 === tmp0_other_with_cast.casaSize_1))
      return false;
    if (!this.casaTimestamp_1.equals(tmp0_other_with_cast.casaTimestamp_1))
      return false;
    if (!(this.casaDeleted_1 === tmp0_other_with_cast.casaDeleted_1))
      return false;
    return true;
  };
  function Companion_78() {
    Companion_instance_78 = this;
    this.TABLE_ID_1 = 124;
    this.BLOCK_MODULE_TYPE_1 = 100;
    this.BLOCK_TEXT_TYPE_1 = 102;
    this.BLOCK_ASSIGNMENT_TYPE_1 = 103;
    this.BLOCK_CONTENT_TYPE_1 = 104;
    this.BLOCK_DISCUSSION_TYPE_1 = 105;
    this.BLOCK_EXTERNAL_APP_1 = 300;
  }
  protoOf(Companion_78).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_78).get_BLOCK_MODULE_TYPE_bb862a_k$ = function () {
    return this.BLOCK_MODULE_TYPE_1;
  };
  protoOf(Companion_78).get_BLOCK_TEXT_TYPE_61wg5t_k$ = function () {
    return this.BLOCK_TEXT_TYPE_1;
  };
  protoOf(Companion_78).get_BLOCK_ASSIGNMENT_TYPE_9x3ld_k$ = function () {
    return this.BLOCK_ASSIGNMENT_TYPE_1;
  };
  protoOf(Companion_78).get_BLOCK_CONTENT_TYPE_w45ev9_k$ = function () {
    return this.BLOCK_CONTENT_TYPE_1;
  };
  protoOf(Companion_78).get_BLOCK_DISCUSSION_TYPE_ghy0om_k$ = function () {
    return this.BLOCK_DISCUSSION_TYPE_1;
  };
  protoOf(Companion_78).get_BLOCK_EXTERNAL_APP_1rprc8_k$ = function () {
    return this.BLOCK_EXTERNAL_APP_1;
  };
  protoOf(Companion_78).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_76();
  };
  var Companion_instance_78;
  function Companion_getInstance_80() {
    if (Companion_instance_78 == null)
      new Companion_78();
    return Companion_instance_78;
  }
  function $serializer_76() {
    $serializer_instance_76 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseBlock', this, 23);
    tmp0_serialDesc.addElement_5pzumi_k$('cbUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbIndentLevel', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbModuleParentBlockUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbDescription', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbCompletionCriteria', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbHideUntilDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbDeadlineDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbLateSubmissionPenalty', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbGracePeriodDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbMaxPoints', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbMinPoints', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbIndex', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbClazzSourcedId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbHidden', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbEntityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbSourcedId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbMetadata', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbCreatedByAppId', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_76).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_76).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_76).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = null;
    var tmp16_local12 = null;
    var tmp17_local13 = 0;
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = null;
    var tmp20_local16 = false;
    var tmp21_local17 = false;
    var tmp22_local18 = new Long(0, 0);
    var tmp23_local19 = new Long(0, 0);
    var tmp24_local20 = null;
    var tmp25_local21 = null;
    var tmp26_local22 = null;
    var tmp27_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp27_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, FloatSerializer_getInstance(), tmp15_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, FloatSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp27_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp27_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp27_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, FloatSerializer_getInstance(), tmp15_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, FloatSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp27_input.decodeIntElement_941u6a_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp27_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp27_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp27_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp27_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp27_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlock_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, null);
  };
  protoOf($serializer_76).serialize_1qdvto_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cbUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cbUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.cbType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.cbType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cbIndentLevel_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.cbIndentLevel_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.cbModuleParentBlockUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.cbModuleParentBlockUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.cbTitle_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.cbTitle_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.cbDescription_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.cbDescription_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.cbCompletionCriteria_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.cbCompletionCriteria_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.cbHideUntilDate_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.cbHideUntilDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.cbDeadlineDate_1.equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.cbDeadlineDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.cbLateSubmissionPenalty_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.cbLateSubmissionPenalty_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.cbGracePeriodDate_1.equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.cbGracePeriodDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.cbMaxPoints_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 11, FloatSerializer_getInstance(), value.cbMaxPoints_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.cbMinPoints_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 12, FloatSerializer_getInstance(), value.cbMinPoints_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.cbIndex_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 13, value.cbIndex_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !value.cbClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 14, value.cbClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.cbClazzSourcedId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 15, StringSerializer_getInstance(), value.cbClazzSourcedId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.cbActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 16, value.cbActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.cbHidden_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 17, value.cbHidden_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !value.cbEntityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 18, value.cbEntityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !value.cbLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 19, value.cbLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !(value.cbSourcedId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 20, StringSerializer_getInstance(), value.cbSourcedId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !(value.cbMetadata_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 21, StringSerializer_getInstance(), value.cbMetadata_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !(value.cbCreatedByAppId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 22, StringSerializer_getInstance(), value.cbCreatedByAppId_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_76).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_1qdvto_k$(encoder, value instanceof CourseBlock ? value : THROW_CCE());
  };
  var $serializer_instance_76;
  function $serializer_getInstance_76() {
    if ($serializer_instance_76 == null)
      new $serializer_76();
    return $serializer_instance_76;
  }
  function CourseBlock_init_$Init$(seen1, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_76().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cbUid_1 = new Long(0, 0);
    else
      $this.cbUid_1 = cbUid;
    if (0 === (seen1 & 2))
      $this.cbType_1 = 0;
    else
      $this.cbType_1 = cbType;
    if (0 === (seen1 & 4))
      $this.cbIndentLevel_1 = 0;
    else
      $this.cbIndentLevel_1 = cbIndentLevel;
    if (0 === (seen1 & 8))
      $this.cbModuleParentBlockUid_1 = new Long(0, 0);
    else
      $this.cbModuleParentBlockUid_1 = cbModuleParentBlockUid;
    if (0 === (seen1 & 16))
      $this.cbTitle_1 = null;
    else
      $this.cbTitle_1 = cbTitle;
    if (0 === (seen1 & 32))
      $this.cbDescription_1 = null;
    else
      $this.cbDescription_1 = cbDescription;
    if (0 === (seen1 & 64))
      $this.cbCompletionCriteria_1 = 0;
    else
      $this.cbCompletionCriteria_1 = cbCompletionCriteria;
    if (0 === (seen1 & 128))
      $this.cbHideUntilDate_1 = new Long(0, 0);
    else
      $this.cbHideUntilDate_1 = cbHideUntilDate;
    if (0 === (seen1 & 256))
      $this.cbDeadlineDate_1 = Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$();
    else
      $this.cbDeadlineDate_1 = cbDeadlineDate;
    if (0 === (seen1 & 512))
      $this.cbLateSubmissionPenalty_1 = 0;
    else
      $this.cbLateSubmissionPenalty_1 = cbLateSubmissionPenalty;
    if (0 === (seen1 & 1024))
      $this.cbGracePeriodDate_1 = Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$();
    else
      $this.cbGracePeriodDate_1 = cbGracePeriodDate;
    if (0 === (seen1 & 2048))
      $this.cbMaxPoints_1 = null;
    else
      $this.cbMaxPoints_1 = cbMaxPoints;
    if (0 === (seen1 & 4096))
      $this.cbMinPoints_1 = null;
    else
      $this.cbMinPoints_1 = cbMinPoints;
    if (0 === (seen1 & 8192))
      $this.cbIndex_1 = 0;
    else
      $this.cbIndex_1 = cbIndex;
    if (0 === (seen1 & 16384))
      $this.cbClazzUid_1 = new Long(0, 0);
    else
      $this.cbClazzUid_1 = cbClazzUid;
    if (0 === (seen1 & 32768))
      $this.cbClazzSourcedId_1 = null;
    else
      $this.cbClazzSourcedId_1 = cbClazzSourcedId;
    if (0 === (seen1 & 65536))
      $this.cbActive_1 = true;
    else
      $this.cbActive_1 = cbActive;
    if (0 === (seen1 & 131072))
      $this.cbHidden_1 = false;
    else
      $this.cbHidden_1 = cbHidden;
    if (0 === (seen1 & 262144))
      $this.cbEntityUid_1 = new Long(0, 0);
    else
      $this.cbEntityUid_1 = cbEntityUid;
    if (0 === (seen1 & 524288))
      $this.cbLct_1 = new Long(0, 0);
    else
      $this.cbLct_1 = cbLct;
    if (0 === (seen1 & 1048576))
      $this.cbSourcedId_1 = null;
    else
      $this.cbSourcedId_1 = cbSourcedId;
    if (0 === (seen1 & 2097152))
      $this.cbMetadata_1 = null;
    else
      $this.cbMetadata_1 = cbMetadata;
    if (0 === (seen1 & 4194304))
      $this.cbCreatedByAppId_1 = null;
    else
      $this.cbCreatedByAppId_1 = cbCreatedByAppId;
    return $this;
  }
  function CourseBlock_init_$Create$(seen1, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, serializationConstructorMarker) {
    return CourseBlock_init_$Init$(seen1, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, serializationConstructorMarker, objectCreate(protoOf(CourseBlock)));
  }
  function CourseBlock(cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) {
    Companion_getInstance_80();
    cbUid = cbUid === VOID ? new Long(0, 0) : cbUid;
    cbType = cbType === VOID ? 0 : cbType;
    cbIndentLevel = cbIndentLevel === VOID ? 0 : cbIndentLevel;
    cbModuleParentBlockUid = cbModuleParentBlockUid === VOID ? new Long(0, 0) : cbModuleParentBlockUid;
    cbTitle = cbTitle === VOID ? null : cbTitle;
    cbDescription = cbDescription === VOID ? null : cbDescription;
    cbCompletionCriteria = cbCompletionCriteria === VOID ? 0 : cbCompletionCriteria;
    cbHideUntilDate = cbHideUntilDate === VOID ? new Long(0, 0) : cbHideUntilDate;
    cbDeadlineDate = cbDeadlineDate === VOID ? Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$() : cbDeadlineDate;
    cbLateSubmissionPenalty = cbLateSubmissionPenalty === VOID ? 0 : cbLateSubmissionPenalty;
    cbGracePeriodDate = cbGracePeriodDate === VOID ? Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$() : cbGracePeriodDate;
    cbMaxPoints = cbMaxPoints === VOID ? null : cbMaxPoints;
    cbMinPoints = cbMinPoints === VOID ? null : cbMinPoints;
    cbIndex = cbIndex === VOID ? 0 : cbIndex;
    cbClazzUid = cbClazzUid === VOID ? new Long(0, 0) : cbClazzUid;
    cbClazzSourcedId = cbClazzSourcedId === VOID ? null : cbClazzSourcedId;
    cbActive = cbActive === VOID ? true : cbActive;
    cbHidden = cbHidden === VOID ? false : cbHidden;
    cbEntityUid = cbEntityUid === VOID ? new Long(0, 0) : cbEntityUid;
    cbLct = cbLct === VOID ? new Long(0, 0) : cbLct;
    cbSourcedId = cbSourcedId === VOID ? null : cbSourcedId;
    cbMetadata = cbMetadata === VOID ? null : cbMetadata;
    cbCreatedByAppId = cbCreatedByAppId === VOID ? null : cbCreatedByAppId;
    this.cbUid_1 = cbUid;
    this.cbType_1 = cbType;
    this.cbIndentLevel_1 = cbIndentLevel;
    this.cbModuleParentBlockUid_1 = cbModuleParentBlockUid;
    this.cbTitle_1 = cbTitle;
    this.cbDescription_1 = cbDescription;
    this.cbCompletionCriteria_1 = cbCompletionCriteria;
    this.cbHideUntilDate_1 = cbHideUntilDate;
    this.cbDeadlineDate_1 = cbDeadlineDate;
    this.cbLateSubmissionPenalty_1 = cbLateSubmissionPenalty;
    this.cbGracePeriodDate_1 = cbGracePeriodDate;
    this.cbMaxPoints_1 = cbMaxPoints;
    this.cbMinPoints_1 = cbMinPoints;
    this.cbIndex_1 = cbIndex;
    this.cbClazzUid_1 = cbClazzUid;
    this.cbClazzSourcedId_1 = cbClazzSourcedId;
    this.cbActive_1 = cbActive;
    this.cbHidden_1 = cbHidden;
    this.cbEntityUid_1 = cbEntityUid;
    this.cbLct_1 = cbLct;
    this.cbSourcedId_1 = cbSourcedId;
    this.cbMetadata_1 = cbMetadata;
    this.cbCreatedByAppId_1 = cbCreatedByAppId;
  }
  protoOf(CourseBlock).set_cbUid_qoojw6_k$ = function (_set____db54di) {
    this.cbUid_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbUid_iplgso_k$ = function () {
    return this.cbUid_1;
  };
  protoOf(CourseBlock).set_cbType_tflke_k$ = function (_set____db54di) {
    this.cbType_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbType_bskq4i_k$ = function () {
    return this.cbType_1;
  };
  protoOf(CourseBlock).set_cbIndentLevel_b0ddcc_k$ = function (_set____db54di) {
    this.cbIndentLevel_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbIndentLevel_ss1m8_k$ = function () {
    return this.cbIndentLevel_1;
  };
  protoOf(CourseBlock).set_cbModuleParentBlockUid_5us6sp_k$ = function (_set____db54di) {
    this.cbModuleParentBlockUid_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbModuleParentBlockUid_kgmwbj_k$ = function () {
    return this.cbModuleParentBlockUid_1;
  };
  protoOf(CourseBlock).set_cbTitle_bruk91_k$ = function (_set____db54di) {
    this.cbTitle_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbTitle_ag03f4_k$ = function () {
    return this.cbTitle_1;
  };
  protoOf(CourseBlock).set_cbDescription_l0w0bt_k$ = function (_set____db54di) {
    this.cbDescription_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbDescription_asqepg_k$ = function () {
    return this.cbDescription_1;
  };
  protoOf(CourseBlock).set_cbCompletionCriteria_jl4izz_k$ = function (_set____db54di) {
    this.cbCompletionCriteria_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbCompletionCriteria_u1vf4z_k$ = function () {
    return this.cbCompletionCriteria_1;
  };
  protoOf(CourseBlock).set_cbHideUntilDate_jhoca8_k$ = function (_set____db54di) {
    this.cbHideUntilDate_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbHideUntilDate_7s19tu_k$ = function () {
    return this.cbHideUntilDate_1;
  };
  protoOf(CourseBlock).set_cbDeadlineDate_j15nic_k$ = function (_set____db54di) {
    this.cbDeadlineDate_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbDeadlineDate_nvh1aq_k$ = function () {
    return this.cbDeadlineDate_1;
  };
  protoOf(CourseBlock).set_cbLateSubmissionPenalty_spbtzh_k$ = function (_set____db54di) {
    this.cbLateSubmissionPenalty_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbLateSubmissionPenalty_1lsxv5_k$ = function () {
    return this.cbLateSubmissionPenalty_1;
  };
  protoOf(CourseBlock).set_cbGracePeriodDate_ynrpub_k$ = function (_set____db54di) {
    this.cbGracePeriodDate_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbGracePeriodDate_kapsrj_k$ = function () {
    return this.cbGracePeriodDate_1;
  };
  protoOf(CourseBlock).set_cbMaxPoints_fbqjqu_k$ = function (_set____db54di) {
    this.cbMaxPoints_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbMaxPoints_s83kbl_k$ = function () {
    return this.cbMaxPoints_1;
  };
  protoOf(CourseBlock).set_cbMinPoints_5fzt3w_k$ = function (_set____db54di) {
    this.cbMinPoints_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbMinPoints_fg6o1f_k$ = function () {
    return this.cbMinPoints_1;
  };
  protoOf(CourseBlock).set_cbIndex_grlur6_k$ = function (_set____db54di) {
    this.cbIndex_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbIndex_aa17t6_k$ = function () {
    return this.cbIndex_1;
  };
  protoOf(CourseBlock).set_cbClazzUid_79ru4q_k$ = function (_set____db54di) {
    this.cbClazzUid_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbClazzUid_8ps9nk_k$ = function () {
    return this.cbClazzUid_1;
  };
  protoOf(CourseBlock).set_cbClazzSourcedId_wwkfjj_k$ = function (_set____db54di) {
    this.cbClazzSourcedId_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbClazzSourcedId_4wy0j8_k$ = function () {
    return this.cbClazzSourcedId_1;
  };
  protoOf(CourseBlock).set_cbActive_isa26r_k$ = function (_set____db54di) {
    this.cbActive_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbActive_ukh3bi_k$ = function () {
    return this.cbActive_1;
  };
  protoOf(CourseBlock).set_cbHidden_de3tzl_k$ = function (_set____db54di) {
    this.cbHidden_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbHidden_xysvqq_k$ = function () {
    return this.cbHidden_1;
  };
  protoOf(CourseBlock).set_cbEntityUid_m0t7oz_k$ = function (_set____db54di) {
    this.cbEntityUid_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbEntityUid_tffl3v_k$ = function () {
    return this.cbEntityUid_1;
  };
  protoOf(CourseBlock).set_cbLct_ibdrxf_k$ = function (_set____db54di) {
    this.cbLct_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbLct_ipl9zp_k$ = function () {
    return this.cbLct_1;
  };
  protoOf(CourseBlock).set_cbSourcedId_jrt4y9_k$ = function (_set____db54di) {
    this.cbSourcedId_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbSourcedId_pret24_k$ = function () {
    return this.cbSourcedId_1;
  };
  protoOf(CourseBlock).set_cbMetadata_bvbmlo_k$ = function (_set____db54di) {
    this.cbMetadata_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbMetadata_aacz49_k$ = function () {
    return this.cbMetadata_1;
  };
  protoOf(CourseBlock).set_cbCreatedByAppId_3wodr6_k$ = function (_set____db54di) {
    this.cbCreatedByAppId_1 = _set____db54di;
  };
  protoOf(CourseBlock).get_cbCreatedByAppId_1p8i63_k$ = function () {
    return this.cbCreatedByAppId_1;
  };
  protoOf(CourseBlock).component1_7eebsc_k$ = function () {
    return this.cbUid_1;
  };
  protoOf(CourseBlock).component2_7eebsb_k$ = function () {
    return this.cbType_1;
  };
  protoOf(CourseBlock).component3_7eebsa_k$ = function () {
    return this.cbIndentLevel_1;
  };
  protoOf(CourseBlock).component4_7eebs9_k$ = function () {
    return this.cbModuleParentBlockUid_1;
  };
  protoOf(CourseBlock).component5_7eebs8_k$ = function () {
    return this.cbTitle_1;
  };
  protoOf(CourseBlock).component6_7eebs7_k$ = function () {
    return this.cbDescription_1;
  };
  protoOf(CourseBlock).component7_7eebs6_k$ = function () {
    return this.cbCompletionCriteria_1;
  };
  protoOf(CourseBlock).component8_7eebs5_k$ = function () {
    return this.cbHideUntilDate_1;
  };
  protoOf(CourseBlock).component9_7eebs4_k$ = function () {
    return this.cbDeadlineDate_1;
  };
  protoOf(CourseBlock).component10_gazzfo_k$ = function () {
    return this.cbLateSubmissionPenalty_1;
  };
  protoOf(CourseBlock).component11_gazzfn_k$ = function () {
    return this.cbGracePeriodDate_1;
  };
  protoOf(CourseBlock).component12_gazzfm_k$ = function () {
    return this.cbMaxPoints_1;
  };
  protoOf(CourseBlock).component13_gazzfl_k$ = function () {
    return this.cbMinPoints_1;
  };
  protoOf(CourseBlock).component14_gazzfk_k$ = function () {
    return this.cbIndex_1;
  };
  protoOf(CourseBlock).component15_gazzfj_k$ = function () {
    return this.cbClazzUid_1;
  };
  protoOf(CourseBlock).component16_gazzfi_k$ = function () {
    return this.cbClazzSourcedId_1;
  };
  protoOf(CourseBlock).component17_gazzfh_k$ = function () {
    return this.cbActive_1;
  };
  protoOf(CourseBlock).component18_gazzfg_k$ = function () {
    return this.cbHidden_1;
  };
  protoOf(CourseBlock).component19_gazzff_k$ = function () {
    return this.cbEntityUid_1;
  };
  protoOf(CourseBlock).component20_gazzet_k$ = function () {
    return this.cbLct_1;
  };
  protoOf(CourseBlock).component21_gazzes_k$ = function () {
    return this.cbSourcedId_1;
  };
  protoOf(CourseBlock).component22_gazzer_k$ = function () {
    return this.cbMetadata_1;
  };
  protoOf(CourseBlock).component23_gazzeq_k$ = function () {
    return this.cbCreatedByAppId_1;
  };
  protoOf(CourseBlock).copy_ailcax_k$ = function (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) {
    return new CourseBlock(cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId);
  };
  protoOf(CourseBlock).copy$default_rhvmtp_k$ = function (cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId, $super) {
    cbUid = cbUid === VOID ? this.cbUid_1 : cbUid;
    cbType = cbType === VOID ? this.cbType_1 : cbType;
    cbIndentLevel = cbIndentLevel === VOID ? this.cbIndentLevel_1 : cbIndentLevel;
    cbModuleParentBlockUid = cbModuleParentBlockUid === VOID ? this.cbModuleParentBlockUid_1 : cbModuleParentBlockUid;
    cbTitle = cbTitle === VOID ? this.cbTitle_1 : cbTitle;
    cbDescription = cbDescription === VOID ? this.cbDescription_1 : cbDescription;
    cbCompletionCriteria = cbCompletionCriteria === VOID ? this.cbCompletionCriteria_1 : cbCompletionCriteria;
    cbHideUntilDate = cbHideUntilDate === VOID ? this.cbHideUntilDate_1 : cbHideUntilDate;
    cbDeadlineDate = cbDeadlineDate === VOID ? this.cbDeadlineDate_1 : cbDeadlineDate;
    cbLateSubmissionPenalty = cbLateSubmissionPenalty === VOID ? this.cbLateSubmissionPenalty_1 : cbLateSubmissionPenalty;
    cbGracePeriodDate = cbGracePeriodDate === VOID ? this.cbGracePeriodDate_1 : cbGracePeriodDate;
    cbMaxPoints = cbMaxPoints === VOID ? this.cbMaxPoints_1 : cbMaxPoints;
    cbMinPoints = cbMinPoints === VOID ? this.cbMinPoints_1 : cbMinPoints;
    cbIndex = cbIndex === VOID ? this.cbIndex_1 : cbIndex;
    cbClazzUid = cbClazzUid === VOID ? this.cbClazzUid_1 : cbClazzUid;
    cbClazzSourcedId = cbClazzSourcedId === VOID ? this.cbClazzSourcedId_1 : cbClazzSourcedId;
    cbActive = cbActive === VOID ? this.cbActive_1 : cbActive;
    cbHidden = cbHidden === VOID ? this.cbHidden_1 : cbHidden;
    cbEntityUid = cbEntityUid === VOID ? this.cbEntityUid_1 : cbEntityUid;
    cbLct = cbLct === VOID ? this.cbLct_1 : cbLct;
    cbSourcedId = cbSourcedId === VOID ? this.cbSourcedId_1 : cbSourcedId;
    cbMetadata = cbMetadata === VOID ? this.cbMetadata_1 : cbMetadata;
    cbCreatedByAppId = cbCreatedByAppId === VOID ? this.cbCreatedByAppId_1 : cbCreatedByAppId;
    return $super === VOID ? this.copy_ailcax_k$(cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId) : $super.copy_ailcax_k$.call(this, cbUid, cbType, cbIndentLevel, cbModuleParentBlockUid, cbTitle, cbDescription, cbCompletionCriteria, cbHideUntilDate, cbDeadlineDate, cbLateSubmissionPenalty, cbGracePeriodDate, cbMaxPoints, cbMinPoints, cbIndex, cbClazzUid, cbClazzSourcedId, cbActive, cbHidden, cbEntityUid, cbLct, cbSourcedId, cbMetadata, cbCreatedByAppId);
  };
  protoOf(CourseBlock).toString = function () {
    return 'CourseBlock(cbUid=' + this.cbUid_1.toString() + ', cbType=' + this.cbType_1 + ', cbIndentLevel=' + this.cbIndentLevel_1 + ', cbModuleParentBlockUid=' + this.cbModuleParentBlockUid_1.toString() + ', cbTitle=' + this.cbTitle_1 + ', cbDescription=' + this.cbDescription_1 + ', cbCompletionCriteria=' + this.cbCompletionCriteria_1 + ', cbHideUntilDate=' + this.cbHideUntilDate_1.toString() + ', cbDeadlineDate=' + this.cbDeadlineDate_1.toString() + ', cbLateSubmissionPenalty=' + this.cbLateSubmissionPenalty_1 + ', cbGracePeriodDate=' + this.cbGracePeriodDate_1.toString() + ', cbMaxPoints=' + this.cbMaxPoints_1 + ', cbMinPoints=' + this.cbMinPoints_1 + ', cbIndex=' + this.cbIndex_1 + ', cbClazzUid=' + this.cbClazzUid_1.toString() + ', cbClazzSourcedId=' + this.cbClazzSourcedId_1 + ', cbActive=' + this.cbActive_1 + ', cbHidden=' + this.cbHidden_1 + ', cbEntityUid=' + this.cbEntityUid_1.toString() + ', cbLct=' + this.cbLct_1.toString() + ', cbSourcedId=' + this.cbSourcedId_1 + ', cbMetadata=' + this.cbMetadata_1 + ', cbCreatedByAppId=' + this.cbCreatedByAppId_1 + ')';
  };
  protoOf(CourseBlock).hashCode = function () {
    var result = this.cbUid_1.hashCode();
    result = imul(result, 31) + this.cbType_1 | 0;
    result = imul(result, 31) + this.cbIndentLevel_1 | 0;
    result = imul(result, 31) + this.cbModuleParentBlockUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.cbTitle_1 == null ? 0 : getStringHashCode(this.cbTitle_1)) | 0;
    result = imul(result, 31) + (this.cbDescription_1 == null ? 0 : getStringHashCode(this.cbDescription_1)) | 0;
    result = imul(result, 31) + this.cbCompletionCriteria_1 | 0;
    result = imul(result, 31) + this.cbHideUntilDate_1.hashCode() | 0;
    result = imul(result, 31) + this.cbDeadlineDate_1.hashCode() | 0;
    result = imul(result, 31) + this.cbLateSubmissionPenalty_1 | 0;
    result = imul(result, 31) + this.cbGracePeriodDate_1.hashCode() | 0;
    result = imul(result, 31) + (this.cbMaxPoints_1 == null ? 0 : getNumberHashCode(this.cbMaxPoints_1)) | 0;
    result = imul(result, 31) + (this.cbMinPoints_1 == null ? 0 : getNumberHashCode(this.cbMinPoints_1)) | 0;
    result = imul(result, 31) + this.cbIndex_1 | 0;
    result = imul(result, 31) + this.cbClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.cbClazzSourcedId_1 == null ? 0 : getStringHashCode(this.cbClazzSourcedId_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.cbActive_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.cbHidden_1) | 0;
    result = imul(result, 31) + this.cbEntityUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cbLct_1.hashCode() | 0;
    result = imul(result, 31) + (this.cbSourcedId_1 == null ? 0 : getStringHashCode(this.cbSourcedId_1)) | 0;
    result = imul(result, 31) + (this.cbMetadata_1 == null ? 0 : getStringHashCode(this.cbMetadata_1)) | 0;
    result = imul(result, 31) + (this.cbCreatedByAppId_1 == null ? 0 : getStringHashCode(this.cbCreatedByAppId_1)) | 0;
    return result;
  };
  protoOf(CourseBlock).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlock))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlock ? other : THROW_CCE();
    if (!this.cbUid_1.equals(tmp0_other_with_cast.cbUid_1))
      return false;
    if (!(this.cbType_1 === tmp0_other_with_cast.cbType_1))
      return false;
    if (!(this.cbIndentLevel_1 === tmp0_other_with_cast.cbIndentLevel_1))
      return false;
    if (!this.cbModuleParentBlockUid_1.equals(tmp0_other_with_cast.cbModuleParentBlockUid_1))
      return false;
    if (!(this.cbTitle_1 == tmp0_other_with_cast.cbTitle_1))
      return false;
    if (!(this.cbDescription_1 == tmp0_other_with_cast.cbDescription_1))
      return false;
    if (!(this.cbCompletionCriteria_1 === tmp0_other_with_cast.cbCompletionCriteria_1))
      return false;
    if (!this.cbHideUntilDate_1.equals(tmp0_other_with_cast.cbHideUntilDate_1))
      return false;
    if (!this.cbDeadlineDate_1.equals(tmp0_other_with_cast.cbDeadlineDate_1))
      return false;
    if (!(this.cbLateSubmissionPenalty_1 === tmp0_other_with_cast.cbLateSubmissionPenalty_1))
      return false;
    if (!this.cbGracePeriodDate_1.equals(tmp0_other_with_cast.cbGracePeriodDate_1))
      return false;
    if (!equals(this.cbMaxPoints_1, tmp0_other_with_cast.cbMaxPoints_1))
      return false;
    if (!equals(this.cbMinPoints_1, tmp0_other_with_cast.cbMinPoints_1))
      return false;
    if (!(this.cbIndex_1 === tmp0_other_with_cast.cbIndex_1))
      return false;
    if (!this.cbClazzUid_1.equals(tmp0_other_with_cast.cbClazzUid_1))
      return false;
    if (!(this.cbClazzSourcedId_1 == tmp0_other_with_cast.cbClazzSourcedId_1))
      return false;
    if (!(this.cbActive_1 === tmp0_other_with_cast.cbActive_1))
      return false;
    if (!(this.cbHidden_1 === tmp0_other_with_cast.cbHidden_1))
      return false;
    if (!this.cbEntityUid_1.equals(tmp0_other_with_cast.cbEntityUid_1))
      return false;
    if (!this.cbLct_1.equals(tmp0_other_with_cast.cbLct_1))
      return false;
    if (!(this.cbSourcedId_1 == tmp0_other_with_cast.cbSourcedId_1))
      return false;
    if (!(this.cbMetadata_1 == tmp0_other_with_cast.cbMetadata_1))
      return false;
    if (!(this.cbCreatedByAppId_1 == tmp0_other_with_cast.cbCreatedByAppId_1))
      return false;
    return true;
  };
  function Companion_79() {
    Companion_instance_79 = this;
    this.TABLE_ID_1 = 6677;
  }
  protoOf(Companion_79).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_79).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_77();
  };
  var Companion_instance_79;
  function Companion_getInstance_81() {
    if (Companion_instance_79 == null)
      new Companion_79();
    return Companion_instance_79;
  }
  function $serializer_77() {
    $serializer_instance_77 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseBlockPicture', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('cbpUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbpLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbpPictureUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cbpThumbnailUri', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_77).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_77).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_77).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseBlockPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_77).serialize_dryzec_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cbpUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cbpUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cbpLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cbpLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cbpPictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.cbpPictureUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cbpThumbnailUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.cbpThumbnailUri_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_77).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_dryzec_k$(encoder, value instanceof CourseBlockPicture ? value : THROW_CCE());
  };
  var $serializer_instance_77;
  function $serializer_getInstance_77() {
    if ($serializer_instance_77 == null)
      new $serializer_77();
    return $serializer_instance_77;
  }
  function CourseBlockPicture_init_$Init$(seen1, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_77().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cbpUid_1 = new Long(0, 0);
    else
      $this.cbpUid_1 = cbpUid;
    if (0 === (seen1 & 2))
      $this.cbpLct_1 = new Long(0, 0);
    else
      $this.cbpLct_1 = cbpLct;
    if (0 === (seen1 & 4))
      $this.cbpPictureUri_1 = null;
    else
      $this.cbpPictureUri_1 = cbpPictureUri;
    if (0 === (seen1 & 8))
      $this.cbpThumbnailUri_1 = null;
    else
      $this.cbpThumbnailUri_1 = cbpThumbnailUri;
    return $this;
  }
  function CourseBlockPicture_init_$Create$(seen1, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, serializationConstructorMarker) {
    return CourseBlockPicture_init_$Init$(seen1, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, serializationConstructorMarker, objectCreate(protoOf(CourseBlockPicture)));
  }
  function CourseBlockPicture(cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) {
    Companion_getInstance_81();
    cbpUid = cbpUid === VOID ? new Long(0, 0) : cbpUid;
    cbpLct = cbpLct === VOID ? new Long(0, 0) : cbpLct;
    cbpPictureUri = cbpPictureUri === VOID ? null : cbpPictureUri;
    cbpThumbnailUri = cbpThumbnailUri === VOID ? null : cbpThumbnailUri;
    this.cbpUid_1 = cbpUid;
    this.cbpLct_1 = cbpLct;
    this.cbpPictureUri_1 = cbpPictureUri;
    this.cbpThumbnailUri_1 = cbpThumbnailUri;
  }
  protoOf(CourseBlockPicture).set_cbpUid_m5d5ky_k$ = function (_set____db54di) {
    this.cbpUid_1 = _set____db54di;
  };
  protoOf(CourseBlockPicture).get_cbpUid_bt1uw8_k$ = function () {
    return this.cbpUid_1;
  };
  protoOf(CourseBlockPicture).set_cbpLct_uinxjp_k$ = function (_set____db54di) {
    this.cbpLct_1 = _set____db54di;
  };
  protoOf(CourseBlockPicture).get_cbpLct_bt1o39_k$ = function () {
    return this.cbpLct_1;
  };
  protoOf(CourseBlockPicture).set_cbpPictureUri_1ihaej_k$ = function (_set____db54di) {
    this.cbpPictureUri_1 = _set____db54di;
  };
  protoOf(CourseBlockPicture).get_cbpPictureUri_stohti_k$ = function () {
    return this.cbpPictureUri_1;
  };
  protoOf(CourseBlockPicture).set_cbpThumbnailUri_omc7nn_k$ = function (_set____db54di) {
    this.cbpThumbnailUri_1 = _set____db54di;
  };
  protoOf(CourseBlockPicture).get_cbpThumbnailUri_5hy4js_k$ = function () {
    return this.cbpThumbnailUri_1;
  };
  protoOf(CourseBlockPicture).component1_7eebsc_k$ = function () {
    return this.cbpUid_1;
  };
  protoOf(CourseBlockPicture).component2_7eebsb_k$ = function () {
    return this.cbpLct_1;
  };
  protoOf(CourseBlockPicture).component3_7eebsa_k$ = function () {
    return this.cbpPictureUri_1;
  };
  protoOf(CourseBlockPicture).component4_7eebs9_k$ = function () {
    return this.cbpThumbnailUri_1;
  };
  protoOf(CourseBlockPicture).copy_wdqa93_k$ = function (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) {
    return new CourseBlockPicture(cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri);
  };
  protoOf(CourseBlockPicture).copy$default_gigcpw_k$ = function (cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri, $super) {
    cbpUid = cbpUid === VOID ? this.cbpUid_1 : cbpUid;
    cbpLct = cbpLct === VOID ? this.cbpLct_1 : cbpLct;
    cbpPictureUri = cbpPictureUri === VOID ? this.cbpPictureUri_1 : cbpPictureUri;
    cbpThumbnailUri = cbpThumbnailUri === VOID ? this.cbpThumbnailUri_1 : cbpThumbnailUri;
    return $super === VOID ? this.copy_wdqa93_k$(cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri) : $super.copy_wdqa93_k$.call(this, cbpUid, cbpLct, cbpPictureUri, cbpThumbnailUri);
  };
  protoOf(CourseBlockPicture).toString = function () {
    return 'CourseBlockPicture(cbpUid=' + this.cbpUid_1.toString() + ', cbpLct=' + this.cbpLct_1.toString() + ', cbpPictureUri=' + this.cbpPictureUri_1 + ', cbpThumbnailUri=' + this.cbpThumbnailUri_1 + ')';
  };
  protoOf(CourseBlockPicture).hashCode = function () {
    var result = this.cbpUid_1.hashCode();
    result = imul(result, 31) + this.cbpLct_1.hashCode() | 0;
    result = imul(result, 31) + (this.cbpPictureUri_1 == null ? 0 : getStringHashCode(this.cbpPictureUri_1)) | 0;
    result = imul(result, 31) + (this.cbpThumbnailUri_1 == null ? 0 : getStringHashCode(this.cbpThumbnailUri_1)) | 0;
    return result;
  };
  protoOf(CourseBlockPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseBlockPicture))
      return false;
    var tmp0_other_with_cast = other instanceof CourseBlockPicture ? other : THROW_CCE();
    if (!this.cbpUid_1.equals(tmp0_other_with_cast.cbpUid_1))
      return false;
    if (!this.cbpLct_1.equals(tmp0_other_with_cast.cbpLct_1))
      return false;
    if (!(this.cbpPictureUri_1 == tmp0_other_with_cast.cbpPictureUri_1))
      return false;
    if (!(this.cbpThumbnailUri_1 == tmp0_other_with_cast.cbpThumbnailUri_1))
      return false;
    return true;
  };
  function Companion_80() {
    Companion_instance_80 = this;
    this.TABLE_ID_1 = 243;
  }
  protoOf(Companion_80).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_80).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_78();
  };
  var Companion_instance_80;
  function Companion_getInstance_82() {
    if (Companion_instance_80 == null)
      new Companion_80();
    return Companion_instance_80;
  }
  function $serializer_78() {
    $serializer_instance_78 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseGroupMember', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('cgmUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgmSetUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgmGroupNumber', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgmPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgmLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_78).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_78).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_78).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseGroupMember_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_78).serialize_vu238w_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cgmUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cgmUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cgmSetUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cgmSetUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cgmGroupNumber_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.cgmGroupNumber_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.cgmPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.cgmPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.cgmLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.cgmLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_78).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_vu238w_k$(encoder, value instanceof CourseGroupMember ? value : THROW_CCE());
  };
  var $serializer_instance_78;
  function $serializer_getInstance_78() {
    if ($serializer_instance_78 == null)
      new $serializer_78();
    return $serializer_instance_78;
  }
  function CourseGroupMember_init_$Init$(seen1, cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_78().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cgmUid_1 = new Long(0, 0);
    else
      $this.cgmUid_1 = cgmUid;
    if (0 === (seen1 & 2))
      $this.cgmSetUid_1 = new Long(0, 0);
    else
      $this.cgmSetUid_1 = cgmSetUid;
    if (0 === (seen1 & 4))
      $this.cgmGroupNumber_1 = 0;
    else
      $this.cgmGroupNumber_1 = cgmGroupNumber;
    if (0 === (seen1 & 8))
      $this.cgmPersonUid_1 = new Long(0, 0);
    else
      $this.cgmPersonUid_1 = cgmPersonUid;
    if (0 === (seen1 & 16))
      $this.cgmLct_1 = new Long(0, 0);
    else
      $this.cgmLct_1 = cgmLct;
    return $this;
  }
  function CourseGroupMember_init_$Create$(seen1, cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct, serializationConstructorMarker) {
    return CourseGroupMember_init_$Init$(seen1, cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct, serializationConstructorMarker, objectCreate(protoOf(CourseGroupMember)));
  }
  function CourseGroupMember(cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) {
    Companion_getInstance_82();
    cgmUid = cgmUid === VOID ? new Long(0, 0) : cgmUid;
    cgmSetUid = cgmSetUid === VOID ? new Long(0, 0) : cgmSetUid;
    cgmGroupNumber = cgmGroupNumber === VOID ? 0 : cgmGroupNumber;
    cgmPersonUid = cgmPersonUid === VOID ? new Long(0, 0) : cgmPersonUid;
    cgmLct = cgmLct === VOID ? new Long(0, 0) : cgmLct;
    this.cgmUid_1 = cgmUid;
    this.cgmSetUid_1 = cgmSetUid;
    this.cgmGroupNumber_1 = cgmGroupNumber;
    this.cgmPersonUid_1 = cgmPersonUid;
    this.cgmLct_1 = cgmLct;
  }
  protoOf(CourseGroupMember).set_cgmUid_ev2k12_k$ = function (_set____db54di) {
    this.cgmUid_1 = _set____db54di;
  };
  protoOf(CourseGroupMember).get_cgmUid_bvqwwg_k$ = function () {
    return this.cgmUid_1;
  };
  protoOf(CourseGroupMember).set_cgmSetUid_59g4u4_k$ = function (_set____db54di) {
    this.cgmSetUid_1 = _set____db54di;
  };
  protoOf(CourseGroupMember).get_cgmSetUid_p0svym_k$ = function () {
    return this.cgmSetUid_1;
  };
  protoOf(CourseGroupMember).set_cgmGroupNumber_dn01qs_k$ = function (_set____db54di) {
    this.cgmGroupNumber_1 = _set____db54di;
  };
  protoOf(CourseGroupMember).get_cgmGroupNumber_t9dymw_k$ = function () {
    return this.cgmGroupNumber_1;
  };
  protoOf(CourseGroupMember).set_cgmPersonUid_6dl15b_k$ = function (_set____db54di) {
    this.cgmPersonUid_1 = _set____db54di;
  };
  protoOf(CourseGroupMember).get_cgmPersonUid_qqbtdx_k$ = function () {
    return this.cgmPersonUid_1;
  };
  protoOf(CourseGroupMember).set_cgmLct_6hrs2b_k$ = function (_set____db54di) {
    this.cgmLct_1 = _set____db54di;
  };
  protoOf(CourseGroupMember).get_cgmLct_bvqq3h_k$ = function () {
    return this.cgmLct_1;
  };
  protoOf(CourseGroupMember).component1_7eebsc_k$ = function () {
    return this.cgmUid_1;
  };
  protoOf(CourseGroupMember).component2_7eebsb_k$ = function () {
    return this.cgmSetUid_1;
  };
  protoOf(CourseGroupMember).component3_7eebsa_k$ = function () {
    return this.cgmGroupNumber_1;
  };
  protoOf(CourseGroupMember).component4_7eebs9_k$ = function () {
    return this.cgmPersonUid_1;
  };
  protoOf(CourseGroupMember).component5_7eebs8_k$ = function () {
    return this.cgmLct_1;
  };
  protoOf(CourseGroupMember).copy_qw00n1_k$ = function (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) {
    return new CourseGroupMember(cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct);
  };
  protoOf(CourseGroupMember).copy$default_syjnd5_k$ = function (cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct, $super) {
    cgmUid = cgmUid === VOID ? this.cgmUid_1 : cgmUid;
    cgmSetUid = cgmSetUid === VOID ? this.cgmSetUid_1 : cgmSetUid;
    cgmGroupNumber = cgmGroupNumber === VOID ? this.cgmGroupNumber_1 : cgmGroupNumber;
    cgmPersonUid = cgmPersonUid === VOID ? this.cgmPersonUid_1 : cgmPersonUid;
    cgmLct = cgmLct === VOID ? this.cgmLct_1 : cgmLct;
    return $super === VOID ? this.copy_qw00n1_k$(cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct) : $super.copy_qw00n1_k$.call(this, cgmUid, cgmSetUid, cgmGroupNumber, cgmPersonUid, cgmLct);
  };
  protoOf(CourseGroupMember).toString = function () {
    return 'CourseGroupMember(cgmUid=' + this.cgmUid_1.toString() + ', cgmSetUid=' + this.cgmSetUid_1.toString() + ', cgmGroupNumber=' + this.cgmGroupNumber_1 + ', cgmPersonUid=' + this.cgmPersonUid_1.toString() + ', cgmLct=' + this.cgmLct_1.toString() + ')';
  };
  protoOf(CourseGroupMember).hashCode = function () {
    var result = this.cgmUid_1.hashCode();
    result = imul(result, 31) + this.cgmSetUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cgmGroupNumber_1 | 0;
    result = imul(result, 31) + this.cgmPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cgmLct_1.hashCode() | 0;
    return result;
  };
  protoOf(CourseGroupMember).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseGroupMember))
      return false;
    var tmp0_other_with_cast = other instanceof CourseGroupMember ? other : THROW_CCE();
    if (!this.cgmUid_1.equals(tmp0_other_with_cast.cgmUid_1))
      return false;
    if (!this.cgmSetUid_1.equals(tmp0_other_with_cast.cgmSetUid_1))
      return false;
    if (!(this.cgmGroupNumber_1 === tmp0_other_with_cast.cgmGroupNumber_1))
      return false;
    if (!this.cgmPersonUid_1.equals(tmp0_other_with_cast.cgmPersonUid_1))
      return false;
    if (!this.cgmLct_1.equals(tmp0_other_with_cast.cgmLct_1))
      return false;
    return true;
  };
  function Companion_81() {
    Companion_instance_81 = this;
  }
  protoOf(Companion_81).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_79();
  };
  var Companion_instance_81;
  function Companion_getInstance_83() {
    if (Companion_instance_81 == null)
      new Companion_81();
    return Companion_instance_81;
  }
  function $serializer_79() {
    $serializer_instance_79 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseGroupMemberAndName', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('cgm', true);
    tmp0_serialDesc.addElement_5pzumi_k$('name', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('enrolmentIsActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('pictureUri', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_79).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_79).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_78()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_79).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = false;
    var tmp8_local4 = null;
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_78(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_78(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseGroupMemberAndName_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_79).serialize_4bl4r0_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.cgm_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_78(), value.cgm_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.name_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.name_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.personUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.personUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.enrolmentIsActive_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 3, value.enrolmentIsActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.pictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.pictureUri_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_79).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_4bl4r0_k$(encoder, value instanceof CourseGroupMemberAndName ? value : THROW_CCE());
  };
  var $serializer_instance_79;
  function $serializer_getInstance_79() {
    if ($serializer_instance_79 == null)
      new $serializer_79();
    return $serializer_instance_79;
  }
  function CourseGroupMemberAndName_init_$Init$(seen1, cgm, name, personUid, enrolmentIsActive, pictureUri, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_79().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cgm_1 = null;
    else
      $this.cgm_1 = cgm;
    if (0 === (seen1 & 2))
      $this.name_1 = null;
    else
      $this.name_1 = name;
    if (0 === (seen1 & 4))
      $this.personUid_1 = new Long(0, 0);
    else
      $this.personUid_1 = personUid;
    if (0 === (seen1 & 8))
      $this.enrolmentIsActive_1 = false;
    else
      $this.enrolmentIsActive_1 = enrolmentIsActive;
    if (0 === (seen1 & 16))
      $this.pictureUri_1 = null;
    else
      $this.pictureUri_1 = pictureUri;
    return $this;
  }
  function CourseGroupMemberAndName_init_$Create$(seen1, cgm, name, personUid, enrolmentIsActive, pictureUri, serializationConstructorMarker) {
    return CourseGroupMemberAndName_init_$Init$(seen1, cgm, name, personUid, enrolmentIsActive, pictureUri, serializationConstructorMarker, objectCreate(protoOf(CourseGroupMemberAndName)));
  }
  function CourseGroupMemberAndName(cgm, name, personUid, enrolmentIsActive, pictureUri) {
    Companion_getInstance_83();
    cgm = cgm === VOID ? null : cgm;
    name = name === VOID ? null : name;
    personUid = personUid === VOID ? new Long(0, 0) : personUid;
    enrolmentIsActive = enrolmentIsActive === VOID ? false : enrolmentIsActive;
    pictureUri = pictureUri === VOID ? null : pictureUri;
    this.cgm_1 = cgm;
    this.name_1 = name;
    this.personUid_1 = personUid;
    this.enrolmentIsActive_1 = enrolmentIsActive;
    this.pictureUri_1 = pictureUri;
  }
  protoOf(CourseGroupMemberAndName).set_cgm_8hk7qi_k$ = function (_set____db54di) {
    this.cgm_1 = _set____db54di;
  };
  protoOf(CourseGroupMemberAndName).get_cgm_18j84g_k$ = function () {
    return this.cgm_1;
  };
  protoOf(CourseGroupMemberAndName).set_name_wkmnld_k$ = function (_set____db54di) {
    this.name_1 = _set____db54di;
  };
  protoOf(CourseGroupMemberAndName).get_name_woqyms_k$ = function () {
    return this.name_1;
  };
  protoOf(CourseGroupMemberAndName).set_personUid_j3idds_k$ = function (_set____db54di) {
    this.personUid_1 = _set____db54di;
  };
  protoOf(CourseGroupMemberAndName).get_personUid_mmhd76_k$ = function () {
    return this.personUid_1;
  };
  protoOf(CourseGroupMemberAndName).set_enrolmentIsActive_qmxdoi_k$ = function (_set____db54di) {
    this.enrolmentIsActive_1 = _set____db54di;
  };
  protoOf(CourseGroupMemberAndName).get_enrolmentIsActive_5hix1x_k$ = function () {
    return this.enrolmentIsActive_1;
  };
  protoOf(CourseGroupMemberAndName).set_pictureUri_ldxxh0_k$ = function (_set____db54di) {
    this.pictureUri_1 = _set____db54di;
  };
  protoOf(CourseGroupMemberAndName).get_pictureUri_oz22hj_k$ = function () {
    return this.pictureUri_1;
  };
  protoOf(CourseGroupMemberAndName).component1_7eebsc_k$ = function () {
    return this.cgm_1;
  };
  protoOf(CourseGroupMemberAndName).component2_7eebsb_k$ = function () {
    return this.name_1;
  };
  protoOf(CourseGroupMemberAndName).component3_7eebsa_k$ = function () {
    return this.personUid_1;
  };
  protoOf(CourseGroupMemberAndName).component4_7eebs9_k$ = function () {
    return this.enrolmentIsActive_1;
  };
  protoOf(CourseGroupMemberAndName).component5_7eebs8_k$ = function () {
    return this.pictureUri_1;
  };
  protoOf(CourseGroupMemberAndName).copy_fywj1k_k$ = function (cgm, name, personUid, enrolmentIsActive, pictureUri) {
    return new CourseGroupMemberAndName(cgm, name, personUid, enrolmentIsActive, pictureUri);
  };
  protoOf(CourseGroupMemberAndName).copy$default_e6q3c8_k$ = function (cgm, name, personUid, enrolmentIsActive, pictureUri, $super) {
    cgm = cgm === VOID ? this.cgm_1 : cgm;
    name = name === VOID ? this.name_1 : name;
    personUid = personUid === VOID ? this.personUid_1 : personUid;
    enrolmentIsActive = enrolmentIsActive === VOID ? this.enrolmentIsActive_1 : enrolmentIsActive;
    pictureUri = pictureUri === VOID ? this.pictureUri_1 : pictureUri;
    return $super === VOID ? this.copy_fywj1k_k$(cgm, name, personUid, enrolmentIsActive, pictureUri) : $super.copy_fywj1k_k$.call(this, cgm, name, personUid, enrolmentIsActive, pictureUri);
  };
  protoOf(CourseGroupMemberAndName).toString = function () {
    return 'CourseGroupMemberAndName(cgm=' + this.cgm_1 + ', name=' + this.name_1 + ', personUid=' + this.personUid_1.toString() + ', enrolmentIsActive=' + this.enrolmentIsActive_1 + ', pictureUri=' + this.pictureUri_1 + ')';
  };
  protoOf(CourseGroupMemberAndName).hashCode = function () {
    var result = this.cgm_1 == null ? 0 : this.cgm_1.hashCode();
    result = imul(result, 31) + (this.name_1 == null ? 0 : getStringHashCode(this.name_1)) | 0;
    result = imul(result, 31) + this.personUid_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.enrolmentIsActive_1) | 0;
    result = imul(result, 31) + (this.pictureUri_1 == null ? 0 : getStringHashCode(this.pictureUri_1)) | 0;
    return result;
  };
  protoOf(CourseGroupMemberAndName).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CourseGroupMemberAndName))
      return false;
    var tmp0_other_with_cast = other instanceof CourseGroupMemberAndName ? other : THROW_CCE();
    if (!equals(this.cgm_1, tmp0_other_with_cast.cgm_1))
      return false;
    if (!(this.name_1 == tmp0_other_with_cast.name_1))
      return false;
    if (!this.personUid_1.equals(tmp0_other_with_cast.personUid_1))
      return false;
    if (!(this.enrolmentIsActive_1 === tmp0_other_with_cast.enrolmentIsActive_1))
      return false;
    if (!(this.pictureUri_1 == tmp0_other_with_cast.pictureUri_1))
      return false;
    return true;
  };
  function Companion_82() {
    Companion_instance_82 = this;
    this.TABLE_ID_1 = 242;
  }
  protoOf(Companion_82).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_82).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_80();
  };
  var Companion_instance_82;
  function Companion_getInstance_84() {
    if (Companion_instance_82 == null)
      new Companion_82();
    return Companion_instance_82;
  }
  function $serializer_80() {
    $serializer_instance_80 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseGroupSet', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('cgsUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgsName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgsTotalGroups', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgsActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgsClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cgsLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_80).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_80).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_80).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseGroupSet_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_80).serialize_gyck2u_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cgsUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cgsUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.cgsName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.cgsName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.cgsTotalGroups_1 === 4)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.cgsTotalGroups_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cgsActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 3, value.cgsActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.cgsClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.cgsClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.cgsLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.cgsLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_80).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_gyck2u_k$(encoder, value instanceof CourseGroupSet ? value : THROW_CCE());
  };
  var $serializer_instance_80;
  function $serializer_getInstance_80() {
    if ($serializer_instance_80 == null)
      new $serializer_80();
    return $serializer_instance_80;
  }
  function CourseGroupSet_init_$Init$(seen1, cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_80().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cgsUid_1 = new Long(0, 0);
    else
      $this.cgsUid_1 = cgsUid;
    if (0 === (seen1 & 2))
      $this.cgsName_1 = null;
    else
      $this.cgsName_1 = cgsName;
    if (0 === (seen1 & 4))
      $this.cgsTotalGroups_1 = 4;
    else
      $this.cgsTotalGroups_1 = cgsTotalGroups;
    if (0 === (seen1 & 8))
      $this.cgsActive_1 = true;
    else
      $this.cgsActive_1 = cgsActive;
    if (0 === (seen1 & 16))
      $this.cgsClazzUid_1 = new Long(0, 0);
    else
      $this.cgsClazzUid_1 = cgsClazzUid;
    if (0 === (seen1 & 32))
      $this.cgsLct_1 = new Long(0, 0);
    else
      $this.cgsLct_1 = cgsLct;
    return $this;
  }
  function CourseGroupSet_init_$Create$(seen1, cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct, serializationConstructorMarker) {
    return CourseGroupSet_init_$Init$(seen1, cgsUid, cgsName, cgsTotalGroups, cgsActive, cgsClazzUid, cgsLct, serializationConstructorMarker, objectCreate(protoOf(CourseGroupSet)));
  }
  function CourseGroupSet() {
    Companion_getInstance_84();
    this.cgsUid_1 = new Long(0, 0);
    this.cgsName_1 = null;
    this.cgsTotalGroups_1 = 4;
    this.cgsActive_1 = true;
    this.cgsClazzUid_1 = new Long(0, 0);
    this.cgsLct_1 = new Long(0, 0);
  }
  protoOf(CourseGroupSet).set_cgsUid_diq868_k$ = function (_set____db54di) {
    this.cgsUid_1 = _set____db54di;
  };
  protoOf(CourseGroupSet).get_cgsUid_bvuqtm_k$ = function () {
    return this.cgsUid_1;
  };
  protoOf(CourseGroupSet).set_cgsName_c89ibq_k$ = function (_set____db54di) {
    this.cgsName_1 = _set____db54di;
  };
  protoOf(CourseGroupSet).get_cgsName_d9s72p_k$ = function () {
    return this.cgsName_1;
  };
  protoOf(CourseGroupSet).set_cgsTotalGroups_ytmo82_k$ = function (_set____db54di) {
    this.cgsTotalGroups_1 = _set____db54di;
  };
  protoOf(CourseGroupSet).get_cgsTotalGroups_qhxh6a_k$ = function () {
    return this.cgsTotalGroups_1;
  };
  protoOf(CourseGroupSet).set_cgsActive_il46il_k$ = function (_set____db54di) {
    this.cgsActive_1 = _set____db54di;
  };
  protoOf(CourseGroupSet).get_cgsActive_xi666k_k$ = function () {
    return this.cgsActive_1;
  };
  protoOf(CourseGroupSet).set_cgsClazzUid_5es9x0_k$ = function (_set____db54di) {
    this.cgsClazzUid_1 = _set____db54di;
  };
  protoOf(CourseGroupSet).get_cgsClazzUid_b08ici_k$ = function () {
    return this.cgsClazzUid_1;
  };
  protoOf(CourseGroupSet).set_cgsLct_55fg7h_k$ = function (_set____db54di) {
    this.cgsLct_1 = _set____db54di;
  };
  protoOf(CourseGroupSet).get_cgsLct_bvuk0n_k$ = function () {
    return this.cgsLct_1;
  };
  function Companion_83() {
    Companion_instance_83 = this;
    this.TABLE_ID_1 = 10012;
    this.TEACHER_DEFAULT_PERMISSIONS_1 = new Long(8703, 0);
    this.STUDENT_DEFAULT_PERMISSIONS_1 = new Long(8193, 0);
  }
  protoOf(Companion_83).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_83).get_TEACHER_DEFAULT_PERMISSIONS_tozqow_k$ = function () {
    return this.TEACHER_DEFAULT_PERMISSIONS_1;
  };
  protoOf(Companion_83).get_STUDENT_DEFAULT_PERMISSIONS_udg1tz_k$ = function () {
    return this.STUDENT_DEFAULT_PERMISSIONS_1;
  };
  protoOf(Companion_83).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_81();
  };
  var Companion_instance_83;
  function Companion_getInstance_85() {
    if (Companion_instance_83 == null)
      new Companion_83();
    return Companion_instance_83;
  }
  function $serializer_81() {
    $serializer_instance_81 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CoursePermission', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('cpUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cpLastModified', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cpClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cpToEnrolmentRole', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cpToPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cpToGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cpPermissionsFlag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('cpIsDeleted', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_81).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_81).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_81).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = false;
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CoursePermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_81).serialize_94ckj2_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.cpUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.cpUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.cpLastModified_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.cpLastModified_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.cpClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.cpClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.cpToEnrolmentRole_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.cpToEnrolmentRole_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.cpToPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.cpToPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.cpToGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.cpToGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.cpPermissionsFlag_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.cpPermissionsFlag_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.cpIsDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.cpIsDeleted_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_81).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_94ckj2_k$(encoder, value instanceof CoursePermission ? value : THROW_CCE());
  };
  var $serializer_instance_81;
  function $serializer_getInstance_81() {
    if ($serializer_instance_81 == null)
      new $serializer_81();
    return $serializer_instance_81;
  }
  function CoursePermission_init_$Init$(seen1, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_81().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.cpUid_1 = new Long(0, 0);
    else
      $this.cpUid_1 = cpUid;
    if (0 === (seen1 & 2))
      $this.cpLastModified_1 = new Long(0, 0);
    else
      $this.cpLastModified_1 = cpLastModified;
    if (0 === (seen1 & 4))
      $this.cpClazzUid_1 = new Long(0, 0);
    else
      $this.cpClazzUid_1 = cpClazzUid;
    if (0 === (seen1 & 8))
      $this.cpToEnrolmentRole_1 = 0;
    else
      $this.cpToEnrolmentRole_1 = cpToEnrolmentRole;
    if (0 === (seen1 & 16))
      $this.cpToPersonUid_1 = new Long(0, 0);
    else
      $this.cpToPersonUid_1 = cpToPersonUid;
    if (0 === (seen1 & 32))
      $this.cpToGroupUid_1 = new Long(0, 0);
    else
      $this.cpToGroupUid_1 = cpToGroupUid;
    if (0 === (seen1 & 64))
      $this.cpPermissionsFlag_1 = new Long(0, 0);
    else
      $this.cpPermissionsFlag_1 = cpPermissionsFlag;
    if (0 === (seen1 & 128))
      $this.cpIsDeleted_1 = false;
    else
      $this.cpIsDeleted_1 = cpIsDeleted;
    return $this;
  }
  function CoursePermission_init_$Create$(seen1, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, serializationConstructorMarker) {
    return CoursePermission_init_$Init$(seen1, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, serializationConstructorMarker, objectCreate(protoOf(CoursePermission)));
  }
  function CoursePermission(cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) {
    Companion_getInstance_85();
    cpUid = cpUid === VOID ? new Long(0, 0) : cpUid;
    cpLastModified = cpLastModified === VOID ? new Long(0, 0) : cpLastModified;
    cpClazzUid = cpClazzUid === VOID ? new Long(0, 0) : cpClazzUid;
    cpToEnrolmentRole = cpToEnrolmentRole === VOID ? 0 : cpToEnrolmentRole;
    cpToPersonUid = cpToPersonUid === VOID ? new Long(0, 0) : cpToPersonUid;
    cpToGroupUid = cpToGroupUid === VOID ? new Long(0, 0) : cpToGroupUid;
    cpPermissionsFlag = cpPermissionsFlag === VOID ? new Long(0, 0) : cpPermissionsFlag;
    cpIsDeleted = cpIsDeleted === VOID ? false : cpIsDeleted;
    this.cpUid_1 = cpUid;
    this.cpLastModified_1 = cpLastModified;
    this.cpClazzUid_1 = cpClazzUid;
    this.cpToEnrolmentRole_1 = cpToEnrolmentRole;
    this.cpToPersonUid_1 = cpToPersonUid;
    this.cpToGroupUid_1 = cpToGroupUid;
    this.cpPermissionsFlag_1 = cpPermissionsFlag;
    this.cpIsDeleted_1 = cpIsDeleted;
  }
  protoOf(CoursePermission).set_cpUid_njvs88_k$ = function (_set____db54di) {
    this.cpUid_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpUid_ipuem2_k$ = function () {
    return this.cpUid_1;
  };
  protoOf(CoursePermission).set_cpLastModified_21i6ut_k$ = function (_set____db54di) {
    this.cpLastModified_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpLastModified_o65ugb_k$ = function () {
    return this.cpLastModified_1;
  };
  protoOf(CoursePermission).set_cpClazzUid_ofwwlg_k$ = function (_set____db54di) {
    this.cpClazzUid_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpClazzUid_gewage_k$ = function () {
    return this.cpClazzUid_1;
  };
  protoOf(CoursePermission).set_cpToEnrolmentRole_ahoetp_k$ = function (_set____db54di) {
    this.cpToEnrolmentRole_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpToEnrolmentRole_8h904p_k$ = function () {
    return this.cpToEnrolmentRole_1;
  };
  protoOf(CoursePermission).set_cpToPersonUid_ux78ig_k$ = function (_set____db54di) {
    this.cpToPersonUid_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpToPersonUid_1zvcmi_k$ = function () {
    return this.cpToPersonUid_1;
  };
  protoOf(CoursePermission).set_cpToGroupUid_6p3obs_k$ = function (_set____db54di) {
    this.cpToGroupUid_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpToGroupUid_h7ylj2_k$ = function () {
    return this.cpToGroupUid_1;
  };
  protoOf(CoursePermission).set_cpPermissionsFlag_uajiqg_k$ = function (_set____db54di) {
    this.cpPermissionsFlag_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpPermissionsFlag_9dskau_k$ = function () {
    return this.cpPermissionsFlag_1;
  };
  protoOf(CoursePermission).set_cpIsDeleted_b36gj4_k$ = function (_set____db54di) {
    this.cpIsDeleted_1 = _set____db54di;
  };
  protoOf(CoursePermission).get_cpIsDeleted_oej5tl_k$ = function () {
    return this.cpIsDeleted_1;
  };
  protoOf(CoursePermission).component1_7eebsc_k$ = function () {
    return this.cpUid_1;
  };
  protoOf(CoursePermission).component2_7eebsb_k$ = function () {
    return this.cpLastModified_1;
  };
  protoOf(CoursePermission).component3_7eebsa_k$ = function () {
    return this.cpClazzUid_1;
  };
  protoOf(CoursePermission).component4_7eebs9_k$ = function () {
    return this.cpToEnrolmentRole_1;
  };
  protoOf(CoursePermission).component5_7eebs8_k$ = function () {
    return this.cpToPersonUid_1;
  };
  protoOf(CoursePermission).component6_7eebs7_k$ = function () {
    return this.cpToGroupUid_1;
  };
  protoOf(CoursePermission).component7_7eebs6_k$ = function () {
    return this.cpPermissionsFlag_1;
  };
  protoOf(CoursePermission).component8_7eebs5_k$ = function () {
    return this.cpIsDeleted_1;
  };
  protoOf(CoursePermission).copy_6fciay_k$ = function (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) {
    return new CoursePermission(cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted);
  };
  protoOf(CoursePermission).copy$default_ibykj_k$ = function (cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted, $super) {
    cpUid = cpUid === VOID ? this.cpUid_1 : cpUid;
    cpLastModified = cpLastModified === VOID ? this.cpLastModified_1 : cpLastModified;
    cpClazzUid = cpClazzUid === VOID ? this.cpClazzUid_1 : cpClazzUid;
    cpToEnrolmentRole = cpToEnrolmentRole === VOID ? this.cpToEnrolmentRole_1 : cpToEnrolmentRole;
    cpToPersonUid = cpToPersonUid === VOID ? this.cpToPersonUid_1 : cpToPersonUid;
    cpToGroupUid = cpToGroupUid === VOID ? this.cpToGroupUid_1 : cpToGroupUid;
    cpPermissionsFlag = cpPermissionsFlag === VOID ? this.cpPermissionsFlag_1 : cpPermissionsFlag;
    cpIsDeleted = cpIsDeleted === VOID ? this.cpIsDeleted_1 : cpIsDeleted;
    return $super === VOID ? this.copy_6fciay_k$(cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted) : $super.copy_6fciay_k$.call(this, cpUid, cpLastModified, cpClazzUid, cpToEnrolmentRole, cpToPersonUid, cpToGroupUid, cpPermissionsFlag, cpIsDeleted);
  };
  protoOf(CoursePermission).toString = function () {
    return 'CoursePermission(cpUid=' + this.cpUid_1.toString() + ', cpLastModified=' + this.cpLastModified_1.toString() + ', cpClazzUid=' + this.cpClazzUid_1.toString() + ', cpToEnrolmentRole=' + this.cpToEnrolmentRole_1 + ', cpToPersonUid=' + this.cpToPersonUid_1.toString() + ', cpToGroupUid=' + this.cpToGroupUid_1.toString() + ', cpPermissionsFlag=' + this.cpPermissionsFlag_1.toString() + ', cpIsDeleted=' + this.cpIsDeleted_1 + ')';
  };
  protoOf(CoursePermission).hashCode = function () {
    var result = this.cpUid_1.hashCode();
    result = imul(result, 31) + this.cpLastModified_1.hashCode() | 0;
    result = imul(result, 31) + this.cpClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cpToEnrolmentRole_1 | 0;
    result = imul(result, 31) + this.cpToPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cpToGroupUid_1.hashCode() | 0;
    result = imul(result, 31) + this.cpPermissionsFlag_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.cpIsDeleted_1) | 0;
    return result;
  };
  protoOf(CoursePermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CoursePermission))
      return false;
    var tmp0_other_with_cast = other instanceof CoursePermission ? other : THROW_CCE();
    if (!this.cpUid_1.equals(tmp0_other_with_cast.cpUid_1))
      return false;
    if (!this.cpLastModified_1.equals(tmp0_other_with_cast.cpLastModified_1))
      return false;
    if (!this.cpClazzUid_1.equals(tmp0_other_with_cast.cpClazzUid_1))
      return false;
    if (!(this.cpToEnrolmentRole_1 === tmp0_other_with_cast.cpToEnrolmentRole_1))
      return false;
    if (!this.cpToPersonUid_1.equals(tmp0_other_with_cast.cpToPersonUid_1))
      return false;
    if (!this.cpToGroupUid_1.equals(tmp0_other_with_cast.cpToGroupUid_1))
      return false;
    if (!this.cpPermissionsFlag_1.equals(tmp0_other_with_cast.cpPermissionsFlag_1))
      return false;
    if (!(this.cpIsDeleted_1 === tmp0_other_with_cast.cpIsDeleted_1))
      return false;
    return true;
  };
  function Companion_84() {
    Companion_instance_84 = this;
    this.TABLE_ID_1 = 125;
  }
  protoOf(Companion_84).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_84).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_82();
  };
  var Companion_instance_84;
  function Companion_getInstance_86() {
    if (Companion_instance_84 == null)
      new Companion_84();
    return Companion_instance_84;
  }
  function $serializer_82() {
    $serializer_instance_82 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CoursePicture', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePictureUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePictureLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePictureUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePictureThumbnailUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('coursePictureActive', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_82).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_82).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_82).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = false;
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CoursePicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_82).serialize_6avu17_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.coursePictureUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.coursePictureUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.coursePictureLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.coursePictureLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.coursePictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.coursePictureUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.coursePictureThumbnailUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.coursePictureThumbnailUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.coursePictureActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.coursePictureActive_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_82).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_6avu17_k$(encoder, value instanceof CoursePicture ? value : THROW_CCE());
  };
  var $serializer_instance_82;
  function $serializer_getInstance_82() {
    if ($serializer_instance_82 == null)
      new $serializer_82();
    return $serializer_instance_82;
  }
  function CoursePicture_init_$Init$(seen1, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_82().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.coursePictureUid_1 = new Long(0, 0);
    else
      $this.coursePictureUid_1 = coursePictureUid;
    if (0 === (seen1 & 2))
      $this.coursePictureLct_1 = new Long(0, 0);
    else
      $this.coursePictureLct_1 = coursePictureLct;
    if (0 === (seen1 & 4))
      $this.coursePictureUri_1 = null;
    else
      $this.coursePictureUri_1 = coursePictureUri;
    if (0 === (seen1 & 8))
      $this.coursePictureThumbnailUri_1 = null;
    else
      $this.coursePictureThumbnailUri_1 = coursePictureThumbnailUri;
    if (0 === (seen1 & 16))
      $this.coursePictureActive_1 = true;
    else
      $this.coursePictureActive_1 = coursePictureActive;
    return $this;
  }
  function CoursePicture_init_$Create$(seen1, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, serializationConstructorMarker) {
    return CoursePicture_init_$Init$(seen1, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, serializationConstructorMarker, objectCreate(protoOf(CoursePicture)));
  }
  function CoursePicture(coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) {
    Companion_getInstance_86();
    coursePictureUid = coursePictureUid === VOID ? new Long(0, 0) : coursePictureUid;
    coursePictureLct = coursePictureLct === VOID ? new Long(0, 0) : coursePictureLct;
    coursePictureUri = coursePictureUri === VOID ? null : coursePictureUri;
    coursePictureThumbnailUri = coursePictureThumbnailUri === VOID ? null : coursePictureThumbnailUri;
    coursePictureActive = coursePictureActive === VOID ? true : coursePictureActive;
    this.coursePictureUid_1 = coursePictureUid;
    this.coursePictureLct_1 = coursePictureLct;
    this.coursePictureUri_1 = coursePictureUri;
    this.coursePictureThumbnailUri_1 = coursePictureThumbnailUri;
    this.coursePictureActive_1 = coursePictureActive;
  }
  protoOf(CoursePicture).set_coursePictureUid_cmj704_k$ = function (_set____db54di) {
    this.coursePictureUid_1 = _set____db54di;
  };
  protoOf(CoursePicture).get_coursePictureUid_ji6jli_k$ = function () {
    return this.coursePictureUid_1;
  };
  protoOf(CoursePicture).set_coursePictureLct_kztyyv_k$ = function (_set____db54di) {
    this.coursePictureLct_1 = _set____db54di;
  };
  protoOf(CoursePicture).get_coursePictureLct_ji6csj_k$ = function () {
    return this.coursePictureLct_1;
  };
  protoOf(CoursePicture).set_coursePictureUri_6vliwf_k$ = function (_set____db54di) {
    this.coursePictureUri_1 = _set____db54di;
  };
  protoOf(CoursePicture).get_coursePictureUri_ji6jte_k$ = function () {
    return this.coursePictureUri_1;
  };
  protoOf(CoursePicture).set_coursePictureThumbnailUri_kmahw1_k$ = function (_set____db54di) {
    this.coursePictureThumbnailUri_1 = _set____db54di;
  };
  protoOf(CoursePicture).get_coursePictureThumbnailUri_wo1oli_k$ = function () {
    return this.coursePictureThumbnailUri_1;
  };
  protoOf(CoursePicture).set_coursePictureActive_8jknmf_k$ = function (_set____db54di) {
    this.coursePictureActive_1 = _set____db54di;
  };
  protoOf(CoursePicture).get_coursePictureActive_wkfnxc_k$ = function () {
    return this.coursePictureActive_1;
  };
  protoOf(CoursePicture).component1_7eebsc_k$ = function () {
    return this.coursePictureUid_1;
  };
  protoOf(CoursePicture).component2_7eebsb_k$ = function () {
    return this.coursePictureLct_1;
  };
  protoOf(CoursePicture).component3_7eebsa_k$ = function () {
    return this.coursePictureUri_1;
  };
  protoOf(CoursePicture).component4_7eebs9_k$ = function () {
    return this.coursePictureThumbnailUri_1;
  };
  protoOf(CoursePicture).component5_7eebs8_k$ = function () {
    return this.coursePictureActive_1;
  };
  protoOf(CoursePicture).copy_5tusri_k$ = function (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) {
    return new CoursePicture(coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive);
  };
  protoOf(CoursePicture).copy$default_wvzmdv_k$ = function (coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive, $super) {
    coursePictureUid = coursePictureUid === VOID ? this.coursePictureUid_1 : coursePictureUid;
    coursePictureLct = coursePictureLct === VOID ? this.coursePictureLct_1 : coursePictureLct;
    coursePictureUri = coursePictureUri === VOID ? this.coursePictureUri_1 : coursePictureUri;
    coursePictureThumbnailUri = coursePictureThumbnailUri === VOID ? this.coursePictureThumbnailUri_1 : coursePictureThumbnailUri;
    coursePictureActive = coursePictureActive === VOID ? this.coursePictureActive_1 : coursePictureActive;
    return $super === VOID ? this.copy_5tusri_k$(coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive) : $super.copy_5tusri_k$.call(this, coursePictureUid, coursePictureLct, coursePictureUri, coursePictureThumbnailUri, coursePictureActive);
  };
  protoOf(CoursePicture).toString = function () {
    return 'CoursePicture(coursePictureUid=' + this.coursePictureUid_1.toString() + ', coursePictureLct=' + this.coursePictureLct_1.toString() + ', coursePictureUri=' + this.coursePictureUri_1 + ', coursePictureThumbnailUri=' + this.coursePictureThumbnailUri_1 + ', coursePictureActive=' + this.coursePictureActive_1 + ')';
  };
  protoOf(CoursePicture).hashCode = function () {
    var result = this.coursePictureUid_1.hashCode();
    result = imul(result, 31) + this.coursePictureLct_1.hashCode() | 0;
    result = imul(result, 31) + (this.coursePictureUri_1 == null ? 0 : getStringHashCode(this.coursePictureUri_1)) | 0;
    result = imul(result, 31) + (this.coursePictureThumbnailUri_1 == null ? 0 : getStringHashCode(this.coursePictureThumbnailUri_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.coursePictureActive_1) | 0;
    return result;
  };
  protoOf(CoursePicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof CoursePicture))
      return false;
    var tmp0_other_with_cast = other instanceof CoursePicture ? other : THROW_CCE();
    if (!this.coursePictureUid_1.equals(tmp0_other_with_cast.coursePictureUid_1))
      return false;
    if (!this.coursePictureLct_1.equals(tmp0_other_with_cast.coursePictureLct_1))
      return false;
    if (!(this.coursePictureUri_1 == tmp0_other_with_cast.coursePictureUri_1))
      return false;
    if (!(this.coursePictureThumbnailUri_1 == tmp0_other_with_cast.coursePictureThumbnailUri_1))
      return false;
    if (!(this.coursePictureActive_1 === tmp0_other_with_cast.coursePictureActive_1))
      return false;
    return true;
  };
  function Companion_85() {
    Companion_instance_85 = this;
    this.TABLE_ID_1 = 450;
  }
  protoOf(Companion_85).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_85).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_83();
  };
  var Companion_instance_85;
  function Companion_getInstance_87() {
    if (Companion_instance_85 == null)
      new Companion_85();
    return Companion_instance_85;
  }
  function $serializer_83() {
    $serializer_instance_83 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.CourseTerminology', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('ctUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ctTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ctTerminology', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ctLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_83).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_83).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_83).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return CourseTerminology_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_83).serialize_j97som_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.ctUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.ctUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.ctTitle_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.ctTitle_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.ctTerminology_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.ctTerminology_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.ctLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.ctLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_83).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_j97som_k$(encoder, value instanceof CourseTerminology ? value : THROW_CCE());
  };
  var $serializer_instance_83;
  function $serializer_getInstance_83() {
    if ($serializer_instance_83 == null)
      new $serializer_83();
    return $serializer_instance_83;
  }
  function CourseTerminology_init_$Init$(seen1, ctUid, ctTitle, ctTerminology, ctLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_83().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.ctUid_1 = new Long(0, 0);
    else
      $this.ctUid_1 = ctUid;
    if (0 === (seen1 & 2))
      $this.ctTitle_1 = null;
    else
      $this.ctTitle_1 = ctTitle;
    if (0 === (seen1 & 4))
      $this.ctTerminology_1 = null;
    else
      $this.ctTerminology_1 = ctTerminology;
    if (0 === (seen1 & 8))
      $this.ctLct_1 = new Long(0, 0);
    else
      $this.ctLct_1 = ctLct;
    return $this;
  }
  function CourseTerminology_init_$Create$(seen1, ctUid, ctTitle, ctTerminology, ctLct, serializationConstructorMarker) {
    return CourseTerminology_init_$Init$(seen1, ctUid, ctTitle, ctTerminology, ctLct, serializationConstructorMarker, objectCreate(protoOf(CourseTerminology)));
  }
  function CourseTerminology() {
    Companion_getInstance_87();
    this.ctUid_1 = new Long(0, 0);
    this.ctTitle_1 = null;
    this.ctTerminology_1 = null;
    this.ctLct_1 = new Long(0, 0);
  }
  protoOf(CourseTerminology).set_ctUid_mnnkbo_k$ = function (_set____db54di) {
    this.ctUid_1 = _set____db54di;
  };
  protoOf(CourseTerminology).get_ctUid_ipwyk6_k$ = function () {
    return this.ctUid_1;
  };
  protoOf(CourseTerminology).set_ctTitle_71e5o3_k$ = function (_set____db54di) {
    this.ctTitle_1 = _set____db54di;
  };
  protoOf(CourseTerminology).get_ctTitle_iytaim_k$ = function () {
    return this.ctTitle_1;
  };
  protoOf(CourseTerminology).set_ctTerminology_932opa_k$ = function (_set____db54di) {
    this.ctTerminology_1 = _set____db54di;
  };
  protoOf(CourseTerminology).get_ctTerminology_oszxd3_k$ = function () {
    return this.ctTerminology_1;
  };
  protoOf(CourseTerminology).set_ctLct_eacscx_k$ = function (_set____db54di) {
    this.ctLct_1 = _set____db54di;
  };
  protoOf(CourseTerminology).get_ctLct_ipwrr7_k$ = function () {
    return this.ctLct_1;
  };
  function Companion_86() {
    Companion_instance_86 = this;
    this.TABLE_ID_1 = 999;
    this.STATUS_PENDING_1 = 1;
    this.STATUS_RESTORED_1 = 2;
    this.STATUS_DELETED_PERMANENTLY_1 = 3;
  }
  protoOf(Companion_86).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_86).get_STATUS_PENDING_ytco25_k$ = function () {
    return this.STATUS_PENDING_1;
  };
  protoOf(Companion_86).get_STATUS_RESTORED_oky9pi_k$ = function () {
    return this.STATUS_RESTORED_1;
  };
  protoOf(Companion_86).get_STATUS_DELETED_PERMANENTLY_1ncdf3_k$ = function () {
    return this.STATUS_DELETED_PERMANENTLY_1;
  };
  protoOf(Companion_86).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_84();
  };
  var Companion_instance_86;
  function Companion_getInstance_88() {
    if (Companion_instance_86 == null)
      new Companion_86();
    return Companion_instance_86;
  }
  function $serializer_84() {
    $serializer_instance_84 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.DeletedItem', this, 10);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemIconUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemLastModTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemTimeDeleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemEntityTable', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemEntityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemDeletedByPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('delItemIsFolder', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_84).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_84).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_84).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_local9 = false;
    var tmp14_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp14_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.endStructure_1xqz0n_k$(tmp0_desc);
    return DeletedItem_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_84).serialize_v5q4i_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.delItemUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.delItemUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.delItemName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.delItemName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.delItemIconUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.delItemIconUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.delItemLastModTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.delItemLastModTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.delItemTimeDeleted_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.delItemTimeDeleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.delItemEntityTable_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.delItemEntityTable_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.delItemEntityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.delItemEntityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.delItemDeletedByPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.delItemDeletedByPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.delItemStatus_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.delItemStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.delItemIsFolder_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 9, value.delItemIsFolder_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_84).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_v5q4i_k$(encoder, value instanceof DeletedItem ? value : THROW_CCE());
  };
  var $serializer_instance_84;
  function $serializer_getInstance_84() {
    if ($serializer_instance_84 == null)
      new $serializer_84();
    return $serializer_instance_84;
  }
  function DeletedItem_init_$Init$(seen1, delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_84().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.delItemUid_1 = new Long(0, 0);
    else
      $this.delItemUid_1 = delItemUid;
    if (0 === (seen1 & 2))
      $this.delItemName_1 = null;
    else
      $this.delItemName_1 = delItemName;
    if (0 === (seen1 & 4))
      $this.delItemIconUri_1 = null;
    else
      $this.delItemIconUri_1 = delItemIconUri;
    if (0 === (seen1 & 8))
      $this.delItemLastModTime_1 = new Long(0, 0);
    else
      $this.delItemLastModTime_1 = delItemLastModTime;
    if (0 === (seen1 & 16))
      $this.delItemTimeDeleted_1 = new Long(0, 0);
    else
      $this.delItemTimeDeleted_1 = delItemTimeDeleted;
    if (0 === (seen1 & 32))
      $this.delItemEntityTable_1 = 0;
    else
      $this.delItemEntityTable_1 = delItemEntityTable;
    if (0 === (seen1 & 64))
      $this.delItemEntityUid_1 = new Long(0, 0);
    else
      $this.delItemEntityUid_1 = delItemEntityUid;
    if (0 === (seen1 & 128))
      $this.delItemDeletedByPersonUid_1 = new Long(0, 0);
    else
      $this.delItemDeletedByPersonUid_1 = delItemDeletedByPersonUid;
    if (0 === (seen1 & 256))
      $this.delItemStatus_1 = 1;
    else
      $this.delItemStatus_1 = delItemStatus;
    if (0 === (seen1 & 512))
      $this.delItemIsFolder_1 = false;
    else
      $this.delItemIsFolder_1 = delItemIsFolder;
    return $this;
  }
  function DeletedItem_init_$Create$(seen1, delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder, serializationConstructorMarker) {
    return DeletedItem_init_$Init$(seen1, delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder, serializationConstructorMarker, objectCreate(protoOf(DeletedItem)));
  }
  function DeletedItem(delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) {
    Companion_getInstance_88();
    delItemUid = delItemUid === VOID ? new Long(0, 0) : delItemUid;
    delItemName = delItemName === VOID ? null : delItemName;
    delItemIconUri = delItemIconUri === VOID ? null : delItemIconUri;
    delItemLastModTime = delItemLastModTime === VOID ? new Long(0, 0) : delItemLastModTime;
    delItemTimeDeleted = delItemTimeDeleted === VOID ? new Long(0, 0) : delItemTimeDeleted;
    delItemEntityTable = delItemEntityTable === VOID ? 0 : delItemEntityTable;
    delItemEntityUid = delItemEntityUid === VOID ? new Long(0, 0) : delItemEntityUid;
    delItemDeletedByPersonUid = delItemDeletedByPersonUid === VOID ? new Long(0, 0) : delItemDeletedByPersonUid;
    delItemStatus = delItemStatus === VOID ? 1 : delItemStatus;
    delItemIsFolder = delItemIsFolder === VOID ? false : delItemIsFolder;
    this.delItemUid_1 = delItemUid;
    this.delItemName_1 = delItemName;
    this.delItemIconUri_1 = delItemIconUri;
    this.delItemLastModTime_1 = delItemLastModTime;
    this.delItemTimeDeleted_1 = delItemTimeDeleted;
    this.delItemEntityTable_1 = delItemEntityTable;
    this.delItemEntityUid_1 = delItemEntityUid;
    this.delItemDeletedByPersonUid_1 = delItemDeletedByPersonUid;
    this.delItemStatus_1 = delItemStatus;
    this.delItemIsFolder_1 = delItemIsFolder;
  }
  protoOf(DeletedItem).set_delItemUid_osnaz3_k$ = function (_set____db54di) {
    this.delItemUid_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemUid_o8c4l7_k$ = function () {
    return this.delItemUid_1;
  };
  protoOf(DeletedItem).set_delItemName_kojwl1_k$ = function (_set____db54di) {
    this.delItemName_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemName_u5xa0w_k$ = function () {
    return this.delItemName_1;
  };
  protoOf(DeletedItem).set_delItemIconUri_w3skvv_k$ = function (_set____db54di) {
    this.delItemIconUri_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemIconUri_lzdiea_k$ = function () {
    return this.delItemIconUri_1;
  };
  protoOf(DeletedItem).set_delItemLastModTime_861diy_k$ = function (_set____db54di) {
    this.delItemLastModTime_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemLastModTime_s65jfg_k$ = function () {
    return this.delItemLastModTime_1;
  };
  protoOf(DeletedItem).set_delItemTimeDeleted_beu0d_k$ = function (_set____db54di) {
    this.delItemTimeDeleted_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemTimeDeleted_sp3q0n_k$ = function () {
    return this.delItemTimeDeleted_1;
  };
  protoOf(DeletedItem).set_delItemEntityTable_ky5s8u_k$ = function (_set____db54di) {
    this.delItemEntityTable_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemEntityTable_cfogie_k$ = function () {
    return this.delItemEntityTable_1;
  };
  protoOf(DeletedItem).set_delItemEntityUid_6z98fi_k$ = function (_set____db54di) {
    this.delItemEntityUid_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemEntityUid_i8rt9k_k$ = function () {
    return this.delItemEntityUid_1;
  };
  protoOf(DeletedItem).set_delItemDeletedByPersonUid_s127hq_k$ = function (_set____db54di) {
    this.delItemDeletedByPersonUid_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemDeletedByPersonUid_kptyww_k$ = function () {
    return this.delItemDeletedByPersonUid_1;
  };
  protoOf(DeletedItem).set_delItemStatus_n3hm9h_k$ = function (_set____db54di) {
    this.delItemStatus_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemStatus_4vxae1_k$ = function () {
    return this.delItemStatus_1;
  };
  protoOf(DeletedItem).set_delItemIsFolder_8arhks_k$ = function (_set____db54di) {
    this.delItemIsFolder_1 = _set____db54di;
  };
  protoOf(DeletedItem).get_delItemIsFolder_v7lru5_k$ = function () {
    return this.delItemIsFolder_1;
  };
  protoOf(DeletedItem).component1_7eebsc_k$ = function () {
    return this.delItemUid_1;
  };
  protoOf(DeletedItem).component2_7eebsb_k$ = function () {
    return this.delItemName_1;
  };
  protoOf(DeletedItem).component3_7eebsa_k$ = function () {
    return this.delItemIconUri_1;
  };
  protoOf(DeletedItem).component4_7eebs9_k$ = function () {
    return this.delItemLastModTime_1;
  };
  protoOf(DeletedItem).component5_7eebs8_k$ = function () {
    return this.delItemTimeDeleted_1;
  };
  protoOf(DeletedItem).component6_7eebs7_k$ = function () {
    return this.delItemEntityTable_1;
  };
  protoOf(DeletedItem).component7_7eebs6_k$ = function () {
    return this.delItemEntityUid_1;
  };
  protoOf(DeletedItem).component8_7eebs5_k$ = function () {
    return this.delItemDeletedByPersonUid_1;
  };
  protoOf(DeletedItem).component9_7eebs4_k$ = function () {
    return this.delItemStatus_1;
  };
  protoOf(DeletedItem).component10_gazzfo_k$ = function () {
    return this.delItemIsFolder_1;
  };
  protoOf(DeletedItem).copy_7t8tve_k$ = function (delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) {
    return new DeletedItem(delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder);
  };
  protoOf(DeletedItem).copy$default_hy8vzd_k$ = function (delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder, $super) {
    delItemUid = delItemUid === VOID ? this.delItemUid_1 : delItemUid;
    delItemName = delItemName === VOID ? this.delItemName_1 : delItemName;
    delItemIconUri = delItemIconUri === VOID ? this.delItemIconUri_1 : delItemIconUri;
    delItemLastModTime = delItemLastModTime === VOID ? this.delItemLastModTime_1 : delItemLastModTime;
    delItemTimeDeleted = delItemTimeDeleted === VOID ? this.delItemTimeDeleted_1 : delItemTimeDeleted;
    delItemEntityTable = delItemEntityTable === VOID ? this.delItemEntityTable_1 : delItemEntityTable;
    delItemEntityUid = delItemEntityUid === VOID ? this.delItemEntityUid_1 : delItemEntityUid;
    delItemDeletedByPersonUid = delItemDeletedByPersonUid === VOID ? this.delItemDeletedByPersonUid_1 : delItemDeletedByPersonUid;
    delItemStatus = delItemStatus === VOID ? this.delItemStatus_1 : delItemStatus;
    delItemIsFolder = delItemIsFolder === VOID ? this.delItemIsFolder_1 : delItemIsFolder;
    return $super === VOID ? this.copy_7t8tve_k$(delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder) : $super.copy_7t8tve_k$.call(this, delItemUid, delItemName, delItemIconUri, delItemLastModTime, delItemTimeDeleted, delItemEntityTable, delItemEntityUid, delItemDeletedByPersonUid, delItemStatus, delItemIsFolder);
  };
  protoOf(DeletedItem).toString = function () {
    return 'DeletedItem(delItemUid=' + this.delItemUid_1.toString() + ', delItemName=' + this.delItemName_1 + ', delItemIconUri=' + this.delItemIconUri_1 + ', delItemLastModTime=' + this.delItemLastModTime_1.toString() + ', delItemTimeDeleted=' + this.delItemTimeDeleted_1.toString() + ', delItemEntityTable=' + this.delItemEntityTable_1 + ', delItemEntityUid=' + this.delItemEntityUid_1.toString() + ', delItemDeletedByPersonUid=' + this.delItemDeletedByPersonUid_1.toString() + ', delItemStatus=' + this.delItemStatus_1 + ', delItemIsFolder=' + this.delItemIsFolder_1 + ')';
  };
  protoOf(DeletedItem).hashCode = function () {
    var result = this.delItemUid_1.hashCode();
    result = imul(result, 31) + (this.delItemName_1 == null ? 0 : getStringHashCode(this.delItemName_1)) | 0;
    result = imul(result, 31) + (this.delItemIconUri_1 == null ? 0 : getStringHashCode(this.delItemIconUri_1)) | 0;
    result = imul(result, 31) + this.delItemLastModTime_1.hashCode() | 0;
    result = imul(result, 31) + this.delItemTimeDeleted_1.hashCode() | 0;
    result = imul(result, 31) + this.delItemEntityTable_1 | 0;
    result = imul(result, 31) + this.delItemEntityUid_1.hashCode() | 0;
    result = imul(result, 31) + this.delItemDeletedByPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.delItemStatus_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.delItemIsFolder_1) | 0;
    return result;
  };
  protoOf(DeletedItem).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof DeletedItem))
      return false;
    var tmp0_other_with_cast = other instanceof DeletedItem ? other : THROW_CCE();
    if (!this.delItemUid_1.equals(tmp0_other_with_cast.delItemUid_1))
      return false;
    if (!(this.delItemName_1 == tmp0_other_with_cast.delItemName_1))
      return false;
    if (!(this.delItemIconUri_1 == tmp0_other_with_cast.delItemIconUri_1))
      return false;
    if (!this.delItemLastModTime_1.equals(tmp0_other_with_cast.delItemLastModTime_1))
      return false;
    if (!this.delItemTimeDeleted_1.equals(tmp0_other_with_cast.delItemTimeDeleted_1))
      return false;
    if (!(this.delItemEntityTable_1 === tmp0_other_with_cast.delItemEntityTable_1))
      return false;
    if (!this.delItemEntityUid_1.equals(tmp0_other_with_cast.delItemEntityUid_1))
      return false;
    if (!this.delItemDeletedByPersonUid_1.equals(tmp0_other_with_cast.delItemDeletedByPersonUid_1))
      return false;
    if (!(this.delItemStatus_1 === tmp0_other_with_cast.delItemStatus_1))
      return false;
    if (!(this.delItemIsFolder_1 === tmp0_other_with_cast.delItemIsFolder_1))
      return false;
    return true;
  };
  function Companion_87() {
    Companion_instance_87 = this;
    this.TABLE_ID_1 = 132;
  }
  protoOf(Companion_87).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_87).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_85();
  };
  var Companion_instance_87;
  function Companion_getInstance_89() {
    if (Companion_instance_87 == null)
      new Companion_87();
    return Companion_instance_87;
  }
  function $serializer_85() {
    $serializer_instance_85 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.DiscussionPost', this, 12);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostReplyToPostUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostMessage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostStartDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostCourseBlockUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('dpDeleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostStartedPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostVisible', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostArchive', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_85).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_85).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_85).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = false;
    var tmp15_local11 = false;
    var tmp16_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp16_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp16_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp16_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp16_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp16_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp16_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp16_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp16_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp16_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp16_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp16_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp16_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp16_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp16_input.endStructure_1xqz0n_k$(tmp0_desc);
    return DiscussionPost_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, null);
  };
  protoOf($serializer_85).serialize_252e34_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.discussionPostUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.discussionPostUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.discussionPostReplyToPostUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.discussionPostReplyToPostUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.discussionPostTitle_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.discussionPostTitle_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.discussionPostMessage_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.discussionPostMessage_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.discussionPostStartDate_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.discussionPostStartDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.discussionPostCourseBlockUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.discussionPostCourseBlockUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.dpDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.dpDeleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.discussionPostStartedPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.discussionPostStartedPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.discussionPostClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.discussionPostClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.discussionPostLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.discussionPostLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.discussionPostVisible_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 10, value.discussionPostVisible_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.discussionPostArchive_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 11, value.discussionPostArchive_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_85).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_252e34_k$(encoder, value instanceof DiscussionPost ? value : THROW_CCE());
  };
  var $serializer_instance_85;
  function $serializer_getInstance_85() {
    if ($serializer_instance_85 == null)
      new $serializer_85();
    return $serializer_instance_85;
  }
  function DiscussionPost_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_85().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.discussionPostUid_1 = new Long(0, 0);
    else
      $this.discussionPostUid_1 = discussionPostUid;
    if (0 === (seen1 & 2))
      $this.discussionPostReplyToPostUid_1 = new Long(0, 0);
    else
      $this.discussionPostReplyToPostUid_1 = discussionPostReplyToPostUid;
    if (0 === (seen1 & 4))
      $this.discussionPostTitle_1 = null;
    else
      $this.discussionPostTitle_1 = discussionPostTitle;
    if (0 === (seen1 & 8))
      $this.discussionPostMessage_1 = null;
    else
      $this.discussionPostMessage_1 = discussionPostMessage;
    if (0 === (seen1 & 16))
      $this.discussionPostStartDate_1 = new Long(0, 0);
    else
      $this.discussionPostStartDate_1 = discussionPostStartDate;
    if (0 === (seen1 & 32))
      $this.discussionPostCourseBlockUid_1 = new Long(0, 0);
    else
      $this.discussionPostCourseBlockUid_1 = discussionPostCourseBlockUid;
    if (0 === (seen1 & 64))
      $this.dpDeleted_1 = false;
    else
      $this.dpDeleted_1 = dpDeleted;
    if (0 === (seen1 & 128))
      $this.discussionPostStartedPersonUid_1 = new Long(0, 0);
    else
      $this.discussionPostStartedPersonUid_1 = discussionPostStartedPersonUid;
    if (0 === (seen1 & 256))
      $this.discussionPostClazzUid_1 = new Long(0, 0);
    else
      $this.discussionPostClazzUid_1 = discussionPostClazzUid;
    if (0 === (seen1 & 512))
      $this.discussionPostLct_1 = new Long(0, 0);
    else
      $this.discussionPostLct_1 = discussionPostLct;
    if (0 === (seen1 & 1024))
      $this.discussionPostVisible_1 = false;
    else
      $this.discussionPostVisible_1 = discussionPostVisible;
    if (0 === (seen1 & 2048))
      $this.discussionPostArchive_1 = false;
    else
      $this.discussionPostArchive_1 = discussionPostArchive;
    return $this;
  }
  function DiscussionPost_init_$Create$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker) {
    return DiscussionPost_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker, objectCreate(protoOf(DiscussionPost)));
  }
  function DiscussionPost() {
    Companion_getInstance_89();
    this.discussionPostUid_1 = new Long(0, 0);
    this.discussionPostReplyToPostUid_1 = new Long(0, 0);
    this.discussionPostTitle_1 = null;
    this.discussionPostMessage_1 = null;
    this.discussionPostStartDate_1 = new Long(0, 0);
    this.discussionPostCourseBlockUid_1 = new Long(0, 0);
    this.dpDeleted_1 = false;
    this.discussionPostStartedPersonUid_1 = new Long(0, 0);
    this.discussionPostClazzUid_1 = new Long(0, 0);
    this.discussionPostLct_1 = new Long(0, 0);
    this.discussionPostVisible_1 = false;
    this.discussionPostArchive_1 = false;
  }
  protoOf(DiscussionPost).set_discussionPostUid_ufsj71_k$ = function (_set____db54di) {
    this.discussionPostUid_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostUid_6yxxgf_k$ = function () {
    return this.discussionPostUid_1;
  };
  protoOf(DiscussionPost).set_discussionPostReplyToPostUid_ev5bbi_k$ = function (_set____db54di) {
    this.discussionPostReplyToPostUid_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostReplyToPostUid_p5bbhg_k$ = function () {
    return this.discussionPostReplyToPostUid_1;
  };
  protoOf(DiscussionPost).set_discussionPostTitle_m6nnc4_k$ = function (_set____db54di) {
    this.discussionPostTitle_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostTitle_luljhj_k$ = function () {
    return this.discussionPostTitle_1;
  };
  protoOf(DiscussionPost).set_discussionPostMessage_7toqr9_k$ = function (_set____db54di) {
    this.discussionPostMessage_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostMessage_a2j8wm_k$ = function () {
    return this.discussionPostMessage_1;
  };
  protoOf(DiscussionPost).set_discussionPostStartDate_vk83wt_k$ = function (_set____db54di) {
    this.discussionPostStartDate_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostStartDate_61t9a7_k$ = function () {
    return this.discussionPostStartDate_1;
  };
  protoOf(DiscussionPost).set_discussionPostCourseBlockUid_9jjim3_k$ = function (_set____db54di) {
    this.discussionPostCourseBlockUid_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostCourseBlockUid_sf5e7_k$ = function () {
    return this.discussionPostCourseBlockUid_1;
  };
  protoOf(DiscussionPost).set_dpDeleted_2r3zwb_k$ = function (_set____db54di) {
    this.dpDeleted_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_dpDeleted_gj0ksk_k$ = function () {
    return this.dpDeleted_1;
  };
  protoOf(DiscussionPost).set_discussionPostStartedPersonUid_buzem9_k$ = function (_set____db54di) {
    this.discussionPostStartedPersonUid_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostStartedPersonUid_hirvwr_k$ = function () {
    return this.discussionPostStartedPersonUid_1;
  };
  protoOf(DiscussionPost).set_discussionPostClazzUid_2q88rl_k$ = function (_set____db54di) {
    this.discussionPostClazzUid_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostClazzUid_nrn8d3_k$ = function () {
    return this.discussionPostClazzUid_1;
  };
  protoOf(DiscussionPost).set_discussionPostLct_m2hr8a_k$ = function (_set____db54di) {
    this.discussionPostLct_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostLct_6yxqng_k$ = function () {
    return this.discussionPostLct_1;
  };
  protoOf(DiscussionPost).set_discussionPostVisible_8xxgpk_k$ = function (_set____db54di) {
    this.discussionPostVisible_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostVisible_1zvtj5_k$ = function () {
    return this.discussionPostVisible_1;
  };
  protoOf(DiscussionPost).set_discussionPostArchive_wwn57s_k$ = function (_set____db54di) {
    this.discussionPostArchive_1 = _set____db54di;
  };
  protoOf(DiscussionPost).get_discussionPostArchive_i3eir3_k$ = function () {
    return this.discussionPostArchive_1;
  };
  function Companion_88() {
    Companion_instance_88 = this;
  }
  protoOf(Companion_88).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_86();
  };
  var Companion_instance_88;
  function Companion_getInstance_90() {
    if (Companion_instance_88 == null)
      new Companion_88();
    return Companion_instance_88;
  }
  function $serializer_86() {
    $serializer_instance_86 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.DiscussionPostWithDetails', this, 18);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostReplyToPostUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostMessage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostStartDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostCourseBlockUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('dpDeleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostStartedPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostVisible', true);
    tmp0_serialDesc.addElement_5pzumi_k$('discussionPostArchive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('authorPersonFirstNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('authorPersonLastName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('authorPictureUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('postLatestMessage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('postRepliesCount', true);
    tmp0_serialDesc.addElement_5pzumi_k$('postLatestMessageTimestamp', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_86).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_86).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_86).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = false;
    var tmp15_local11 = false;
    var tmp16_local12 = null;
    var tmp17_local13 = null;
    var tmp18_local14 = null;
    var tmp19_local15 = null;
    var tmp20_local16 = 0;
    var tmp21_local17 = new Long(0, 0);
    var tmp22_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp22_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp22_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp22_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp22_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp22_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp22_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp22_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp22_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp22_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp22_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, StringSerializer_getInstance(), tmp19_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp22_input.decodeIntElement_941u6a_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp22_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp22_input.endStructure_1xqz0n_k$(tmp0_desc);
    return DiscussionPostWithDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, null);
  };
  protoOf($serializer_86).serialize_oxjquk_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_discussionPostUid_6yxxgf_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_discussionPostUid_6yxxgf_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.get_discussionPostReplyToPostUid_p5bbhg_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.get_discussionPostReplyToPostUid_p5bbhg_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.get_discussionPostTitle_luljhj_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.get_discussionPostTitle_luljhj_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.get_discussionPostMessage_a2j8wm_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.get_discussionPostMessage_a2j8wm_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_discussionPostStartDate_61t9a7_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_discussionPostStartDate_61t9a7_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.get_discussionPostCourseBlockUid_sf5e7_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.get_discussionPostCourseBlockUid_sf5e7_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.get_dpDeleted_gj0ksk_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.get_dpDeleted_gj0ksk_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_discussionPostStartedPersonUid_hirvwr_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_discussionPostStartedPersonUid_hirvwr_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_discussionPostClazzUid_nrn8d3_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_discussionPostClazzUid_nrn8d3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.get_discussionPostLct_6yxqng_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.get_discussionPostLct_6yxqng_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.get_discussionPostVisible_1zvtj5_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 10, value.get_discussionPostVisible_1zvtj5_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.get_discussionPostArchive_i3eir3_k$() === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 11, value.get_discussionPostArchive_i3eir3_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.authorPersonFirstNames_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 12, StringSerializer_getInstance(), value.authorPersonFirstNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.authorPersonLastName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 13, StringSerializer_getInstance(), value.authorPersonLastName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.authorPictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 14, StringSerializer_getInstance(), value.authorPictureUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.postLatestMessage_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 15, StringSerializer_getInstance(), value.postLatestMessage_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.postRepliesCount_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 16, value.postRepliesCount_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !value.postLatestMessageTimestamp_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 17, value.postLatestMessageTimestamp_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_86).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_oxjquk_k$(encoder, value instanceof DiscussionPostWithDetails ? value : THROW_CCE());
  };
  var $serializer_instance_86;
  function $serializer_getInstance_86() {
    if ($serializer_instance_86 == null)
      new $serializer_86();
    return $serializer_instance_86;
  }
  function DiscussionPostWithDetails_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, authorPersonFirstNames, authorPersonLastName, authorPictureUri, postLatestMessage, postRepliesCount, postLatestMessageTimestamp, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_86().descriptor_1);
    }
    DiscussionPost_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, serializationConstructorMarker, $this);
    if (0 === (seen1 & 4096))
      $this.authorPersonFirstNames_1 = null;
    else
      $this.authorPersonFirstNames_1 = authorPersonFirstNames;
    if (0 === (seen1 & 8192))
      $this.authorPersonLastName_1 = null;
    else
      $this.authorPersonLastName_1 = authorPersonLastName;
    if (0 === (seen1 & 16384))
      $this.authorPictureUri_1 = null;
    else
      $this.authorPictureUri_1 = authorPictureUri;
    if (0 === (seen1 & 32768))
      $this.postLatestMessage_1 = null;
    else
      $this.postLatestMessage_1 = postLatestMessage;
    if (0 === (seen1 & 65536))
      $this.postRepliesCount_1 = 0;
    else
      $this.postRepliesCount_1 = postRepliesCount;
    if (0 === (seen1 & 131072))
      $this.postLatestMessageTimestamp_1 = new Long(0, 0);
    else
      $this.postLatestMessageTimestamp_1 = postLatestMessageTimestamp;
    return $this;
  }
  function DiscussionPostWithDetails_init_$Create$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, authorPersonFirstNames, authorPersonLastName, authorPictureUri, postLatestMessage, postRepliesCount, postLatestMessageTimestamp, serializationConstructorMarker) {
    return DiscussionPostWithDetails_init_$Init$(seen1, discussionPostUid, discussionPostReplyToPostUid, discussionPostTitle, discussionPostMessage, discussionPostStartDate, discussionPostCourseBlockUid, dpDeleted, discussionPostStartedPersonUid, discussionPostClazzUid, discussionPostLct, discussionPostVisible, discussionPostArchive, authorPersonFirstNames, authorPersonLastName, authorPictureUri, postLatestMessage, postRepliesCount, postLatestMessageTimestamp, serializationConstructorMarker, objectCreate(protoOf(DiscussionPostWithDetails)));
  }
  function DiscussionPostWithDetails() {
    Companion_getInstance_90();
    DiscussionPost.call(this);
    this.authorPersonFirstNames_1 = null;
    this.authorPersonLastName_1 = null;
    this.authorPictureUri_1 = null;
    this.postLatestMessage_1 = null;
    this.postRepliesCount_1 = 0;
    this.postLatestMessageTimestamp_1 = new Long(0, 0);
  }
  protoOf(DiscussionPostWithDetails).set_authorPersonFirstNames_ajacce_k$ = function (_set____db54di) {
    this.authorPersonFirstNames_1 = _set____db54di;
  };
  protoOf(DiscussionPostWithDetails).get_authorPersonFirstNames_tehaox_k$ = function () {
    return this.authorPersonFirstNames_1;
  };
  protoOf(DiscussionPostWithDetails).set_authorPersonLastName_3ehjll_k$ = function (_set____db54di) {
    this.authorPersonLastName_1 = _set____db54di;
  };
  protoOf(DiscussionPostWithDetails).get_authorPersonLastName_1bjqlm_k$ = function () {
    return this.authorPersonLastName_1;
  };
  protoOf(DiscussionPostWithDetails).set_authorPictureUri_j7q9un_k$ = function (_set____db54di) {
    this.authorPictureUri_1 = _set____db54di;
  };
  protoOf(DiscussionPostWithDetails).get_authorPictureUri_9y237i_k$ = function () {
    return this.authorPictureUri_1;
  };
  protoOf(DiscussionPostWithDetails).set_postLatestMessage_uyky44_k$ = function (_set____db54di) {
    this.postLatestMessage_1 = _set____db54di;
  };
  protoOf(DiscussionPostWithDetails).get_postLatestMessage_i24hsn_k$ = function () {
    return this.postLatestMessage_1;
  };
  protoOf(DiscussionPostWithDetails).set_postRepliesCount_67ot7g_k$ = function (_set____db54di) {
    this.postRepliesCount_1 = _set____db54di;
  };
  protoOf(DiscussionPostWithDetails).get_postRepliesCount_txmv00_k$ = function () {
    return this.postRepliesCount_1;
  };
  protoOf(DiscussionPostWithDetails).set_postLatestMessageTimestamp_d9ee2d_k$ = function (_set____db54di) {
    this.postLatestMessageTimestamp_1 = _set____db54di;
  };
  protoOf(DiscussionPostWithDetails).get_postLatestMessageTimestamp_ba82pr_k$ = function () {
    return this.postLatestMessageTimestamp_1;
  };
  function Companion_89() {
    Companion_instance_89 = this;
    this.STATUS_PENDING_1 = 1;
    this.STATUS_APPROVED_1 = 2;
    this.STATUS_REJECTED_1 = 3;
    this.STATUS_CANCELED_1 = 4;
    this.TABLE_ID_1 = 10070;
  }
  protoOf(Companion_89).get_STATUS_PENDING_ytco25_k$ = function () {
    return this.STATUS_PENDING_1;
  };
  protoOf(Companion_89).get_STATUS_APPROVED_l4p6j_k$ = function () {
    return this.STATUS_APPROVED_1;
  };
  protoOf(Companion_89).get_STATUS_REJECTED_t2teim_k$ = function () {
    return this.STATUS_REJECTED_1;
  };
  protoOf(Companion_89).get_STATUS_CANCELED_l1v92b_k$ = function () {
    return this.STATUS_CANCELED_1;
  };
  protoOf(Companion_89).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_89).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_87();
  };
  var Companion_instance_89;
  function Companion_getInstance_91() {
    if (Companion_instance_89 == null)
      new Companion_89();
    return Companion_instance_89;
  }
  function $serializer_87() {
    $serializer_instance_87 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.EnrolmentRequest', this, 14);
    tmp0_serialDesc.addElement_5pzumi_k$('erUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erClazzName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erPersonFullname', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erPersonPictureUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erPersonUsername', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erRole', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erRequestTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erStatusSetByPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erDeleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erStatusSetAuth', true);
    tmp0_serialDesc.addElement_5pzumi_k$('erLastModified', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_87).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_87).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_87).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = 0;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = false;
    var tmp16_local12 = null;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp18_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.endStructure_1xqz0n_k$(tmp0_desc);
    return EnrolmentRequest_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_87).serialize_gp02vh_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.erUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.erUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.erClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.erClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.erClazzName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.erClazzName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.erPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.erPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.erPersonFullname_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.erPersonFullname_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.erPersonPictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.erPersonPictureUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.erPersonUsername_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.erPersonUsername_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.erRole_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.erRole_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.erRequestTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.erRequestTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.erStatus_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.erStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.erStatusSetByPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.erStatusSetByPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.erDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 11, value.erDeleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.erStatusSetAuth_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 12, StringSerializer_getInstance(), value.erStatusSetAuth_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.erLastModified_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.erLastModified_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_87).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_gp02vh_k$(encoder, value instanceof EnrolmentRequest ? value : THROW_CCE());
  };
  var $serializer_instance_87;
  function $serializer_getInstance_87() {
    if ($serializer_instance_87 == null)
      new $serializer_87();
    return $serializer_instance_87;
  }
  function EnrolmentRequest_init_$Init$(seen1, erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_87().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.erUid_1 = new Long(0, 0);
    else
      $this.erUid_1 = erUid;
    if (0 === (seen1 & 2))
      $this.erClazzUid_1 = new Long(0, 0);
    else
      $this.erClazzUid_1 = erClazzUid;
    if (0 === (seen1 & 4))
      $this.erClazzName_1 = null;
    else
      $this.erClazzName_1 = erClazzName;
    if (0 === (seen1 & 8))
      $this.erPersonUid_1 = new Long(0, 0);
    else
      $this.erPersonUid_1 = erPersonUid;
    if (0 === (seen1 & 16))
      $this.erPersonFullname_1 = null;
    else
      $this.erPersonFullname_1 = erPersonFullname;
    if (0 === (seen1 & 32))
      $this.erPersonPictureUri_1 = null;
    else
      $this.erPersonPictureUri_1 = erPersonPictureUri;
    if (0 === (seen1 & 64))
      $this.erPersonUsername_1 = null;
    else
      $this.erPersonUsername_1 = erPersonUsername;
    if (0 === (seen1 & 128))
      $this.erRole_1 = 0;
    else
      $this.erRole_1 = erRole;
    if (0 === (seen1 & 256))
      $this.erRequestTime_1 = new Long(0, 0);
    else
      $this.erRequestTime_1 = erRequestTime;
    if (0 === (seen1 & 512))
      $this.erStatus_1 = 1;
    else
      $this.erStatus_1 = erStatus;
    if (0 === (seen1 & 1024))
      $this.erStatusSetByPersonUid_1 = new Long(0, 0);
    else
      $this.erStatusSetByPersonUid_1 = erStatusSetByPersonUid;
    if (0 === (seen1 & 2048))
      $this.erDeleted_1 = false;
    else
      $this.erDeleted_1 = erDeleted;
    if (0 === (seen1 & 4096))
      $this.erStatusSetAuth_1 = null;
    else
      $this.erStatusSetAuth_1 = erStatusSetAuth;
    if (0 === (seen1 & 8192))
      $this.erLastModified_1 = new Long(0, 0);
    else
      $this.erLastModified_1 = erLastModified;
    return $this;
  }
  function EnrolmentRequest_init_$Create$(seen1, erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified, serializationConstructorMarker) {
    return EnrolmentRequest_init_$Init$(seen1, erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified, serializationConstructorMarker, objectCreate(protoOf(EnrolmentRequest)));
  }
  function EnrolmentRequest(erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) {
    Companion_getInstance_91();
    erUid = erUid === VOID ? new Long(0, 0) : erUid;
    erClazzUid = erClazzUid === VOID ? new Long(0, 0) : erClazzUid;
    erClazzName = erClazzName === VOID ? null : erClazzName;
    erPersonUid = erPersonUid === VOID ? new Long(0, 0) : erPersonUid;
    erPersonFullname = erPersonFullname === VOID ? null : erPersonFullname;
    erPersonPictureUri = erPersonPictureUri === VOID ? null : erPersonPictureUri;
    erPersonUsername = erPersonUsername === VOID ? null : erPersonUsername;
    erRole = erRole === VOID ? 0 : erRole;
    erRequestTime = erRequestTime === VOID ? new Long(0, 0) : erRequestTime;
    erStatus = erStatus === VOID ? 1 : erStatus;
    erStatusSetByPersonUid = erStatusSetByPersonUid === VOID ? new Long(0, 0) : erStatusSetByPersonUid;
    erDeleted = erDeleted === VOID ? false : erDeleted;
    erStatusSetAuth = erStatusSetAuth === VOID ? null : erStatusSetAuth;
    erLastModified = erLastModified === VOID ? new Long(0, 0) : erLastModified;
    this.erUid_1 = erUid;
    this.erClazzUid_1 = erClazzUid;
    this.erClazzName_1 = erClazzName;
    this.erPersonUid_1 = erPersonUid;
    this.erPersonFullname_1 = erPersonFullname;
    this.erPersonPictureUri_1 = erPersonPictureUri;
    this.erPersonUsername_1 = erPersonUsername;
    this.erRole_1 = erRole;
    this.erRequestTime_1 = erRequestTime;
    this.erStatus_1 = erStatus;
    this.erStatusSetByPersonUid_1 = erStatusSetByPersonUid;
    this.erDeleted_1 = erDeleted;
    this.erStatusSetAuth_1 = erStatusSetAuth;
    this.erLastModified_1 = erLastModified;
  }
  protoOf(EnrolmentRequest).set_erUid_9889rc_k$ = function (_set____db54di) {
    this.erUid_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erUid_iqz9ru_k$ = function () {
    return this.erUid_1;
  };
  protoOf(EnrolmentRequest).set_erClazzUid_ndof5o_k$ = function (_set____db54di) {
    this.erClazzUid_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erClazzUid_l5sd9q_k$ = function () {
    return this.erClazzUid_1;
  };
  protoOf(EnrolmentRequest).set_erClazzName_d7hufy_k$ = function (_set____db54di) {
    this.erClazzName_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erClazzName_gpab1p_k$ = function () {
    return this.erClazzName_1;
  };
  protoOf(EnrolmentRequest).set_erPersonUid_a4e5f7_k$ = function (_set____db54di) {
    this.erPersonUid_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erPersonUid_rjywbp_k$ = function () {
    return this.erPersonUid_1;
  };
  protoOf(EnrolmentRequest).set_erPersonFullname_zbbeke_k$ = function (_set____db54di) {
    this.erPersonFullname_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erPersonFullname_ldr2sl_k$ = function () {
    return this.erPersonFullname_1;
  };
  protoOf(EnrolmentRequest).set_erPersonPictureUri_2ybd56_k$ = function (_set____db54di) {
    this.erPersonPictureUri_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erPersonPictureUri_54nc2v_k$ = function () {
    return this.erPersonPictureUri_1;
  };
  protoOf(EnrolmentRequest).set_erPersonUsername_bl1r2a_k$ = function (_set____db54di) {
    this.erPersonUsername_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erPersonUsername_51dasf_k$ = function () {
    return this.erPersonUsername_1;
  };
  protoOf(EnrolmentRequest).set_erRole_tx88fs_k$ = function (_set____db54di) {
    this.erRole_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erRole_czf6x8_k$ = function () {
    return this.erRole_1;
  };
  protoOf(EnrolmentRequest).set_erRequestTime_ldn8us_k$ = function (_set____db54di) {
    this.erRequestTime_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erRequestTime_brdcyu_k$ = function () {
    return this.erRequestTime_1;
  };
  protoOf(EnrolmentRequest).set_erStatus_xszl58_k$ = function (_set____db54di) {
    this.erStatus_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erStatus_nbnwag_k$ = function () {
    return this.erStatus_1;
  };
  protoOf(EnrolmentRequest).set_erStatusSetByPersonUid_ui1t5s_k$ = function (_set____db54di) {
    this.erStatusSetByPersonUid_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erStatusSetByPersonUid_tlumve_k$ = function () {
    return this.erStatusSetByPersonUid_1;
  };
  protoOf(EnrolmentRequest).set_erDeleted_r0s50a_k$ = function (_set____db54di) {
    this.erDeleted_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erDeleted_qqyjul_k$ = function () {
    return this.erDeleted_1;
  };
  protoOf(EnrolmentRequest).set_erStatusSetAuth_mgaltj_k$ = function (_set____db54di) {
    this.erStatusSetAuth_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erStatusSetAuth_ell6m6_k$ = function () {
    return this.erStatusSetAuth_1;
  };
  protoOf(EnrolmentRequest).set_erLastModified_uzh985_k$ = function (_set____db54di) {
    this.erLastModified_1 = _set____db54di;
  };
  protoOf(EnrolmentRequest).get_erLastModified_kfl61h_k$ = function () {
    return this.erLastModified_1;
  };
  protoOf(EnrolmentRequest).component1_7eebsc_k$ = function () {
    return this.erUid_1;
  };
  protoOf(EnrolmentRequest).component2_7eebsb_k$ = function () {
    return this.erClazzUid_1;
  };
  protoOf(EnrolmentRequest).component3_7eebsa_k$ = function () {
    return this.erClazzName_1;
  };
  protoOf(EnrolmentRequest).component4_7eebs9_k$ = function () {
    return this.erPersonUid_1;
  };
  protoOf(EnrolmentRequest).component5_7eebs8_k$ = function () {
    return this.erPersonFullname_1;
  };
  protoOf(EnrolmentRequest).component6_7eebs7_k$ = function () {
    return this.erPersonPictureUri_1;
  };
  protoOf(EnrolmentRequest).component7_7eebs6_k$ = function () {
    return this.erPersonUsername_1;
  };
  protoOf(EnrolmentRequest).component8_7eebs5_k$ = function () {
    return this.erRole_1;
  };
  protoOf(EnrolmentRequest).component9_7eebs4_k$ = function () {
    return this.erRequestTime_1;
  };
  protoOf(EnrolmentRequest).component10_gazzfo_k$ = function () {
    return this.erStatus_1;
  };
  protoOf(EnrolmentRequest).component11_gazzfn_k$ = function () {
    return this.erStatusSetByPersonUid_1;
  };
  protoOf(EnrolmentRequest).component12_gazzfm_k$ = function () {
    return this.erDeleted_1;
  };
  protoOf(EnrolmentRequest).component13_gazzfl_k$ = function () {
    return this.erStatusSetAuth_1;
  };
  protoOf(EnrolmentRequest).component14_gazzfk_k$ = function () {
    return this.erLastModified_1;
  };
  protoOf(EnrolmentRequest).copy_eszzvd_k$ = function (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) {
    return new EnrolmentRequest(erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified);
  };
  protoOf(EnrolmentRequest).copy$default_2u160j_k$ = function (erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified, $super) {
    erUid = erUid === VOID ? this.erUid_1 : erUid;
    erClazzUid = erClazzUid === VOID ? this.erClazzUid_1 : erClazzUid;
    erClazzName = erClazzName === VOID ? this.erClazzName_1 : erClazzName;
    erPersonUid = erPersonUid === VOID ? this.erPersonUid_1 : erPersonUid;
    erPersonFullname = erPersonFullname === VOID ? this.erPersonFullname_1 : erPersonFullname;
    erPersonPictureUri = erPersonPictureUri === VOID ? this.erPersonPictureUri_1 : erPersonPictureUri;
    erPersonUsername = erPersonUsername === VOID ? this.erPersonUsername_1 : erPersonUsername;
    erRole = erRole === VOID ? this.erRole_1 : erRole;
    erRequestTime = erRequestTime === VOID ? this.erRequestTime_1 : erRequestTime;
    erStatus = erStatus === VOID ? this.erStatus_1 : erStatus;
    erStatusSetByPersonUid = erStatusSetByPersonUid === VOID ? this.erStatusSetByPersonUid_1 : erStatusSetByPersonUid;
    erDeleted = erDeleted === VOID ? this.erDeleted_1 : erDeleted;
    erStatusSetAuth = erStatusSetAuth === VOID ? this.erStatusSetAuth_1 : erStatusSetAuth;
    erLastModified = erLastModified === VOID ? this.erLastModified_1 : erLastModified;
    return $super === VOID ? this.copy_eszzvd_k$(erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified) : $super.copy_eszzvd_k$.call(this, erUid, erClazzUid, erClazzName, erPersonUid, erPersonFullname, erPersonPictureUri, erPersonUsername, erRole, erRequestTime, erStatus, erStatusSetByPersonUid, erDeleted, erStatusSetAuth, erLastModified);
  };
  protoOf(EnrolmentRequest).toString = function () {
    return 'EnrolmentRequest(erUid=' + this.erUid_1.toString() + ', erClazzUid=' + this.erClazzUid_1.toString() + ', erClazzName=' + this.erClazzName_1 + ', erPersonUid=' + this.erPersonUid_1.toString() + ', erPersonFullname=' + this.erPersonFullname_1 + ', erPersonPictureUri=' + this.erPersonPictureUri_1 + ', erPersonUsername=' + this.erPersonUsername_1 + ', erRole=' + this.erRole_1 + ', erRequestTime=' + this.erRequestTime_1.toString() + ', erStatus=' + this.erStatus_1 + ', erStatusSetByPersonUid=' + this.erStatusSetByPersonUid_1.toString() + ', erDeleted=' + this.erDeleted_1 + ', erStatusSetAuth=' + this.erStatusSetAuth_1 + ', erLastModified=' + this.erLastModified_1.toString() + ')';
  };
  protoOf(EnrolmentRequest).hashCode = function () {
    var result = this.erUid_1.hashCode();
    result = imul(result, 31) + this.erClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.erClazzName_1 == null ? 0 : getStringHashCode(this.erClazzName_1)) | 0;
    result = imul(result, 31) + this.erPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.erPersonFullname_1 == null ? 0 : getStringHashCode(this.erPersonFullname_1)) | 0;
    result = imul(result, 31) + (this.erPersonPictureUri_1 == null ? 0 : getStringHashCode(this.erPersonPictureUri_1)) | 0;
    result = imul(result, 31) + (this.erPersonUsername_1 == null ? 0 : getStringHashCode(this.erPersonUsername_1)) | 0;
    result = imul(result, 31) + this.erRole_1 | 0;
    result = imul(result, 31) + this.erRequestTime_1.hashCode() | 0;
    result = imul(result, 31) + this.erStatus_1 | 0;
    result = imul(result, 31) + this.erStatusSetByPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.erDeleted_1) | 0;
    result = imul(result, 31) + (this.erStatusSetAuth_1 == null ? 0 : getStringHashCode(this.erStatusSetAuth_1)) | 0;
    result = imul(result, 31) + this.erLastModified_1.hashCode() | 0;
    return result;
  };
  protoOf(EnrolmentRequest).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof EnrolmentRequest))
      return false;
    var tmp0_other_with_cast = other instanceof EnrolmentRequest ? other : THROW_CCE();
    if (!this.erUid_1.equals(tmp0_other_with_cast.erUid_1))
      return false;
    if (!this.erClazzUid_1.equals(tmp0_other_with_cast.erClazzUid_1))
      return false;
    if (!(this.erClazzName_1 == tmp0_other_with_cast.erClazzName_1))
      return false;
    if (!this.erPersonUid_1.equals(tmp0_other_with_cast.erPersonUid_1))
      return false;
    if (!(this.erPersonFullname_1 == tmp0_other_with_cast.erPersonFullname_1))
      return false;
    if (!(this.erPersonPictureUri_1 == tmp0_other_with_cast.erPersonPictureUri_1))
      return false;
    if (!(this.erPersonUsername_1 == tmp0_other_with_cast.erPersonUsername_1))
      return false;
    if (!(this.erRole_1 === tmp0_other_with_cast.erRole_1))
      return false;
    if (!this.erRequestTime_1.equals(tmp0_other_with_cast.erRequestTime_1))
      return false;
    if (!(this.erStatus_1 === tmp0_other_with_cast.erStatus_1))
      return false;
    if (!this.erStatusSetByPersonUid_1.equals(tmp0_other_with_cast.erStatusSetByPersonUid_1))
      return false;
    if (!(this.erDeleted_1 === tmp0_other_with_cast.erDeleted_1))
      return false;
    if (!(this.erStatusSetAuth_1 == tmp0_other_with_cast.erStatusSetAuth_1))
      return false;
    if (!this.erLastModified_1.equals(tmp0_other_with_cast.erLastModified_1))
      return false;
    return true;
  };
  function ErrorReport() {
    this.errUid_1 = new Long(0, 0);
    this.errPcsn_1 = new Long(0, 0);
    this.errLcsn_1 = new Long(0, 0);
    this.errLcb_1 = 0;
    this.errLct_1 = new Long(0, 0);
    this.severity_1 = 0;
    this.timestamp_1 = new Long(0, 0);
    this.presenterUri_1 = null;
    this.appVersion_1 = null;
    this.versionCode_1 = 0;
    this.errorCode_1 = 0;
    this.operatingSys_1 = null;
    this.osVersion_1 = null;
    this.stackTrace_1 = null;
    this.message_1 = null;
  }
  protoOf(ErrorReport).set_errUid_4heg3u_k$ = function (_set____db54di) {
    this.errUid_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_errUid_czz35g_k$ = function () {
    return this.errUid_1;
  };
  protoOf(ErrorReport).set_errPcsn_us2yfs_k$ = function (_set____db54di) {
    this.errPcsn_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_errPcsn_n7jx3q_k$ = function () {
    return this.errPcsn_1;
  };
  protoOf(ErrorReport).set_errLcsn_vob6cc_k$ = function (_set____db54di) {
    this.errLcsn_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_errLcsn_n7mh1u_k$ = function () {
    return this.errLcsn_1;
  };
  protoOf(ErrorReport).set_errLcb_75u8aj_k$ = function (_set____db54di) {
    this.errLcb_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_errLcb_czywbz_k$ = function () {
    return this.errLcb_1;
  };
  protoOf(ErrorReport).set_errLct_3vwbux_k$ = function (_set____db54di) {
    this.errLct_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_errLct_czywch_k$ = function () {
    return this.errLct_1;
  };
  protoOf(ErrorReport).set_severity_sxrpqm_k$ = function (_set____db54di) {
    this.severity_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_severity_7csmre_k$ = function () {
    return this.severity_1;
  };
  protoOf(ErrorReport).set_timestamp_eha0cb_k$ = function (_set____db54di) {
    this.timestamp_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_timestamp_9fccx9_k$ = function () {
    return this.timestamp_1;
  };
  protoOf(ErrorReport).set_presenterUri_dwl37a_k$ = function (_set____db54di) {
    this.presenterUri_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_presenterUri_g4odt9_k$ = function () {
    return this.presenterUri_1;
  };
  protoOf(ErrorReport).set_appVersion_uzlvkt_k$ = function (_set____db54di) {
    this.appVersion_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_appVersion_4dcm4g_k$ = function () {
    return this.appVersion_1;
  };
  protoOf(ErrorReport).set_versionCode_tfhts0_k$ = function (_set____db54di) {
    this.versionCode_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_versionCode_pa65j0_k$ = function () {
    return this.versionCode_1;
  };
  protoOf(ErrorReport).set_errorCode_eejymo_k$ = function (_set____db54di) {
    this.errorCode_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_errorCode_dyf6uk_k$ = function () {
    return this.errorCode_1;
  };
  protoOf(ErrorReport).set_operatingSys_bf2mcy_k$ = function (_set____db54di) {
    this.operatingSys_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_operatingSys_bh7v_k$ = function () {
    return this.operatingSys_1;
  };
  protoOf(ErrorReport).set_osVersion_dafw0w_k$ = function (_set____db54di) {
    this.osVersion_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_osVersion_wjrp79_k$ = function () {
    return this.osVersion_1;
  };
  protoOf(ErrorReport).set_stackTrace_cs50sj_k$ = function (_set____db54di) {
    this.stackTrace_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_stackTrace_dc54x2_k$ = function () {
    return this.stackTrace_1;
  };
  protoOf(ErrorReport).set_message_488t03_k$ = function (_set____db54di) {
    this.message_1 = _set____db54di;
  };
  protoOf(ErrorReport).get_message_h23axq_k$ = function () {
    return this.message_1;
  };
  function Companion_90() {
    Companion_instance_90 = this;
  }
  protoOf(Companion_90).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_88();
  };
  var Companion_instance_90;
  function Companion_getInstance_92() {
    if (Companion_instance_90 == null)
      new Companion_90();
    return Companion_instance_90;
  }
  function $serializer_88() {
    $serializer_instance_88 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ExternalAppPermission', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('eapUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('eapPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('eapPackageId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('eapStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('eapExpireTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('eapAuthToken', true);
    tmp0_serialDesc.addElement_5pzumi_k$('eapAndroidAccountName', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_88).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_88).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_88).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ExternalAppPermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_88).serialize_nb7rqh_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.eapUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.eapUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.eapPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.eapPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.eapPackageId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.eapPackageId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.eapStartTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.eapStartTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.eapExpireTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.eapExpireTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.eapAuthToken_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.eapAuthToken_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.eapAndroidAccountName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.eapAndroidAccountName_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_88).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_nb7rqh_k$(encoder, value instanceof ExternalAppPermission ? value : THROW_CCE());
  };
  var $serializer_instance_88;
  function $serializer_getInstance_88() {
    if ($serializer_instance_88 == null)
      new $serializer_88();
    return $serializer_instance_88;
  }
  function ExternalAppPermission_init_$Init$(seen1, eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_88().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.eapUid_1 = 0;
    else
      $this.eapUid_1 = eapUid;
    if (0 === (seen1 & 2))
      $this.eapPersonUid_1 = new Long(0, 0);
    else
      $this.eapPersonUid_1 = eapPersonUid;
    if (0 === (seen1 & 4))
      $this.eapPackageId_1 = null;
    else
      $this.eapPackageId_1 = eapPackageId;
    if (0 === (seen1 & 8))
      $this.eapStartTime_1 = new Long(0, 0);
    else
      $this.eapStartTime_1 = eapStartTime;
    if (0 === (seen1 & 16))
      $this.eapExpireTime_1 = new Long(0, 0);
    else
      $this.eapExpireTime_1 = eapExpireTime;
    if (0 === (seen1 & 32))
      $this.eapAuthToken_1 = null;
    else
      $this.eapAuthToken_1 = eapAuthToken;
    if (0 === (seen1 & 64))
      $this.eapAndroidAccountName_1 = null;
    else
      $this.eapAndroidAccountName_1 = eapAndroidAccountName;
    return $this;
  }
  function ExternalAppPermission_init_$Create$(seen1, eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName, serializationConstructorMarker) {
    return ExternalAppPermission_init_$Init$(seen1, eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName, serializationConstructorMarker, objectCreate(protoOf(ExternalAppPermission)));
  }
  function ExternalAppPermission(eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName) {
    Companion_getInstance_92();
    eapUid = eapUid === VOID ? 0 : eapUid;
    eapPersonUid = eapPersonUid === VOID ? new Long(0, 0) : eapPersonUid;
    eapPackageId = eapPackageId === VOID ? null : eapPackageId;
    eapStartTime = eapStartTime === VOID ? new Long(0, 0) : eapStartTime;
    eapExpireTime = eapExpireTime === VOID ? new Long(0, 0) : eapExpireTime;
    eapAuthToken = eapAuthToken === VOID ? null : eapAuthToken;
    eapAndroidAccountName = eapAndroidAccountName === VOID ? null : eapAndroidAccountName;
    this.eapUid_1 = eapUid;
    this.eapPersonUid_1 = eapPersonUid;
    this.eapPackageId_1 = eapPackageId;
    this.eapStartTime_1 = eapStartTime;
    this.eapExpireTime_1 = eapExpireTime;
    this.eapAuthToken_1 = eapAuthToken;
    this.eapAndroidAccountName_1 = eapAndroidAccountName;
  }
  protoOf(ExternalAppPermission).set_eapUid_jxz3ht_k$ = function (_set____db54di) {
    this.eapUid_1 = _set____db54di;
  };
  protoOf(ExternalAppPermission).get_eapUid_cqlb39_k$ = function () {
    return this.eapUid_1;
  };
  protoOf(ExternalAppPermission).set_eapPersonUid_e2g9uu_k$ = function (_set____db54di) {
    this.eapPersonUid_1 = _set____db54di;
  };
  protoOf(ExternalAppPermission).get_eapPersonUid_41az9s_k$ = function () {
    return this.eapPersonUid_1;
  };
  protoOf(ExternalAppPermission).set_eapPackageId_bi5lzh_k$ = function (_set____db54di) {
    this.eapPackageId_1 = _set____db54di;
  };
  protoOf(ExternalAppPermission).get_eapPackageId_jq8uae_k$ = function () {
    return this.eapPackageId_1;
  };
  protoOf(ExternalAppPermission).set_eapStartTime_fba5fq_k$ = function (_set____db54di) {
    this.eapStartTime_1 = _set____db54di;
  };
  protoOf(ExternalAppPermission).get_eapStartTime_pqqaw4_k$ = function () {
    return this.eapStartTime_1;
  };
  protoOf(ExternalAppPermission).set_eapExpireTime_ac6c11_k$ = function (_set____db54di) {
    this.eapExpireTime_1 = _set____db54di;
  };
  protoOf(ExternalAppPermission).get_eapExpireTime_t2adp3_k$ = function () {
    return this.eapExpireTime_1;
  };
  protoOf(ExternalAppPermission).set_eapAuthToken_vwq5yb_k$ = function (_set____db54di) {
    this.eapAuthToken_1 = _set____db54di;
  };
  protoOf(ExternalAppPermission).get_eapAuthToken_dwzjpi_k$ = function () {
    return this.eapAuthToken_1;
  };
  protoOf(ExternalAppPermission).set_eapAndroidAccountName_vcye09_k$ = function (_set____db54di) {
    this.eapAndroidAccountName_1 = _set____db54di;
  };
  protoOf(ExternalAppPermission).get_eapAndroidAccountName_5ppwek_k$ = function () {
    return this.eapAndroidAccountName_1;
  };
  protoOf(ExternalAppPermission).component1_7eebsc_k$ = function () {
    return this.eapUid_1;
  };
  protoOf(ExternalAppPermission).component2_7eebsb_k$ = function () {
    return this.eapPersonUid_1;
  };
  protoOf(ExternalAppPermission).component3_7eebsa_k$ = function () {
    return this.eapPackageId_1;
  };
  protoOf(ExternalAppPermission).component4_7eebs9_k$ = function () {
    return this.eapStartTime_1;
  };
  protoOf(ExternalAppPermission).component5_7eebs8_k$ = function () {
    return this.eapExpireTime_1;
  };
  protoOf(ExternalAppPermission).component6_7eebs7_k$ = function () {
    return this.eapAuthToken_1;
  };
  protoOf(ExternalAppPermission).component7_7eebs6_k$ = function () {
    return this.eapAndroidAccountName_1;
  };
  protoOf(ExternalAppPermission).copy_6p2zt6_k$ = function (eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName) {
    return new ExternalAppPermission(eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName);
  };
  protoOf(ExternalAppPermission).copy$default_xlmx27_k$ = function (eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName, $super) {
    eapUid = eapUid === VOID ? this.eapUid_1 : eapUid;
    eapPersonUid = eapPersonUid === VOID ? this.eapPersonUid_1 : eapPersonUid;
    eapPackageId = eapPackageId === VOID ? this.eapPackageId_1 : eapPackageId;
    eapStartTime = eapStartTime === VOID ? this.eapStartTime_1 : eapStartTime;
    eapExpireTime = eapExpireTime === VOID ? this.eapExpireTime_1 : eapExpireTime;
    eapAuthToken = eapAuthToken === VOID ? this.eapAuthToken_1 : eapAuthToken;
    eapAndroidAccountName = eapAndroidAccountName === VOID ? this.eapAndroidAccountName_1 : eapAndroidAccountName;
    return $super === VOID ? this.copy_6p2zt6_k$(eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName) : $super.copy_6p2zt6_k$.call(this, eapUid, eapPersonUid, eapPackageId, eapStartTime, eapExpireTime, eapAuthToken, eapAndroidAccountName);
  };
  protoOf(ExternalAppPermission).toString = function () {
    return 'ExternalAppPermission(eapUid=' + this.eapUid_1 + ', eapPersonUid=' + this.eapPersonUid_1.toString() + ', eapPackageId=' + this.eapPackageId_1 + ', eapStartTime=' + this.eapStartTime_1.toString() + ', eapExpireTime=' + this.eapExpireTime_1.toString() + ', eapAuthToken=' + this.eapAuthToken_1 + ', eapAndroidAccountName=' + this.eapAndroidAccountName_1 + ')';
  };
  protoOf(ExternalAppPermission).hashCode = function () {
    var result = this.eapUid_1;
    result = imul(result, 31) + this.eapPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.eapPackageId_1 == null ? 0 : getStringHashCode(this.eapPackageId_1)) | 0;
    result = imul(result, 31) + this.eapStartTime_1.hashCode() | 0;
    result = imul(result, 31) + this.eapExpireTime_1.hashCode() | 0;
    result = imul(result, 31) + (this.eapAuthToken_1 == null ? 0 : getStringHashCode(this.eapAuthToken_1)) | 0;
    result = imul(result, 31) + (this.eapAndroidAccountName_1 == null ? 0 : getStringHashCode(this.eapAndroidAccountName_1)) | 0;
    return result;
  };
  protoOf(ExternalAppPermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ExternalAppPermission))
      return false;
    var tmp0_other_with_cast = other instanceof ExternalAppPermission ? other : THROW_CCE();
    if (!(this.eapUid_1 === tmp0_other_with_cast.eapUid_1))
      return false;
    if (!this.eapPersonUid_1.equals(tmp0_other_with_cast.eapPersonUid_1))
      return false;
    if (!(this.eapPackageId_1 == tmp0_other_with_cast.eapPackageId_1))
      return false;
    if (!this.eapStartTime_1.equals(tmp0_other_with_cast.eapStartTime_1))
      return false;
    if (!this.eapExpireTime_1.equals(tmp0_other_with_cast.eapExpireTime_1))
      return false;
    if (!(this.eapAuthToken_1 == tmp0_other_with_cast.eapAuthToken_1))
      return false;
    if (!(this.eapAndroidAccountName_1 == tmp0_other_with_cast.eapAndroidAccountName_1))
      return false;
    return true;
  };
  function Companion_91() {
    Companion_instance_91 = this;
    this.TABLE_ID_1 = 99;
  }
  protoOf(Companion_91).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_91).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_89();
  };
  var Companion_instance_91;
  function Companion_getInstance_93() {
    if (Companion_instance_91 == null)
      new Companion_91();
    return Companion_instance_91;
  }
  function $serializer_89() {
    $serializer_instance_89 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Holiday', this, 10);
    tmp0_serialDesc.addElement_5pzumi_k$('holUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holMasterCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holLocalCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holLastModBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holHolidayCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holEndTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('holName', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_89).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_89).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_89).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = null;
    var tmp14_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp14_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Holiday_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_89).serialize_arkidm_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.holUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.holUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.holMasterCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.holMasterCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.holLocalCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.holLocalCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.holLastModBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.holLastModBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.holLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.holLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.holActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.holActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.holHolidayCalendarUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.holHolidayCalendarUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.holStartTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.holStartTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.holEndTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.holEndTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.holName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 9, StringSerializer_getInstance(), value.holName_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_89).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_arkidm_k$(encoder, value instanceof Holiday ? value : THROW_CCE());
  };
  var $serializer_instance_89;
  function $serializer_getInstance_89() {
    if ($serializer_instance_89 == null)
      new $serializer_89();
    return $serializer_instance_89;
  }
  function Holiday_init_$Init$(seen1, holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_89().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.holUid_1 = new Long(0, 0);
    else
      $this.holUid_1 = holUid;
    if (0 === (seen1 & 2))
      $this.holMasterCsn_1 = new Long(0, 0);
    else
      $this.holMasterCsn_1 = holMasterCsn;
    if (0 === (seen1 & 4))
      $this.holLocalCsn_1 = new Long(0, 0);
    else
      $this.holLocalCsn_1 = holLocalCsn;
    if (0 === (seen1 & 8))
      $this.holLastModBy_1 = 0;
    else
      $this.holLastModBy_1 = holLastModBy;
    if (0 === (seen1 & 16))
      $this.holLct_1 = new Long(0, 0);
    else
      $this.holLct_1 = holLct;
    if (0 === (seen1 & 32))
      $this.holActive_1 = true;
    else
      $this.holActive_1 = holActive;
    if (0 === (seen1 & 64))
      $this.holHolidayCalendarUid_1 = new Long(0, 0);
    else
      $this.holHolidayCalendarUid_1 = holHolidayCalendarUid;
    if (0 === (seen1 & 128))
      $this.holStartTime_1 = new Long(0, 0);
    else
      $this.holStartTime_1 = holStartTime;
    if (0 === (seen1 & 256))
      $this.holEndTime_1 = new Long(0, 0);
    else
      $this.holEndTime_1 = holEndTime;
    if (0 === (seen1 & 512))
      $this.holName_1 = null;
    else
      $this.holName_1 = holName;
    return $this;
  }
  function Holiday_init_$Create$(seen1, holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName, serializationConstructorMarker) {
    return Holiday_init_$Init$(seen1, holUid, holMasterCsn, holLocalCsn, holLastModBy, holLct, holActive, holHolidayCalendarUid, holStartTime, holEndTime, holName, serializationConstructorMarker, objectCreate(protoOf(Holiday)));
  }
  function Holiday() {
    Companion_getInstance_93();
    this.holUid_1 = new Long(0, 0);
    this.holMasterCsn_1 = new Long(0, 0);
    this.holLocalCsn_1 = new Long(0, 0);
    this.holLastModBy_1 = 0;
    this.holLct_1 = new Long(0, 0);
    this.holActive_1 = true;
    this.holHolidayCalendarUid_1 = new Long(0, 0);
    this.holStartTime_1 = new Long(0, 0);
    this.holEndTime_1 = new Long(0, 0);
    this.holName_1 = null;
  }
  protoOf(Holiday).set_holUid_koi4h6_k$ = function (_set____db54di) {
    this.holUid_1 = _set____db54di;
  };
  protoOf(Holiday).get_holUid_edcqms_k$ = function () {
    return this.holUid_1;
  };
  protoOf(Holiday).set_holMasterCsn_vcrmom_k$ = function (_set____db54di) {
    this.holMasterCsn_1 = _set____db54di;
  };
  protoOf(Holiday).get_holMasterCsn_mycwxs_k$ = function () {
    return this.holMasterCsn_1;
  };
  protoOf(Holiday).set_holLocalCsn_6mmnml_k$ = function (_set____db54di) {
    this.holLocalCsn_1 = _set____db54di;
  };
  protoOf(Holiday).get_holLocalCsn_rieohd_k$ = function () {
    return this.holLocalCsn_1;
  };
  protoOf(Holiday).set_holLastModBy_rro565_k$ = function (_set____db54di) {
    this.holLastModBy_1 = _set____db54di;
  };
  protoOf(Holiday).get_holLastModBy_ijvg55_k$ = function () {
    return this.holLastModBy_1;
  };
  protoOf(Holiday).set_holLct_cb7cif_k$ = function (_set____db54di) {
    this.holLct_1 = _set____db54di;
  };
  protoOf(Holiday).get_holLct_edcjtt_k$ = function () {
    return this.holLct_1;
  };
  protoOf(Holiday).set_holActive_uxyy6f_k$ = function (_set____db54di) {
    this.holActive_1 = _set____db54di;
  };
  protoOf(Holiday).get_holActive_bvtv5u_k$ = function () {
    return this.holActive_1;
  };
  protoOf(Holiday).set_holHolidayCalendarUid_clqie4_k$ = function (_set____db54di) {
    this.holHolidayCalendarUid_1 = _set____db54di;
  };
  protoOf(Holiday).get_holHolidayCalendarUid_x3rlpy_k$ = function () {
    return this.holHolidayCalendarUid_1;
  };
  protoOf(Holiday).set_holStartTime_lx70p5_k$ = function (_set____db54di) {
    this.holStartTime_1 = _set____db54di;
  };
  protoOf(Holiday).get_holStartTime_fr652l_k$ = function () {
    return this.holStartTime_1;
  };
  protoOf(Holiday).set_holEndTime_3okony_k$ = function (_set____db54di) {
    this.holEndTime_1 = _set____db54di;
  };
  protoOf(Holiday).get_holEndTime_5vy3t8_k$ = function () {
    return this.holEndTime_1;
  };
  protoOf(Holiday).set_holName_tr033w_k$ = function (_set____db54di) {
    this.holName_1 = _set____db54di;
  };
  protoOf(Holiday).get_holName_jb5z7r_k$ = function () {
    return this.holName_1;
  };
  protoOf(Holiday).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Holiday))
      THROW_CCE();
    if (!this.holUid_1.equals(other.holUid_1))
      return false;
    if (!this.holMasterCsn_1.equals(other.holMasterCsn_1))
      return false;
    if (!this.holLocalCsn_1.equals(other.holLocalCsn_1))
      return false;
    if (!(this.holLastModBy_1 === other.holLastModBy_1))
      return false;
    if (!(this.holActive_1 === other.holActive_1))
      return false;
    if (!this.holHolidayCalendarUid_1.equals(other.holHolidayCalendarUid_1))
      return false;
    if (!this.holStartTime_1.equals(other.holStartTime_1))
      return false;
    if (!this.holEndTime_1.equals(other.holEndTime_1))
      return false;
    if (!(this.holName_1 == other.holName_1))
      return false;
    return true;
  };
  protoOf(Holiday).hashCode = function () {
    var result = this.holUid_1.hashCode();
    result = imul(31, result) + this.holMasterCsn_1.hashCode() | 0;
    result = imul(31, result) + this.holLocalCsn_1.hashCode() | 0;
    result = imul(31, result) + this.holLastModBy_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.holActive_1) | 0;
    result = imul(31, result) + this.holHolidayCalendarUid_1.hashCode() | 0;
    result = imul(31, result) + this.holStartTime_1.hashCode() | 0;
    result = imul(31, result) + this.holEndTime_1.hashCode() | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.holName_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    return result;
  };
  function HolidayCalendar_init_$Init$(name, category, $this) {
    HolidayCalendar.call($this);
    $this.umCalendarName_1 = name;
    $this.umCalendarCategory_1 = category;
    $this.umCalendarActive_1 = true;
    return $this;
  }
  function HolidayCalendar_init_$Create$(name, category) {
    return HolidayCalendar_init_$Init$(name, category, objectCreate(protoOf(HolidayCalendar)));
  }
  function Companion_92() {
    Companion_instance_92 = this;
    this.TABLE_ID_1 = 28;
    this.CATEGORY_HOLIDAY_1 = 1;
  }
  protoOf(Companion_92).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_92).get_CATEGORY_HOLIDAY_v38ji8_k$ = function () {
    return this.CATEGORY_HOLIDAY_1;
  };
  protoOf(Companion_92).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_90();
  };
  var Companion_instance_92;
  function Companion_getInstance_94() {
    if (Companion_instance_92 == null)
      new Companion_92();
    return Companion_instance_92;
  }
  function $serializer_90() {
    $serializer_instance_90 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.HolidayCalendar', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarCategory', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_90).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_90).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_90).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return HolidayCalendar_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_90).serialize_s9u148_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.umCalendarUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.umCalendarUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.umCalendarName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.umCalendarName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.umCalendarCategory_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.umCalendarCategory_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.umCalendarActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 3, value.umCalendarActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.umCalendarMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.umCalendarMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.umCalendarLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.umCalendarLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.umCalendarLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.umCalendarLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.umCalendarLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.umCalendarLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_90).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_s9u148_k$(encoder, value instanceof HolidayCalendar ? value : THROW_CCE());
  };
  var $serializer_instance_90;
  function $serializer_getInstance_90() {
    if ($serializer_instance_90 == null)
      new $serializer_90();
    return $serializer_instance_90;
  }
  function HolidayCalendar_init_$Init$_0(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_90().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.umCalendarUid_1 = new Long(0, 0);
    else
      $this.umCalendarUid_1 = umCalendarUid;
    if (0 === (seen1 & 2))
      $this.umCalendarName_1 = null;
    else
      $this.umCalendarName_1 = umCalendarName;
    if (0 === (seen1 & 4))
      $this.umCalendarCategory_1 = 1;
    else
      $this.umCalendarCategory_1 = umCalendarCategory;
    if (0 === (seen1 & 8))
      $this.umCalendarActive_1 = true;
    else
      $this.umCalendarActive_1 = umCalendarActive;
    if (0 === (seen1 & 16))
      $this.umCalendarMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.umCalendarMasterChangeSeqNum_1 = umCalendarMasterChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.umCalendarLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.umCalendarLocalChangeSeqNum_1 = umCalendarLocalChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.umCalendarLastChangedBy_1 = 0;
    else
      $this.umCalendarLastChangedBy_1 = umCalendarLastChangedBy;
    if (0 === (seen1 & 128))
      $this.umCalendarLct_1 = new Long(0, 0);
    else
      $this.umCalendarLct_1 = umCalendarLct;
    return $this;
  }
  function HolidayCalendar_init_$Create$_0(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker) {
    return HolidayCalendar_init_$Init$_0(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker, objectCreate(protoOf(HolidayCalendar)));
  }
  function HolidayCalendar() {
    Companion_getInstance_94();
    this.umCalendarUid_1 = new Long(0, 0);
    this.umCalendarName_1 = null;
    this.umCalendarCategory_1 = 1;
    this.umCalendarActive_1 = true;
    this.umCalendarMasterChangeSeqNum_1 = new Long(0, 0);
    this.umCalendarLocalChangeSeqNum_1 = new Long(0, 0);
    this.umCalendarLastChangedBy_1 = 0;
    this.umCalendarLct_1 = new Long(0, 0);
  }
  protoOf(HolidayCalendar).set_umCalendarUid_gauo2p_k$ = function (_set____db54di) {
    this.umCalendarUid_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarUid_hurqun_k$ = function () {
    return this.umCalendarUid_1;
  };
  protoOf(HolidayCalendar).set_umCalendarName_o86x1j_k$ = function (_set____db54di) {
    this.umCalendarName_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarName_eqvove_k$ = function () {
    return this.umCalendarName_1;
  };
  protoOf(HolidayCalendar).set_umCalendarCategory_3kgfc9_k$ = function (_set____db54di) {
    this.umCalendarCategory_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarCategory_7svgd9_k$ = function () {
    return this.umCalendarCategory_1;
  };
  protoOf(HolidayCalendar).set_umCalendarActive_chv2ec_k$ = function (_set____db54di) {
    this.umCalendarActive_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarActive_ua75np_k$ = function () {
    return this.umCalendarActive_1;
  };
  protoOf(HolidayCalendar).set_umCalendarMasterChangeSeqNum_boblwu_k$ = function (_set____db54di) {
    this.umCalendarMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarMasterChangeSeqNum_w1refs_k$ = function () {
    return this.umCalendarMasterChangeSeqNum_1;
  };
  protoOf(HolidayCalendar).set_umCalendarLocalChangeSeqNum_92nnwx_k$ = function (_set____db54di) {
    this.umCalendarLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarLocalChangeSeqNum_jxerpf_k$ = function () {
    return this.umCalendarLocalChangeSeqNum_1;
  };
  protoOf(HolidayCalendar).set_umCalendarLastChangedBy_73d7sq_k$ = function (_set____db54di) {
    this.umCalendarLastChangedBy_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarLastChangedBy_k46ara_k$ = function () {
    return this.umCalendarLastChangedBy_1;
  };
  protoOf(HolidayCalendar).set_umCalendarLct_oo5g1g_k$ = function (_set____db54di) {
    this.umCalendarLct_1 = _set____db54di;
  };
  protoOf(HolidayCalendar).get_umCalendarLct_hurxnm_k$ = function () {
    return this.umCalendarLct_1;
  };
  function Companion_93() {
    Companion_instance_93 = this;
  }
  protoOf(Companion_93).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_91();
  };
  var Companion_instance_93;
  function Companion_getInstance_95() {
    if (Companion_instance_93 == null)
      new Companion_93();
    return Companion_instance_93;
  }
  function $serializer_91() {
    $serializer_instance_91 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.HolidayCalendarWithNumEntries', this, 9);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarCategory', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('numEntries', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_91).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_91).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_91).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_local3 = false;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp13_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.endStructure_1xqz0n_k$(tmp0_desc);
    return HolidayCalendarWithNumEntries_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_91).serialize_is0l0c_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_umCalendarUid_hurqun_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_umCalendarUid_hurqun_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.get_umCalendarName_eqvove_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.get_umCalendarName_eqvove_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.get_umCalendarCategory_7svgd9_k$() === Companion_getInstance_94().get_CATEGORY_HOLIDAY_v38ji8_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.get_umCalendarCategory_7svgd9_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.get_umCalendarActive_ua75np_k$() === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 3, value.get_umCalendarActive_ua75np_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.get_umCalendarMasterChangeSeqNum_w1refs_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.get_umCalendarMasterChangeSeqNum_w1refs_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.get_umCalendarLocalChangeSeqNum_jxerpf_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.get_umCalendarLocalChangeSeqNum_jxerpf_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.get_umCalendarLastChangedBy_k46ara_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.get_umCalendarLastChangedBy_k46ara_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_umCalendarLct_hurxnm_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_umCalendarLct_hurxnm_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.numEntries_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.numEntries_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_91).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_is0l0c_k$(encoder, value instanceof HolidayCalendarWithNumEntries ? value : THROW_CCE());
  };
  var $serializer_instance_91;
  function $serializer_getInstance_91() {
    if ($serializer_instance_91 == null)
      new $serializer_91();
    return $serializer_instance_91;
  }
  function HolidayCalendarWithNumEntries_init_$Init$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, numEntries, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_91().descriptor_1);
    }
    HolidayCalendar_init_$Init$_0(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 256))
      $this.numEntries_1 = 0;
    else
      $this.numEntries_1 = numEntries;
    return $this;
  }
  function HolidayCalendarWithNumEntries_init_$Create$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, numEntries, serializationConstructorMarker) {
    return HolidayCalendarWithNumEntries_init_$Init$(seen1, umCalendarUid, umCalendarName, umCalendarCategory, umCalendarActive, umCalendarMasterChangeSeqNum, umCalendarLocalChangeSeqNum, umCalendarLastChangedBy, umCalendarLct, numEntries, serializationConstructorMarker, objectCreate(protoOf(HolidayCalendarWithNumEntries)));
  }
  function HolidayCalendarWithNumEntries() {
    Companion_getInstance_95();
    HolidayCalendar.call(this);
    this.numEntries_1 = 0;
  }
  protoOf(HolidayCalendarWithNumEntries).set_numEntries_p9458f_k$ = function (_set____db54di) {
    this.numEntries_1 = _set____db54di;
  };
  protoOf(HolidayCalendarWithNumEntries).get_numEntries_ltjdql_k$ = function () {
    return this.numEntries_1;
  };
  function Companion_94() {
    Companion_instance_94 = this;
    this.TABLE_ID_1 = 13;
    this.ENGLISH_LANG_UID_1 = new Long(10000, 0);
    this.ARABIC_LANG_UID_1 = new Long(10001, 0);
    this.BENGALI_LANG_UID_1 = new Long(10002, 0);
    this.BURMESE_LANG_UID_1 = new Long(10003, 0);
    this.KINYARWANDA_LANG_UID_1 = new Long(10004, 0);
    this.NEPALI_LANG_UID_1 = new Long(10005, 0);
    this.PASHTO_LANG_UID_1 = new Long(10006, 0);
    this.PERSIAN_LANG_UID_1 = new Long(10007, 0);
    this.RUSSIAN_LANG_UID_1 = new Long(10008, 0);
    this.TAJIK_LANG_UID_1 = new Long(10009, 0);
    var tmp = this;
    // Inline function 'kotlin.apply' call
    var this_0 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_0.name_1 = 'English';
    this_0.langUid_1 = new Long(10000, 0);
    this_0.iso_639_1_standard_1 = 'en';
    this_0.iso_639_2_standard_1 = 'eng';
    this_0.iso_639_3_standard_1 = 'eng';
    var tmp_0 = this_0;
    // Inline function 'kotlin.apply' call
    var this_1 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_1.name_1 = '\u0627\u0644\u0639\u0631\u0628\u064A\u0629';
    this_1.langUid_1 = new Long(10001, 0);
    this_1.iso_639_1_standard_1 = 'ar';
    this_1.iso_639_2_standard_1 = 'ara';
    this_1.iso_639_3_standard_1 = 'ara';
    var tmp_1 = this_1;
    // Inline function 'kotlin.apply' call
    var this_2 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_2.name_1 = '\u09AC\u09BE\u0982\u09B2\u09BE';
    this_2.langUid_1 = new Long(10002, 0);
    this_2.iso_639_1_standard_1 = 'bn';
    this_2.iso_639_2_standard_1 = 'ben';
    this_2.iso_639_3_standard_1 = 'ben';
    var tmp_2 = this_2;
    // Inline function 'kotlin.apply' call
    var this_3 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_3.name_1 = '\u1019\u103C\u1014\u103A\u1019\u102C';
    this_3.langUid_1 = new Long(10003, 0);
    this_3.iso_639_1_standard_1 = 'my';
    this_3.iso_639_2_standard_1 = 'bur';
    this_3.iso_639_3_standard_1 = 'mya';
    var tmp_3 = this_3;
    // Inline function 'kotlin.apply' call
    var this_4 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_4.name_1 = 'Ikinyarwanda';
    this_4.langUid_1 = new Long(10004, 0);
    this_4.iso_639_1_standard_1 = 'rw';
    this_4.iso_639_2_standard_1 = 'kin';
    this_4.iso_639_3_standard_1 = 'kin';
    var tmp_4 = this_4;
    // Inline function 'kotlin.apply' call
    var this_5 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_5.name_1 = '\u0928\u0947\u092A\u093E\u0932\u0940';
    this_5.langUid_1 = new Long(10005, 0);
    this_5.iso_639_1_standard_1 = 'ne';
    this_5.iso_639_2_standard_1 = 'nep';
    this_5.iso_639_3_standard_1 = 'nep';
    var tmp_5 = this_5;
    // Inline function 'kotlin.apply' call
    var this_6 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_6.name_1 = '\u067E\u069A\u062A\u0648';
    this_6.langUid_1 = new Long(10006, 0);
    this_6.iso_639_1_standard_1 = 'ps';
    this_6.iso_639_2_standard_1 = 'pus';
    this_6.iso_639_3_standard_1 = 'pus';
    var tmp_6 = this_6;
    // Inline function 'kotlin.apply' call
    var this_7 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_7.name_1 = '\u0641\u0627\u0631\u0633\u06CC';
    this_7.langUid_1 = new Long(10007, 0);
    this_7.iso_639_1_standard_1 = 'fa';
    this_7.iso_639_2_standard_1 = 'per';
    this_7.iso_639_3_standard_1 = 'fas';
    var tmp_7 = this_7;
    // Inline function 'kotlin.apply' call
    var this_8 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_8.name_1 = '\u0440\u0443\u0441\u0441\u043A\u0438\u0439';
    this_8.langUid_1 = new Long(10008, 0);
    this_8.iso_639_1_standard_1 = 'ru';
    this_8.iso_639_2_standard_1 = 'rus';
    this_8.iso_639_3_standard_1 = 'rus';
    var tmp_8 = this_8;
    // Inline function 'kotlin.apply' call
    var this_9 = new Language();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_LANGUAGES.<anonymous>' call
    this_9.name_1 = '\u0422\u043E\u04B7\u0438\u043A\u04E3';
    this_9.langUid_1 = new Long(10009, 0);
    this_9.iso_639_1_standard_1 = 'tg';
    this_9.iso_639_2_standard_1 = 'tgk';
    this_9.iso_639_3_standard_1 = 'tgk';
    tmp.FIXED_LANGUAGES_1 = listOf_0([tmp_0, tmp_1, tmp_2, tmp_3, tmp_4, tmp_5, tmp_6, tmp_7, tmp_8, this_9]);
  }
  protoOf(Companion_94).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_94).get_ENGLISH_LANG_UID_23x8zt_k$ = function () {
    return this.ENGLISH_LANG_UID_1;
  };
  protoOf(Companion_94).get_ARABIC_LANG_UID_yi3ag9_k$ = function () {
    return this.ARABIC_LANG_UID_1;
  };
  protoOf(Companion_94).get_BENGALI_LANG_UID_naoop1_k$ = function () {
    return this.BENGALI_LANG_UID_1;
  };
  protoOf(Companion_94).get_BURMESE_LANG_UID_v3okwu_k$ = function () {
    return this.BURMESE_LANG_UID_1;
  };
  protoOf(Companion_94).get_KINYARWANDA_LANG_UID_9vdm2o_k$ = function () {
    return this.KINYARWANDA_LANG_UID_1;
  };
  protoOf(Companion_94).get_NEPALI_LANG_UID_dujg0_k$ = function () {
    return this.NEPALI_LANG_UID_1;
  };
  protoOf(Companion_94).get_PASHTO_LANG_UID_vvgx70_k$ = function () {
    return this.PASHTO_LANG_UID_1;
  };
  protoOf(Companion_94).get_PERSIAN_LANG_UID_wwant_k$ = function () {
    return this.PERSIAN_LANG_UID_1;
  };
  protoOf(Companion_94).get_RUSSIAN_LANG_UID_hljl9w_k$ = function () {
    return this.RUSSIAN_LANG_UID_1;
  };
  protoOf(Companion_94).get_TAJIK_LANG_UID_fls2mg_k$ = function () {
    return this.TAJIK_LANG_UID_1;
  };
  protoOf(Companion_94).get_FIXED_LANGUAGES_dvs2e1_k$ = function () {
    return this.FIXED_LANGUAGES_1;
  };
  protoOf(Companion_94).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_92();
  };
  var Companion_instance_94;
  function Companion_getInstance_96() {
    if (Companion_instance_94 == null)
      new Companion_94();
    return Companion_instance_94;
  }
  function $serializer_92() {
    $serializer_instance_92 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Language', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('langUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('name', true);
    tmp0_serialDesc.addElement_5pzumi_k$('iso_639_1_standard', true);
    tmp0_serialDesc.addElement_5pzumi_k$('iso_639_2_standard', true);
    tmp0_serialDesc.addElement_5pzumi_k$('iso_639_3_standard', true);
    tmp0_serialDesc.addElement_5pzumi_k$('Language_Type', true);
    tmp0_serialDesc.addElement_5pzumi_k$('languageActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_92).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_92).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_92).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Language_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_92).serialize_s2buao_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.langUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.langUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.name_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.name_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.iso_639_1_standard_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.iso_639_1_standard_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.iso_639_2_standard_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.iso_639_2_standard_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.iso_639_3_standard_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.iso_639_3_standard_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.Language_Type_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.Language_Type_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.languageActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.languageActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.langLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.langLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.langMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.langMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.langLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.langLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.langLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.langLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_92).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_s2buao_k$(encoder, value instanceof Language ? value : THROW_CCE());
  };
  var $serializer_instance_92;
  function $serializer_getInstance_92() {
    if ($serializer_instance_92 == null)
      new $serializer_92();
    return $serializer_instance_92;
  }
  function Language_init_$Init$(seen1, langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_92().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.langUid_1 = new Long(0, 0);
    else
      $this.langUid_1 = langUid;
    if (0 === (seen1 & 2))
      $this.name_1 = null;
    else
      $this.name_1 = name;
    if (0 === (seen1 & 4))
      $this.iso_639_1_standard_1 = null;
    else
      $this.iso_639_1_standard_1 = iso_639_1_standard;
    if (0 === (seen1 & 8))
      $this.iso_639_2_standard_1 = null;
    else
      $this.iso_639_2_standard_1 = iso_639_2_standard;
    if (0 === (seen1 & 16))
      $this.iso_639_3_standard_1 = null;
    else
      $this.iso_639_3_standard_1 = iso_639_3_standard;
    if (0 === (seen1 & 32))
      $this.Language_Type_1 = null;
    else
      $this.Language_Type_1 = Language_Type;
    if (0 === (seen1 & 64))
      $this.languageActive_1 = true;
    else
      $this.languageActive_1 = languageActive;
    if (0 === (seen1 & 128))
      $this.langLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.langLocalChangeSeqNum_1 = langLocalChangeSeqNum;
    if (0 === (seen1 & 256))
      $this.langMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.langMasterChangeSeqNum_1 = langMasterChangeSeqNum;
    if (0 === (seen1 & 512))
      $this.langLastChangedBy_1 = 0;
    else
      $this.langLastChangedBy_1 = langLastChangedBy;
    if (0 === (seen1 & 1024))
      $this.langLct_1 = new Long(0, 0);
    else
      $this.langLct_1 = langLct;
    return $this;
  }
  function Language_init_$Create$(seen1, langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct, serializationConstructorMarker) {
    return Language_init_$Init$(seen1, langUid, name, iso_639_1_standard, iso_639_2_standard, iso_639_3_standard, Language_Type, languageActive, langLocalChangeSeqNum, langMasterChangeSeqNum, langLastChangedBy, langLct, serializationConstructorMarker, objectCreate(protoOf(Language)));
  }
  function Language() {
    Companion_getInstance_96();
    this.langUid_1 = new Long(0, 0);
    this.name_1 = null;
    this.iso_639_1_standard_1 = null;
    this.iso_639_2_standard_1 = null;
    this.iso_639_3_standard_1 = null;
    this.Language_Type_1 = null;
    this.languageActive_1 = true;
    this.langLocalChangeSeqNum_1 = new Long(0, 0);
    this.langMasterChangeSeqNum_1 = new Long(0, 0);
    this.langLastChangedBy_1 = 0;
    this.langLct_1 = new Long(0, 0);
  }
  protoOf(Language).set_langUid_ci1fyx_k$ = function (_set____db54di) {
    this.langUid_1 = _set____db54di;
  };
  protoOf(Language).get_langUid_ejnh5_k$ = function () {
    return this.langUid_1;
  };
  protoOf(Language).set_name_wkmnld_k$ = function (_set____db54di) {
    this.name_1 = _set____db54di;
  };
  protoOf(Language).get_name_woqyms_k$ = function () {
    return this.name_1;
  };
  protoOf(Language).set_iso_639_1_standard_i0x87m_k$ = function (_set____db54di) {
    this.iso_639_1_standard_1 = _set____db54di;
  };
  protoOf(Language).get_iso_639_1_standard_spkz1r_k$ = function () {
    return this.iso_639_1_standard_1;
  };
  protoOf(Language).set_iso_639_2_standard_vevcqb_k$ = function (_set____db54di) {
    this.iso_639_2_standard_1 = _set____db54di;
  };
  protoOf(Language).get_iso_639_2_standard_vykxu8_k$ = function () {
    return this.iso_639_2_standard_1;
  };
  protoOf(Language).set_iso_639_3_standard_q8akq4_k$ = function (_set____db54di) {
    this.iso_639_3_standard_1 = _set____db54di;
  };
  protoOf(Language).get_iso_639_3_standard_z7kwmp_k$ = function () {
    return this.iso_639_3_standard_1;
  };
  protoOf(Language).set_Language_Type_jxss6r_k$ = function (_set____db54di) {
    this.Language_Type_1 = _set____db54di;
  };
  protoOf(Language).get_Language_Type_55wja0_k$ = function () {
    return this.Language_Type_1;
  };
  protoOf(Language).set_languageActive_33gxtm_k$ = function (_set____db54di) {
    this.languageActive_1 = _set____db54di;
  };
  protoOf(Language).get_languageActive_km5lzb_k$ = function () {
    return this.languageActive_1;
  };
  protoOf(Language).set_langLocalChangeSeqNum_km6xw9_k$ = function (_set____db54di) {
    this.langLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Language).get_langLocalChangeSeqNum_t6xedn_k$ = function () {
    return this.langLocalChangeSeqNum_1;
  };
  protoOf(Language).set_langMasterChangeSeqNum_eccxgm_k$ = function (_set____db54di) {
    this.langMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Language).get_langMasterChangeSeqNum_z4cpe8_k$ = function () {
    return this.langMasterChangeSeqNum_1;
  };
  protoOf(Language).set_langLastChangedBy_1lwzr6_k$ = function (_set____db54di) {
    this.langLastChangedBy_1 = _set____db54di;
  };
  protoOf(Language).get_langLastChangedBy_mb75qa_k$ = function () {
    return this.langLastChangedBy_1;
  };
  protoOf(Language).set_langLct_kvc7xo_k$ = function (_set____db54di) {
    this.langLct_1 = _set____db54di;
  };
  protoOf(Language).get_langLct_ejgo6_k$ = function () {
    return this.langLct_1;
  };
  protoOf(Language).toString = function () {
    return toString(this.name_1);
  };
  protoOf(Language).equals = function (other) {
    if (this === other)
      return true;
    var language = (other == null ? true : other instanceof Language) ? other : THROW_CCE();
    if (!this.langUid_1.equals(ensureNotNull(language).langUid_1))
      return false;
    if (!(this.name_1 == null) ? !(this.name_1 == language.name_1) : !(language.name_1 == null))
      return false;
    if (!(this.iso_639_1_standard_1 == null) ? !(this.iso_639_1_standard_1 == language.iso_639_1_standard_1) : !(language.iso_639_1_standard_1 == null))
      return false;
    if (!(this.iso_639_2_standard_1 == null) ? !(this.iso_639_2_standard_1 == language.iso_639_2_standard_1) : !(language.iso_639_2_standard_1 == null))
      return false;
    return !(this.iso_639_3_standard_1 == null) ? this.iso_639_3_standard_1 == language.iso_639_3_standard_1 : language.iso_639_3_standard_1 == null;
  };
  protoOf(Language).hashCode = function () {
    var result = this.langUid_1.xor_qzz94j_k$(this.langUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$();
    result = imul(31, result) + (!(this.name_1 == null) ? getStringHashCode(ensureNotNull(this.name_1)) : 0) | 0;
    result = imul(31, result) + (!(this.iso_639_1_standard_1 == null) ? getStringHashCode(ensureNotNull(this.iso_639_1_standard_1)) : 0) | 0;
    result = imul(31, result) + (!(this.iso_639_2_standard_1 == null) ? getStringHashCode(ensureNotNull(this.iso_639_2_standard_1)) : 0) | 0;
    result = imul(31, result) + (!(this.iso_639_3_standard_1 == null) ? getStringHashCode(ensureNotNull(this.iso_639_3_standard_1)) : 0) | 0;
    return result;
  };
  function Companion_95() {
    Companion_instance_95 = this;
    this.TABLE_ID_1 = 10;
  }
  protoOf(Companion_95).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_95).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_93();
  };
  var Companion_instance_95;
  function Companion_getInstance_97() {
    if (Companion_instance_95 == null)
      new Companion_95();
    return Companion_instance_95;
  }
  function $serializer_93() {
    $serializer_instance_93 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.LanguageVariant', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('langVariantUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('countryCode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('name', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langVariantLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langVariantMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langVariantLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('langVariantLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_93).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_93).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_93).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return LanguageVariant_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_93).serialize_xbievz_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.langVariantUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.langVariantUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.langUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.langUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.countryCode_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.countryCode_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.name_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.name_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.langVariantLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.langVariantLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.langVariantMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.langVariantMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.langVariantLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.langVariantLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.langVariantLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.langVariantLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_93).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_xbievz_k$(encoder, value instanceof LanguageVariant ? value : THROW_CCE());
  };
  var $serializer_instance_93;
  function $serializer_getInstance_93() {
    if ($serializer_instance_93 == null)
      new $serializer_93();
    return $serializer_instance_93;
  }
  function LanguageVariant_init_$Init$(seen1, langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_93().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.langVariantUid_1 = new Long(0, 0);
    else
      $this.langVariantUid_1 = langVariantUid;
    if (0 === (seen1 & 2))
      $this.langUid_1 = new Long(0, 0);
    else
      $this.langUid_1 = langUid;
    if (0 === (seen1 & 4))
      $this.countryCode_1 = null;
    else
      $this.countryCode_1 = countryCode;
    if (0 === (seen1 & 8))
      $this.name_1 = null;
    else
      $this.name_1 = name;
    if (0 === (seen1 & 16))
      $this.langVariantLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.langVariantLocalChangeSeqNum_1 = langVariantLocalChangeSeqNum;
    if (0 === (seen1 & 32))
      $this.langVariantMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.langVariantMasterChangeSeqNum_1 = langVariantMasterChangeSeqNum;
    if (0 === (seen1 & 64))
      $this.langVariantLastChangedBy_1 = 0;
    else
      $this.langVariantLastChangedBy_1 = langVariantLastChangedBy;
    if (0 === (seen1 & 128))
      $this.langVariantLct_1 = new Long(0, 0);
    else
      $this.langVariantLct_1 = langVariantLct;
    return $this;
  }
  function LanguageVariant_init_$Create$(seen1, langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct, serializationConstructorMarker) {
    return LanguageVariant_init_$Init$(seen1, langVariantUid, langUid, countryCode, name, langVariantLocalChangeSeqNum, langVariantMasterChangeSeqNum, langVariantLastChangedBy, langVariantLct, serializationConstructorMarker, objectCreate(protoOf(LanguageVariant)));
  }
  function LanguageVariant() {
    Companion_getInstance_97();
    this.langVariantUid_1 = new Long(0, 0);
    this.langUid_1 = new Long(0, 0);
    this.countryCode_1 = null;
    this.name_1 = null;
    this.langVariantLocalChangeSeqNum_1 = new Long(0, 0);
    this.langVariantMasterChangeSeqNum_1 = new Long(0, 0);
    this.langVariantLastChangedBy_1 = 0;
    this.langVariantLct_1 = new Long(0, 0);
  }
  protoOf(LanguageVariant).set_langVariantUid_az9iuw_k$ = function (_set____db54di) {
    this.langVariantUid_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_langVariantUid_f89r8i_k$ = function () {
    return this.langVariantUid_1;
  };
  protoOf(LanguageVariant).set_langUid_ci1fyx_k$ = function (_set____db54di) {
    this.langUid_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_langUid_ejnh5_k$ = function () {
    return this.langUid_1;
  };
  protoOf(LanguageVariant).set_countryCode_nspx4f_k$ = function (_set____db54di) {
    this.countryCode_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_countryCode_aj7feu_k$ = function () {
    return this.countryCode_1;
  };
  protoOf(LanguageVariant).set_name_wkmnld_k$ = function (_set____db54di) {
    this.name_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_name_woqyms_k$ = function () {
    return this.name_1;
  };
  protoOf(LanguageVariant).set_langVariantLocalChangeSeqNum_36e11y_k$ = function (_set____db54di) {
    this.langVariantLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_langVariantLocalChangeSeqNum_i784ks_k$ = function () {
    return this.langVariantLocalChangeSeqNum_1;
  };
  protoOf(LanguageVariant).set_langVariantMasterChangeSeqNum_cykm8b_k$ = function (_set____db54di) {
    this.langVariantMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_langVariantMasterChangeSeqNum_dg5iqh_k$ = function () {
    return this.langVariantMasterChangeSeqNum_1;
  };
  protoOf(LanguageVariant).set_langVariantLastChangedBy_w7xkx9_k$ = function (_set____db54di) {
    this.langVariantLastChangedBy_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_langVariantLastChangedBy_t591fd_k$ = function () {
    return this.langVariantLastChangedBy_1;
  };
  protoOf(LanguageVariant).set_langVariantLct_2lyqw5_k$ = function (_set____db54di) {
    this.langVariantLct_1 = _set____db54di;
  };
  protoOf(LanguageVariant).get_langVariantLct_f89kfj_k$ = function () {
    return this.langVariantLct_1;
  };
  protoOf(LanguageVariant).equals = function (other) {
    if (this === other)
      return true;
    var that = (other == null ? true : other instanceof LanguageVariant) ? other : THROW_CCE();
    if (!this.langVariantUid_1.equals(ensureNotNull(that).langVariantUid_1))
      return false;
    if (!this.langUid_1.equals(that.langUid_1))
      return false;
    if (!(this.countryCode_1 == null) ? !(this.countryCode_1 == that.countryCode_1) : !(that.countryCode_1 == null))
      return false;
    return !(this.name_1 == null) ? this.name_1 == that.name_1 : that.name_1 == null;
  };
  protoOf(LanguageVariant).hashCode = function () {
    var result = this.langVariantUid_1.xor_qzz94j_k$(this.langVariantUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$();
    result = imul(31, result) + this.langUid_1.xor_qzz94j_k$(this.langUid_1.ushr_z7nmq8_k$(32)).toInt_1tsl84_k$() | 0;
    result = imul(31, result) + (!(this.countryCode_1 == null) ? getStringHashCode(ensureNotNull(this.countryCode_1)) : 0) | 0;
    result = imul(31, result) + (!(this.name_1 == null) ? getStringHashCode(ensureNotNull(this.name_1)) : 0) | 0;
    return result;
  };
  function LeavingReason_init_$Init$(uid, title, $this) {
    LeavingReason.call($this);
    $this.leavingReasonUid_1 = uid;
    $this.leavingReasonTitle_1 = title;
    return $this;
  }
  function LeavingReason_init_$Create$(uid, title) {
    return LeavingReason_init_$Init$(uid, title, objectCreate(protoOf(LeavingReason)));
  }
  function Companion_96() {
    Companion_instance_96 = this;
    this.TABLE_ID_1 = 410;
    this.MOVED_TITLE_1 = 'Moved';
    this.MOVED_UID_1 = new Long(10000, 0);
    this.MEDICAL_TITLE_1 = 'Medical';
    this.MEDICAL_UID_1 = new Long(10001, 0);
    this.TRANSPORT_PROBLEM_TITLE_1 = 'Transportation problem';
    this.TRANSPORT_PROBLEM_UID_1 = new Long(10002, 0);
    this.FAMILY_PROBLEM_TITLE_1 = 'Family economic problem';
    this.FAMILY_PROBLEM_UID_1 = new Long(10003, 0);
    this.FAILED_TITLE_1 = 'Failed test';
    this.FAILED_UID_1 = new Long(10004, 0);
    this.PASSED_TITLE_1 = 'Passed test';
    this.PASSED_UID_1 = new Long(10005, 0);
    this.FIXED_UIDS_1 = mapOf([to('Moved', new Long(10000, 0)), to('Medical', new Long(10001, 0)), to('Transportation problem', new Long(10002, 0)), to('Family economic problem', new Long(10003, 0)), to('Failed test', new Long(10004, 0)), to('Passed test', new Long(10005, 0))]);
  }
  protoOf(Companion_96).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_96).get_MOVED_TITLE_8tas4d_k$ = function () {
    return this.MOVED_TITLE_1;
  };
  protoOf(Companion_96).get_MOVED_UID_1bkdzv_k$ = function () {
    return this.MOVED_UID_1;
  };
  protoOf(Companion_96).get_MEDICAL_TITLE_whmnnj_k$ = function () {
    return this.MEDICAL_TITLE_1;
  };
  protoOf(Companion_96).get_MEDICAL_UID_8rfg1l_k$ = function () {
    return this.MEDICAL_UID_1;
  };
  protoOf(Companion_96).get_TRANSPORT_PROBLEM_TITLE_xsyt3t_k$ = function () {
    return this.TRANSPORT_PROBLEM_TITLE_1;
  };
  protoOf(Companion_96).get_TRANSPORT_PROBLEM_UID_5kyktr_k$ = function () {
    return this.TRANSPORT_PROBLEM_UID_1;
  };
  protoOf(Companion_96).get_FAMILY_PROBLEM_TITLE_z10a1m_k$ = function () {
    return this.FAMILY_PROBLEM_TITLE_1;
  };
  protoOf(Companion_96).get_FAMILY_PROBLEM_UID_scgvxa_k$ = function () {
    return this.FAMILY_PROBLEM_UID_1;
  };
  protoOf(Companion_96).get_FAILED_TITLE_oywvlr_k$ = function () {
    return this.FAILED_TITLE_1;
  };
  protoOf(Companion_96).get_FAILED_UID_2s6edl_k$ = function () {
    return this.FAILED_UID_1;
  };
  protoOf(Companion_96).get_PASSED_TITLE_ho04qa_k$ = function () {
    return this.PASSED_TITLE_1;
  };
  protoOf(Companion_96).get_PASSED_UID_jae0a_k$ = function () {
    return this.PASSED_UID_1;
  };
  protoOf(Companion_96).get_FIXED_UIDS_gl0ofr_k$ = function () {
    return this.FIXED_UIDS_1;
  };
  protoOf(Companion_96).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_94();
  };
  var Companion_instance_96;
  function Companion_getInstance_98() {
    if (Companion_instance_96 == null)
      new Companion_96();
    return Companion_instance_96;
  }
  function $serializer_94() {
    $serializer_instance_94 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.LeavingReason', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('leavingReasonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leavingReasonTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leavingReasonMCSN', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leavingReasonCSN', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leavingReasonLCB', true);
    tmp0_serialDesc.addElement_5pzumi_k$('leavingReasonLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_94).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_94).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_94).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = 0;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return LeavingReason_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_94).serialize_hkgg7e_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.leavingReasonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.leavingReasonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.leavingReasonTitle_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.leavingReasonTitle_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.leavingReasonMCSN_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.leavingReasonMCSN_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.leavingReasonCSN_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.leavingReasonCSN_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.leavingReasonLCB_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.leavingReasonLCB_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.leavingReasonLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.leavingReasonLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_94).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_hkgg7e_k$(encoder, value instanceof LeavingReason ? value : THROW_CCE());
  };
  var $serializer_instance_94;
  function $serializer_getInstance_94() {
    if ($serializer_instance_94 == null)
      new $serializer_94();
    return $serializer_instance_94;
  }
  function LeavingReason_init_$Init$_0(seen1, leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_94().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.leavingReasonUid_1 = new Long(0, 0);
    else
      $this.leavingReasonUid_1 = leavingReasonUid;
    if (0 === (seen1 & 2))
      $this.leavingReasonTitle_1 = null;
    else
      $this.leavingReasonTitle_1 = leavingReasonTitle;
    if (0 === (seen1 & 4))
      $this.leavingReasonMCSN_1 = new Long(0, 0);
    else
      $this.leavingReasonMCSN_1 = leavingReasonMCSN;
    if (0 === (seen1 & 8))
      $this.leavingReasonCSN_1 = new Long(0, 0);
    else
      $this.leavingReasonCSN_1 = leavingReasonCSN;
    if (0 === (seen1 & 16))
      $this.leavingReasonLCB_1 = 0;
    else
      $this.leavingReasonLCB_1 = leavingReasonLCB;
    if (0 === (seen1 & 32))
      $this.leavingReasonLct_1 = new Long(0, 0);
    else
      $this.leavingReasonLct_1 = leavingReasonLct;
    return $this;
  }
  function LeavingReason_init_$Create$_0(seen1, leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct, serializationConstructorMarker) {
    return LeavingReason_init_$Init$_0(seen1, leavingReasonUid, leavingReasonTitle, leavingReasonMCSN, leavingReasonCSN, leavingReasonLCB, leavingReasonLct, serializationConstructorMarker, objectCreate(protoOf(LeavingReason)));
  }
  function LeavingReason() {
    Companion_getInstance_98();
    this.leavingReasonUid_1 = new Long(0, 0);
    this.leavingReasonTitle_1 = null;
    this.leavingReasonMCSN_1 = new Long(0, 0);
    this.leavingReasonCSN_1 = new Long(0, 0);
    this.leavingReasonLCB_1 = 0;
    this.leavingReasonLct_1 = new Long(0, 0);
  }
  protoOf(LeavingReason).set_leavingReasonUid_9yufs9_k$ = function (_set____db54di) {
    this.leavingReasonUid_1 = _set____db54di;
  };
  protoOf(LeavingReason).get_leavingReasonUid_err3kx_k$ = function () {
    return this.leavingReasonUid_1;
  };
  protoOf(LeavingReason).set_leavingReasonTitle_qlt7ba_k$ = function (_set____db54di) {
    this.leavingReasonTitle_1 = _set____db54di;
  };
  protoOf(LeavingReason).get_leavingReasonTitle_bcnrrr_k$ = function () {
    return this.leavingReasonTitle_1;
  };
  protoOf(LeavingReason).set_leavingReasonMCSN_bj3iha_k$ = function (_set____db54di) {
    this.leavingReasonMCSN_1 = _set____db54di;
  };
  protoOf(LeavingReason).get_leavingReasonMCSN_vphuqo_k$ = function () {
    return this.leavingReasonMCSN_1;
  };
  protoOf(LeavingReason).set_leavingReasonCSN_fn65j9_k$ = function (_set____db54di) {
    this.leavingReasonCSN_1 = _set____db54di;
  };
  protoOf(LeavingReason).get_leavingReasonCSN_erqpov_k$ = function () {
    return this.leavingReasonCSN_1;
  };
  protoOf(LeavingReason).set_leavingReasonLCB_7smdl4_k$ = function (_set____db54di) {
    this.leavingReasonLCB_1 = _set____db54di;
  };
  protoOf(LeavingReason).get_leavingReasonLCB_erqvz0_k$ = function () {
    return this.leavingReasonLCB_1;
  };
  protoOf(LeavingReason).set_leavingReasonLct_ic57r0_k$ = function (_set____db54di) {
    this.leavingReasonLct_1 = _set____db54di;
  };
  protoOf(LeavingReason).get_leavingReasonLct_erqwry_k$ = function () {
    return this.leavingReasonLct_1;
  };
  function Companion_97() {
    Companion_instance_97 = this;
    this.TABLE_ID_1 = 126;
  }
  protoOf(Companion_97).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_97).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_95();
  };
  var Companion_instance_97;
  function Companion_getInstance_99() {
    if (Companion_instance_97 == null)
      new Companion_97();
    return Companion_instance_97;
  }
  function $serializer_95() {
    $serializer_instance_95 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Message', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('messageUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('messageSenderPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('messageToPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('messageText', true);
    tmp0_serialDesc.addElement_5pzumi_k$('messageTimestamp', true);
    tmp0_serialDesc.addElement_5pzumi_k$('messageLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_95).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_95).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_95).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Message_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_95).serialize_d885jt_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.messageUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.messageUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.messageSenderPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.messageSenderPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.messageToPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.messageToPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.messageText_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.messageText_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.messageTimestamp_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.messageTimestamp_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.messageLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.messageLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_95).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_d885jt_k$(encoder, value instanceof Message ? value : THROW_CCE());
  };
  var $serializer_instance_95;
  function $serializer_getInstance_95() {
    if ($serializer_instance_95 == null)
      new $serializer_95();
    return $serializer_instance_95;
  }
  function Message_init_$Init$(seen1, messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_95().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.messageUid_1 = new Long(0, 0);
    else
      $this.messageUid_1 = messageUid;
    if (0 === (seen1 & 2))
      $this.messageSenderPersonUid_1 = new Long(0, 0);
    else
      $this.messageSenderPersonUid_1 = messageSenderPersonUid;
    if (0 === (seen1 & 4))
      $this.messageToPersonUid_1 = new Long(0, 0);
    else
      $this.messageToPersonUid_1 = messageToPersonUid;
    if (0 === (seen1 & 8))
      $this.messageText_1 = null;
    else
      $this.messageText_1 = messageText;
    if (0 === (seen1 & 16))
      $this.messageTimestamp_1 = new Long(0, 0);
    else
      $this.messageTimestamp_1 = messageTimestamp;
    if (0 === (seen1 & 32))
      $this.messageLct_1 = new Long(0, 0);
    else
      $this.messageLct_1 = messageLct;
    return $this;
  }
  function Message_init_$Create$(seen1, messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct, serializationConstructorMarker) {
    return Message_init_$Init$(seen1, messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct, serializationConstructorMarker, objectCreate(protoOf(Message)));
  }
  function Message(messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) {
    Companion_getInstance_99();
    messageUid = messageUid === VOID ? new Long(0, 0) : messageUid;
    messageSenderPersonUid = messageSenderPersonUid === VOID ? new Long(0, 0) : messageSenderPersonUid;
    messageToPersonUid = messageToPersonUid === VOID ? new Long(0, 0) : messageToPersonUid;
    messageText = messageText === VOID ? null : messageText;
    messageTimestamp = messageTimestamp === VOID ? new Long(0, 0) : messageTimestamp;
    messageLct = messageLct === VOID ? new Long(0, 0) : messageLct;
    this.messageUid_1 = messageUid;
    this.messageSenderPersonUid_1 = messageSenderPersonUid;
    this.messageToPersonUid_1 = messageToPersonUid;
    this.messageText_1 = messageText;
    this.messageTimestamp_1 = messageTimestamp;
    this.messageLct_1 = messageLct;
  }
  protoOf(Message).set_messageUid_udozrs_k$ = function (_set____db54di) {
    this.messageUid_1 = _set____db54di;
  };
  protoOf(Message).get_messageUid_mw8qc2_k$ = function () {
    return this.messageUid_1;
  };
  protoOf(Message).set_messageSenderPersonUid_jv3602_k$ = function (_set____db54di) {
    this.messageSenderPersonUid_1 = _set____db54di;
  };
  protoOf(Message).get_messageSenderPersonUid_bw7aq0_k$ = function () {
    return this.messageSenderPersonUid_1;
  };
  protoOf(Message).set_messageToPersonUid_70xwq0_k$ = function (_set____db54di) {
    this.messageToPersonUid_1 = _set____db54di;
  };
  protoOf(Message).get_messageToPersonUid_rh9mda_k$ = function () {
    return this.messageToPersonUid_1;
  };
  protoOf(Message).set_messageText_6t1480_k$ = function (_set____db54di) {
    this.messageText_1 = _set____db54di;
  };
  protoOf(Message).get_messageText_jmkr9_k$ = function () {
    return this.messageText_1;
  };
  protoOf(Message).set_messageTimestamp_tv7rma_k$ = function (_set____db54di) {
    this.messageTimestamp_1 = _set____db54di;
  };
  protoOf(Message).get_messageTimestamp_8sd2mw_k$ = function () {
    return this.messageTimestamp_1;
  };
  protoOf(Message).set_messageLct_wa4a8l_k$ = function (_set____db54di) {
    this.messageLct_1 = _set____db54di;
  };
  protoOf(Message).get_messageLct_mw8jj3_k$ = function () {
    return this.messageLct_1;
  };
  protoOf(Message).component1_7eebsc_k$ = function () {
    return this.messageUid_1;
  };
  protoOf(Message).component2_7eebsb_k$ = function () {
    return this.messageSenderPersonUid_1;
  };
  protoOf(Message).component3_7eebsa_k$ = function () {
    return this.messageToPersonUid_1;
  };
  protoOf(Message).component4_7eebs9_k$ = function () {
    return this.messageText_1;
  };
  protoOf(Message).component5_7eebs8_k$ = function () {
    return this.messageTimestamp_1;
  };
  protoOf(Message).component6_7eebs7_k$ = function () {
    return this.messageLct_1;
  };
  protoOf(Message).copy_43d9ny_k$ = function (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) {
    return new Message(messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct);
  };
  protoOf(Message).copy$default_rzjk7a_k$ = function (messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct, $super) {
    messageUid = messageUid === VOID ? this.messageUid_1 : messageUid;
    messageSenderPersonUid = messageSenderPersonUid === VOID ? this.messageSenderPersonUid_1 : messageSenderPersonUid;
    messageToPersonUid = messageToPersonUid === VOID ? this.messageToPersonUid_1 : messageToPersonUid;
    messageText = messageText === VOID ? this.messageText_1 : messageText;
    messageTimestamp = messageTimestamp === VOID ? this.messageTimestamp_1 : messageTimestamp;
    messageLct = messageLct === VOID ? this.messageLct_1 : messageLct;
    return $super === VOID ? this.copy_43d9ny_k$(messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct) : $super.copy_43d9ny_k$.call(this, messageUid, messageSenderPersonUid, messageToPersonUid, messageText, messageTimestamp, messageLct);
  };
  protoOf(Message).toString = function () {
    return 'Message(messageUid=' + this.messageUid_1.toString() + ', messageSenderPersonUid=' + this.messageSenderPersonUid_1.toString() + ', messageToPersonUid=' + this.messageToPersonUid_1.toString() + ', messageText=' + this.messageText_1 + ', messageTimestamp=' + this.messageTimestamp_1.toString() + ', messageLct=' + this.messageLct_1.toString() + ')';
  };
  protoOf(Message).hashCode = function () {
    var result = this.messageUid_1.hashCode();
    result = imul(result, 31) + this.messageSenderPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.messageToPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.messageText_1 == null ? 0 : getStringHashCode(this.messageText_1)) | 0;
    result = imul(result, 31) + this.messageTimestamp_1.hashCode() | 0;
    result = imul(result, 31) + this.messageLct_1.hashCode() | 0;
    return result;
  };
  protoOf(Message).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Message))
      return false;
    var tmp0_other_with_cast = other instanceof Message ? other : THROW_CCE();
    if (!this.messageUid_1.equals(tmp0_other_with_cast.messageUid_1))
      return false;
    if (!this.messageSenderPersonUid_1.equals(tmp0_other_with_cast.messageSenderPersonUid_1))
      return false;
    if (!this.messageToPersonUid_1.equals(tmp0_other_with_cast.messageToPersonUid_1))
      return false;
    if (!(this.messageText_1 == tmp0_other_with_cast.messageText_1))
      return false;
    if (!this.messageTimestamp_1.equals(tmp0_other_with_cast.messageTimestamp_1))
      return false;
    if (!this.messageLct_1.equals(tmp0_other_with_cast.messageLct_1))
      return false;
    return true;
  };
  function Companion_98() {
    Companion_instance_98 = this;
    this.TABLE_ID_1 = 971;
  }
  protoOf(Companion_98).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_98).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_96();
  };
  var Companion_instance_98;
  function Companion_getInstance_100() {
    if (Companion_instance_98 == null)
      new Companion_98();
    return Companion_instance_98;
  }
  function $serializer_96() {
    $serializer_instance_96 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.OfflineItem', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('oiUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('oiNodeId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('oiClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('oiCourseBlockUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('oiContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('oiActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('oiLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_96).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_96).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_96).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return OfflineItem_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_96).serialize_m5bmo8_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.oiUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.oiUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.oiNodeId_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.oiNodeId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.oiClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.oiClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.oiCourseBlockUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.oiCourseBlockUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.oiContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.oiContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.oiActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.oiActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.oiLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.oiLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_96).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_m5bmo8_k$(encoder, value instanceof OfflineItem ? value : THROW_CCE());
  };
  var $serializer_instance_96;
  function $serializer_getInstance_96() {
    if ($serializer_instance_96 == null)
      new $serializer_96();
    return $serializer_instance_96;
  }
  function OfflineItem_init_$Init$(seen1, oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_96().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.oiUid_1 = new Long(0, 0);
    else
      $this.oiUid_1 = oiUid;
    if (0 === (seen1 & 2))
      $this.oiNodeId_1 = new Long(0, 0);
    else
      $this.oiNodeId_1 = oiNodeId;
    if (0 === (seen1 & 4))
      $this.oiClazzUid_1 = new Long(0, 0);
    else
      $this.oiClazzUid_1 = oiClazzUid;
    if (0 === (seen1 & 8))
      $this.oiCourseBlockUid_1 = new Long(0, 0);
    else
      $this.oiCourseBlockUid_1 = oiCourseBlockUid;
    if (0 === (seen1 & 16))
      $this.oiContentEntryUid_1 = new Long(0, 0);
    else
      $this.oiContentEntryUid_1 = oiContentEntryUid;
    if (0 === (seen1 & 32))
      $this.oiActive_1 = true;
    else
      $this.oiActive_1 = oiActive;
    if (0 === (seen1 & 64))
      $this.oiLct_1 = new Long(0, 0);
    else
      $this.oiLct_1 = oiLct;
    return $this;
  }
  function OfflineItem_init_$Create$(seen1, oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct, serializationConstructorMarker) {
    return OfflineItem_init_$Init$(seen1, oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct, serializationConstructorMarker, objectCreate(protoOf(OfflineItem)));
  }
  function OfflineItem(oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) {
    Companion_getInstance_100();
    oiUid = oiUid === VOID ? new Long(0, 0) : oiUid;
    oiNodeId = oiNodeId === VOID ? new Long(0, 0) : oiNodeId;
    oiClazzUid = oiClazzUid === VOID ? new Long(0, 0) : oiClazzUid;
    oiCourseBlockUid = oiCourseBlockUid === VOID ? new Long(0, 0) : oiCourseBlockUid;
    oiContentEntryUid = oiContentEntryUid === VOID ? new Long(0, 0) : oiContentEntryUid;
    oiActive = oiActive === VOID ? true : oiActive;
    oiLct = oiLct === VOID ? new Long(0, 0) : oiLct;
    this.oiUid_1 = oiUid;
    this.oiNodeId_1 = oiNodeId;
    this.oiClazzUid_1 = oiClazzUid;
    this.oiCourseBlockUid_1 = oiCourseBlockUid;
    this.oiContentEntryUid_1 = oiContentEntryUid;
    this.oiActive_1 = oiActive;
    this.oiLct_1 = oiLct;
  }
  protoOf(OfflineItem).set_oiUid_cw5sxn_k$ = function (_set____db54di) {
    this.oiUid_1 = _set____db54di;
  };
  protoOf(OfflineItem).get_oiUid_iwbgtp_k$ = function () {
    return this.oiUid_1;
  };
  protoOf(OfflineItem).set_oiNodeId_zi5r1m_k$ = function (_set____db54di) {
    this.oiNodeId_1 = _set____db54di;
  };
  protoOf(OfflineItem).get_oiNodeId_bp5bsw_k$ = function () {
    return this.oiNodeId_1;
  };
  protoOf(OfflineItem).set_oiClazzUid_gbyzan_k$ = function (_set____db54di) {
    this.oiClazzUid_1 = _set____db54di;
  };
  protoOf(OfflineItem).get_oiClazzUid_qfnbfp_k$ = function () {
    return this.oiClazzUid_1;
  };
  protoOf(OfflineItem).set_oiCourseBlockUid_bxhaa1_k$ = function (_set____db54di) {
    this.oiCourseBlockUid_1 = _set____db54di;
  };
  protoOf(OfflineItem).get_oiCourseBlockUid_vv2sjl_k$ = function () {
    return this.oiCourseBlockUid_1;
  };
  protoOf(OfflineItem).set_oiContentEntryUid_7p7gv6_k$ = function (_set____db54di) {
    this.oiContentEntryUid_1 = _set____db54di;
  };
  protoOf(OfflineItem).get_oiContentEntryUid_4v8s7g_k$ = function () {
    return this.oiContentEntryUid_1;
  };
  protoOf(OfflineItem).set_oiActive_b6lfi0_k$ = function (_set____db54di) {
    this.oiActive_1 = _set____db54di;
  };
  protoOf(OfflineItem).get_oiActive_i11m7r_k$ = function () {
    return this.oiActive_1;
  };
  protoOf(OfflineItem).set_oiLct_4iv0yw_k$ = function (_set____db54di) {
    this.oiLct_1 = _set____db54di;
  };
  protoOf(OfflineItem).get_oiLct_iwba0q_k$ = function () {
    return this.oiLct_1;
  };
  protoOf(OfflineItem).component1_7eebsc_k$ = function () {
    return this.oiUid_1;
  };
  protoOf(OfflineItem).component2_7eebsb_k$ = function () {
    return this.oiNodeId_1;
  };
  protoOf(OfflineItem).component3_7eebsa_k$ = function () {
    return this.oiClazzUid_1;
  };
  protoOf(OfflineItem).component4_7eebs9_k$ = function () {
    return this.oiCourseBlockUid_1;
  };
  protoOf(OfflineItem).component5_7eebs8_k$ = function () {
    return this.oiContentEntryUid_1;
  };
  protoOf(OfflineItem).component6_7eebs7_k$ = function () {
    return this.oiActive_1;
  };
  protoOf(OfflineItem).component7_7eebs6_k$ = function () {
    return this.oiLct_1;
  };
  protoOf(OfflineItem).copy_4gyy4e_k$ = function (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) {
    return new OfflineItem(oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct);
  };
  protoOf(OfflineItem).copy$default_dg13j0_k$ = function (oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct, $super) {
    oiUid = oiUid === VOID ? this.oiUid_1 : oiUid;
    oiNodeId = oiNodeId === VOID ? this.oiNodeId_1 : oiNodeId;
    oiClazzUid = oiClazzUid === VOID ? this.oiClazzUid_1 : oiClazzUid;
    oiCourseBlockUid = oiCourseBlockUid === VOID ? this.oiCourseBlockUid_1 : oiCourseBlockUid;
    oiContentEntryUid = oiContentEntryUid === VOID ? this.oiContentEntryUid_1 : oiContentEntryUid;
    oiActive = oiActive === VOID ? this.oiActive_1 : oiActive;
    oiLct = oiLct === VOID ? this.oiLct_1 : oiLct;
    return $super === VOID ? this.copy_4gyy4e_k$(oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct) : $super.copy_4gyy4e_k$.call(this, oiUid, oiNodeId, oiClazzUid, oiCourseBlockUid, oiContentEntryUid, oiActive, oiLct);
  };
  protoOf(OfflineItem).toString = function () {
    return 'OfflineItem(oiUid=' + this.oiUid_1.toString() + ', oiNodeId=' + this.oiNodeId_1.toString() + ', oiClazzUid=' + this.oiClazzUid_1.toString() + ', oiCourseBlockUid=' + this.oiCourseBlockUid_1.toString() + ', oiContentEntryUid=' + this.oiContentEntryUid_1.toString() + ', oiActive=' + this.oiActive_1 + ', oiLct=' + this.oiLct_1.toString() + ')';
  };
  protoOf(OfflineItem).hashCode = function () {
    var result = this.oiUid_1.hashCode();
    result = imul(result, 31) + this.oiNodeId_1.hashCode() | 0;
    result = imul(result, 31) + this.oiClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + this.oiCourseBlockUid_1.hashCode() | 0;
    result = imul(result, 31) + this.oiContentEntryUid_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.oiActive_1) | 0;
    result = imul(result, 31) + this.oiLct_1.hashCode() | 0;
    return result;
  };
  protoOf(OfflineItem).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof OfflineItem))
      return false;
    var tmp0_other_with_cast = other instanceof OfflineItem ? other : THROW_CCE();
    if (!this.oiUid_1.equals(tmp0_other_with_cast.oiUid_1))
      return false;
    if (!this.oiNodeId_1.equals(tmp0_other_with_cast.oiNodeId_1))
      return false;
    if (!this.oiClazzUid_1.equals(tmp0_other_with_cast.oiClazzUid_1))
      return false;
    if (!this.oiCourseBlockUid_1.equals(tmp0_other_with_cast.oiCourseBlockUid_1))
      return false;
    if (!this.oiContentEntryUid_1.equals(tmp0_other_with_cast.oiContentEntryUid_1))
      return false;
    if (!(this.oiActive_1 === tmp0_other_with_cast.oiActive_1))
      return false;
    if (!this.oiLct_1.equals(tmp0_other_with_cast.oiLct_1))
      return false;
    return true;
  };
  function ParentEnrolmentRequired(parentPersonUid, clazzUid) {
    parentPersonUid = parentPersonUid === VOID ? new Long(0, 0) : parentPersonUid;
    clazzUid = clazzUid === VOID ? new Long(0, 0) : clazzUid;
    this.parentPersonUid_1 = parentPersonUid;
    this.clazzUid_1 = clazzUid;
  }
  protoOf(ParentEnrolmentRequired).set_parentPersonUid_ewbia2_k$ = function (_set____db54di) {
    this.parentPersonUid_1 = _set____db54di;
  };
  protoOf(ParentEnrolmentRequired).get_parentPersonUid_2n3d54_k$ = function () {
    return this.parentPersonUid_1;
  };
  protoOf(ParentEnrolmentRequired).set_clazzUid_tlygrb_k$ = function (_set____db54di) {
    this.clazzUid_1 = _set____db54di;
  };
  protoOf(ParentEnrolmentRequired).get_clazzUid_k8pnbz_k$ = function () {
    return this.clazzUid_1;
  };
  protoOf(ParentEnrolmentRequired).component1_7eebsc_k$ = function () {
    return this.parentPersonUid_1;
  };
  protoOf(ParentEnrolmentRequired).component2_7eebsb_k$ = function () {
    return this.clazzUid_1;
  };
  protoOf(ParentEnrolmentRequired).copy_cwfd3f_k$ = function (parentPersonUid, clazzUid) {
    return new ParentEnrolmentRequired(parentPersonUid, clazzUid);
  };
  protoOf(ParentEnrolmentRequired).copy$default_frkqtz_k$ = function (parentPersonUid, clazzUid, $super) {
    parentPersonUid = parentPersonUid === VOID ? this.parentPersonUid_1 : parentPersonUid;
    clazzUid = clazzUid === VOID ? this.clazzUid_1 : clazzUid;
    return $super === VOID ? this.copy_cwfd3f_k$(parentPersonUid, clazzUid) : $super.copy_cwfd3f_k$.call(this, parentPersonUid, clazzUid);
  };
  protoOf(ParentEnrolmentRequired).toString = function () {
    return 'ParentEnrolmentRequired(parentPersonUid=' + this.parentPersonUid_1.toString() + ', clazzUid=' + this.clazzUid_1.toString() + ')';
  };
  protoOf(ParentEnrolmentRequired).hashCode = function () {
    var result = this.parentPersonUid_1.hashCode();
    result = imul(result, 31) + this.clazzUid_1.hashCode() | 0;
    return result;
  };
  protoOf(ParentEnrolmentRequired).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ParentEnrolmentRequired))
      return false;
    var tmp0_other_with_cast = other instanceof ParentEnrolmentRequired ? other : THROW_CCE();
    if (!this.parentPersonUid_1.equals(tmp0_other_with_cast.parentPersonUid_1))
      return false;
    if (!this.clazzUid_1.equals(tmp0_other_with_cast.clazzUid_1))
      return false;
    return true;
  };
  function Companion_99() {
    Companion_instance_99 = this;
    this.TABLE_ID_1 = 140;
  }
  protoOf(Companion_99).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_99).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_97();
  };
  var Companion_instance_99;
  function Companion_getInstance_101() {
    if (Companion_instance_99 == null)
      new Companion_99();
    return Companion_instance_99;
  }
  function $serializer_97() {
    $serializer_instance_97 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PeerReviewerAllocation', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('praUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('praMarkerSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('praToMarkerSubmitterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('praAssignmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('praActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('praLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_97).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_97).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_97).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PeerReviewerAllocation_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_97).serialize_tzguxd_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.praUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.praUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.praMarkerSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.praMarkerSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.praToMarkerSubmitterUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.praToMarkerSubmitterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.praAssignmentUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.praAssignmentUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.praActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.praActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.praLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.praLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_97).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_tzguxd_k$(encoder, value instanceof PeerReviewerAllocation ? value : THROW_CCE());
  };
  var $serializer_instance_97;
  function $serializer_getInstance_97() {
    if ($serializer_instance_97 == null)
      new $serializer_97();
    return $serializer_instance_97;
  }
  function PeerReviewerAllocation_init_$Init$(seen1, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_97().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.praUid_1 = new Long(0, 0);
    else
      $this.praUid_1 = praUid;
    if (0 === (seen1 & 2))
      $this.praMarkerSubmitterUid_1 = new Long(0, 0);
    else
      $this.praMarkerSubmitterUid_1 = praMarkerSubmitterUid;
    if (0 === (seen1 & 4))
      $this.praToMarkerSubmitterUid_1 = new Long(0, 0);
    else
      $this.praToMarkerSubmitterUid_1 = praToMarkerSubmitterUid;
    if (0 === (seen1 & 8))
      $this.praAssignmentUid_1 = new Long(0, 0);
    else
      $this.praAssignmentUid_1 = praAssignmentUid;
    if (0 === (seen1 & 16))
      $this.praActive_1 = true;
    else
      $this.praActive_1 = praActive;
    if (0 === (seen1 & 32))
      $this.praLct_1 = new Long(0, 0);
    else
      $this.praLct_1 = praLct;
    return $this;
  }
  function PeerReviewerAllocation_init_$Create$(seen1, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, serializationConstructorMarker) {
    return PeerReviewerAllocation_init_$Init$(seen1, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, serializationConstructorMarker, objectCreate(protoOf(PeerReviewerAllocation)));
  }
  function PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) {
    Companion_getInstance_101();
    praUid = praUid === VOID ? new Long(0, 0) : praUid;
    praMarkerSubmitterUid = praMarkerSubmitterUid === VOID ? new Long(0, 0) : praMarkerSubmitterUid;
    praToMarkerSubmitterUid = praToMarkerSubmitterUid === VOID ? new Long(0, 0) : praToMarkerSubmitterUid;
    praAssignmentUid = praAssignmentUid === VOID ? new Long(0, 0) : praAssignmentUid;
    praActive = praActive === VOID ? true : praActive;
    praLct = praLct === VOID ? new Long(0, 0) : praLct;
    this.praUid_1 = praUid;
    this.praMarkerSubmitterUid_1 = praMarkerSubmitterUid;
    this.praToMarkerSubmitterUid_1 = praToMarkerSubmitterUid;
    this.praAssignmentUid_1 = praAssignmentUid;
    this.praActive_1 = praActive;
    this.praLct_1 = praLct;
  }
  protoOf(PeerReviewerAllocation).set_praUid_dkb29c_k$ = function (_set____db54di) {
    this.praUid_1 = _set____db54di;
  };
  protoOf(PeerReviewerAllocation).get_praUid_i762pm_k$ = function () {
    return this.praUid_1;
  };
  protoOf(PeerReviewerAllocation).set_praMarkerSubmitterUid_plw6dh_k$ = function (_set____db54di) {
    this.praMarkerSubmitterUid_1 = _set____db54di;
  };
  protoOf(PeerReviewerAllocation).get_praMarkerSubmitterUid_mj8ypj_k$ = function () {
    return this.praMarkerSubmitterUid_1;
  };
  protoOf(PeerReviewerAllocation).set_praToMarkerSubmitterUid_n8lf7k_k$ = function (_set____db54di) {
    this.praToMarkerSubmitterUid_1 = _set____db54di;
  };
  protoOf(PeerReviewerAllocation).get_praToMarkerSubmitterUid_7d07wy_k$ = function () {
    return this.praToMarkerSubmitterUid_1;
  };
  protoOf(PeerReviewerAllocation).set_praAssignmentUid_60pp0j_k$ = function (_set____db54di) {
    this.praAssignmentUid_1 = _set____db54di;
  };
  protoOf(PeerReviewerAllocation).get_praAssignmentUid_gmaw8d_k$ = function () {
    return this.praAssignmentUid_1;
  };
  protoOf(PeerReviewerAllocation).set_praActive_a5t77_k$ = function (_set____db54di) {
    this.praActive_1 = _set____db54di;
  };
  protoOf(PeerReviewerAllocation).get_praActive_i43sis_k$ = function () {
    return this.praActive_1;
  };
  protoOf(PeerReviewerAllocation).set_praLct_lxlu83_k$ = function (_set____db54di) {
    this.praLct_1 = _set____db54di;
  };
  protoOf(PeerReviewerAllocation).get_praLct_i75vwn_k$ = function () {
    return this.praLct_1;
  };
  protoOf(PeerReviewerAllocation).component1_7eebsc_k$ = function () {
    return this.praUid_1;
  };
  protoOf(PeerReviewerAllocation).component2_7eebsb_k$ = function () {
    return this.praMarkerSubmitterUid_1;
  };
  protoOf(PeerReviewerAllocation).component3_7eebsa_k$ = function () {
    return this.praToMarkerSubmitterUid_1;
  };
  protoOf(PeerReviewerAllocation).component4_7eebs9_k$ = function () {
    return this.praAssignmentUid_1;
  };
  protoOf(PeerReviewerAllocation).component5_7eebs8_k$ = function () {
    return this.praActive_1;
  };
  protoOf(PeerReviewerAllocation).component6_7eebs7_k$ = function () {
    return this.praLct_1;
  };
  protoOf(PeerReviewerAllocation).copy_gxpg66_k$ = function (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) {
    return new PeerReviewerAllocation(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct);
  };
  protoOf(PeerReviewerAllocation).copy$default_3df7bi_k$ = function (praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct, $super) {
    praUid = praUid === VOID ? this.praUid_1 : praUid;
    praMarkerSubmitterUid = praMarkerSubmitterUid === VOID ? this.praMarkerSubmitterUid_1 : praMarkerSubmitterUid;
    praToMarkerSubmitterUid = praToMarkerSubmitterUid === VOID ? this.praToMarkerSubmitterUid_1 : praToMarkerSubmitterUid;
    praAssignmentUid = praAssignmentUid === VOID ? this.praAssignmentUid_1 : praAssignmentUid;
    praActive = praActive === VOID ? this.praActive_1 : praActive;
    praLct = praLct === VOID ? this.praLct_1 : praLct;
    return $super === VOID ? this.copy_gxpg66_k$(praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct) : $super.copy_gxpg66_k$.call(this, praUid, praMarkerSubmitterUid, praToMarkerSubmitterUid, praAssignmentUid, praActive, praLct);
  };
  protoOf(PeerReviewerAllocation).toString = function () {
    return 'PeerReviewerAllocation(praUid=' + this.praUid_1.toString() + ', praMarkerSubmitterUid=' + this.praMarkerSubmitterUid_1.toString() + ', praToMarkerSubmitterUid=' + this.praToMarkerSubmitterUid_1.toString() + ', praAssignmentUid=' + this.praAssignmentUid_1.toString() + ', praActive=' + this.praActive_1 + ', praLct=' + this.praLct_1.toString() + ')';
  };
  protoOf(PeerReviewerAllocation).hashCode = function () {
    var result = this.praUid_1.hashCode();
    result = imul(result, 31) + this.praMarkerSubmitterUid_1.hashCode() | 0;
    result = imul(result, 31) + this.praToMarkerSubmitterUid_1.hashCode() | 0;
    result = imul(result, 31) + this.praAssignmentUid_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.praActive_1) | 0;
    result = imul(result, 31) + this.praLct_1.hashCode() | 0;
    return result;
  };
  protoOf(PeerReviewerAllocation).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PeerReviewerAllocation))
      return false;
    var tmp0_other_with_cast = other instanceof PeerReviewerAllocation ? other : THROW_CCE();
    if (!this.praUid_1.equals(tmp0_other_with_cast.praUid_1))
      return false;
    if (!this.praMarkerSubmitterUid_1.equals(tmp0_other_with_cast.praMarkerSubmitterUid_1))
      return false;
    if (!this.praToMarkerSubmitterUid_1.equals(tmp0_other_with_cast.praToMarkerSubmitterUid_1))
      return false;
    if (!this.praAssignmentUid_1.equals(tmp0_other_with_cast.praAssignmentUid_1))
      return false;
    if (!(this.praActive_1 === tmp0_other_with_cast.praActive_1))
      return false;
    if (!this.praLct_1.equals(tmp0_other_with_cast.praLct_1))
      return false;
    return true;
  };
  function Companion_100() {
    Companion_instance_100 = this;
    this.TABLE_ID_1 = 9;
    this.GENDER_UNSET_1 = 0;
    this.GENDER_FEMALE_1 = 1;
    this.GENDER_MALE_1 = 2;
    this.GENDER_OTHER_1 = 4;
    this.TYPE_NORMAL_PERSON_1 = 0;
    this.TYPE_SYSTEM_1 = 1;
    this.TYPE_GUEST_1 = 2;
    this.JOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT1__1 = '\n            JOIN ScopedGrant\n                 ON ScopedGrant.sgGroupUid = PersonGroupMember.groupMemberGroupUid\n                    AND (ScopedGrant.sgPermissions &';
    this.FROM_PERSON_TO_SCOPEDGRANT_JOIN_ON_CLAUSE_1 = '\n                ((ScopedGrant.sgTableId = -2\n                    AND ScopedGrant.sgEntityUid = -2)\n                 OR (ScopedGrant.sgTableId = 9\n                    AND ScopedGrant.sgEntityUid = Person.personUid)\n                 OR (ScopedGrant.sgTableId = 6       \n                    AND Person.personUid IN (\n                        SELECT DISTINCT clazzEnrolmentPersonUid\n                          FROM ClazzEnrolment\n                         WHERE clazzEnrolmentClazzUid =ScopedGrant.sgEntityUid \n                           AND ClazzEnrolment.clazzEnrolmentActive))\n                 \n                 )    \n        ';
    this.JOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT2__1 = '\n                                                    ) > 0\n            JOIN Person \n                 ON \n                ((ScopedGrant.sgTableId = -2\n                    AND ScopedGrant.sgEntityUid = -2)\n                 OR (ScopedGrant.sgTableId = 9\n                    AND ScopedGrant.sgEntityUid = Person.personUid)\n                 OR (ScopedGrant.sgTableId = 6       \n                    AND Person.personUid IN (\n                        SELECT DISTINCT clazzEnrolmentPersonUid\n                          FROM ClazzEnrolment\n                         WHERE clazzEnrolmentClazzUid =ScopedGrant.sgEntityUid \n                           AND ClazzEnrolment.clazzEnrolmentActive))\n                 \n                 )    \n        \n        ';
  }
  protoOf(Companion_100).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_100).get_GENDER_UNSET_ij51gs_k$ = function () {
    return this.GENDER_UNSET_1;
  };
  protoOf(Companion_100).get_GENDER_FEMALE_dh67xb_k$ = function () {
    return this.GENDER_FEMALE_1;
  };
  protoOf(Companion_100).get_GENDER_MALE_56n82m_k$ = function () {
    return this.GENDER_MALE_1;
  };
  protoOf(Companion_100).get_GENDER_OTHER_imc79h_k$ = function () {
    return this.GENDER_OTHER_1;
  };
  protoOf(Companion_100).get_TYPE_NORMAL_PERSON_mzt6gh_k$ = function () {
    return this.TYPE_NORMAL_PERSON_1;
  };
  protoOf(Companion_100).get_TYPE_SYSTEM_yg3d05_k$ = function () {
    return this.TYPE_SYSTEM_1;
  };
  protoOf(Companion_100).get_TYPE_GUEST_f1ls78_k$ = function () {
    return this.TYPE_GUEST_1;
  };
  protoOf(Companion_100).get_JOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT1_6lcs4f_k$ = function () {
    return this.JOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT1__1;
  };
  protoOf(Companion_100).get_FROM_PERSON_TO_SCOPEDGRANT_JOIN_ON_CLAUSE_gpai8j_k$ = function () {
    return this.FROM_PERSON_TO_SCOPEDGRANT_JOIN_ON_CLAUSE_1;
  };
  protoOf(Companion_100).get_JOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT2_6lcs4g_k$ = function () {
    return this.JOIN_FROM_PERSONGROUPMEMBER_TO_PERSON_VIA_SCOPEDGRANT_PT2__1;
  };
  protoOf(Companion_100).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_98();
  };
  var Companion_instance_100;
  function Companion_getInstance_102() {
    if (Companion_instance_100 == null)
      new Companion_100();
    return Companion_instance_100;
  }
  function $serializer_98() {
    $serializer_instance_98 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Person', this, 24);
    tmp0_serialDesc.addElement_5pzumi_k$('personUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('username', true);
    tmp0_serialDesc.addElement_5pzumi_k$('firstNames', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('emailAddr', true);
    tmp0_serialDesc.addElement_5pzumi_k$('phoneNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('gender', true);
    tmp0_serialDesc.addElement_5pzumi_k$('active', true);
    tmp0_serialDesc.addElement_5pzumi_k$('dateOfBirth', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personAddress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personOrgId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personCountry', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('admin', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personNotes', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fatherName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fatherNumber', true);
    tmp0_serialDesc.addElement_5pzumi_k$('motherName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('motherNum', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_98).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_98).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_98).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = 0;
    var tmp11_local7 = false;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = null;
    var tmp14_local10 = null;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = null;
    var tmp18_local14 = 0;
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = new Long(0, 0);
    var tmp21_local17 = 0;
    var tmp22_local18 = false;
    var tmp23_local19 = null;
    var tmp24_local20 = null;
    var tmp25_local21 = null;
    var tmp26_local22 = null;
    var tmp27_local23 = null;
    var tmp28_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp28_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp28_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 20, StringSerializer_getInstance(), tmp24_local20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 21, StringSerializer_getInstance(), tmp25_local21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 22, StringSerializer_getInstance(), tmp26_local22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 23, StringSerializer_getInstance(), tmp27_local23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp28_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Person_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, null);
  };
  protoOf($serializer_98).serialize_qw8zsz_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.personUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.personUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.username_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.username_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.firstNames_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.firstNames_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.lastName_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.lastName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.emailAddr_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.emailAddr_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.phoneNum_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.phoneNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.gender_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.gender_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.active_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.active_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.dateOfBirth_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.dateOfBirth_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.personAddress_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 9, StringSerializer_getInstance(), value.personAddress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.personOrgId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 10, StringSerializer_getInstance(), value.personOrgId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.personGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.personGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.personLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.personLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.personCountry_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 13, StringSerializer_getInstance(), value.personCountry_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.personType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 14, value.personType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !value.personMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 15, value.personMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !value.personLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 16, value.personLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.personLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 17, value.personLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.admin_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 18, value.admin_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !(value.personNotes_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 19, StringSerializer_getInstance(), value.personNotes_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !(value.fatherName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 20, StringSerializer_getInstance(), value.fatherName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !(value.fatherNumber_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 21, StringSerializer_getInstance(), value.fatherNumber_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !(value.motherName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 22, StringSerializer_getInstance(), value.motherName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !(value.motherNum_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 23, StringSerializer_getInstance(), value.motherNum_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_98).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_qw8zsz_k$(encoder, value instanceof Person ? value : THROW_CCE());
  };
  var $serializer_instance_98;
  function $serializer_getInstance_98() {
    if ($serializer_instance_98 == null)
      new $serializer_98();
    return $serializer_instance_98;
  }
  function Person_init_$Init$(seen1, personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_98().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.personUid_1 = new Long(0, 0);
    else
      $this.personUid_1 = personUid;
    if (0 === (seen1 & 2))
      $this.username_1 = null;
    else
      $this.username_1 = username;
    if (0 === (seen1 & 4))
      $this.firstNames_1 = '';
    else
      $this.firstNames_1 = firstNames;
    if (0 === (seen1 & 8))
      $this.lastName_1 = '';
    else
      $this.lastName_1 = lastName;
    if (0 === (seen1 & 16))
      $this.emailAddr_1 = null;
    else
      $this.emailAddr_1 = emailAddr;
    if (0 === (seen1 & 32))
      $this.phoneNum_1 = null;
    else
      $this.phoneNum_1 = phoneNum;
    if (0 === (seen1 & 64))
      $this.gender_1 = 0;
    else
      $this.gender_1 = gender;
    if (0 === (seen1 & 128))
      $this.active_1 = true;
    else
      $this.active_1 = active;
    if (0 === (seen1 & 256))
      $this.dateOfBirth_1 = new Long(0, 0);
    else
      $this.dateOfBirth_1 = dateOfBirth;
    if (0 === (seen1 & 512))
      $this.personAddress_1 = null;
    else
      $this.personAddress_1 = personAddress;
    if (0 === (seen1 & 1024))
      $this.personOrgId_1 = null;
    else
      $this.personOrgId_1 = personOrgId;
    if (0 === (seen1 & 2048))
      $this.personGroupUid_1 = new Long(0, 0);
    else
      $this.personGroupUid_1 = personGroupUid;
    if (0 === (seen1 & 4096))
      $this.personLct_1 = new Long(0, 0);
    else
      $this.personLct_1 = personLct;
    if (0 === (seen1 & 8192))
      $this.personCountry_1 = null;
    else
      $this.personCountry_1 = personCountry;
    if (0 === (seen1 & 16384))
      $this.personType_1 = 0;
    else
      $this.personType_1 = personType;
    if (0 === (seen1 & 32768))
      $this.personMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.personMasterChangeSeqNum_1 = personMasterChangeSeqNum;
    if (0 === (seen1 & 65536))
      $this.personLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.personLocalChangeSeqNum_1 = personLocalChangeSeqNum;
    if (0 === (seen1 & 131072))
      $this.personLastChangedBy_1 = 0;
    else
      $this.personLastChangedBy_1 = personLastChangedBy;
    if (0 === (seen1 & 262144))
      $this.admin_1 = false;
    else
      $this.admin_1 = admin;
    if (0 === (seen1 & 524288))
      $this.personNotes_1 = null;
    else
      $this.personNotes_1 = personNotes;
    if (0 === (seen1 & 1048576))
      $this.fatherName_1 = null;
    else
      $this.fatherName_1 = fatherName;
    if (0 === (seen1 & 2097152))
      $this.fatherNumber_1 = null;
    else
      $this.fatherNumber_1 = fatherNumber;
    if (0 === (seen1 & 4194304))
      $this.motherName_1 = null;
    else
      $this.motherName_1 = motherName;
    if (0 === (seen1 & 8388608))
      $this.motherNum_1 = null;
    else
      $this.motherNum_1 = motherNum;
    return $this;
  }
  function Person_init_$Create$(seen1, personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, serializationConstructorMarker) {
    return Person_init_$Init$(seen1, personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, serializationConstructorMarker, objectCreate(protoOf(Person)));
  }
  function Person(personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) {
    Companion_getInstance_102();
    personUid = personUid === VOID ? new Long(0, 0) : personUid;
    username = username === VOID ? null : username;
    firstNames = firstNames === VOID ? '' : firstNames;
    lastName = lastName === VOID ? '' : lastName;
    emailAddr = emailAddr === VOID ? null : emailAddr;
    phoneNum = phoneNum === VOID ? null : phoneNum;
    gender = gender === VOID ? 0 : gender;
    active = active === VOID ? true : active;
    dateOfBirth = dateOfBirth === VOID ? new Long(0, 0) : dateOfBirth;
    personAddress = personAddress === VOID ? null : personAddress;
    personOrgId = personOrgId === VOID ? null : personOrgId;
    personGroupUid = personGroupUid === VOID ? new Long(0, 0) : personGroupUid;
    personLct = personLct === VOID ? new Long(0, 0) : personLct;
    personCountry = personCountry === VOID ? null : personCountry;
    personType = personType === VOID ? 0 : personType;
    personMasterChangeSeqNum = personMasterChangeSeqNum === VOID ? new Long(0, 0) : personMasterChangeSeqNum;
    personLocalChangeSeqNum = personLocalChangeSeqNum === VOID ? new Long(0, 0) : personLocalChangeSeqNum;
    personLastChangedBy = personLastChangedBy === VOID ? 0 : personLastChangedBy;
    admin = admin === VOID ? false : admin;
    personNotes = personNotes === VOID ? null : personNotes;
    fatherName = fatherName === VOID ? null : fatherName;
    fatherNumber = fatherNumber === VOID ? null : fatherNumber;
    motherName = motherName === VOID ? null : motherName;
    motherNum = motherNum === VOID ? null : motherNum;
    this.personUid_1 = personUid;
    this.username_1 = username;
    this.firstNames_1 = firstNames;
    this.lastName_1 = lastName;
    this.emailAddr_1 = emailAddr;
    this.phoneNum_1 = phoneNum;
    this.gender_1 = gender;
    this.active_1 = active;
    this.dateOfBirth_1 = dateOfBirth;
    this.personAddress_1 = personAddress;
    this.personOrgId_1 = personOrgId;
    this.personGroupUid_1 = personGroupUid;
    this.personLct_1 = personLct;
    this.personCountry_1 = personCountry;
    this.personType_1 = personType;
    this.personMasterChangeSeqNum_1 = personMasterChangeSeqNum;
    this.personLocalChangeSeqNum_1 = personLocalChangeSeqNum;
    this.personLastChangedBy_1 = personLastChangedBy;
    this.admin_1 = admin;
    this.personNotes_1 = personNotes;
    this.fatherName_1 = fatherName;
    this.fatherNumber_1 = fatherNumber;
    this.motherName_1 = motherName;
    this.motherNum_1 = motherNum;
  }
  protoOf(Person).set_personUid_j3idds_k$ = function (_set____db54di) {
    this.personUid_1 = _set____db54di;
  };
  protoOf(Person).get_personUid_mmhd76_k$ = function () {
    return this.personUid_1;
  };
  protoOf(Person).set_username_tgnlmk_k$ = function (_set____db54di) {
    this.username_1 = _set____db54di;
  };
  protoOf(Person).get_username_ytz5i7_k$ = function () {
    return this.username_1;
  };
  protoOf(Person).set_firstNames_audc9u_k$ = function (_set____db54di) {
    this.firstNames_1 = _set____db54di;
  };
  protoOf(Person).get_firstNames_n3o3y7_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(Person).set_lastName_6ukpbb_k$ = function (_set____db54di) {
    this.lastName_1 = _set____db54di;
  };
  protoOf(Person).get_lastName_f360wa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(Person).set_emailAddr_n0lw07_k$ = function (_set____db54di) {
    this.emailAddr_1 = _set____db54di;
  };
  protoOf(Person).get_emailAddr_rghqf0_k$ = function () {
    return this.emailAddr_1;
  };
  protoOf(Person).set_phoneNum_jo9xeq_k$ = function (_set____db54di) {
    this.phoneNum_1 = _set____db54di;
  };
  protoOf(Person).get_phoneNum_i20sg1_k$ = function () {
    return this.phoneNum_1;
  };
  protoOf(Person).set_gender_5r7pfa_k$ = function (_set____db54di) {
    this.gender_1 = _set____db54di;
  };
  protoOf(Person).get_gender_dqurbe_k$ = function () {
    return this.gender_1;
  };
  protoOf(Person).set_active_nmha5u_k$ = function (_set____db54di) {
    this.active_1 = _set____db54di;
  };
  protoOf(Person).get_active_avldsf_k$ = function () {
    return this.active_1;
  };
  protoOf(Person).set_dateOfBirth_1iysn5_k$ = function (_set____db54di) {
    this.dateOfBirth_1 = _set____db54di;
  };
  protoOf(Person).get_dateOfBirth_7hv8kx_k$ = function () {
    return this.dateOfBirth_1;
  };
  protoOf(Person).set_personAddress_v4k1w5_k$ = function (_set____db54di) {
    this.personAddress_1 = _set____db54di;
  };
  protoOf(Person).get_personAddress_w7qqwm_k$ = function () {
    return this.personAddress_1;
  };
  protoOf(Person).set_personOrgId_8oeidy_k$ = function (_set____db54di) {
    this.personOrgId_1 = _set____db54di;
  };
  protoOf(Person).get_personOrgId_6lzn8h_k$ = function () {
    return this.personOrgId_1;
  };
  protoOf(Person).set_personGroupUid_eex3gl_k$ = function (_set____db54di) {
    this.personGroupUid_1 = _set____db54di;
  };
  protoOf(Person).get_personGroupUid_wriklr_k$ = function () {
    return this.personGroupUid_1;
  };
  protoOf(Person).set_personLct_aq7lf1_k$ = function (_set____db54di) {
    this.personLct_1 = _set____db54di;
  };
  protoOf(Person).get_personLct_mmh6e7_k$ = function () {
    return this.personLct_1;
  };
  protoOf(Person).set_personCountry_2dq7zn_k$ = function (_set____db54di) {
    this.personCountry_1 = _set____db54di;
  };
  protoOf(Person).get_personCountry_3zsn1k_k$ = function () {
    return this.personCountry_1;
  };
  protoOf(Person).set_personType_przf38_k$ = function (_set____db54di) {
    this.personType_1 = _set____db54di;
  };
  protoOf(Person).get_personType_8y6hc8_k$ = function () {
    return this.personType_1;
  };
  protoOf(Person).set_personMasterChangeSeqNum_5x91v_k$ = function (_set____db54di) {
    this.personMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Person).get_personMasterChangeSeqNum_prsruf_k$ = function () {
    return this.personMasterChangeSeqNum_1;
  };
  protoOf(Person).set_personLocalChangeSeqNum_isxxla_k$ = function (_set____db54di) {
    this.personLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Person).get_personLocalChangeSeqNum_gxofuk_k$ = function () {
    return this.personLocalChangeSeqNum_1;
  };
  protoOf(Person).set_personLastChangedBy_ghtfvp_k$ = function (_set____db54di) {
    this.personLastChangedBy_1 = _set____db54di;
  };
  protoOf(Person).get_personLastChangedBy_z0j913_k$ = function () {
    return this.personLastChangedBy_1;
  };
  protoOf(Person).set_admin_llzh0j_k$ = function (_set____db54di) {
    this.admin_1 = _set____db54di;
  };
  protoOf(Person).get_admin_iojndy_k$ = function () {
    return this.admin_1;
  };
  protoOf(Person).set_personNotes_4l39dk_k$ = function (_set____db54di) {
    this.personNotes_1 = _set____db54di;
  };
  protoOf(Person).get_personNotes_6le803_k$ = function () {
    return this.personNotes_1;
  };
  protoOf(Person).set_fatherName_jpjuzx_k$ = function (_set____db54di) {
    this.fatherName_1 = _set____db54di;
  };
  protoOf(Person).get_fatherName_ymrq1c_k$ = function () {
    return this.fatherName_1;
  };
  protoOf(Person).set_fatherNumber_pch0b9_k$ = function (_set____db54di) {
    this.fatherNumber_1 = _set____db54di;
  };
  protoOf(Person).get_fatherNumber_vcrsoi_k$ = function () {
    return this.fatherNumber_1;
  };
  protoOf(Person).set_motherName_y7zjzg_k$ = function (_set____db54di) {
    this.motherName_1 = _set____db54di;
  };
  protoOf(Person).get_motherName_jkvzav_k$ = function () {
    return this.motherName_1;
  };
  protoOf(Person).set_motherNum_mxb55b_k$ = function (_set____db54di) {
    this.motherNum_1 = _set____db54di;
  };
  protoOf(Person).get_motherNum_1nqyg6_k$ = function () {
    return this.motherNum_1;
  };
  protoOf(Person).fullName_m0cs6y_k$ = function () {
    // Inline function 'kotlin.text.buildString' call
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'kotlin.apply' call
    var this_0 = StringBuilder_init_$Create$();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Person.fullName.<anonymous>' call
    var tmp0_safe_receiver = this.firstNames_1;
    if (tmp0_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.also' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.lib.db.entities.Person.fullName.<anonymous>.<anonymous>' call
      this_0.append_22ad7x_k$(tmp0_safe_receiver);
    }
    if (!(this.firstNames_1 == null) ? !(this.lastName_1 == null) : false) {
      this_0.append_22ad7x_k$(' ');
    }
    var tmp1_safe_receiver = this.lastName_1;
    if (tmp1_safe_receiver == null)
      null;
    else {
      // Inline function 'kotlin.also' call
      // Inline function 'kotlin.contracts.contract' call
      // Inline function 'com.ustadmobile.lib.db.entities.Person.fullName.<anonymous>.<anonymous>' call
      this_0.append_22ad7x_k$(tmp1_safe_receiver);
    }
    return this_0.toString();
  };
  protoOf(Person).component1_7eebsc_k$ = function () {
    return this.personUid_1;
  };
  protoOf(Person).component2_7eebsb_k$ = function () {
    return this.username_1;
  };
  protoOf(Person).component3_7eebsa_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(Person).component4_7eebs9_k$ = function () {
    return this.lastName_1;
  };
  protoOf(Person).component5_7eebs8_k$ = function () {
    return this.emailAddr_1;
  };
  protoOf(Person).component6_7eebs7_k$ = function () {
    return this.phoneNum_1;
  };
  protoOf(Person).component7_7eebs6_k$ = function () {
    return this.gender_1;
  };
  protoOf(Person).component8_7eebs5_k$ = function () {
    return this.active_1;
  };
  protoOf(Person).component9_7eebs4_k$ = function () {
    return this.dateOfBirth_1;
  };
  protoOf(Person).component10_gazzfo_k$ = function () {
    return this.personAddress_1;
  };
  protoOf(Person).component11_gazzfn_k$ = function () {
    return this.personOrgId_1;
  };
  protoOf(Person).component12_gazzfm_k$ = function () {
    return this.personGroupUid_1;
  };
  protoOf(Person).component13_gazzfl_k$ = function () {
    return this.personLct_1;
  };
  protoOf(Person).component14_gazzfk_k$ = function () {
    return this.personCountry_1;
  };
  protoOf(Person).component15_gazzfj_k$ = function () {
    return this.personType_1;
  };
  protoOf(Person).component16_gazzfi_k$ = function () {
    return this.personMasterChangeSeqNum_1;
  };
  protoOf(Person).component17_gazzfh_k$ = function () {
    return this.personLocalChangeSeqNum_1;
  };
  protoOf(Person).component18_gazzfg_k$ = function () {
    return this.personLastChangedBy_1;
  };
  protoOf(Person).component19_gazzff_k$ = function () {
    return this.admin_1;
  };
  protoOf(Person).component20_gazzet_k$ = function () {
    return this.personNotes_1;
  };
  protoOf(Person).component21_gazzes_k$ = function () {
    return this.fatherName_1;
  };
  protoOf(Person).component22_gazzer_k$ = function () {
    return this.fatherNumber_1;
  };
  protoOf(Person).component23_gazzeq_k$ = function () {
    return this.motherName_1;
  };
  protoOf(Person).component24_gazzep_k$ = function () {
    return this.motherNum_1;
  };
  protoOf(Person).copy_b18xro_k$ = function (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) {
    return new Person(personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum);
  };
  protoOf(Person).copy$default_fmywh8_k$ = function (personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum, $super) {
    personUid = personUid === VOID ? this.personUid_1 : personUid;
    username = username === VOID ? this.username_1 : username;
    firstNames = firstNames === VOID ? this.firstNames_1 : firstNames;
    lastName = lastName === VOID ? this.lastName_1 : lastName;
    emailAddr = emailAddr === VOID ? this.emailAddr_1 : emailAddr;
    phoneNum = phoneNum === VOID ? this.phoneNum_1 : phoneNum;
    gender = gender === VOID ? this.gender_1 : gender;
    active = active === VOID ? this.active_1 : active;
    dateOfBirth = dateOfBirth === VOID ? this.dateOfBirth_1 : dateOfBirth;
    personAddress = personAddress === VOID ? this.personAddress_1 : personAddress;
    personOrgId = personOrgId === VOID ? this.personOrgId_1 : personOrgId;
    personGroupUid = personGroupUid === VOID ? this.personGroupUid_1 : personGroupUid;
    personLct = personLct === VOID ? this.personLct_1 : personLct;
    personCountry = personCountry === VOID ? this.personCountry_1 : personCountry;
    personType = personType === VOID ? this.personType_1 : personType;
    personMasterChangeSeqNum = personMasterChangeSeqNum === VOID ? this.personMasterChangeSeqNum_1 : personMasterChangeSeqNum;
    personLocalChangeSeqNum = personLocalChangeSeqNum === VOID ? this.personLocalChangeSeqNum_1 : personLocalChangeSeqNum;
    personLastChangedBy = personLastChangedBy === VOID ? this.personLastChangedBy_1 : personLastChangedBy;
    admin = admin === VOID ? this.admin_1 : admin;
    personNotes = personNotes === VOID ? this.personNotes_1 : personNotes;
    fatherName = fatherName === VOID ? this.fatherName_1 : fatherName;
    fatherNumber = fatherNumber === VOID ? this.fatherNumber_1 : fatherNumber;
    motherName = motherName === VOID ? this.motherName_1 : motherName;
    motherNum = motherNum === VOID ? this.motherNum_1 : motherNum;
    return $super === VOID ? this.copy_b18xro_k$(personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum) : $super.copy_b18xro_k$.call(this, personUid, username, firstNames, lastName, emailAddr, phoneNum, gender, active, dateOfBirth, personAddress, personOrgId, personGroupUid, personLct, personCountry, personType, personMasterChangeSeqNum, personLocalChangeSeqNum, personLastChangedBy, admin, personNotes, fatherName, fatherNumber, motherName, motherNum);
  };
  protoOf(Person).toString = function () {
    return 'Person(personUid=' + this.personUid_1.toString() + ', username=' + this.username_1 + ', firstNames=' + this.firstNames_1 + ', lastName=' + this.lastName_1 + ', emailAddr=' + this.emailAddr_1 + ', phoneNum=' + this.phoneNum_1 + ', gender=' + this.gender_1 + ', active=' + this.active_1 + ', dateOfBirth=' + this.dateOfBirth_1.toString() + ', personAddress=' + this.personAddress_1 + ', personOrgId=' + this.personOrgId_1 + ', personGroupUid=' + this.personGroupUid_1.toString() + ', personLct=' + this.personLct_1.toString() + ', personCountry=' + this.personCountry_1 + ', personType=' + this.personType_1 + ', personMasterChangeSeqNum=' + this.personMasterChangeSeqNum_1.toString() + ', personLocalChangeSeqNum=' + this.personLocalChangeSeqNum_1.toString() + ', personLastChangedBy=' + this.personLastChangedBy_1 + ', admin=' + this.admin_1 + ', personNotes=' + this.personNotes_1 + ', fatherName=' + this.fatherName_1 + ', fatherNumber=' + this.fatherNumber_1 + ', motherName=' + this.motherName_1 + ', motherNum=' + this.motherNum_1 + ')';
  };
  protoOf(Person).hashCode = function () {
    var result = this.personUid_1.hashCode();
    result = imul(result, 31) + (this.username_1 == null ? 0 : getStringHashCode(this.username_1)) | 0;
    result = imul(result, 31) + (this.firstNames_1 == null ? 0 : getStringHashCode(this.firstNames_1)) | 0;
    result = imul(result, 31) + (this.lastName_1 == null ? 0 : getStringHashCode(this.lastName_1)) | 0;
    result = imul(result, 31) + (this.emailAddr_1 == null ? 0 : getStringHashCode(this.emailAddr_1)) | 0;
    result = imul(result, 31) + (this.phoneNum_1 == null ? 0 : getStringHashCode(this.phoneNum_1)) | 0;
    result = imul(result, 31) + this.gender_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.active_1) | 0;
    result = imul(result, 31) + this.dateOfBirth_1.hashCode() | 0;
    result = imul(result, 31) + (this.personAddress_1 == null ? 0 : getStringHashCode(this.personAddress_1)) | 0;
    result = imul(result, 31) + (this.personOrgId_1 == null ? 0 : getStringHashCode(this.personOrgId_1)) | 0;
    result = imul(result, 31) + this.personGroupUid_1.hashCode() | 0;
    result = imul(result, 31) + this.personLct_1.hashCode() | 0;
    result = imul(result, 31) + (this.personCountry_1 == null ? 0 : getStringHashCode(this.personCountry_1)) | 0;
    result = imul(result, 31) + this.personType_1 | 0;
    result = imul(result, 31) + this.personMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(result, 31) + this.personLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(result, 31) + this.personLastChangedBy_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.admin_1) | 0;
    result = imul(result, 31) + (this.personNotes_1 == null ? 0 : getStringHashCode(this.personNotes_1)) | 0;
    result = imul(result, 31) + (this.fatherName_1 == null ? 0 : getStringHashCode(this.fatherName_1)) | 0;
    result = imul(result, 31) + (this.fatherNumber_1 == null ? 0 : getStringHashCode(this.fatherNumber_1)) | 0;
    result = imul(result, 31) + (this.motherName_1 == null ? 0 : getStringHashCode(this.motherName_1)) | 0;
    result = imul(result, 31) + (this.motherNum_1 == null ? 0 : getStringHashCode(this.motherNum_1)) | 0;
    return result;
  };
  protoOf(Person).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof Person))
      return false;
    var tmp0_other_with_cast = other instanceof Person ? other : THROW_CCE();
    if (!this.personUid_1.equals(tmp0_other_with_cast.personUid_1))
      return false;
    if (!(this.username_1 == tmp0_other_with_cast.username_1))
      return false;
    if (!(this.firstNames_1 == tmp0_other_with_cast.firstNames_1))
      return false;
    if (!(this.lastName_1 == tmp0_other_with_cast.lastName_1))
      return false;
    if (!(this.emailAddr_1 == tmp0_other_with_cast.emailAddr_1))
      return false;
    if (!(this.phoneNum_1 == tmp0_other_with_cast.phoneNum_1))
      return false;
    if (!(this.gender_1 === tmp0_other_with_cast.gender_1))
      return false;
    if (!(this.active_1 === tmp0_other_with_cast.active_1))
      return false;
    if (!this.dateOfBirth_1.equals(tmp0_other_with_cast.dateOfBirth_1))
      return false;
    if (!(this.personAddress_1 == tmp0_other_with_cast.personAddress_1))
      return false;
    if (!(this.personOrgId_1 == tmp0_other_with_cast.personOrgId_1))
      return false;
    if (!this.personGroupUid_1.equals(tmp0_other_with_cast.personGroupUid_1))
      return false;
    if (!this.personLct_1.equals(tmp0_other_with_cast.personLct_1))
      return false;
    if (!(this.personCountry_1 == tmp0_other_with_cast.personCountry_1))
      return false;
    if (!(this.personType_1 === tmp0_other_with_cast.personType_1))
      return false;
    if (!this.personMasterChangeSeqNum_1.equals(tmp0_other_with_cast.personMasterChangeSeqNum_1))
      return false;
    if (!this.personLocalChangeSeqNum_1.equals(tmp0_other_with_cast.personLocalChangeSeqNum_1))
      return false;
    if (!(this.personLastChangedBy_1 === tmp0_other_with_cast.personLastChangedBy_1))
      return false;
    if (!(this.admin_1 === tmp0_other_with_cast.admin_1))
      return false;
    if (!(this.personNotes_1 == tmp0_other_with_cast.personNotes_1))
      return false;
    if (!(this.fatherName_1 == tmp0_other_with_cast.fatherName_1))
      return false;
    if (!(this.fatherNumber_1 == tmp0_other_with_cast.fatherNumber_1))
      return false;
    if (!(this.motherName_1 == tmp0_other_with_cast.motherName_1))
      return false;
    if (!(this.motherNum_1 == tmp0_other_with_cast.motherNum_1))
      return false;
    return true;
  };
  function Companion_101() {
    Companion_instance_101 = this;
  }
  protoOf(Companion_101).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_99();
  };
  var Companion_instance_101;
  function Companion_getInstance_103() {
    if (Companion_instance_101 == null)
      new Companion_101();
    return Companion_instance_101;
  }
  function $serializer_99() {
    $serializer_instance_99 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonAndDisplayDetail', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    tmp0_serialDesc.addElement_5pzumi_k$('parentJoin', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPicture', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPictureTransferJobItem', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_99).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_99).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_98()), get_nullable($serializer_getInstance_103()), get_nullable($serializer_getInstance_105()), get_nullable($serializer_getInstance_120())];
  };
  protoOf($serializer_99).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_103(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_105(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_120(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_98(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_103(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, $serializer_getInstance_105(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, $serializer_getInstance_120(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonAndDisplayDetail_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_99).serialize_qlz98n_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_98(), value.person_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.parentJoin_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_103(), value.parentJoin_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.personPicture_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, $serializer_getInstance_105(), value.personPicture_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.personPictureTransferJobItem_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, $serializer_getInstance_120(), value.personPictureTransferJobItem_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_99).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_qlz98n_k$(encoder, value instanceof PersonAndDisplayDetail ? value : THROW_CCE());
  };
  var $serializer_instance_99;
  function $serializer_getInstance_99() {
    if ($serializer_instance_99 == null)
      new $serializer_99();
    return $serializer_instance_99;
  }
  function PersonAndDisplayDetail_init_$Init$(seen1, person, parentJoin, personPicture, personPictureTransferJobItem, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_99().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    if (0 === (seen1 & 2))
      $this.parentJoin_1 = null;
    else
      $this.parentJoin_1 = parentJoin;
    if (0 === (seen1 & 4))
      $this.personPicture_1 = null;
    else
      $this.personPicture_1 = personPicture;
    if (0 === (seen1 & 8))
      $this.personPictureTransferJobItem_1 = null;
    else
      $this.personPictureTransferJobItem_1 = personPictureTransferJobItem;
    return $this;
  }
  function PersonAndDisplayDetail_init_$Create$(seen1, person, parentJoin, personPicture, personPictureTransferJobItem, serializationConstructorMarker) {
    return PersonAndDisplayDetail_init_$Init$(seen1, person, parentJoin, personPicture, personPictureTransferJobItem, serializationConstructorMarker, objectCreate(protoOf(PersonAndDisplayDetail)));
  }
  function PersonAndDisplayDetail(person, parentJoin, personPicture, personPictureTransferJobItem) {
    Companion_getInstance_103();
    person = person === VOID ? null : person;
    parentJoin = parentJoin === VOID ? null : parentJoin;
    personPicture = personPicture === VOID ? null : personPicture;
    personPictureTransferJobItem = personPictureTransferJobItem === VOID ? null : personPictureTransferJobItem;
    this.person_1 = person;
    this.parentJoin_1 = parentJoin;
    this.personPicture_1 = personPicture;
    this.personPictureTransferJobItem_1 = personPictureTransferJobItem;
  }
  protoOf(PersonAndDisplayDetail).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(PersonAndDisplayDetail).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndDisplayDetail).set_parentJoin_j4ptis_k$ = function (_set____db54di) {
    this.parentJoin_1 = _set____db54di;
  };
  protoOf(PersonAndDisplayDetail).get_parentJoin_o83rlv_k$ = function () {
    return this.parentJoin_1;
  };
  protoOf(PersonAndDisplayDetail).set_personPicture_c5dce7_k$ = function (_set____db54di) {
    this.personPicture_1 = _set____db54di;
  };
  protoOf(PersonAndDisplayDetail).get_personPicture_te1agw_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(PersonAndDisplayDetail).set_personPictureTransferJobItem_8ho57u_k$ = function (_set____db54di) {
    this.personPictureTransferJobItem_1 = _set____db54di;
  };
  protoOf(PersonAndDisplayDetail).get_personPictureTransferJobItem_zbb3dn_k$ = function () {
    return this.personPictureTransferJobItem_1;
  };
  protoOf(PersonAndDisplayDetail).component1_7eebsc_k$ = function () {
    return this.person_1;
  };
  protoOf(PersonAndDisplayDetail).component2_7eebsb_k$ = function () {
    return this.parentJoin_1;
  };
  protoOf(PersonAndDisplayDetail).component3_7eebsa_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(PersonAndDisplayDetail).component4_7eebs9_k$ = function () {
    return this.personPictureTransferJobItem_1;
  };
  protoOf(PersonAndDisplayDetail).copy_9f13ch_k$ = function (person, parentJoin, personPicture, personPictureTransferJobItem) {
    return new PersonAndDisplayDetail(person, parentJoin, personPicture, personPictureTransferJobItem);
  };
  protoOf(PersonAndDisplayDetail).copy$default_6j1l7l_k$ = function (person, parentJoin, personPicture, personPictureTransferJobItem, $super) {
    person = person === VOID ? this.person_1 : person;
    parentJoin = parentJoin === VOID ? this.parentJoin_1 : parentJoin;
    personPicture = personPicture === VOID ? this.personPicture_1 : personPicture;
    personPictureTransferJobItem = personPictureTransferJobItem === VOID ? this.personPictureTransferJobItem_1 : personPictureTransferJobItem;
    return $super === VOID ? this.copy_9f13ch_k$(person, parentJoin, personPicture, personPictureTransferJobItem) : $super.copy_9f13ch_k$.call(this, person, parentJoin, personPicture, personPictureTransferJobItem);
  };
  protoOf(PersonAndDisplayDetail).toString = function () {
    return 'PersonAndDisplayDetail(person=' + this.person_1 + ', parentJoin=' + this.parentJoin_1 + ', personPicture=' + this.personPicture_1 + ', personPictureTransferJobItem=' + this.personPictureTransferJobItem_1 + ')';
  };
  protoOf(PersonAndDisplayDetail).hashCode = function () {
    var result = this.person_1 == null ? 0 : this.person_1.hashCode();
    result = imul(result, 31) + (this.parentJoin_1 == null ? 0 : this.parentJoin_1.hashCode()) | 0;
    result = imul(result, 31) + (this.personPicture_1 == null ? 0 : this.personPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.personPictureTransferJobItem_1 == null ? 0 : this.personPictureTransferJobItem_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonAndDisplayDetail).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonAndDisplayDetail))
      return false;
    var tmp0_other_with_cast = other instanceof PersonAndDisplayDetail ? other : THROW_CCE();
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.parentJoin_1, tmp0_other_with_cast.parentJoin_1))
      return false;
    if (!equals(this.personPicture_1, tmp0_other_with_cast.personPicture_1))
      return false;
    if (!equals(this.personPictureTransferJobItem_1, tmp0_other_with_cast.personPictureTransferJobItem_1))
      return false;
    return true;
  };
  function PersonAuth_init_$Init$(personAuthUid, passwordHash, $this) {
    PersonAuth.call($this);
    $this.personAuthUid_1 = personAuthUid;
    $this.passwordHash_1 = passwordHash;
    return $this;
  }
  function PersonAuth_init_$Create$(personAuthUid, passwordHash) {
    return PersonAuth_init_$Init$(personAuthUid, passwordHash, objectCreate(protoOf(PersonAuth)));
  }
  function Companion_102() {
    Companion_instance_102 = this;
    this.STATUS_SENT_1 = 1;
    this.STATUS_NOT_SENT_1 = 0;
  }
  protoOf(Companion_102).get_STATUS_SENT_z8zvx8_k$ = function () {
    return this.STATUS_SENT_1;
  };
  protoOf(Companion_102).get_STATUS_NOT_SENT_7jobqg_k$ = function () {
    return this.STATUS_NOT_SENT_1;
  };
  protoOf(Companion_102).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_100();
  };
  var Companion_instance_102;
  function Companion_getInstance_104() {
    if (Companion_instance_102 == null)
      new Companion_102();
    return Companion_instance_102;
  }
  function $serializer_100() {
    $serializer_instance_100 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonAuth', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('personAuthUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('passwordHash', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personAuthStatus', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_100).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_100).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance()];
  };
  protoOf($serializer_100).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonAuth_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_100).serialize_63eqgr_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.personAuthUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.personAuthUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.passwordHash_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.passwordHash_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.personAuthStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.personAuthStatus_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_100).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_63eqgr_k$(encoder, value instanceof PersonAuth ? value : THROW_CCE());
  };
  var $serializer_instance_100;
  function $serializer_getInstance_100() {
    if ($serializer_instance_100 == null)
      new $serializer_100();
    return $serializer_instance_100;
  }
  function PersonAuth_init_$Init$_0(seen1, personAuthUid, passwordHash, personAuthStatus, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_100().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.personAuthUid_1 = new Long(0, 0);
    else
      $this.personAuthUid_1 = personAuthUid;
    if (0 === (seen1 & 2))
      $this.passwordHash_1 = null;
    else
      $this.passwordHash_1 = passwordHash;
    if (0 === (seen1 & 4))
      $this.personAuthStatus_1 = 0;
    else
      $this.personAuthStatus_1 = personAuthStatus;
    return $this;
  }
  function PersonAuth_init_$Create$_0(seen1, personAuthUid, passwordHash, personAuthStatus, serializationConstructorMarker) {
    return PersonAuth_init_$Init$_0(seen1, personAuthUid, passwordHash, personAuthStatus, serializationConstructorMarker, objectCreate(protoOf(PersonAuth)));
  }
  function PersonAuth() {
    Companion_getInstance_104();
    this.personAuthUid_1 = new Long(0, 0);
    this.passwordHash_1 = null;
    this.personAuthStatus_1 = 0;
  }
  protoOf(PersonAuth).set_personAuthUid_bcewzc_k$ = function (_set____db54di) {
    this.personAuthUid_1 = _set____db54di;
  };
  protoOf(PersonAuth).get_personAuthUid_uizquu_k$ = function () {
    return this.personAuthUid_1;
  };
  protoOf(PersonAuth).set_passwordHash_weksrz_k$ = function (_set____db54di) {
    this.passwordHash_1 = _set____db54di;
  };
  protoOf(PersonAuth).get_passwordHash_dwynpu_k$ = function () {
    return this.passwordHash_1;
  };
  protoOf(PersonAuth).set_personAuthStatus_vsqeqs_k$ = function (_set____db54di) {
    this.personAuthStatus_1 = _set____db54di;
  };
  protoOf(PersonAuth).get_personAuthStatus_vrc43c_k$ = function () {
    return this.personAuthStatus_1;
  };
  function Companion_103() {
    Companion_instance_103 = this;
    this.AUTH_MECH_PBKDF2_DOUBLE_1 = 'PBKDF2x2';
    this.TABLE_ID_1 = 678;
  }
  protoOf(Companion_103).get_AUTH_MECH_PBKDF2_DOUBLE_iqjeed_k$ = function () {
    return this.AUTH_MECH_PBKDF2_DOUBLE_1;
  };
  protoOf(Companion_103).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  var Companion_instance_103;
  function Companion_getInstance_105() {
    if (Companion_instance_103 == null)
      new Companion_103();
    return Companion_instance_103;
  }
  function PersonAuth2() {
    Companion_getInstance_105();
    this.pauthUid_1 = new Long(0, 0);
    this.pauthMechanism_1 = null;
    this.pauthAuth_1 = null;
    this.pauthLcsn_1 = new Long(0, 0);
    this.pauthPcsn_1 = new Long(0, 0);
    this.pauthLcb_1 = new Long(0, 0);
    this.pauthLct_1 = new Long(0, 0);
  }
  protoOf(PersonAuth2).set_pauthUid_pp9js9_k$ = function (_set____db54di) {
    this.pauthUid_1 = _set____db54di;
  };
  protoOf(PersonAuth2).get_pauthUid_aq0lcv_k$ = function () {
    return this.pauthUid_1;
  };
  protoOf(PersonAuth2).set_pauthMechanism_kcxz95_k$ = function (_set____db54di) {
    this.pauthMechanism_1 = _set____db54di;
  };
  protoOf(PersonAuth2).get_pauthMechanism_psmndi_k$ = function () {
    return this.pauthMechanism_1;
  };
  protoOf(PersonAuth2).set_pauthAuth_nuofak_k$ = function (_set____db54di) {
    this.pauthAuth_1 = _set____db54di;
  };
  protoOf(PersonAuth2).get_pauthAuth_mqpdfb_k$ = function () {
    return this.pauthAuth_1;
  };
  protoOf(PersonAuth2).set_pauthLcsn_jc3ze7_k$ = function (_set____db54di) {
    this.pauthLcsn_1 = _set____db54di;
  };
  protoOf(PersonAuth2).get_pauthLcsn_mqw0wx_k$ = function () {
    return this.pauthLcsn_1;
  };
  protoOf(PersonAuth2).set_pauthPcsn_ifvrhn_k$ = function (_set____db54di) {
    this.pauthPcsn_1 = _set____db54di;
  };
  protoOf(PersonAuth2).get_pauthPcsn_mqykv1_k$ = function () {
    return this.pauthPcsn_1;
  };
  protoOf(PersonAuth2).set_pauthLcb_qye01e_k$ = function (_set____db54di) {
    this.pauthLcb_1 = _set____db54di;
  };
  protoOf(PersonAuth2).get_pauthLcb_aq0s6c_k$ = function () {
    return this.pauthLcb_1;
  };
  protoOf(PersonAuth2).set_pauthLct_y2kbr0_k$ = function (_set____db54di) {
    this.pauthLct_1 = _set____db54di;
  };
  protoOf(PersonAuth2).get_pauthLct_aq0s5u_k$ = function () {
    return this.pauthLct_1;
  };
  function PersonGroup_init_$Init$(name, $this) {
    PersonGroup.call($this);
    $this.groupName_1 = name;
    return $this;
  }
  function PersonGroup_init_$Create$(name) {
    return PersonGroup_init_$Init$(name, objectCreate(protoOf(PersonGroup)));
  }
  function Companion_104() {
    Companion_instance_104 = this;
    this.TABLE_ID_1 = 43;
    this.PERSONGROUP_FLAG_DEFAULT_1 = 0;
    this.PERSONGROUP_FLAG_PERSONGROUP_1 = 1;
    this.PERSONGROUP_FLAG_PARENT_GROUP_1 = 2;
    this.PERSONGROUP_FLAG_STUDENTGROUP_1 = 4;
    this.PERSONGROUP_FLAG_TEACHERGROUP_1 = 8;
    this.PERSONGROUP_FLAG_GUESTPERSON_1 = 16;
  }
  protoOf(Companion_104).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_104).get_PERSONGROUP_FLAG_DEFAULT_83gz5g_k$ = function () {
    return this.PERSONGROUP_FLAG_DEFAULT_1;
  };
  protoOf(Companion_104).get_PERSONGROUP_FLAG_PERSONGROUP_elfg4r_k$ = function () {
    return this.PERSONGROUP_FLAG_PERSONGROUP_1;
  };
  protoOf(Companion_104).get_PERSONGROUP_FLAG_PARENT_GROUP_dab533_k$ = function () {
    return this.PERSONGROUP_FLAG_PARENT_GROUP_1;
  };
  protoOf(Companion_104).get_PERSONGROUP_FLAG_STUDENTGROUP_p4gzqf_k$ = function () {
    return this.PERSONGROUP_FLAG_STUDENTGROUP_1;
  };
  protoOf(Companion_104).get_PERSONGROUP_FLAG_TEACHERGROUP_q485ke_k$ = function () {
    return this.PERSONGROUP_FLAG_TEACHERGROUP_1;
  };
  protoOf(Companion_104).get_PERSONGROUP_FLAG_GUESTPERSON_ohq648_k$ = function () {
    return this.PERSONGROUP_FLAG_GUESTPERSON_1;
  };
  protoOf(Companion_104).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_101();
  };
  var Companion_instance_104;
  function Companion_getInstance_106() {
    if (Companion_instance_104 == null)
      new Companion_104();
    return Companion_instance_104;
  }
  function $serializer_101() {
    $serializer_instance_101 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonGroup', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('groupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMasterCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupLocalCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personGroupFlag', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_101).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_101).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_101).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = 0;
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonGroup_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_101).serialize_x2fdyc_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.groupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.groupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.groupMasterCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.groupMasterCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.groupLocalCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.groupLocalCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.groupLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.groupLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.groupLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.groupLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.groupName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.groupName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.groupActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.groupActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.personGroupFlag_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.personGroupFlag_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_101).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_x2fdyc_k$(encoder, value instanceof PersonGroup ? value : THROW_CCE());
  };
  var $serializer_instance_101;
  function $serializer_getInstance_101() {
    if ($serializer_instance_101 == null)
      new $serializer_101();
    return $serializer_instance_101;
  }
  function PersonGroup_init_$Init$_0(seen1, groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_101().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.groupUid_1 = new Long(0, 0);
    else
      $this.groupUid_1 = groupUid;
    if (0 === (seen1 & 2))
      $this.groupMasterCsn_1 = new Long(0, 0);
    else
      $this.groupMasterCsn_1 = groupMasterCsn;
    if (0 === (seen1 & 4))
      $this.groupLocalCsn_1 = new Long(0, 0);
    else
      $this.groupLocalCsn_1 = groupLocalCsn;
    if (0 === (seen1 & 8))
      $this.groupLastChangedBy_1 = 0;
    else
      $this.groupLastChangedBy_1 = groupLastChangedBy;
    if (0 === (seen1 & 16))
      $this.groupLct_1 = new Long(0, 0);
    else
      $this.groupLct_1 = groupLct;
    if (0 === (seen1 & 32))
      $this.groupName_1 = null;
    else
      $this.groupName_1 = groupName;
    if (0 === (seen1 & 64))
      $this.groupActive_1 = true;
    else
      $this.groupActive_1 = groupActive;
    if (0 === (seen1 & 128))
      $this.personGroupFlag_1 = 0;
    else
      $this.personGroupFlag_1 = personGroupFlag;
    return $this;
  }
  function PersonGroup_init_$Create$_0(seen1, groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag, serializationConstructorMarker) {
    return PersonGroup_init_$Init$_0(seen1, groupUid, groupMasterCsn, groupLocalCsn, groupLastChangedBy, groupLct, groupName, groupActive, personGroupFlag, serializationConstructorMarker, objectCreate(protoOf(PersonGroup)));
  }
  function PersonGroup() {
    Companion_getInstance_106();
    this.groupUid_1 = new Long(0, 0);
    this.groupMasterCsn_1 = new Long(0, 0);
    this.groupLocalCsn_1 = new Long(0, 0);
    this.groupLastChangedBy_1 = 0;
    this.groupLct_1 = new Long(0, 0);
    this.groupName_1 = null;
    this.groupActive_1 = true;
    this.personGroupFlag_1 = 0;
  }
  protoOf(PersonGroup).set_groupUid_bnt4k0_k$ = function (_set____db54di) {
    this.groupUid_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_groupUid_nfguzq_k$ = function () {
    return this.groupUid_1;
  };
  protoOf(PersonGroup).set_groupMasterCsn_a4rsys_k$ = function (_set____db54di) {
    this.groupMasterCsn_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_groupMasterCsn_nqdk06_k$ = function () {
    return this.groupMasterCsn_1;
  };
  protoOf(PersonGroup).set_groupLocalCsn_z2sdhz_k$ = function (_set____db54di) {
    this.groupLocalCsn_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_groupLocalCsn_6v46wn_k$ = function () {
    return this.groupLocalCsn_1;
  };
  protoOf(PersonGroup).set_groupLastChangedBy_fma81h_k$ = function (_set____db54di) {
    this.groupLastChangedBy_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_groupLastChangedBy_croccf_k$ = function () {
    return this.groupLastChangedBy_1;
  };
  protoOf(PersonGroup).set_groupLct_k13wir_k$ = function (_set____db54di) {
    this.groupLct_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_groupLct_nfh1sp_k$ = function () {
    return this.groupLct_1;
  };
  protoOf(PersonGroup).set_groupName_pormeu_k$ = function (_set____db54di) {
    this.groupName_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_groupName_g0irjz_k$ = function () {
    return this.groupName_1;
  };
  protoOf(PersonGroup).set_groupActive_3rfdbn_k$ = function (_set____db54di) {
    this.groupActive_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_groupActive_ho5hbw_k$ = function () {
    return this.groupActive_1;
  };
  protoOf(PersonGroup).set_personGroupFlag_csix73_k$ = function (_set____db54di) {
    this.personGroupFlag_1 = _set____db54di;
  };
  protoOf(PersonGroup).get_personGroupFlag_l95gi5_k$ = function () {
    return this.personGroupFlag_1;
  };
  function PersonGroupMember_init_$Init$(personUid, groupUid, $this) {
    PersonGroupMember.call($this);
    $this.groupMemberPersonUid_1 = personUid;
    $this.groupMemberGroupUid_1 = groupUid;
    return $this;
  }
  function PersonGroupMember_init_$Create$(personUid, groupUid) {
    return PersonGroupMember_init_$Init$(personUid, groupUid, objectCreate(protoOf(PersonGroupMember)));
  }
  function Companion_105() {
    Companion_instance_105 = this;
    this.TABLE_ID_1 = 44;
  }
  protoOf(Companion_105).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_105).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_102();
  };
  var Companion_instance_105;
  function Companion_getInstance_107() {
    if (Companion_instance_105 == null)
      new Companion_105();
    return Companion_instance_105;
  }
  function $serializer_102() {
    $serializer_instance_102 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonGroupMember', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberMasterCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberLocalCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('groupMemberLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_102).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_102).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_102).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = false;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = 0;
    var tmp11_local7 = new Long(0, 0);
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonGroupMember_init_$Create$_0(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_102).serialize_vatowm_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.groupMemberUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.groupMemberUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.groupMemberActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 1, value.groupMemberActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.groupMemberPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.groupMemberPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.groupMemberGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.groupMemberGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.groupMemberMasterCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.groupMemberMasterCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.groupMemberLocalCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.groupMemberLocalCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.groupMemberLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.groupMemberLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.groupMemberLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.groupMemberLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_102).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_vatowm_k$(encoder, value instanceof PersonGroupMember ? value : THROW_CCE());
  };
  var $serializer_instance_102;
  function $serializer_getInstance_102() {
    if ($serializer_instance_102 == null)
      new $serializer_102();
    return $serializer_instance_102;
  }
  function PersonGroupMember_init_$Init$_0(seen1, groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_102().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.groupMemberUid_1 = new Long(0, 0);
    else
      $this.groupMemberUid_1 = groupMemberUid;
    if (0 === (seen1 & 2))
      $this.groupMemberActive_1 = true;
    else
      $this.groupMemberActive_1 = groupMemberActive;
    if (0 === (seen1 & 4))
      $this.groupMemberPersonUid_1 = new Long(0, 0);
    else
      $this.groupMemberPersonUid_1 = groupMemberPersonUid;
    if (0 === (seen1 & 8))
      $this.groupMemberGroupUid_1 = new Long(0, 0);
    else
      $this.groupMemberGroupUid_1 = groupMemberGroupUid;
    if (0 === (seen1 & 16))
      $this.groupMemberMasterCsn_1 = new Long(0, 0);
    else
      $this.groupMemberMasterCsn_1 = groupMemberMasterCsn;
    if (0 === (seen1 & 32))
      $this.groupMemberLocalCsn_1 = new Long(0, 0);
    else
      $this.groupMemberLocalCsn_1 = groupMemberLocalCsn;
    if (0 === (seen1 & 64))
      $this.groupMemberLastChangedBy_1 = 0;
    else
      $this.groupMemberLastChangedBy_1 = groupMemberLastChangedBy;
    if (0 === (seen1 & 128))
      $this.groupMemberLct_1 = new Long(0, 0);
    else
      $this.groupMemberLct_1 = groupMemberLct;
    return $this;
  }
  function PersonGroupMember_init_$Create$_0(seen1, groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct, serializationConstructorMarker) {
    return PersonGroupMember_init_$Init$_0(seen1, groupMemberUid, groupMemberActive, groupMemberPersonUid, groupMemberGroupUid, groupMemberMasterCsn, groupMemberLocalCsn, groupMemberLastChangedBy, groupMemberLct, serializationConstructorMarker, objectCreate(protoOf(PersonGroupMember)));
  }
  function PersonGroupMember() {
    Companion_getInstance_107();
    this.groupMemberUid_1 = new Long(0, 0);
    this.groupMemberActive_1 = true;
    this.groupMemberPersonUid_1 = new Long(0, 0);
    this.groupMemberGroupUid_1 = new Long(0, 0);
    this.groupMemberMasterCsn_1 = new Long(0, 0);
    this.groupMemberLocalCsn_1 = new Long(0, 0);
    this.groupMemberLastChangedBy_1 = 0;
    this.groupMemberLct_1 = new Long(0, 0);
  }
  protoOf(PersonGroupMember).set_groupMemberUid_wo6tfa_k$ = function (_set____db54di) {
    this.groupMemberUid_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberUid_slf528_k$ = function () {
    return this.groupMemberUid_1;
  };
  protoOf(PersonGroupMember).set_groupMemberActive_vmw819_k$ = function (_set____db54di) {
    this.groupMemberActive_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberActive_a0aeyy_k$ = function () {
    return this.groupMemberActive_1;
  };
  protoOf(PersonGroupMember).set_groupMemberPersonUid_nlli7z_k$ = function (_set____db54di) {
    this.groupMemberPersonUid_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberPersonUid_lzer5h_k$ = function () {
    return this.groupMemberPersonUid_1;
  };
  protoOf(PersonGroupMember).set_groupMemberGroupUid_8gf1yp_k$ = function (_set____db54di) {
    this.groupMemberGroupUid_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberGroupUid_77jxmp_k$ = function () {
    return this.groupMemberGroupUid_1;
  };
  protoOf(PersonGroupMember).set_groupMemberMasterCsn_rhcqg2_k$ = function (_set____db54di) {
    this.groupMemberMasterCsn_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberMasterCsn_wlkfhw_k$ = function () {
    return this.groupMemberMasterCsn_1;
  };
  protoOf(PersonGroupMember).set_groupMemberLocalCsn_dbw6n_k$ = function (_set____db54di) {
    this.groupMemberLocalCsn_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberLocalCsn_u9r4n7_k$ = function () {
    return this.groupMemberLocalCsn_1;
  };
  protoOf(PersonGroupMember).set_groupMemberLastChangedBy_mpfyi7_k$ = function (_set____db54di) {
    this.groupMemberLastChangedBy_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberLastChangedBy_zcjmgr_k$ = function () {
    return this.groupMemberLastChangedBy_1;
  };
  protoOf(PersonGroupMember).set_groupMemberLct_oaw1gj_k$ = function (_set____db54di) {
    this.groupMemberLct_1 = _set____db54di;
  };
  protoOf(PersonGroupMember).get_groupMemberLct_slfbv7_k$ = function () {
    return this.groupMemberLct_1;
  };
  function Companion_106() {
    Companion_instance_106 = this;
    this.TABLE_ID_1 = 512;
    this.STATUS_UNSET_1 = 0;
    this.STATUS_APPROVED_1 = 1;
    this.STATUS_REJECTED_1 = 2;
    this.RELATIONSHIP_MOTHER_1 = 1;
    this.RELATIONSHIP_FATHER_1 = 2;
    this.RELATIONSHIP_OTHER_LEGAL_GUARDIAN_1 = 4;
    this.RELATIONSHIP_OTHER_1 = 8;
  }
  protoOf(Companion_106).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_106).get_STATUS_UNSET_rbh3gl_k$ = function () {
    return this.STATUS_UNSET_1;
  };
  protoOf(Companion_106).get_STATUS_APPROVED_l4p6j_k$ = function () {
    return this.STATUS_APPROVED_1;
  };
  protoOf(Companion_106).get_STATUS_REJECTED_t2teim_k$ = function () {
    return this.STATUS_REJECTED_1;
  };
  protoOf(Companion_106).get_RELATIONSHIP_MOTHER_rti5a9_k$ = function () {
    return this.RELATIONSHIP_MOTHER_1;
  };
  protoOf(Companion_106).get_RELATIONSHIP_FATHER_oaho7u_k$ = function () {
    return this.RELATIONSHIP_FATHER_1;
  };
  protoOf(Companion_106).get_RELATIONSHIP_OTHER_LEGAL_GUARDIAN_ga2d7g_k$ = function () {
    return this.RELATIONSHIP_OTHER_LEGAL_GUARDIAN_1;
  };
  protoOf(Companion_106).get_RELATIONSHIP_OTHER_uptpyq_k$ = function () {
    return this.RELATIONSHIP_OTHER_1;
  };
  protoOf(Companion_106).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_103();
  };
  var Companion_instance_106;
  function Companion_getInstance_108() {
    if (Companion_instance_106 == null)
      new Companion_106();
    return Companion_instance_106;
  }
  function $serializer_103() {
    $serializer_instance_103 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonParentJoin', this, 14);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjPcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjLcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjLcb', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjParentPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjMinorPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjRelationship', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjEmail', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjPhone', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjInactive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjApprovalTiemstamp', true);
    tmp0_serialDesc.addElement_5pzumi_k$('ppjApprovalIpAddr', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_103).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_103).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_103).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = 0;
    var tmp12_local8 = null;
    var tmp13_local9 = null;
    var tmp14_local10 = false;
    var tmp15_local11 = 0;
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = null;
    var tmp18_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp18_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, StringSerializer_getInstance(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonParentJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_103).serialize_tlnagf_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.ppjUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.ppjUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.ppjPcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.ppjPcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.ppjLcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.ppjLcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.ppjLcb_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.ppjLcb_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.ppjLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.ppjLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.ppjParentPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.ppjParentPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.ppjMinorPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.ppjMinorPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.ppjRelationship_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.ppjRelationship_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.ppjEmail_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 8, StringSerializer_getInstance(), value.ppjEmail_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.ppjPhone_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 9, StringSerializer_getInstance(), value.ppjPhone_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.ppjInactive_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 10, value.ppjInactive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.ppjStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 11, value.ppjStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.ppjApprovalTiemstamp_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.ppjApprovalTiemstamp_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.ppjApprovalIpAddr_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 13, StringSerializer_getInstance(), value.ppjApprovalIpAddr_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_103).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_tlnagf_k$(encoder, value instanceof PersonParentJoin ? value : THROW_CCE());
  };
  var $serializer_instance_103;
  function $serializer_getInstance_103() {
    if ($serializer_instance_103 == null)
      new $serializer_103();
    return $serializer_instance_103;
  }
  function PersonParentJoin_init_$Init$(seen1, ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_103().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.ppjUid_1 = new Long(0, 0);
    else
      $this.ppjUid_1 = ppjUid;
    if (0 === (seen1 & 2))
      $this.ppjPcsn_1 = new Long(0, 0);
    else
      $this.ppjPcsn_1 = ppjPcsn;
    if (0 === (seen1 & 4))
      $this.ppjLcsn_1 = new Long(0, 0);
    else
      $this.ppjLcsn_1 = ppjLcsn;
    if (0 === (seen1 & 8))
      $this.ppjLcb_1 = 0;
    else
      $this.ppjLcb_1 = ppjLcb;
    if (0 === (seen1 & 16))
      $this.ppjLct_1 = new Long(0, 0);
    else
      $this.ppjLct_1 = ppjLct;
    if (0 === (seen1 & 32))
      $this.ppjParentPersonUid_1 = new Long(0, 0);
    else
      $this.ppjParentPersonUid_1 = ppjParentPersonUid;
    if (0 === (seen1 & 64))
      $this.ppjMinorPersonUid_1 = new Long(0, 0);
    else
      $this.ppjMinorPersonUid_1 = ppjMinorPersonUid;
    if (0 === (seen1 & 128))
      $this.ppjRelationship_1 = 0;
    else
      $this.ppjRelationship_1 = ppjRelationship;
    if (0 === (seen1 & 256))
      $this.ppjEmail_1 = null;
    else
      $this.ppjEmail_1 = ppjEmail;
    if (0 === (seen1 & 512))
      $this.ppjPhone_1 = null;
    else
      $this.ppjPhone_1 = ppjPhone;
    if (0 === (seen1 & 1024))
      $this.ppjInactive_1 = false;
    else
      $this.ppjInactive_1 = ppjInactive;
    if (0 === (seen1 & 2048))
      $this.ppjStatus_1 = 0;
    else
      $this.ppjStatus_1 = ppjStatus;
    if (0 === (seen1 & 4096))
      $this.ppjApprovalTiemstamp_1 = new Long(0, 0);
    else
      $this.ppjApprovalTiemstamp_1 = ppjApprovalTiemstamp;
    if (0 === (seen1 & 8192))
      $this.ppjApprovalIpAddr_1 = null;
    else
      $this.ppjApprovalIpAddr_1 = ppjApprovalIpAddr;
    return $this;
  }
  function PersonParentJoin_init_$Create$(seen1, ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr, serializationConstructorMarker) {
    return PersonParentJoin_init_$Init$(seen1, ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr, serializationConstructorMarker, objectCreate(protoOf(PersonParentJoin)));
  }
  function PersonParentJoin(ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) {
    Companion_getInstance_108();
    ppjUid = ppjUid === VOID ? new Long(0, 0) : ppjUid;
    ppjPcsn = ppjPcsn === VOID ? new Long(0, 0) : ppjPcsn;
    ppjLcsn = ppjLcsn === VOID ? new Long(0, 0) : ppjLcsn;
    ppjLcb = ppjLcb === VOID ? 0 : ppjLcb;
    ppjLct = ppjLct === VOID ? new Long(0, 0) : ppjLct;
    ppjParentPersonUid = ppjParentPersonUid === VOID ? new Long(0, 0) : ppjParentPersonUid;
    ppjMinorPersonUid = ppjMinorPersonUid === VOID ? new Long(0, 0) : ppjMinorPersonUid;
    ppjRelationship = ppjRelationship === VOID ? 0 : ppjRelationship;
    ppjEmail = ppjEmail === VOID ? null : ppjEmail;
    ppjPhone = ppjPhone === VOID ? null : ppjPhone;
    ppjInactive = ppjInactive === VOID ? false : ppjInactive;
    ppjStatus = ppjStatus === VOID ? 0 : ppjStatus;
    ppjApprovalTiemstamp = ppjApprovalTiemstamp === VOID ? new Long(0, 0) : ppjApprovalTiemstamp;
    ppjApprovalIpAddr = ppjApprovalIpAddr === VOID ? null : ppjApprovalIpAddr;
    this.ppjUid_1 = ppjUid;
    this.ppjPcsn_1 = ppjPcsn;
    this.ppjLcsn_1 = ppjLcsn;
    this.ppjLcb_1 = ppjLcb;
    this.ppjLct_1 = ppjLct;
    this.ppjParentPersonUid_1 = ppjParentPersonUid;
    this.ppjMinorPersonUid_1 = ppjMinorPersonUid;
    this.ppjRelationship_1 = ppjRelationship;
    this.ppjEmail_1 = ppjEmail;
    this.ppjPhone_1 = ppjPhone;
    this.ppjInactive_1 = ppjInactive;
    this.ppjStatus_1 = ppjStatus;
    this.ppjApprovalTiemstamp_1 = ppjApprovalTiemstamp;
    this.ppjApprovalIpAddr_1 = ppjApprovalIpAddr;
  }
  protoOf(PersonParentJoin).set_ppjUid_1pa5iz_k$ = function (_set____db54di) {
    this.ppjUid_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjUid_i688en_k$ = function () {
    return this.ppjUid_1;
  };
  protoOf(PersonParentJoin).set_ppjPcsn_iwvk8z_k$ = function (_set____db54di) {
    this.ppjPcsn_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjPcsn_4vwi4x_k$ = function () {
    return this.ppjPcsn_1;
  };
  protoOf(PersonParentJoin).set_ppjLcsn_i0nccf_k$ = function (_set____db54di) {
    this.ppjLcsn_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjLcsn_4vz231_k$ = function () {
    return this.ppjLcsn_1;
  };
  protoOf(PersonParentJoin).set_ppjLcb_e12jee_k$ = function (_set____db54di) {
    this.ppjLcb_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjLcb_i681l6_k$ = function () {
    return this.ppjLcb_1;
  };
  protoOf(PersonParentJoin).set_ppjLct_a2kxhq_k$ = function (_set____db54di) {
    this.ppjLct_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjLct_i681lo_k$ = function () {
    return this.ppjLct_1;
  };
  protoOf(PersonParentJoin).set_ppjParentPersonUid_h015fq_k$ = function (_set____db54di) {
    this.ppjParentPersonUid_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjParentPersonUid_lygmb4_k$ = function () {
    return this.ppjParentPersonUid_1;
  };
  protoOf(PersonParentJoin).set_ppjMinorPersonUid_aovzpn_k$ = function (_set____db54di) {
    this.ppjMinorPersonUid_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjMinorPersonUid_acwyl5_k$ = function () {
    return this.ppjMinorPersonUid_1;
  };
  protoOf(PersonParentJoin).set_ppjRelationship_re4gsd_k$ = function (_set____db54di) {
    this.ppjRelationship_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjRelationship_u5inyx_k$ = function () {
    return this.ppjRelationship_1;
  };
  protoOf(PersonParentJoin).set_ppjEmail_egsoco_k$ = function (_set____db54di) {
    this.ppjEmail_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjEmail_9kn8bp_k$ = function () {
    return this.ppjEmail_1;
  };
  protoOf(PersonParentJoin).set_ppjPhone_iq44ne_k$ = function (_set____db54di) {
    this.ppjPhone_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjPhone_9eoe8j_k$ = function () {
    return this.ppjPhone_1;
  };
  protoOf(PersonParentJoin).set_ppjInactive_y9dner_k$ = function (_set____db54di) {
    this.ppjInactive_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjInactive_qnp304_k$ = function () {
    return this.ppjInactive_1;
  };
  protoOf(PersonParentJoin).set_ppjStatus_hiah55_k$ = function (_set____db54di) {
    this.ppjStatus_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjStatus_5x2g19_k$ = function () {
    return this.ppjStatus_1;
  };
  protoOf(PersonParentJoin).set_ppjApprovalTiemstamp_wbkei0_k$ = function (_set____db54di) {
    this.ppjApprovalTiemstamp_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjApprovalTiemstamp_rc7j7m_k$ = function () {
    return this.ppjApprovalTiemstamp_1;
  };
  protoOf(PersonParentJoin).set_ppjApprovalIpAddr_lc766n_k$ = function (_set____db54di) {
    this.ppjApprovalIpAddr_1 = _set____db54di;
  };
  protoOf(PersonParentJoin).get_ppjApprovalIpAddr_soqjlw_k$ = function () {
    return this.ppjApprovalIpAddr_1;
  };
  protoOf(PersonParentJoin).component1_7eebsc_k$ = function () {
    return this.ppjUid_1;
  };
  protoOf(PersonParentJoin).component2_7eebsb_k$ = function () {
    return this.ppjPcsn_1;
  };
  protoOf(PersonParentJoin).component3_7eebsa_k$ = function () {
    return this.ppjLcsn_1;
  };
  protoOf(PersonParentJoin).component4_7eebs9_k$ = function () {
    return this.ppjLcb_1;
  };
  protoOf(PersonParentJoin).component5_7eebs8_k$ = function () {
    return this.ppjLct_1;
  };
  protoOf(PersonParentJoin).component6_7eebs7_k$ = function () {
    return this.ppjParentPersonUid_1;
  };
  protoOf(PersonParentJoin).component7_7eebs6_k$ = function () {
    return this.ppjMinorPersonUid_1;
  };
  protoOf(PersonParentJoin).component8_7eebs5_k$ = function () {
    return this.ppjRelationship_1;
  };
  protoOf(PersonParentJoin).component9_7eebs4_k$ = function () {
    return this.ppjEmail_1;
  };
  protoOf(PersonParentJoin).component10_gazzfo_k$ = function () {
    return this.ppjPhone_1;
  };
  protoOf(PersonParentJoin).component11_gazzfn_k$ = function () {
    return this.ppjInactive_1;
  };
  protoOf(PersonParentJoin).component12_gazzfm_k$ = function () {
    return this.ppjStatus_1;
  };
  protoOf(PersonParentJoin).component13_gazzfl_k$ = function () {
    return this.ppjApprovalTiemstamp_1;
  };
  protoOf(PersonParentJoin).component14_gazzfk_k$ = function () {
    return this.ppjApprovalIpAddr_1;
  };
  protoOf(PersonParentJoin).copy_tcgwx3_k$ = function (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) {
    return new PersonParentJoin(ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr);
  };
  protoOf(PersonParentJoin).copy$default_4237s7_k$ = function (ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr, $super) {
    ppjUid = ppjUid === VOID ? this.ppjUid_1 : ppjUid;
    ppjPcsn = ppjPcsn === VOID ? this.ppjPcsn_1 : ppjPcsn;
    ppjLcsn = ppjLcsn === VOID ? this.ppjLcsn_1 : ppjLcsn;
    ppjLcb = ppjLcb === VOID ? this.ppjLcb_1 : ppjLcb;
    ppjLct = ppjLct === VOID ? this.ppjLct_1 : ppjLct;
    ppjParentPersonUid = ppjParentPersonUid === VOID ? this.ppjParentPersonUid_1 : ppjParentPersonUid;
    ppjMinorPersonUid = ppjMinorPersonUid === VOID ? this.ppjMinorPersonUid_1 : ppjMinorPersonUid;
    ppjRelationship = ppjRelationship === VOID ? this.ppjRelationship_1 : ppjRelationship;
    ppjEmail = ppjEmail === VOID ? this.ppjEmail_1 : ppjEmail;
    ppjPhone = ppjPhone === VOID ? this.ppjPhone_1 : ppjPhone;
    ppjInactive = ppjInactive === VOID ? this.ppjInactive_1 : ppjInactive;
    ppjStatus = ppjStatus === VOID ? this.ppjStatus_1 : ppjStatus;
    ppjApprovalTiemstamp = ppjApprovalTiemstamp === VOID ? this.ppjApprovalTiemstamp_1 : ppjApprovalTiemstamp;
    ppjApprovalIpAddr = ppjApprovalIpAddr === VOID ? this.ppjApprovalIpAddr_1 : ppjApprovalIpAddr;
    return $super === VOID ? this.copy_tcgwx3_k$(ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr) : $super.copy_tcgwx3_k$.call(this, ppjUid, ppjPcsn, ppjLcsn, ppjLcb, ppjLct, ppjParentPersonUid, ppjMinorPersonUid, ppjRelationship, ppjEmail, ppjPhone, ppjInactive, ppjStatus, ppjApprovalTiemstamp, ppjApprovalIpAddr);
  };
  protoOf(PersonParentJoin).toString = function () {
    return 'PersonParentJoin(ppjUid=' + this.ppjUid_1.toString() + ', ppjPcsn=' + this.ppjPcsn_1.toString() + ', ppjLcsn=' + this.ppjLcsn_1.toString() + ', ppjLcb=' + this.ppjLcb_1 + ', ppjLct=' + this.ppjLct_1.toString() + ', ppjParentPersonUid=' + this.ppjParentPersonUid_1.toString() + ', ppjMinorPersonUid=' + this.ppjMinorPersonUid_1.toString() + ', ppjRelationship=' + this.ppjRelationship_1 + ', ppjEmail=' + this.ppjEmail_1 + ', ppjPhone=' + this.ppjPhone_1 + ', ppjInactive=' + this.ppjInactive_1 + ', ppjStatus=' + this.ppjStatus_1 + ', ppjApprovalTiemstamp=' + this.ppjApprovalTiemstamp_1.toString() + ', ppjApprovalIpAddr=' + this.ppjApprovalIpAddr_1 + ')';
  };
  protoOf(PersonParentJoin).hashCode = function () {
    var result = this.ppjUid_1.hashCode();
    result = imul(result, 31) + this.ppjPcsn_1.hashCode() | 0;
    result = imul(result, 31) + this.ppjLcsn_1.hashCode() | 0;
    result = imul(result, 31) + this.ppjLcb_1 | 0;
    result = imul(result, 31) + this.ppjLct_1.hashCode() | 0;
    result = imul(result, 31) + this.ppjParentPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.ppjMinorPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.ppjRelationship_1 | 0;
    result = imul(result, 31) + (this.ppjEmail_1 == null ? 0 : getStringHashCode(this.ppjEmail_1)) | 0;
    result = imul(result, 31) + (this.ppjPhone_1 == null ? 0 : getStringHashCode(this.ppjPhone_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.ppjInactive_1) | 0;
    result = imul(result, 31) + this.ppjStatus_1 | 0;
    result = imul(result, 31) + this.ppjApprovalTiemstamp_1.hashCode() | 0;
    result = imul(result, 31) + (this.ppjApprovalIpAddr_1 == null ? 0 : getStringHashCode(this.ppjApprovalIpAddr_1)) | 0;
    return result;
  };
  protoOf(PersonParentJoin).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonParentJoin))
      return false;
    var tmp0_other_with_cast = other instanceof PersonParentJoin ? other : THROW_CCE();
    if (!this.ppjUid_1.equals(tmp0_other_with_cast.ppjUid_1))
      return false;
    if (!this.ppjPcsn_1.equals(tmp0_other_with_cast.ppjPcsn_1))
      return false;
    if (!this.ppjLcsn_1.equals(tmp0_other_with_cast.ppjLcsn_1))
      return false;
    if (!(this.ppjLcb_1 === tmp0_other_with_cast.ppjLcb_1))
      return false;
    if (!this.ppjLct_1.equals(tmp0_other_with_cast.ppjLct_1))
      return false;
    if (!this.ppjParentPersonUid_1.equals(tmp0_other_with_cast.ppjParentPersonUid_1))
      return false;
    if (!this.ppjMinorPersonUid_1.equals(tmp0_other_with_cast.ppjMinorPersonUid_1))
      return false;
    if (!(this.ppjRelationship_1 === tmp0_other_with_cast.ppjRelationship_1))
      return false;
    if (!(this.ppjEmail_1 == tmp0_other_with_cast.ppjEmail_1))
      return false;
    if (!(this.ppjPhone_1 == tmp0_other_with_cast.ppjPhone_1))
      return false;
    if (!(this.ppjInactive_1 === tmp0_other_with_cast.ppjInactive_1))
      return false;
    if (!(this.ppjStatus_1 === tmp0_other_with_cast.ppjStatus_1))
      return false;
    if (!this.ppjApprovalTiemstamp_1.equals(tmp0_other_with_cast.ppjApprovalTiemstamp_1))
      return false;
    if (!(this.ppjApprovalIpAddr_1 == tmp0_other_with_cast.ppjApprovalIpAddr_1))
      return false;
    return true;
  };
  function Companion_107() {
    Companion_instance_107 = this;
  }
  protoOf(Companion_107).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_104();
  };
  var Companion_instance_107;
  function Companion_getInstance_109() {
    if (Companion_instance_107 == null)
      new Companion_107();
    return Companion_instance_107;
  }
  function $serializer_104() {
    $serializer_instance_104 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonParentJoinAndMinorPerson', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('personParentJoin', true);
    tmp0_serialDesc.addElement_5pzumi_k$('minorPerson', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_104).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_104).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_103()), get_nullable($serializer_getInstance_98())];
  };
  protoOf($serializer_104).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_103(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_103(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonParentJoinAndMinorPerson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_104).serialize_t8brfg_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.personParentJoin_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_103(), value.personParentJoin_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.minorPerson_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_98(), value.minorPerson_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_104).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_t8brfg_k$(encoder, value instanceof PersonParentJoinAndMinorPerson ? value : THROW_CCE());
  };
  var $serializer_instance_104;
  function $serializer_getInstance_104() {
    if ($serializer_instance_104 == null)
      new $serializer_104();
    return $serializer_instance_104;
  }
  function PersonParentJoinAndMinorPerson_init_$Init$(seen1, personParentJoin, minorPerson, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_104().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.personParentJoin_1 = null;
    else
      $this.personParentJoin_1 = personParentJoin;
    if (0 === (seen1 & 2))
      $this.minorPerson_1 = null;
    else
      $this.minorPerson_1 = minorPerson;
    return $this;
  }
  function PersonParentJoinAndMinorPerson_init_$Create$(seen1, personParentJoin, minorPerson, serializationConstructorMarker) {
    return PersonParentJoinAndMinorPerson_init_$Init$(seen1, personParentJoin, minorPerson, serializationConstructorMarker, objectCreate(protoOf(PersonParentJoinAndMinorPerson)));
  }
  function PersonParentJoinAndMinorPerson(personParentJoin, minorPerson) {
    Companion_getInstance_109();
    personParentJoin = personParentJoin === VOID ? null : personParentJoin;
    minorPerson = minorPerson === VOID ? null : minorPerson;
    this.personParentJoin_1 = personParentJoin;
    this.minorPerson_1 = minorPerson;
  }
  protoOf(PersonParentJoinAndMinorPerson).set_personParentJoin_vxoy8v_k$ = function (_set____db54di) {
    this.personParentJoin_1 = _set____db54di;
  };
  protoOf(PersonParentJoinAndMinorPerson).get_personParentJoin_59u4ni_k$ = function () {
    return this.personParentJoin_1;
  };
  protoOf(PersonParentJoinAndMinorPerson).set_minorPerson_hw3284_k$ = function (_set____db54di) {
    this.minorPerson_1 = _set____db54di;
  };
  protoOf(PersonParentJoinAndMinorPerson).get_minorPerson_ourhmn_k$ = function () {
    return this.minorPerson_1;
  };
  protoOf(PersonParentJoinAndMinorPerson).component1_7eebsc_k$ = function () {
    return this.personParentJoin_1;
  };
  protoOf(PersonParentJoinAndMinorPerson).component2_7eebsb_k$ = function () {
    return this.minorPerson_1;
  };
  protoOf(PersonParentJoinAndMinorPerson).copy_2isltr_k$ = function (personParentJoin, minorPerson) {
    return new PersonParentJoinAndMinorPerson(personParentJoin, minorPerson);
  };
  protoOf(PersonParentJoinAndMinorPerson).copy$default_12m7bi_k$ = function (personParentJoin, minorPerson, $super) {
    personParentJoin = personParentJoin === VOID ? this.personParentJoin_1 : personParentJoin;
    minorPerson = minorPerson === VOID ? this.minorPerson_1 : minorPerson;
    return $super === VOID ? this.copy_2isltr_k$(personParentJoin, minorPerson) : $super.copy_2isltr_k$.call(this, personParentJoin, minorPerson);
  };
  protoOf(PersonParentJoinAndMinorPerson).toString = function () {
    return 'PersonParentJoinAndMinorPerson(personParentJoin=' + this.personParentJoin_1 + ', minorPerson=' + this.minorPerson_1 + ')';
  };
  protoOf(PersonParentJoinAndMinorPerson).hashCode = function () {
    var result = this.personParentJoin_1 == null ? 0 : this.personParentJoin_1.hashCode();
    result = imul(result, 31) + (this.minorPerson_1 == null ? 0 : this.minorPerson_1.hashCode()) | 0;
    return result;
  };
  protoOf(PersonParentJoinAndMinorPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonParentJoinAndMinorPerson))
      return false;
    var tmp0_other_with_cast = other instanceof PersonParentJoinAndMinorPerson ? other : THROW_CCE();
    if (!equals(this.personParentJoin_1, tmp0_other_with_cast.personParentJoin_1))
      return false;
    if (!equals(this.minorPerson_1, tmp0_other_with_cast.minorPerson_1))
      return false;
    return true;
  };
  function Companion_108() {
    Companion_instance_108 = this;
    this.TABLE_ID_1 = 50;
  }
  protoOf(Companion_108).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_108).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_105();
  };
  var Companion_instance_108;
  function Companion_getInstance_110() {
    if (Companion_instance_108 == null)
      new Companion_108();
    return Companion_instance_108;
  }
  function $serializer_105() {
    $serializer_instance_105 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.PersonPicture', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('personPictureUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPictureLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPictureUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPictureThumbnailUri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fileSize', true);
    tmp0_serialDesc.addElement_5pzumi_k$('personPictureActive', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_105).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_105).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_105).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_local5 = false;
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return PersonPicture_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_105).serialize_s60ps5_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.personPictureUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.personPictureUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.personPictureLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.personPictureLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.personPictureUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.personPictureUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.personPictureThumbnailUri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.personPictureThumbnailUri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.fileSize_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.fileSize_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.personPictureActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.personPictureActive_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_105).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_s60ps5_k$(encoder, value instanceof PersonPicture ? value : THROW_CCE());
  };
  var $serializer_instance_105;
  function $serializer_getInstance_105() {
    if ($serializer_instance_105 == null)
      new $serializer_105();
    return $serializer_instance_105;
  }
  function PersonPicture_init_$Init$(seen1, personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_105().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.personPictureUid_1 = new Long(0, 0);
    else
      $this.personPictureUid_1 = personPictureUid;
    if (0 === (seen1 & 2))
      $this.personPictureLct_1 = new Long(0, 0);
    else
      $this.personPictureLct_1 = personPictureLct;
    if (0 === (seen1 & 4))
      $this.personPictureUri_1 = null;
    else
      $this.personPictureUri_1 = personPictureUri;
    if (0 === (seen1 & 8))
      $this.personPictureThumbnailUri_1 = null;
    else
      $this.personPictureThumbnailUri_1 = personPictureThumbnailUri;
    if (0 === (seen1 & 16))
      $this.fileSize_1 = 0;
    else
      $this.fileSize_1 = fileSize;
    if (0 === (seen1 & 32))
      $this.personPictureActive_1 = true;
    else
      $this.personPictureActive_1 = personPictureActive;
    return $this;
  }
  function PersonPicture_init_$Create$(seen1, personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive, serializationConstructorMarker) {
    return PersonPicture_init_$Init$(seen1, personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive, serializationConstructorMarker, objectCreate(protoOf(PersonPicture)));
  }
  function PersonPicture(personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) {
    Companion_getInstance_110();
    personPictureUid = personPictureUid === VOID ? new Long(0, 0) : personPictureUid;
    personPictureLct = personPictureLct === VOID ? new Long(0, 0) : personPictureLct;
    personPictureUri = personPictureUri === VOID ? null : personPictureUri;
    personPictureThumbnailUri = personPictureThumbnailUri === VOID ? null : personPictureThumbnailUri;
    fileSize = fileSize === VOID ? 0 : fileSize;
    personPictureActive = personPictureActive === VOID ? true : personPictureActive;
    this.personPictureUid_1 = personPictureUid;
    this.personPictureLct_1 = personPictureLct;
    this.personPictureUri_1 = personPictureUri;
    this.personPictureThumbnailUri_1 = personPictureThumbnailUri;
    this.fileSize_1 = fileSize;
    this.personPictureActive_1 = personPictureActive;
  }
  protoOf(PersonPicture).set_personPictureUid_dypqo6_k$ = function (_set____db54di) {
    this.personPictureUid_1 = _set____db54di;
  };
  protoOf(PersonPicture).get_personPictureUid_r3scr4_k$ = function () {
    return this.personPictureUid_1;
  };
  protoOf(PersonPicture).set_personPictureLct_5leypf_k$ = function (_set____db54di) {
    this.personPictureLct_1 = _set____db54di;
  };
  protoOf(PersonPicture).get_personPictureLct_r3sjk3_k$ = function () {
    return this.personPictureLct_1;
  };
  protoOf(PersonPicture).set_personPictureUri_20k97t_k$ = function (_set____db54di) {
    this.personPictureUri_1 = _set____db54di;
  };
  protoOf(PersonPicture).get_personPictureUri_r3scj8_k$ = function () {
    return this.personPictureUri_1;
  };
  protoOf(PersonPicture).set_personPictureThumbnailUri_yqm2dn_k$ = function (_set____db54di) {
    this.personPictureThumbnailUri_1 = _set____db54di;
  };
  protoOf(PersonPicture).get_personPictureThumbnailUri_sx3gg_k$ = function () {
    return this.personPictureThumbnailUri_1;
  };
  protoOf(PersonPicture).set_fileSize_q7ooeq_k$ = function (_set____db54di) {
    this.fileSize_1 = _set____db54di;
  };
  protoOf(PersonPicture).get_fileSize_r28lt2_k$ = function () {
    return this.fileSize_1;
  };
  protoOf(PersonPicture).set_personPictureActive_7ld0rn_k$ = function (_set____db54di) {
    this.personPictureActive_1 = _set____db54di;
  };
  protoOf(PersonPicture).get_personPictureActive_lkcisa_k$ = function () {
    return this.personPictureActive_1;
  };
  protoOf(PersonPicture).component1_7eebsc_k$ = function () {
    return this.personPictureUid_1;
  };
  protoOf(PersonPicture).component2_7eebsb_k$ = function () {
    return this.personPictureLct_1;
  };
  protoOf(PersonPicture).component3_7eebsa_k$ = function () {
    return this.personPictureUri_1;
  };
  protoOf(PersonPicture).component4_7eebs9_k$ = function () {
    return this.personPictureThumbnailUri_1;
  };
  protoOf(PersonPicture).component5_7eebs8_k$ = function () {
    return this.fileSize_1;
  };
  protoOf(PersonPicture).component6_7eebs7_k$ = function () {
    return this.personPictureActive_1;
  };
  protoOf(PersonPicture).copy_a63q6k_k$ = function (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) {
    return new PersonPicture(personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive);
  };
  protoOf(PersonPicture).copy$default_l6c2ca_k$ = function (personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive, $super) {
    personPictureUid = personPictureUid === VOID ? this.personPictureUid_1 : personPictureUid;
    personPictureLct = personPictureLct === VOID ? this.personPictureLct_1 : personPictureLct;
    personPictureUri = personPictureUri === VOID ? this.personPictureUri_1 : personPictureUri;
    personPictureThumbnailUri = personPictureThumbnailUri === VOID ? this.personPictureThumbnailUri_1 : personPictureThumbnailUri;
    fileSize = fileSize === VOID ? this.fileSize_1 : fileSize;
    personPictureActive = personPictureActive === VOID ? this.personPictureActive_1 : personPictureActive;
    return $super === VOID ? this.copy_a63q6k_k$(personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive) : $super.copy_a63q6k_k$.call(this, personPictureUid, personPictureLct, personPictureUri, personPictureThumbnailUri, fileSize, personPictureActive);
  };
  protoOf(PersonPicture).toString = function () {
    return 'PersonPicture(personPictureUid=' + this.personPictureUid_1.toString() + ', personPictureLct=' + this.personPictureLct_1.toString() + ', personPictureUri=' + this.personPictureUri_1 + ', personPictureThumbnailUri=' + this.personPictureThumbnailUri_1 + ', fileSize=' + this.fileSize_1 + ', personPictureActive=' + this.personPictureActive_1 + ')';
  };
  protoOf(PersonPicture).hashCode = function () {
    var result = this.personPictureUid_1.hashCode();
    result = imul(result, 31) + this.personPictureLct_1.hashCode() | 0;
    result = imul(result, 31) + (this.personPictureUri_1 == null ? 0 : getStringHashCode(this.personPictureUri_1)) | 0;
    result = imul(result, 31) + (this.personPictureThumbnailUri_1 == null ? 0 : getStringHashCode(this.personPictureThumbnailUri_1)) | 0;
    result = imul(result, 31) + this.fileSize_1 | 0;
    result = imul(result, 31) + getBooleanHashCode(this.personPictureActive_1) | 0;
    return result;
  };
  protoOf(PersonPicture).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof PersonPicture))
      return false;
    var tmp0_other_with_cast = other instanceof PersonPicture ? other : THROW_CCE();
    if (!this.personPictureUid_1.equals(tmp0_other_with_cast.personPictureUid_1))
      return false;
    if (!this.personPictureLct_1.equals(tmp0_other_with_cast.personPictureLct_1))
      return false;
    if (!(this.personPictureUri_1 == tmp0_other_with_cast.personPictureUri_1))
      return false;
    if (!(this.personPictureThumbnailUri_1 == tmp0_other_with_cast.personPictureThumbnailUri_1))
      return false;
    if (!(this.fileSize_1 === tmp0_other_with_cast.fileSize_1))
      return false;
    if (!(this.personPictureActive_1 === tmp0_other_with_cast.personPictureActive_1))
      return false;
    return true;
  };
  function PersonUidAndPasswordHash() {
    this.passwordHash_1 = null;
    this.personUid_1 = new Long(0, 0);
    this.firstNames_1 = null;
    this.lastName_1 = null;
  }
  protoOf(PersonUidAndPasswordHash).set_passwordHash_weksrz_k$ = function (_set____db54di) {
    this.passwordHash_1 = _set____db54di;
  };
  protoOf(PersonUidAndPasswordHash).get_passwordHash_dwynpu_k$ = function () {
    return this.passwordHash_1;
  };
  protoOf(PersonUidAndPasswordHash).set_personUid_j3idds_k$ = function (_set____db54di) {
    this.personUid_1 = _set____db54di;
  };
  protoOf(PersonUidAndPasswordHash).get_personUid_mmhd76_k$ = function () {
    return this.personUid_1;
  };
  protoOf(PersonUidAndPasswordHash).set_firstNames_audc9u_k$ = function (_set____db54di) {
    this.firstNames_1 = _set____db54di;
  };
  protoOf(PersonUidAndPasswordHash).get_firstNames_n3o3y7_k$ = function () {
    return this.firstNames_1;
  };
  protoOf(PersonUidAndPasswordHash).set_lastName_6ukpbb_k$ = function (_set____db54di) {
    this.lastName_1 = _set____db54di;
  };
  protoOf(PersonUidAndPasswordHash).get_lastName_f360wa_k$ = function () {
    return this.lastName_1;
  };
  function Companion_109() {
    Companion_instance_109 = this;
    this.TABLE_ID_1 = 101;
    this.DAY_1 = 300;
    this.WEEK_1 = 301;
    this.MONTH_1 = 302;
    this.CONTENT_ENTRY_1 = 304;
    this.GENDER_1 = 306;
    this.CLASS_1 = 307;
    this.ENROLMENT_OUTCOME_1 = 308;
    this.ENROLMENT_LEAVING_REASON_1 = 309;
    this.EVERYTHING_1 = 0;
    this.LAST_WEEK_DATE_1 = 800;
    this.LAST_TWO_WEEKS_DATE_1 = 801;
    this.LAST_MONTH_DATE_1 = 802;
    this.LAST_THREE_MONTHS_DATE_1 = 803;
    this.NEW_CUSTOM_RANGE_DATE_1 = 804;
    this.CUSTOM_RANGE_1 = 805;
    this.TEMPLATE_BLANK_REPORT_UID_1 = new Long(100000, 0);
    this.TEMPLATE_CONTENT_USAGE_OVER_TIME_UID_1 = new Long(100001, 0);
    this.TEMPLATE_UNIQUE_CONTENT_USERS_UID_1 = new Long(100002, 0);
    this.TEMPLATE_ATTENDANCE_OVER_TIME_BY_CLASS_UID_1 = new Long(100003, 0);
    this.TEMPLATE_CONTENT_USAGE_BY_CLASS_UID_1 = new Long(100004, 0);
    this.TEMPLATE_CONTENT_COMPLETION_UID_1 = new Long(100005, 0);
    this.BLANK_REPORT_1 = 1;
    this.BLANK_REPORT_DESC_1 = 2;
    this.CONTENT_USAGE_OVER_TIME_1 = 3;
    this.CONTENT_USAGE_OVER_TIME_DESC_1 = 4;
    this.UNIQUE_CONTENT_USERS_OVER_TIME_1 = 5;
    this.UNIQUE_CONTENT_USERS_OVER_TIME_DESC_1 = 6;
    this.ATTENDANCE_OVER_TIME_BY_CLASS_1 = 7;
    this.ATTENDANCE_OVER_TIME_BY_CLASS_DESC_1 = 8;
    this.CONTENT_USAGE_BY_CLASS_1 = 9;
    this.CONTENT_USAGE_BY_CLASS_DESC_1 = 10;
    this.CONTENT_COMPLETION_1 = 11;
    this.CONTENT_COMPLETION_DESC_1 = 12;
    var tmp = this;
    // Inline function 'kotlin.apply' call
    var this_0 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_0.reportUid_1 = new Long(100000, 0);
    this_0.reportTitle_1 = 'Blank report';
    this_0.reportDescription_1 = 'Start ';
    this_0.isTemplate_1 = true;
    this_0.priority_1 = 0;
    this_0.reportTitleId_1 = 1;
    this_0.reportDescId_1 = 2;
    this_0.reportSeries_1 = trimIndent('                \n                        [{\n                          "reportSeriesUid": 0,\n                          "reportSeriesName": "Series 1",\n                          "reportSeriesYAxis": ' + Companion_getInstance_113().get_TOTAL_DURATION_fu8nmw_k$() + ',\n                          "reportSeriesVisualType": ' + Companion_getInstance_113().get_BAR_CHART_m8w98p_k$() + ',\n                          "reportSeriesSubGroup": ' + Companion_getInstance_113().get_NONE_wo64xt_k$() + '\n                        }]\n                    ');
    var tmp_0 = this_0;
    // Inline function 'kotlin.apply' call
    var this_1 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_1.reportUid_1 = new Long(100001, 0);
    this_1.reportTitle_1 = 'Content usage over time';
    this_1.reportDescription_1 = 'Total content ';
    this_1.xAxis_1 = 306;
    this_1.isTemplate_1 = true;
    this_1.reportTitleId_1 = 3;
    this_1.reportDescId_1 = 4;
    this_1.reportSeries_1 = trimIndent('                \n                        [{\n                          "reportSeriesUid": 0,\n                          "reportSeriesName": "Series 1",\n                          "reportSeriesYAxis": ' + Companion_getInstance_113().get_TOTAL_DURATION_fu8nmw_k$() + ',\n                          "reportSeriesVisualType": ' + Companion_getInstance_113().get_BAR_CHART_m8w98p_k$() + ',\n                          "reportSeriesSubGroup": ' + Companion_getInstance_113().get_NONE_wo64xt_k$() + '\n                        }]\n                    ');
    var tmp_1 = this_1;
    // Inline function 'kotlin.apply' call
    var this_2 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_2.reportUid_1 = new Long(100002, 0);
    this_2.reportTitle_1 = 'Unique content users over time';
    this_2.reportDescription_1 = 'Number of active users over time';
    this_2.xAxis_1 = 302;
    this_2.isTemplate_1 = true;
    this_2.reportTitleId_1 = 5;
    this_2.reportDescId_1 = 6;
    this_2.reportSeries_1 = trimIndent('                \n                        [{\n                         "reportSeriesUid": 0,\n                         "reportSeriesName": "Series 1",\n                         "reportSeriesYAxis": ' + Companion_getInstance_113().get_NUMBER_ACTIVE_USERS_csyv5o_k$() + ',\n                         "reportSeriesVisualType": ' + Companion_getInstance_113().get_BAR_CHART_m8w98p_k$() + ',\n                         "reportSeriesSubGroup": ' + Companion_getInstance_113().get_NONE_wo64xt_k$() + '\n                        }]\n                    ');
    var tmp_2 = this_2;
    // Inline function 'kotlin.apply' call
    var this_3 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_3.reportUid_1 = new Long(100003, 0);
    this_3.reportTitle_1 = 'Attendance over time by class';
    this_3.reportDescription_1 = 'Percentage of students attending over time';
    this_3.isTemplate_1 = true;
    this_3.xAxis_1 = 307;
    this_3.reportTitleId_1 = 7;
    this_3.reportDescId_1 = 8;
    this_3.reportSeries_1 = trimIndent('                \n                        [{\n                         "reportSeriesUid": 0,\n                         "reportSeriesName": "Series 1",\n                         "reportSeriesYAxis": ' + Companion_getInstance_113().get_PERCENTAGE_STUDENTS_ATTENDED_5l9rok_k$() + ',\n                          "reportSeriesVisualType": ' + Companion_getInstance_113().get_BAR_CHART_m8w98p_k$() + ',\n                          "reportSeriesSubGroup": ' + Companion_getInstance_113().get_NONE_wo64xt_k$() + '\n                        }]\n                        ');
    var tmp_3 = this_3;
    // Inline function 'kotlin.apply' call
    var this_4 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_4.reportUid_1 = new Long(100004, 0);
    this_4.reportTitle_1 = 'Content usage by class';
    this_4.reportDescription_1 = 'Total content usage duration subgroup by class';
    this_4.xAxis_1 = 307;
    this_4.isTemplate_1 = true;
    this_4.reportTitleId_1 = 9;
    this_4.reportDescId_1 = 10;
    this_4.reportSeries_1 = trimIndent('\n                        [{\n                            "reportSeriesUid ": 0,\n                            "reportSeriesName ": " Series 1",\n                            "reportSeriesYAxis": ' + Companion_getInstance_113().get_TOTAL_DURATION_fu8nmw_k$() + ',\n                            "reportSeriesVisualType": ' + Companion_getInstance_113().get_BAR_CHART_m8w98p_k$() + ',\n                            "reportSeriesSubGroup": ' + Companion_getInstance_113().get_NONE_wo64xt_k$() + '\n                        }]\n                            ');
    var tmp_4 = this_4;
    // Inline function 'kotlin.apply' call
    var this_5 = new Report();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.Companion.FIXED_TEMPLATES.<anonymous>' call
    this_5.reportUid_1 = new Long(100005, 0);
    this_5.reportTitle_1 = 'Content completion';
    this_5.reportDescription_1 = 'Number of students who have completed selected content';
    this_5.isTemplate_1 = true;
    this_5.xAxis_1 = 304;
    this_5.reportTitleId_1 = 11;
    this_5.reportDescId_1 = 12;
    this_5.reportSeries_1 = trimIndent('\n                            [{\n                                "reportSeriesUid": 0,\n                                "reportSeriesName": "Series 1",\n                                "reportSeriesYAxis": ' + Companion_getInstance_113().get_NUMBER_OF_STUDENTS_COMPLETED_CONTENT_1fenaf_k$() + ',\n                                "reportSeriesVisualType": ' + Companion_getInstance_113().get_BAR_CHART_m8w98p_k$() + ',\n                                "reportSeriesSubGroup": ' + Companion_getInstance_113().get_NONE_wo64xt_k$() + '\n                            }]\n                            ');
    tmp.FIXED_TEMPLATES_1 = listOf_0([tmp_0, tmp_1, tmp_2, tmp_3, tmp_4, this_5]);
  }
  protoOf(Companion_109).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_109).get_DAY_18jw19_k$ = function () {
    return this.DAY_1;
  };
  protoOf(Companion_109).get_WEEK_wobo71_k$ = function () {
    return this.WEEK_1;
  };
  protoOf(Companion_109).get_MONTH_id5p9z_k$ = function () {
    return this.MONTH_1;
  };
  protoOf(Companion_109).get_CONTENT_ENTRY_5i5et9_k$ = function () {
    return this.CONTENT_ENTRY_1;
  };
  protoOf(Companion_109).get_GENDER_1wrody_k$ = function () {
    return this.GENDER_1;
  };
  protoOf(Companion_109).get_CLASS_i7lkq7_k$ = function () {
    return this.CLASS_1;
  };
  protoOf(Companion_109).get_ENROLMENT_OUTCOME_o3xngu_k$ = function () {
    return this.ENROLMENT_OUTCOME_1;
  };
  protoOf(Companion_109).get_ENROLMENT_LEAVING_REASON_shk1e5_k$ = function () {
    return this.ENROLMENT_LEAVING_REASON_1;
  };
  protoOf(Companion_109).get_EVERYTHING_5icddw_k$ = function () {
    return this.EVERYTHING_1;
  };
  protoOf(Companion_109).get_LAST_WEEK_DATE_hx0qex_k$ = function () {
    return this.LAST_WEEK_DATE_1;
  };
  protoOf(Companion_109).get_LAST_TWO_WEEKS_DATE_5nv6an_k$ = function () {
    return this.LAST_TWO_WEEKS_DATE_1;
  };
  protoOf(Companion_109).get_LAST_MONTH_DATE_urj6vh_k$ = function () {
    return this.LAST_MONTH_DATE_1;
  };
  protoOf(Companion_109).get_LAST_THREE_MONTHS_DATE_8p5mav_k$ = function () {
    return this.LAST_THREE_MONTHS_DATE_1;
  };
  protoOf(Companion_109).get_NEW_CUSTOM_RANGE_DATE_r0zrhy_k$ = function () {
    return this.NEW_CUSTOM_RANGE_DATE_1;
  };
  protoOf(Companion_109).get_CUSTOM_RANGE_ygb8o_k$ = function () {
    return this.CUSTOM_RANGE_1;
  };
  protoOf(Companion_109).get_TEMPLATE_BLANK_REPORT_UID_d434z8_k$ = function () {
    return this.TEMPLATE_BLANK_REPORT_UID_1;
  };
  protoOf(Companion_109).get_TEMPLATE_CONTENT_USAGE_OVER_TIME_UID_fl8y1j_k$ = function () {
    return this.TEMPLATE_CONTENT_USAGE_OVER_TIME_UID_1;
  };
  protoOf(Companion_109).get_TEMPLATE_UNIQUE_CONTENT_USERS_UID_muscqp_k$ = function () {
    return this.TEMPLATE_UNIQUE_CONTENT_USERS_UID_1;
  };
  protoOf(Companion_109).get_TEMPLATE_ATTENDANCE_OVER_TIME_BY_CLASS_UID_wt226a_k$ = function () {
    return this.TEMPLATE_ATTENDANCE_OVER_TIME_BY_CLASS_UID_1;
  };
  protoOf(Companion_109).get_TEMPLATE_CONTENT_USAGE_BY_CLASS_UID_4nvapr_k$ = function () {
    return this.TEMPLATE_CONTENT_USAGE_BY_CLASS_UID_1;
  };
  protoOf(Companion_109).get_TEMPLATE_CONTENT_COMPLETION_UID_51mt1t_k$ = function () {
    return this.TEMPLATE_CONTENT_COMPLETION_UID_1;
  };
  protoOf(Companion_109).get_BLANK_REPORT_5i8kq0_k$ = function () {
    return this.BLANK_REPORT_1;
  };
  protoOf(Companion_109).get_BLANK_REPORT_DESC_c5et1k_k$ = function () {
    return this.BLANK_REPORT_DESC_1;
  };
  protoOf(Companion_109).get_CONTENT_USAGE_OVER_TIME_zf66yd_k$ = function () {
    return this.CONTENT_USAGE_OVER_TIME_1;
  };
  protoOf(Companion_109).get_CONTENT_USAGE_OVER_TIME_DESC_scj3sr_k$ = function () {
    return this.CONTENT_USAGE_OVER_TIME_DESC_1;
  };
  protoOf(Companion_109).get_UNIQUE_CONTENT_USERS_OVER_TIME_tjhj7u_k$ = function () {
    return this.UNIQUE_CONTENT_USERS_OVER_TIME_1;
  };
  protoOf(Companion_109).get_UNIQUE_CONTENT_USERS_OVER_TIME_DESC_m3j8ai_k$ = function () {
    return this.UNIQUE_CONTENT_USERS_OVER_TIME_DESC_1;
  };
  protoOf(Companion_109).get_ATTENDANCE_OVER_TIME_BY_CLASS_544r50_k$ = function () {
    return this.ATTENDANCE_OVER_TIME_BY_CLASS_1;
  };
  protoOf(Companion_109).get_ATTENDANCE_OVER_TIME_BY_CLASS_DESC_bcxifg_k$ = function () {
    return this.ATTENDANCE_OVER_TIME_BY_CLASS_DESC_1;
  };
  protoOf(Companion_109).get_CONTENT_USAGE_BY_CLASS_3j7hlv_k$ = function () {
    return this.CONTENT_USAGE_BY_CLASS_1;
  };
  protoOf(Companion_109).get_CONTENT_USAGE_BY_CLASS_DESC_3v3q8d_k$ = function () {
    return this.CONTENT_USAGE_BY_CLASS_DESC_1;
  };
  protoOf(Companion_109).get_CONTENT_COMPLETION_gzz3ez_k$ = function () {
    return this.CONTENT_COMPLETION_1;
  };
  protoOf(Companion_109).get_CONTENT_COMPLETION_DESC_1ulxl1_k$ = function () {
    return this.CONTENT_COMPLETION_DESC_1;
  };
  protoOf(Companion_109).get_FIXED_TEMPLATES_67vsvv_k$ = function () {
    return this.FIXED_TEMPLATES_1;
  };
  protoOf(Companion_109).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_106();
  };
  var Companion_instance_109;
  function Companion_getInstance_111() {
    if (Companion_instance_109 == null)
      new Companion_109();
    return Companion_instance_109;
  }
  function $serializer_106() {
    $serializer_instance_106 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Report', this, 24);
    tmp0_serialDesc.addElement_5pzumi_k$('reportUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportOwnerUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xAxis', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportDateRangeSelection', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fromDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fromRelTo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fromRelOffSet', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fromRelUnit', true);
    tmp0_serialDesc.addElement_5pzumi_k$('toDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('toRelTo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('toRelOffSet', true);
    tmp0_serialDesc.addElement_5pzumi_k$('toRelUnit', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportTitle', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportDescription', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportSeries', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportInactive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('isTemplate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('priority', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportTitleId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportDescId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_106).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_106).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_106).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = 0;
    var tmp11_local7 = 0;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = 0;
    var tmp16_local12 = null;
    var tmp17_local13 = null;
    var tmp18_local14 = null;
    var tmp19_local15 = false;
    var tmp20_local16 = false;
    var tmp21_local17 = 0;
    var tmp22_local18 = 0;
    var tmp23_local19 = 0;
    var tmp24_local20 = new Long(0, 0);
    var tmp25_local21 = new Long(0, 0);
    var tmp26_local22 = 0;
    var tmp27_local23 = new Long(0, 0);
    var tmp28_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp28_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp25_local21 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp26_local22 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp27_local23 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp28_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, StringSerializer_getInstance(), tmp16_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp28_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, StringSerializer_getInstance(), tmp18_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp28_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp25_local21 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp26_local22 = tmp28_input.decodeIntElement_941u6a_k$(tmp0_desc, 22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp27_local23 = tmp28_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp28_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Report_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, tmp25_local21, tmp26_local22, tmp27_local23, null);
  };
  protoOf($serializer_106).serialize_mggzyc_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.reportUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.reportUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.reportOwnerUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.reportOwnerUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.xAxis_1 === 300)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.xAxis_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.reportDateRangeSelection_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.reportDateRangeSelection_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.fromDate_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.fromDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.fromRelTo_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.fromRelTo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.fromRelOffSet_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 6, value.fromRelOffSet_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.fromRelUnit_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.fromRelUnit_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.toDate_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.toDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.toRelTo_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.toRelTo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.toRelOffSet_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 10, value.toRelOffSet_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.toRelUnit_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 11, value.toRelUnit_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.reportTitle_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 12, StringSerializer_getInstance(), value.reportTitle_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.reportDescription_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 13, StringSerializer_getInstance(), value.reportDescription_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.reportSeries_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 14, StringSerializer_getInstance(), value.reportSeries_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.reportInactive_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 15, value.reportInactive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.isTemplate_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 16, value.isTemplate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.priority_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 17, value.priority_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.reportTitleId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 18, value.reportTitleId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !(value.reportDescId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 19, value.reportDescId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !value.reportMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 20, value.reportMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.reportLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.reportLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !(value.reportLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 22, value.reportLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !value.reportLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 23, value.reportLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_106).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_mggzyc_k$(encoder, value instanceof Report ? value : THROW_CCE());
  };
  var $serializer_instance_106;
  function $serializer_getInstance_106() {
    if ($serializer_instance_106 == null)
      new $serializer_106();
    return $serializer_instance_106;
  }
  function Report_init_$Init$(seen1, reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_106().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.reportUid_1 = new Long(0, 0);
    else
      $this.reportUid_1 = reportUid;
    if (0 === (seen1 & 2))
      $this.reportOwnerUid_1 = new Long(0, 0);
    else
      $this.reportOwnerUid_1 = reportOwnerUid;
    if (0 === (seen1 & 4))
      $this.xAxis_1 = 300;
    else
      $this.xAxis_1 = xAxis;
    if (0 === (seen1 & 8))
      $this.reportDateRangeSelection_1 = 0;
    else
      $this.reportDateRangeSelection_1 = reportDateRangeSelection;
    if (0 === (seen1 & 16))
      $this.fromDate_1 = new Long(0, 0);
    else
      $this.fromDate_1 = fromDate;
    if (0 === (seen1 & 32))
      $this.fromRelTo_1 = 0;
    else
      $this.fromRelTo_1 = fromRelTo;
    if (0 === (seen1 & 64))
      $this.fromRelOffSet_1 = 0;
    else
      $this.fromRelOffSet_1 = fromRelOffSet;
    if (0 === (seen1 & 128))
      $this.fromRelUnit_1 = 0;
    else
      $this.fromRelUnit_1 = fromRelUnit;
    if (0 === (seen1 & 256))
      $this.toDate_1 = new Long(0, 0);
    else
      $this.toDate_1 = toDate;
    if (0 === (seen1 & 512))
      $this.toRelTo_1 = 0;
    else
      $this.toRelTo_1 = toRelTo;
    if (0 === (seen1 & 1024))
      $this.toRelOffSet_1 = 0;
    else
      $this.toRelOffSet_1 = toRelOffSet;
    if (0 === (seen1 & 2048))
      $this.toRelUnit_1 = 0;
    else
      $this.toRelUnit_1 = toRelUnit;
    if (0 === (seen1 & 4096))
      $this.reportTitle_1 = null;
    else
      $this.reportTitle_1 = reportTitle;
    if (0 === (seen1 & 8192))
      $this.reportDescription_1 = null;
    else
      $this.reportDescription_1 = reportDescription;
    if (0 === (seen1 & 16384))
      $this.reportSeries_1 = null;
    else
      $this.reportSeries_1 = reportSeries;
    if (0 === (seen1 & 32768))
      $this.reportInactive_1 = false;
    else
      $this.reportInactive_1 = reportInactive;
    if (0 === (seen1 & 65536))
      $this.isTemplate_1 = false;
    else
      $this.isTemplate_1 = isTemplate;
    if (0 === (seen1 & 131072))
      $this.priority_1 = 1;
    else
      $this.priority_1 = priority;
    if (0 === (seen1 & 262144))
      $this.reportTitleId_1 = 0;
    else
      $this.reportTitleId_1 = reportTitleId;
    if (0 === (seen1 & 524288))
      $this.reportDescId_1 = 0;
    else
      $this.reportDescId_1 = reportDescId;
    if (0 === (seen1 & 1048576))
      $this.reportMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.reportMasterChangeSeqNum_1 = reportMasterChangeSeqNum;
    if (0 === (seen1 & 2097152))
      $this.reportLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.reportLocalChangeSeqNum_1 = reportLocalChangeSeqNum;
    if (0 === (seen1 & 4194304))
      $this.reportLastChangedBy_1 = 0;
    else
      $this.reportLastChangedBy_1 = reportLastChangedBy;
    if (0 === (seen1 & 8388608))
      $this.reportLct_1 = new Long(0, 0);
    else
      $this.reportLct_1 = reportLct;
    return $this;
  }
  function Report_init_$Create$(seen1, reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct, serializationConstructorMarker) {
    return Report_init_$Init$(seen1, reportUid, reportOwnerUid, xAxis, reportDateRangeSelection, fromDate, fromRelTo, fromRelOffSet, fromRelUnit, toDate, toRelTo, toRelOffSet, toRelUnit, reportTitle, reportDescription, reportSeries, reportInactive, isTemplate, priority, reportTitleId, reportDescId, reportMasterChangeSeqNum, reportLocalChangeSeqNum, reportLastChangedBy, reportLct, serializationConstructorMarker, objectCreate(protoOf(Report)));
  }
  function Report() {
    Companion_getInstance_111();
    this.reportUid_1 = new Long(0, 0);
    this.reportOwnerUid_1 = new Long(0, 0);
    this.xAxis_1 = 300;
    this.reportDateRangeSelection_1 = 0;
    this.fromDate_1 = new Long(0, 0);
    this.fromRelTo_1 = 0;
    this.fromRelOffSet_1 = 0;
    this.fromRelUnit_1 = 0;
    this.toDate_1 = new Long(0, 0);
    this.toRelTo_1 = 0;
    this.toRelOffSet_1 = 0;
    this.toRelUnit_1 = 0;
    this.reportTitle_1 = null;
    this.reportDescription_1 = null;
    this.reportSeries_1 = null;
    this.reportInactive_1 = false;
    this.isTemplate_1 = false;
    this.priority_1 = 1;
    this.reportTitleId_1 = 0;
    this.reportDescId_1 = 0;
    this.reportMasterChangeSeqNum_1 = new Long(0, 0);
    this.reportLocalChangeSeqNum_1 = new Long(0, 0);
    this.reportLastChangedBy_1 = 0;
    this.reportLct_1 = new Long(0, 0);
  }
  protoOf(Report).set_reportUid_v40hcx_k$ = function (_set____db54di) {
    this.reportUid_1 = _set____db54di;
  };
  protoOf(Report).get_reportUid_2o5j9v_k$ = function () {
    return this.reportUid_1;
  };
  protoOf(Report).set_reportOwnerUid_5lu26o_k$ = function (_set____db54di) {
    this.reportOwnerUid_1 = _set____db54di;
  };
  protoOf(Report).get_reportOwnerUid_vpf0my_k$ = function () {
    return this.reportOwnerUid_1;
  };
  protoOf(Report).set_xAxis_nibp4c_k$ = function (_set____db54di) {
    this.xAxis_1 = _set____db54di;
  };
  protoOf(Report).get_xAxis_j0ksnk_k$ = function () {
    return this.xAxis_1;
  };
  protoOf(Report).set_reportDateRangeSelection_u736e2_k$ = function (_set____db54di) {
    this.reportDateRangeSelection_1 = _set____db54di;
  };
  protoOf(Report).get_reportDateRangeSelection_q0xni2_k$ = function () {
    return this.reportDateRangeSelection_1;
  };
  protoOf(Report).set_fromDate_ez222f_k$ = function (_set____db54di) {
    this.fromDate_1 = _set____db54di;
  };
  protoOf(Report).get_fromDate_imuiwx_k$ = function () {
    return this.fromDate_1;
  };
  protoOf(Report).set_fromRelTo_kfyk11_k$ = function (_set____db54di) {
    this.fromRelTo_1 = _set____db54di;
  };
  protoOf(Report).get_fromRelTo_9n5cjl_k$ = function () {
    return this.fromRelTo_1;
  };
  protoOf(Report).set_fromRelOffSet_1vmb4t_k$ = function (_set____db54di) {
    this.fromRelOffSet_1 = _set____db54di;
  };
  protoOf(Report).get_fromRelOffSet_p7lneh_k$ = function () {
    return this.fromRelOffSet_1;
  };
  protoOf(Report).set_fromRelUnit_rap3le_k$ = function (_set____db54di) {
    this.fromRelUnit_1 = _set____db54di;
  };
  protoOf(Report).get_fromRelUnit_wx5etm_k$ = function () {
    return this.fromRelUnit_1;
  };
  protoOf(Report).set_toDate_o6azdk_k$ = function (_set____db54di) {
    this.toDate_1 = _set____db54di;
  };
  protoOf(Report).get_toDate_k16x1u_k$ = function () {
    return this.toDate_1;
  };
  protoOf(Report).set_toRelTo_xiprxo_k$ = function (_set____db54di) {
    this.toRelTo_1 = _set____db54di;
  };
  protoOf(Report).get_toRelTo_i1aj74_k$ = function () {
    return this.toRelTo_1;
  };
  protoOf(Report).set_toRelOffSet_s22gqc_k$ = function (_set____db54di) {
    this.toRelOffSet_1 = _set____db54di;
  };
  protoOf(Report).get_toRelOffSet_59brjs_k$ = function () {
    return this.toRelOffSet_1;
  };
  protoOf(Report).set_toRelUnit_xe0ern_k$ = function (_set____db54di) {
    this.toRelUnit_1 = _set____db54di;
  };
  protoOf(Report).get_toRelUnit_yoe07_k$ = function () {
    return this.toRelUnit_1;
  };
  protoOf(Report).set_reportTitle_gldsuo_k$ = function (_set____db54di) {
    this.reportTitle_1 = _set____db54di;
  };
  protoOf(Report).get_reportTitle_9n6523_k$ = function () {
    return this.reportTitle_1;
  };
  protoOf(Report).set_reportDescription_mei6r8_k$ = function (_set____db54di) {
    this.reportDescription_1 = _set____db54di;
  };
  protoOf(Report).get_reportDescription_v88e4f_k$ = function () {
    return this.reportDescription_1;
  };
  protoOf(Report).set_reportSeries_xqg1jj_k$ = function (_set____db54di) {
    this.reportSeries_1 = _set____db54di;
  };
  protoOf(Report).get_reportSeries_eak00k_k$ = function () {
    return this.reportSeries_1;
  };
  protoOf(Report).set_reportInactive_mlxxwn_k$ = function (_set____db54di) {
    this.reportInactive_1 = _set____db54di;
  };
  protoOf(Report).get_reportInactive_4lwuyw_k$ = function () {
    return this.reportInactive_1;
  };
  protoOf(Report).set_isTemplate_l0ypf8_k$ = function (_set____db54di) {
    this.isTemplate_1 = _set____db54di;
  };
  protoOf(Report).get_isTemplate_fvr425_k$ = function () {
    return this.isTemplate_1;
  };
  protoOf(Report).set_priority_9imq2v_k$ = function (_set____db54di) {
    this.priority_1 = _set____db54di;
  };
  protoOf(Report).get_priority_jyafsd_k$ = function () {
    return this.priority_1;
  };
  protoOf(Report).set_reportTitleId_w24mg6_k$ = function (_set____db54di) {
    this.reportTitleId_1 = _set____db54di;
  };
  protoOf(Report).get_reportTitleId_xi9xna_k$ = function () {
    return this.reportTitleId_1;
  };
  protoOf(Report).set_reportDescId_2q0q4r_k$ = function (_set____db54di) {
    this.reportDescId_1 = _set____db54di;
  };
  protoOf(Report).get_reportDescId_76w5yh_k$ = function () {
    return this.reportDescId_1;
  };
  protoOf(Report).set_reportMasterChangeSeqNum_yift90_k$ = function (_set____db54di) {
    this.reportMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Report).get_reportMasterChangeSeqNum_r3dn1m_k$ = function () {
    return this.reportMasterChangeSeqNum_1;
  };
  protoOf(Report).set_reportLocalChangeSeqNum_vd9my5_k$ = function (_set____db54di) {
    this.reportLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Report).get_reportLocalChangeSeqNum_pij8e3_k$ = function () {
    return this.reportLocalChangeSeqNum_1;
  };
  protoOf(Report).set_reportLastChangedBy_lciz9g_k$ = function (_set____db54di) {
    this.reportLastChangedBy_1 = _set____db54di;
  };
  protoOf(Report).get_reportLastChangedBy_kq23nc_k$ = function () {
    return this.reportLastChangedBy_1;
  };
  protoOf(Report).set_reportLct_mqppe6_k$ = function (_set____db54di) {
    this.reportLct_1 = _set____db54di;
  };
  protoOf(Report).get_reportLct_2o5cgw_k$ = function () {
    return this.reportLct_1;
  };
  protoOf(Report).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Report))
      THROW_CCE();
    if (!this.reportUid_1.equals(other.reportUid_1))
      return false;
    if (!this.reportOwnerUid_1.equals(other.reportOwnerUid_1))
      return false;
    if (!(this.xAxis_1 === other.xAxis_1))
      return false;
    if (!this.fromDate_1.equals(other.fromDate_1))
      return false;
    if (!(this.fromRelTo_1 === other.fromRelTo_1))
      return false;
    if (!(this.fromRelOffSet_1 === other.fromRelOffSet_1))
      return false;
    if (!(this.fromRelUnit_1 === other.fromRelUnit_1))
      return false;
    if (!this.toDate_1.equals(other.toDate_1))
      return false;
    if (!(this.toRelTo_1 === other.toRelTo_1))
      return false;
    if (!(this.toRelOffSet_1 === other.toRelOffSet_1))
      return false;
    if (!(this.toRelUnit_1 === other.toRelUnit_1))
      return false;
    if (!(this.reportTitle_1 == other.reportTitle_1))
      return false;
    if (!(this.reportDescription_1 == other.reportDescription_1))
      return false;
    if (!(this.reportSeries_1 == other.reportSeries_1))
      return false;
    if (!(this.reportInactive_1 === other.reportInactive_1))
      return false;
    if (!(this.isTemplate_1 === other.isTemplate_1))
      return false;
    if (!(this.priority_1 === other.priority_1))
      return false;
    if (!this.reportMasterChangeSeqNum_1.equals(other.reportMasterChangeSeqNum_1))
      return false;
    if (!this.reportLocalChangeSeqNum_1.equals(other.reportLocalChangeSeqNum_1))
      return false;
    if (!(this.reportLastChangedBy_1 === other.reportLastChangedBy_1))
      return false;
    return true;
  };
  protoOf(Report).hashCode = function () {
    var result = this.reportUid_1.hashCode();
    result = imul(31, result) + this.reportOwnerUid_1.hashCode() | 0;
    result = imul(31, result) + this.xAxis_1 | 0;
    result = imul(31, result) + this.fromDate_1.hashCode() | 0;
    result = imul(31, result) + this.fromRelTo_1 | 0;
    result = imul(31, result) + this.fromRelOffSet_1 | 0;
    result = imul(31, result) + this.fromRelUnit_1 | 0;
    result = imul(31, result) + this.toDate_1.hashCode() | 0;
    result = imul(31, result) + this.toRelTo_1 | 0;
    result = imul(31, result) + this.toRelOffSet_1 | 0;
    result = imul(31, result) + this.toRelUnit_1 | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.reportTitle_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.reportDescription_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.reportSeries_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    result = imul(31, result) + getBooleanHashCode(this.reportInactive_1) | 0;
    result = imul(31, result) + getBooleanHashCode(this.isTemplate_1) | 0;
    result = imul(31, result) + this.priority_1 | 0;
    result = imul(31, result) + this.reportMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.reportLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.reportLastChangedBy_1 | 0;
    return result;
  };
  function Companion_110() {
    Companion_instance_110 = this;
    this.FIELD_PERSON_GENDER_1 = 100;
    this.FIELD_PERSON_AGE_1 = 101;
    this.FIELD_CONTENT_COMPLETION_1 = 102;
    this.FIELD_CONTENT_ENTRY_1 = 103;
    this.FIELD_CONTENT_PROGRESS_1 = 104;
    this.FIELD_ATTENDANCE_PERCENTAGE_1 = 105;
    this.FIELD_CLAZZ_ENROLMENT_OUTCOME_1 = 106;
    this.FIELD_CLAZZ_ENROLMENT_LEAVING_REASON_1 = 107;
    this.CONDITION_IS_1 = 200;
    this.CONDITION_IS_NOT_1 = 201;
    this.CONDITION_GREATER_THAN_1 = 202;
    this.CONDITION_LESS_THAN_1 = 203;
    this.CONDITION_BETWEEN_1 = 205;
    this.CONDITION_IN_LIST_1 = 206;
    this.CONDITION_NOT_IN_LIST_1 = 207;
  }
  protoOf(Companion_110).get_FIELD_PERSON_GENDER_le4esd_k$ = function () {
    return this.FIELD_PERSON_GENDER_1;
  };
  protoOf(Companion_110).get_FIELD_PERSON_AGE_76on25_k$ = function () {
    return this.FIELD_PERSON_AGE_1;
  };
  protoOf(Companion_110).get_FIELD_CONTENT_COMPLETION_ca9osw_k$ = function () {
    return this.FIELD_CONTENT_COMPLETION_1;
  };
  protoOf(Companion_110).get_FIELD_CONTENT_ENTRY_f49fq6_k$ = function () {
    return this.FIELD_CONTENT_ENTRY_1;
  };
  protoOf(Companion_110).get_FIELD_CONTENT_PROGRESS_34kppd_k$ = function () {
    return this.FIELD_CONTENT_PROGRESS_1;
  };
  protoOf(Companion_110).get_FIELD_ATTENDANCE_PERCENTAGE_y3zrtu_k$ = function () {
    return this.FIELD_ATTENDANCE_PERCENTAGE_1;
  };
  protoOf(Companion_110).get_FIELD_CLAZZ_ENROLMENT_OUTCOME_nsqo7y_k$ = function () {
    return this.FIELD_CLAZZ_ENROLMENT_OUTCOME_1;
  };
  protoOf(Companion_110).get_FIELD_CLAZZ_ENROLMENT_LEAVING_REASON_jc6t9b_k$ = function () {
    return this.FIELD_CLAZZ_ENROLMENT_LEAVING_REASON_1;
  };
  protoOf(Companion_110).get_CONDITION_IS_mz7l13_k$ = function () {
    return this.CONDITION_IS_1;
  };
  protoOf(Companion_110).get_CONDITION_IS_NOT_xc2no5_k$ = function () {
    return this.CONDITION_IS_NOT_1;
  };
  protoOf(Companion_110).get_CONDITION_GREATER_THAN_3dhayb_k$ = function () {
    return this.CONDITION_GREATER_THAN_1;
  };
  protoOf(Companion_110).get_CONDITION_LESS_THAN_w9xwii_k$ = function () {
    return this.CONDITION_LESS_THAN_1;
  };
  protoOf(Companion_110).get_CONDITION_BETWEEN_6fsemd_k$ = function () {
    return this.CONDITION_BETWEEN_1;
  };
  protoOf(Companion_110).get_CONDITION_IN_LIST_tp4xhn_k$ = function () {
    return this.CONDITION_IN_LIST_1;
  };
  protoOf(Companion_110).get_CONDITION_NOT_IN_LIST_hljj3z_k$ = function () {
    return this.CONDITION_NOT_IN_LIST_1;
  };
  protoOf(Companion_110).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_107();
  };
  var Companion_instance_110;
  function Companion_getInstance_112() {
    if (Companion_instance_110 == null)
      new Companion_110();
    return Companion_instance_110;
  }
  function $serializer_107() {
    $serializer_instance_107 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ReportFilter', this, 8);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterSeriesUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterField', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterCondition', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterValue', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterDropDownValue', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterValueBetweenX', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportFilterValueBetweenY', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_107).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_107).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_107).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = 0;
    var tmp8_local4 = null;
    var tmp9_local5 = 0;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp12_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp12_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp12_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp12_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp12_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ReportFilter_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, null);
  };
  protoOf($serializer_107).serialize_1mwecs_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.reportFilterUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.reportFilterUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.reportFilterSeriesUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.reportFilterSeriesUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.reportFilterField_1 === 100)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.reportFilterField_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.reportFilterCondition_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.reportFilterCondition_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.reportFilterValue_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.reportFilterValue_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.reportFilterDropDownValue_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.reportFilterDropDownValue_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.reportFilterValueBetweenX_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.reportFilterValueBetweenX_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.reportFilterValueBetweenY_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 7, StringSerializer_getInstance(), value.reportFilterValueBetweenY_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_107).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_1mwecs_k$(encoder, value instanceof ReportFilter ? value : THROW_CCE());
  };
  var $serializer_instance_107;
  function $serializer_getInstance_107() {
    if ($serializer_instance_107 == null)
      new $serializer_107();
    return $serializer_instance_107;
  }
  function ReportFilter_init_$Init$(seen1, reportFilterUid, reportFilterSeriesUid, reportFilterField, reportFilterCondition, reportFilterValue, reportFilterDropDownValue, reportFilterValueBetweenX, reportFilterValueBetweenY, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_107().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.reportFilterUid_1 = 0;
    else
      $this.reportFilterUid_1 = reportFilterUid;
    if (0 === (seen1 & 2))
      $this.reportFilterSeriesUid_1 = 0;
    else
      $this.reportFilterSeriesUid_1 = reportFilterSeriesUid;
    if (0 === (seen1 & 4))
      $this.reportFilterField_1 = 100;
    else
      $this.reportFilterField_1 = reportFilterField;
    if (0 === (seen1 & 8))
      $this.reportFilterCondition_1 = 0;
    else
      $this.reportFilterCondition_1 = reportFilterCondition;
    if (0 === (seen1 & 16))
      $this.reportFilterValue_1 = null;
    else
      $this.reportFilterValue_1 = reportFilterValue;
    if (0 === (seen1 & 32))
      $this.reportFilterDropDownValue_1 = 0;
    else
      $this.reportFilterDropDownValue_1 = reportFilterDropDownValue;
    if (0 === (seen1 & 64))
      $this.reportFilterValueBetweenX_1 = null;
    else
      $this.reportFilterValueBetweenX_1 = reportFilterValueBetweenX;
    if (0 === (seen1 & 128))
      $this.reportFilterValueBetweenY_1 = null;
    else
      $this.reportFilterValueBetweenY_1 = reportFilterValueBetweenY;
    return $this;
  }
  function ReportFilter_init_$Create$(seen1, reportFilterUid, reportFilterSeriesUid, reportFilterField, reportFilterCondition, reportFilterValue, reportFilterDropDownValue, reportFilterValueBetweenX, reportFilterValueBetweenY, serializationConstructorMarker) {
    return ReportFilter_init_$Init$(seen1, reportFilterUid, reportFilterSeriesUid, reportFilterField, reportFilterCondition, reportFilterValue, reportFilterDropDownValue, reportFilterValueBetweenX, reportFilterValueBetweenY, serializationConstructorMarker, objectCreate(protoOf(ReportFilter)));
  }
  function ReportFilter() {
    Companion_getInstance_112();
    this.reportFilterUid_1 = 0;
    this.reportFilterSeriesUid_1 = 0;
    this.reportFilterField_1 = 100;
    this.reportFilterCondition_1 = 0;
    this.reportFilterValue_1 = null;
    this.reportFilterDropDownValue_1 = 0;
    this.reportFilterValueBetweenX_1 = null;
    this.reportFilterValueBetweenY_1 = null;
  }
  protoOf(ReportFilter).set_reportFilterUid_l7go0x_k$ = function (_set____db54di) {
    this.reportFilterUid_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterUid_qewzyd_k$ = function () {
    return this.reportFilterUid_1;
  };
  protoOf(ReportFilter).set_reportFilterSeriesUid_efzyh4_k$ = function (_set____db54di) {
    this.reportFilterSeriesUid_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterSeriesUid_nmwjss_k$ = function () {
    return this.reportFilterSeriesUid_1;
  };
  protoOf(ReportFilter).set_reportFilterField_eyrypj_k$ = function (_set____db54di) {
    this.reportFilterField_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterField_qdx0kb_k$ = function () {
    return this.reportFilterField_1;
  };
  protoOf(ReportFilter).set_reportFilterCondition_ag70ay_k$ = function (_set____db54di) {
    this.reportFilterCondition_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterCondition_sgl0u2_k$ = function () {
    return this.reportFilterCondition_1;
  };
  protoOf(ReportFilter).set_reportFilterValue_4g1rsf_k$ = function (_set____db54di) {
    this.reportFilterValue_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterValue_q599k4_k$ = function () {
    return this.reportFilterValue_1;
  };
  protoOf(ReportFilter).set_reportFilterDropDownValue_ts7jtb_k$ = function (_set____db54di) {
    this.reportFilterDropDownValue_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterDropDownValue_3q1g2z_k$ = function () {
    return this.reportFilterDropDownValue_1;
  };
  protoOf(ReportFilter).set_reportFilterValueBetweenX_ofjt6n_k$ = function (_set____db54di) {
    this.reportFilterValueBetweenX_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterValueBetweenX_y7kuus_k$ = function () {
    return this.reportFilterValueBetweenX_1;
  };
  protoOf(ReportFilter).set_reportFilterValueBetweenY_qllzia_k$ = function (_set____db54di) {
    this.reportFilterValueBetweenY_1 = _set____db54di;
  };
  protoOf(ReportFilter).get_reportFilterValueBetweenY_y7kuur_k$ = function () {
    return this.reportFilterValueBetweenY_1;
  };
  protoOf(ReportFilter).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ReportFilter))
      THROW_CCE();
    if (!(this.reportFilterUid_1 === other.reportFilterUid_1))
      return false;
    if (!(this.reportFilterSeriesUid_1 === other.reportFilterSeriesUid_1))
      return false;
    if (!(this.reportFilterField_1 === other.reportFilterField_1))
      return false;
    if (!(this.reportFilterCondition_1 === other.reportFilterCondition_1))
      return false;
    if (!(this.reportFilterValue_1 == other.reportFilterValue_1))
      return false;
    if (!(this.reportFilterDropDownValue_1 === other.reportFilterDropDownValue_1))
      return false;
    if (!(this.reportFilterValueBetweenX_1 == other.reportFilterValueBetweenX_1))
      return false;
    if (!(this.reportFilterValueBetweenY_1 == other.reportFilterValueBetweenY_1))
      return false;
    return true;
  };
  protoOf(ReportFilter).hashCode = function () {
    var result = this.reportFilterUid_1;
    result = imul(31, result) + this.reportFilterSeriesUid_1 | 0;
    result = imul(31, result) + this.reportFilterField_1 | 0;
    result = imul(31, result) + this.reportFilterCondition_1 | 0;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.reportFilterValue_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    result = imul(31, result) + this.reportFilterDropDownValue_1 | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.reportFilterValueBetweenX_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : getStringHashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    var tmp_1 = imul(31, result);
    var tmp4_safe_receiver = this.reportFilterValueBetweenY_1;
    var tmp5_elvis_lhs = tmp4_safe_receiver == null ? null : getStringHashCode(tmp4_safe_receiver);
    result = tmp_1 + (tmp5_elvis_lhs == null ? 0 : tmp5_elvis_lhs) | 0;
    return result;
  };
  function _get_$childSerializers__r2zwns_3($this) {
    return $this.$childSerializers_1;
  }
  function Companion_111() {
    Companion_instance_111 = this;
    var tmp = this;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    tmp.$childSerializers_1 = [null, null, null, null, null, new ArrayListSerializer($serializer_getInstance_107())];
    this.BAR_CHART_1 = 100;
    this.LINE_GRAPH_1 = 101;
    this.STATEMENT_QUERY_1 = 100;
    this.ATTENDANCE_QUERY_1 = 101;
    this.TOTAL_DURATION_1 = 200;
    this.AVERAGE_DURATION_1 = 201;
    this.NUMBER_SESSIONS_1 = 202;
    this.INTERACTIONS_RECORDED_1 = 203;
    this.NUMBER_ACTIVE_USERS_1 = 204;
    this.AVERAGE_USAGE_TIME_PER_USER_1 = 205;
    this.NUMBER_OF_STUDENTS_COMPLETED_CONTENT_1 = 206;
    this.PERCENT_OF_STUDENTS_COMPLETED_CONTENT_1 = 207;
    this.TOTAL_ATTENDANCE_1 = 208;
    this.TOTAL_ABSENCES_1 = 209;
    this.TOTAL_LATES_1 = 210;
    this.PERCENTAGE_STUDENTS_ATTENDED_1 = 211;
    this.PERCENTAGE_STUDENTS_ATTENDED_OR_LATE_1 = 212;
    this.TOTAL_CLASSES_1 = 213;
    this.NUMBER_UNIQUE_STUDENTS_ATTENDING_1 = 214;
    this.NONE_1 = 0;
  }
  protoOf(Companion_111).get_BAR_CHART_m8w98p_k$ = function () {
    return this.BAR_CHART_1;
  };
  protoOf(Companion_111).get_LINE_GRAPH_5e70rw_k$ = function () {
    return this.LINE_GRAPH_1;
  };
  protoOf(Companion_111).get_STATEMENT_QUERY_8izjdb_k$ = function () {
    return this.STATEMENT_QUERY_1;
  };
  protoOf(Companion_111).get_ATTENDANCE_QUERY_m0aixx_k$ = function () {
    return this.ATTENDANCE_QUERY_1;
  };
  protoOf(Companion_111).get_TOTAL_DURATION_fu8nmw_k$ = function () {
    return this.TOTAL_DURATION_1;
  };
  protoOf(Companion_111).get_AVERAGE_DURATION_6hnogx_k$ = function () {
    return this.AVERAGE_DURATION_1;
  };
  protoOf(Companion_111).get_NUMBER_SESSIONS_uu1n9y_k$ = function () {
    return this.NUMBER_SESSIONS_1;
  };
  protoOf(Companion_111).get_INTERACTIONS_RECORDED_z8v4v9_k$ = function () {
    return this.INTERACTIONS_RECORDED_1;
  };
  protoOf(Companion_111).get_NUMBER_ACTIVE_USERS_csyv5o_k$ = function () {
    return this.NUMBER_ACTIVE_USERS_1;
  };
  protoOf(Companion_111).get_AVERAGE_USAGE_TIME_PER_USER_jo35ee_k$ = function () {
    return this.AVERAGE_USAGE_TIME_PER_USER_1;
  };
  protoOf(Companion_111).get_NUMBER_OF_STUDENTS_COMPLETED_CONTENT_1fenaf_k$ = function () {
    return this.NUMBER_OF_STUDENTS_COMPLETED_CONTENT_1;
  };
  protoOf(Companion_111).get_PERCENT_OF_STUDENTS_COMPLETED_CONTENT_j0pg5f_k$ = function () {
    return this.PERCENT_OF_STUDENTS_COMPLETED_CONTENT_1;
  };
  protoOf(Companion_111).get_TOTAL_ATTENDANCE_amiwk3_k$ = function () {
    return this.TOTAL_ATTENDANCE_1;
  };
  protoOf(Companion_111).get_TOTAL_ABSENCES_phyd0m_k$ = function () {
    return this.TOTAL_ABSENCES_1;
  };
  protoOf(Companion_111).get_TOTAL_LATES_czq1nb_k$ = function () {
    return this.TOTAL_LATES_1;
  };
  protoOf(Companion_111).get_PERCENTAGE_STUDENTS_ATTENDED_5l9rok_k$ = function () {
    return this.PERCENTAGE_STUDENTS_ATTENDED_1;
  };
  protoOf(Companion_111).get_PERCENTAGE_STUDENTS_ATTENDED_OR_LATE_g28ok9_k$ = function () {
    return this.PERCENTAGE_STUDENTS_ATTENDED_OR_LATE_1;
  };
  protoOf(Companion_111).get_TOTAL_CLASSES_uphz2a_k$ = function () {
    return this.TOTAL_CLASSES_1;
  };
  protoOf(Companion_111).get_NUMBER_UNIQUE_STUDENTS_ATTENDING_anlvge_k$ = function () {
    return this.NUMBER_UNIQUE_STUDENTS_ATTENDING_1;
  };
  protoOf(Companion_111).get_NONE_wo64xt_k$ = function () {
    return this.NONE_1;
  };
  protoOf(Companion_111).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_108();
  };
  var Companion_instance_111;
  function Companion_getInstance_113() {
    if (Companion_instance_111 == null)
      new Companion_111();
    return Companion_instance_111;
  }
  function $serializer_108() {
    $serializer_instance_108 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ReportSeries', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('reportSeriesUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportSeriesName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportSeriesYAxis', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportSeriesVisualType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportSeriesSubGroup', true);
    tmp0_serialDesc.addElement_5pzumi_k$('reportSeriesFilters', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_108).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_108).childSerializers_5ghqw5_k$ = function () {
    var tmp0_cached = Companion_getInstance_113().$childSerializers_1;
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(tmp0_cached[5])];
  };
  protoOf($serializer_108).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = null;
    var tmp6_local2 = 0;
    var tmp7_local3 = 0;
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp11_cached = Companion_getInstance_113().$childSerializers_1;
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, tmp11_cached[5], tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, tmp11_cached[5], tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ReportSeries_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_108).serialize_m7l5tf_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    var tmp2_cached = Companion_getInstance_113().$childSerializers_1;
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.reportSeriesUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.reportSeriesUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.reportSeriesName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.reportSeriesName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.reportSeriesYAxis_1 === 200)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.reportSeriesYAxis_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.reportSeriesVisualType_1 === 100)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.reportSeriesVisualType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.reportSeriesSubGroup_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.reportSeriesSubGroup_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.reportSeriesFilters_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, tmp2_cached[5], value.reportSeriesFilters_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_108).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_m7l5tf_k$(encoder, value instanceof ReportSeries ? value : THROW_CCE());
  };
  var $serializer_instance_108;
  function $serializer_getInstance_108() {
    if ($serializer_instance_108 == null)
      new $serializer_108();
    return $serializer_instance_108;
  }
  function ReportSeries_init_$Init$(seen1, reportSeriesUid, reportSeriesName, reportSeriesYAxis, reportSeriesVisualType, reportSeriesSubGroup, reportSeriesFilters, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_108().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.reportSeriesUid_1 = 0;
    else
      $this.reportSeriesUid_1 = reportSeriesUid;
    if (0 === (seen1 & 2))
      $this.reportSeriesName_1 = null;
    else
      $this.reportSeriesName_1 = reportSeriesName;
    if (0 === (seen1 & 4))
      $this.reportSeriesYAxis_1 = 200;
    else
      $this.reportSeriesYAxis_1 = reportSeriesYAxis;
    if (0 === (seen1 & 8))
      $this.reportSeriesVisualType_1 = 100;
    else
      $this.reportSeriesVisualType_1 = reportSeriesVisualType;
    if (0 === (seen1 & 16))
      $this.reportSeriesSubGroup_1 = 0;
    else
      $this.reportSeriesSubGroup_1 = reportSeriesSubGroup;
    if (0 === (seen1 & 32))
      $this.reportSeriesFilters_1 = null;
    else
      $this.reportSeriesFilters_1 = reportSeriesFilters;
    return $this;
  }
  function ReportSeries_init_$Create$(seen1, reportSeriesUid, reportSeriesName, reportSeriesYAxis, reportSeriesVisualType, reportSeriesSubGroup, reportSeriesFilters, serializationConstructorMarker) {
    return ReportSeries_init_$Init$(seen1, reportSeriesUid, reportSeriesName, reportSeriesYAxis, reportSeriesVisualType, reportSeriesSubGroup, reportSeriesFilters, serializationConstructorMarker, objectCreate(protoOf(ReportSeries)));
  }
  function ReportSeries() {
    Companion_getInstance_113();
    this.reportSeriesUid_1 = 0;
    this.reportSeriesName_1 = null;
    this.reportSeriesYAxis_1 = 200;
    this.reportSeriesVisualType_1 = 100;
    this.reportSeriesSubGroup_1 = 0;
    this.reportSeriesFilters_1 = null;
  }
  protoOf(ReportSeries).set_reportSeriesUid_ezb9pc_k$ = function (_set____db54di) {
    this.reportSeriesUid_1 = _set____db54di;
  };
  protoOf(ReportSeries).get_reportSeriesUid_l9acmc_k$ = function () {
    return this.reportSeriesUid_1;
  };
  protoOf(ReportSeries).set_reportSeriesName_w0tztw_k$ = function (_set____db54di) {
    this.reportSeriesName_1 = _set____db54di;
  };
  protoOf(ReportSeries).get_reportSeriesName_jq1001_k$ = function () {
    return this.reportSeriesName_1;
  };
  protoOf(ReportSeries).set_reportSeriesYAxis_4p5yra_k$ = function (_set____db54di) {
    this.reportSeriesYAxis_1 = _set____db54di;
  };
  protoOf(ReportSeries).get_reportSeriesYAxis_s0n11i_k$ = function () {
    return this.reportSeriesYAxis_1;
  };
  protoOf(ReportSeries).set_reportSeriesVisualType_7auk1y_k$ = function (_set____db54di) {
    this.reportSeriesVisualType_1 = _set____db54di;
  };
  protoOf(ReportSeries).get_reportSeriesVisualType_sbc4i6_k$ = function () {
    return this.reportSeriesVisualType_1;
  };
  protoOf(ReportSeries).set_reportSeriesSubGroup_8qjlzz_k$ = function (_set____db54di) {
    this.reportSeriesSubGroup_1 = _set____db54di;
  };
  protoOf(ReportSeries).get_reportSeriesSubGroup_4aur83_k$ = function () {
    return this.reportSeriesSubGroup_1;
  };
  protoOf(ReportSeries).set_reportSeriesFilters_oxk35b_k$ = function (_set____db54di) {
    this.reportSeriesFilters_1 = _set____db54di;
  };
  protoOf(ReportSeries).get_reportSeriesFilters_sdd007_k$ = function () {
    return this.reportSeriesFilters_1;
  };
  protoOf(ReportSeries).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof ReportSeries))
      THROW_CCE();
    if (!(this.reportSeriesUid_1 === other.reportSeriesUid_1))
      return false;
    if (!(this.reportSeriesName_1 == other.reportSeriesName_1))
      return false;
    if (!(this.reportSeriesYAxis_1 === other.reportSeriesYAxis_1))
      return false;
    if (!(this.reportSeriesVisualType_1 === other.reportSeriesVisualType_1))
      return false;
    if (!(this.reportSeriesSubGroup_1 === other.reportSeriesSubGroup_1))
      return false;
    if (!equals(this.reportSeriesFilters_1, other.reportSeriesFilters_1))
      return false;
    return true;
  };
  protoOf(ReportSeries).hashCode = function () {
    var result = this.reportSeriesUid_1;
    var tmp = imul(31, result);
    var tmp0_safe_receiver = this.reportSeriesName_1;
    var tmp1_elvis_lhs = tmp0_safe_receiver == null ? null : getStringHashCode(tmp0_safe_receiver);
    result = tmp + (tmp1_elvis_lhs == null ? 0 : tmp1_elvis_lhs) | 0;
    result = imul(31, result) + this.reportSeriesYAxis_1 | 0;
    result = imul(31, result) + this.reportSeriesVisualType_1 | 0;
    result = imul(31, result) + this.reportSeriesSubGroup_1 | 0;
    var tmp_0 = imul(31, result);
    var tmp2_safe_receiver = this.reportSeriesFilters_1;
    var tmp3_elvis_lhs = tmp2_safe_receiver == null ? null : hashCode(tmp2_safe_receiver);
    result = tmp_0 + (tmp3_elvis_lhs == null ? 0 : tmp3_elvis_lhs) | 0;
    return result;
  };
  function Companion_112() {
    Companion_instance_112 = this;
    this.TABLE_ID_1 = 21;
    this.SCHEDULE_FREQUENCY_DAILY_1 = 1;
    this.SCHEDULE_FREQUENCY_WEEKLY_1 = 2;
    this.SCHEDULE_FREQUENCY_ONCE_1 = 3;
    this.SCHEDULE_FREQUENCY_MONTHLY_1 = 4;
    this.SCHEDULE_FREQUENCY_YEARLY_1 = 5;
    this.DAY_MONDAY_1 = 1;
    this.DAY_TUESDAY_1 = 2;
    this.DAY_WEDNESDAY_1 = 3;
    this.DAY_THURSDAY_1 = 4;
    this.DAY_FRIDAY_1 = 5;
    this.DAY_SATURDAY_1 = 6;
    this.DAY_SUNDAY_1 = 7;
    this.MONTH_JANUARY_1 = 1;
    this.MONTH_FEBUARY_1 = 2;
    this.MONTH_MARCH_1 = 3;
    this.MONTH_APRIL_1 = 4;
    this.MONTH_MAY_1 = 5;
    this.MONTH_JUNE_1 = 6;
    this.MONTH_JULY_1 = 7;
    this.MONTH_AUGUST_1 = 8;
    this.MONTH_SEPTEMBER_1 = 9;
    this.MONTH_OCTOBER_1 = 10;
    this.MONTH_NOVEMBER_1 = 11;
    this.MONTH_DECEMBER_1 = 12;
  }
  protoOf(Companion_112).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_112).get_SCHEDULE_FREQUENCY_DAILY_m0a8x5_k$ = function () {
    return this.SCHEDULE_FREQUENCY_DAILY_1;
  };
  protoOf(Companion_112).get_SCHEDULE_FREQUENCY_WEEKLY_xwtrtp_k$ = function () {
    return this.SCHEDULE_FREQUENCY_WEEKLY_1;
  };
  protoOf(Companion_112).get_SCHEDULE_FREQUENCY_ONCE_2zuc2l_k$ = function () {
    return this.SCHEDULE_FREQUENCY_ONCE_1;
  };
  protoOf(Companion_112).get_SCHEDULE_FREQUENCY_MONTHLY_ecv5qj_k$ = function () {
    return this.SCHEDULE_FREQUENCY_MONTHLY_1;
  };
  protoOf(Companion_112).get_SCHEDULE_FREQUENCY_YEARLY_wysxsk_k$ = function () {
    return this.SCHEDULE_FREQUENCY_YEARLY_1;
  };
  protoOf(Companion_112).get_DAY_MONDAY_xmsl6s_k$ = function () {
    return this.DAY_MONDAY_1;
  };
  protoOf(Companion_112).get_DAY_TUESDAY_drsc1r_k$ = function () {
    return this.DAY_TUESDAY_1;
  };
  protoOf(Companion_112).get_DAY_WEDNESDAY_mmm4mu_k$ = function () {
    return this.DAY_WEDNESDAY_1;
  };
  protoOf(Companion_112).get_DAY_THURSDAY_t3w7ly_k$ = function () {
    return this.DAY_THURSDAY_1;
  };
  protoOf(Companion_112).get_DAY_FRIDAY_y4kavf_k$ = function () {
    return this.DAY_FRIDAY_1;
  };
  protoOf(Companion_112).get_DAY_SATURDAY_vut2mz_k$ = function () {
    return this.DAY_SATURDAY_1;
  };
  protoOf(Companion_112).get_DAY_SUNDAY_up839g_k$ = function () {
    return this.DAY_SUNDAY_1;
  };
  protoOf(Companion_112).get_MONTH_JANUARY_rnbb26_k$ = function () {
    return this.MONTH_JANUARY_1;
  };
  protoOf(Companion_112).get_MONTH_FEBUARY_dm7fiq_k$ = function () {
    return this.MONTH_FEBUARY_1;
  };
  protoOf(Companion_112).get_MONTH_MARCH_ayfdi3_k$ = function () {
    return this.MONTH_MARCH_1;
  };
  protoOf(Companion_112).get_MONTH_APRIL_as3fby_k$ = function () {
    return this.MONTH_APRIL_1;
  };
  protoOf(Companion_112).get_MONTH_MAY_x4hkcd_k$ = function () {
    return this.MONTH_MAY_1;
  };
  protoOf(Companion_112).get_MONTH_JUNE_wfi8ne_k$ = function () {
    return this.MONTH_JUNE_1;
  };
  protoOf(Companion_112).get_MONTH_JULY_wfi8m8_k$ = function () {
    return this.MONTH_JULY_1;
  };
  protoOf(Companion_112).get_MONTH_AUGUST_kw1vcl_k$ = function () {
    return this.MONTH_AUGUST_1;
  };
  protoOf(Companion_112).get_MONTH_SEPTEMBER_dgul61_k$ = function () {
    return this.MONTH_SEPTEMBER_1;
  };
  protoOf(Companion_112).get_MONTH_OCTOBER_o95r2g_k$ = function () {
    return this.MONTH_OCTOBER_1;
  };
  protoOf(Companion_112).get_MONTH_NOVEMBER_zhzdiy_k$ = function () {
    return this.MONTH_NOVEMBER_1;
  };
  protoOf(Companion_112).get_MONTH_DECEMBER_holb1p_k$ = function () {
    return this.MONTH_DECEMBER_1;
  };
  protoOf(Companion_112).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_109();
  };
  var Companion_instance_112;
  function Companion_getInstance_114() {
    if (Companion_instance_112 == null)
      new Companion_112();
    return Companion_instance_112;
  }
  function $serializer_109() {
    $serializer_instance_109 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Schedule', this, 13);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sceduleStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleEndTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleDay', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleMonth', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleFrequency', true);
    tmp0_serialDesc.addElement_5pzumi_k$('umCalendarUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleMasterChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleLocalChangeSeqNum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleLastChangedTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('scheduleActive', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_109).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_109).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_109).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = 0;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = 0;
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = false;
    var tmp17_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp17_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp17_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp17_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp17_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp17_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Schedule_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, null);
  };
  protoOf($serializer_109).serialize_a4e935_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.scheduleUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.scheduleUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.sceduleStartTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.sceduleStartTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.scheduleEndTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.scheduleEndTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.scheduleDay_1 === Companion_getInstance_114().DAY_MONDAY_1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.scheduleDay_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.scheduleMonth_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.scheduleMonth_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.scheduleFrequency_1 === Companion_getInstance_114().SCHEDULE_FREQUENCY_WEEKLY_1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.scheduleFrequency_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.umCalendarUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.umCalendarUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.scheduleClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.scheduleClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.scheduleMasterChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.scheduleMasterChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.scheduleLocalChangeSeqNum_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.scheduleLocalChangeSeqNum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.scheduleLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 10, value.scheduleLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.scheduleLastChangedTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.scheduleLastChangedTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.scheduleActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 12, value.scheduleActive_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_109).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_a4e935_k$(encoder, value instanceof Schedule ? value : THROW_CCE());
  };
  var $serializer_instance_109;
  function $serializer_getInstance_109() {
    if ($serializer_instance_109 == null)
      new $serializer_109();
    return $serializer_instance_109;
  }
  function Schedule_init_$Init$(seen1, scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_109().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.scheduleUid_1 = new Long(0, 0);
    else
      $this.scheduleUid_1 = scheduleUid;
    if (0 === (seen1 & 2))
      $this.sceduleStartTime_1 = new Long(0, 0);
    else
      $this.sceduleStartTime_1 = sceduleStartTime;
    if (0 === (seen1 & 4))
      $this.scheduleEndTime_1 = new Long(0, 0);
    else
      $this.scheduleEndTime_1 = scheduleEndTime;
    if (0 === (seen1 & 8))
      $this.scheduleDay_1 = Companion_getInstance_114().DAY_MONDAY_1;
    else
      $this.scheduleDay_1 = scheduleDay;
    if (0 === (seen1 & 16))
      $this.scheduleMonth_1 = 0;
    else
      $this.scheduleMonth_1 = scheduleMonth;
    if (0 === (seen1 & 32))
      $this.scheduleFrequency_1 = Companion_getInstance_114().SCHEDULE_FREQUENCY_WEEKLY_1;
    else
      $this.scheduleFrequency_1 = scheduleFrequency;
    if (0 === (seen1 & 64))
      $this.umCalendarUid_1 = new Long(0, 0);
    else
      $this.umCalendarUid_1 = umCalendarUid;
    if (0 === (seen1 & 128))
      $this.scheduleClazzUid_1 = new Long(0, 0);
    else
      $this.scheduleClazzUid_1 = scheduleClazzUid;
    if (0 === (seen1 & 256))
      $this.scheduleMasterChangeSeqNum_1 = new Long(0, 0);
    else
      $this.scheduleMasterChangeSeqNum_1 = scheduleMasterChangeSeqNum;
    if (0 === (seen1 & 512))
      $this.scheduleLocalChangeSeqNum_1 = new Long(0, 0);
    else
      $this.scheduleLocalChangeSeqNum_1 = scheduleLocalChangeSeqNum;
    if (0 === (seen1 & 1024))
      $this.scheduleLastChangedBy_1 = 0;
    else
      $this.scheduleLastChangedBy_1 = scheduleLastChangedBy;
    if (0 === (seen1 & 2048))
      $this.scheduleLastChangedTime_1 = new Long(0, 0);
    else
      $this.scheduleLastChangedTime_1 = scheduleLastChangedTime;
    if (0 === (seen1 & 4096))
      $this.scheduleActive_1 = true;
    else
      $this.scheduleActive_1 = scheduleActive;
    return $this;
  }
  function Schedule_init_$Create$(seen1, scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive, serializationConstructorMarker) {
    return Schedule_init_$Init$(seen1, scheduleUid, sceduleStartTime, scheduleEndTime, scheduleDay, scheduleMonth, scheduleFrequency, umCalendarUid, scheduleClazzUid, scheduleMasterChangeSeqNum, scheduleLocalChangeSeqNum, scheduleLastChangedBy, scheduleLastChangedTime, scheduleActive, serializationConstructorMarker, objectCreate(protoOf(Schedule)));
  }
  function Schedule() {
    Companion_getInstance_114();
    this.scheduleUid_1 = new Long(0, 0);
    this.sceduleStartTime_1 = new Long(0, 0);
    this.scheduleEndTime_1 = new Long(0, 0);
    this.scheduleDay_1 = Companion_getInstance_114().DAY_MONDAY_1;
    this.scheduleMonth_1 = 0;
    this.scheduleFrequency_1 = Companion_getInstance_114().SCHEDULE_FREQUENCY_WEEKLY_1;
    this.umCalendarUid_1 = new Long(0, 0);
    this.scheduleClazzUid_1 = new Long(0, 0);
    this.scheduleMasterChangeSeqNum_1 = new Long(0, 0);
    this.scheduleLocalChangeSeqNum_1 = new Long(0, 0);
    this.scheduleLastChangedBy_1 = 0;
    this.scheduleLastChangedTime_1 = new Long(0, 0);
    this.scheduleActive_1 = true;
  }
  protoOf(Schedule).set_scheduleUid_35xeta_k$ = function (_set____db54di) {
    this.scheduleUid_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleUid_gt0c7k_k$ = function () {
    return this.scheduleUid_1;
  };
  protoOf(Schedule).set_sceduleStartTime_81jqoh_k$ = function (_set____db54di) {
    this.sceduleStartTime_1 = _set____db54di;
  };
  protoOf(Schedule).get_sceduleStartTime_r41do9_k$ = function () {
    return this.sceduleStartTime_1;
  };
  protoOf(Schedule).set_scheduleEndTime_fh9x3e_k$ = function (_set____db54di) {
    this.scheduleEndTime_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleEndTime_vdt9o8_k$ = function () {
    return this.scheduleEndTime_1;
  };
  protoOf(Schedule).set_scheduleDay_nsvexs_k$ = function (_set____db54di) {
    this.scheduleDay_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleDay_gszzfg_k$ = function () {
    return this.scheduleDay_1;
  };
  protoOf(Schedule).set_scheduleMonth_p5ta0s_k$ = function (_set____db54di) {
    this.scheduleMonth_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleMonth_q978qo_k$ = function () {
    return this.scheduleMonth_1;
  };
  protoOf(Schedule).set_scheduleFrequency_w5icgw_k$ = function (_set____db54di) {
    this.scheduleFrequency_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleFrequency_bvvfg_k$ = function () {
    return this.scheduleFrequency_1;
  };
  protoOf(Schedule).set_umCalendarUid_gauo2p_k$ = function (_set____db54di) {
    this.umCalendarUid_1 = _set____db54di;
  };
  protoOf(Schedule).get_umCalendarUid_hurqun_k$ = function () {
    return this.umCalendarUid_1;
  };
  protoOf(Schedule).set_scheduleClazzUid_t953qm_k$ = function (_set____db54di) {
    this.scheduleClazzUid_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleClazzUid_4qhnq0_k$ = function () {
    return this.scheduleClazzUid_1;
  };
  protoOf(Schedule).set_scheduleMasterChangeSeqNum_rg3igf_k$ = function (_set____db54di) {
    this.scheduleMasterChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleMasterChangeSeqNum_eayz5z_k$ = function () {
    return this.scheduleMasterChangeSeqNum_1;
  };
  protoOf(Schedule).set_scheduleLocalChangeSeqNum_bvgkds_k$ = function (_set____db54di) {
    this.scheduleLocalChangeSeqNum_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleLocalChangeSeqNum_bk48hu_k$ = function () {
    return this.scheduleLocalChangeSeqNum_1;
  };
  protoOf(Schedule).set_scheduleLastChangedBy_31adzt_k$ = function (_set____db54di) {
    this.scheduleLastChangedBy_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleLastChangedBy_fgje7p_k$ = function () {
    return this.scheduleLastChangedBy_1;
  };
  protoOf(Schedule).set_scheduleLastChangedTime_2uryvb_k$ = function (_set____db54di) {
    this.scheduleLastChangedTime_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleLastChangedTime_b1i757_k$ = function () {
    return this.scheduleLastChangedTime_1;
  };
  protoOf(Schedule).set_scheduleActive_twdrtn_k$ = function (_set____db54di) {
    this.scheduleActive_1 = _set____db54di;
  };
  protoOf(Schedule).get_scheduleActive_qpyjk6_k$ = function () {
    return this.scheduleActive_1;
  };
  protoOf(Schedule).equals = function (other) {
    if (this === other)
      return true;
    if (other == null ? true : !getKClassFromExpression(this).equals(getKClassFromExpression(other)))
      return false;
    if (!(other instanceof Schedule))
      THROW_CCE();
    if (!this.scheduleUid_1.equals(other.scheduleUid_1))
      return false;
    if (!this.sceduleStartTime_1.equals(other.sceduleStartTime_1))
      return false;
    if (!this.scheduleEndTime_1.equals(other.scheduleEndTime_1))
      return false;
    if (!(this.scheduleDay_1 === other.scheduleDay_1))
      return false;
    if (!(this.scheduleMonth_1 === other.scheduleMonth_1))
      return false;
    if (!(this.scheduleFrequency_1 === other.scheduleFrequency_1))
      return false;
    if (!this.umCalendarUid_1.equals(other.umCalendarUid_1))
      return false;
    if (!this.scheduleClazzUid_1.equals(other.scheduleClazzUid_1))
      return false;
    if (!this.scheduleMasterChangeSeqNum_1.equals(other.scheduleMasterChangeSeqNum_1))
      return false;
    if (!this.scheduleLocalChangeSeqNum_1.equals(other.scheduleLocalChangeSeqNum_1))
      return false;
    if (!(this.scheduleLastChangedBy_1 === other.scheduleLastChangedBy_1))
      return false;
    if (!(this.scheduleActive_1 === other.scheduleActive_1))
      return false;
    return true;
  };
  protoOf(Schedule).hashCode = function () {
    var result = this.scheduleUid_1.hashCode();
    result = imul(31, result) + this.sceduleStartTime_1.hashCode() | 0;
    result = imul(31, result) + this.scheduleEndTime_1.hashCode() | 0;
    result = imul(31, result) + this.scheduleDay_1 | 0;
    result = imul(31, result) + this.scheduleMonth_1 | 0;
    result = imul(31, result) + this.scheduleFrequency_1 | 0;
    result = imul(31, result) + this.umCalendarUid_1.hashCode() | 0;
    result = imul(31, result) + this.scheduleClazzUid_1.hashCode() | 0;
    result = imul(31, result) + this.scheduleMasterChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.scheduleLocalChangeSeqNum_1.hashCode() | 0;
    result = imul(31, result) + this.scheduleLastChangedBy_1 | 0;
    result = imul(31, result) + getBooleanHashCode(this.scheduleActive_1) | 0;
    return result;
  };
  function Companion_113() {
    Companion_instance_113 = this;
    this.TABLE_ID_1 = 48;
    this.ALL_TABLES_1 = -2;
    this.ALL_ENTITIES_1 = new Long(-2, -1);
  }
  protoOf(Companion_113).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_113).get_ALL_TABLES_dzlswk_k$ = function () {
    return this.ALL_TABLES_1;
  };
  protoOf(Companion_113).get_ALL_ENTITIES_wfxtl4_k$ = function () {
    return this.ALL_ENTITIES_1;
  };
  protoOf(Companion_113).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_110();
  };
  var Companion_instance_113;
  function Companion_getInstance_115() {
    if (Companion_instance_113 == null)
      new Companion_113();
    return Companion_instance_113;
  }
  function $serializer_110() {
    $serializer_instance_110 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.ScopedGrant', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('sgUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgPcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgLcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgLcb', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgTableId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgEntityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgPermissions', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgIndex', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sgFlags', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_110).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_110).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_110).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ScopedGrant_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_110).serialize_cmq3mq_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.sgUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.sgUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.sgPcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.sgPcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.sgLcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.sgLcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.sgLcb_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.sgLcb_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.sgLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.sgLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.sgTableId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.sgTableId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.sgEntityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.sgEntityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.sgPermissions_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.sgPermissions_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.sgGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.sgGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.sgIndex_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.sgIndex_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.sgFlags_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 10, value.sgFlags_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_110).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_cmq3mq_k$(encoder, value instanceof ScopedGrant ? value : THROW_CCE());
  };
  var $serializer_instance_110;
  function $serializer_getInstance_110() {
    if ($serializer_instance_110 == null)
      new $serializer_110();
    return $serializer_instance_110;
  }
  function ScopedGrant_init_$Init$(seen1, sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_110().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.sgUid_1 = new Long(0, 0);
    else
      $this.sgUid_1 = sgUid;
    if (0 === (seen1 & 2))
      $this.sgPcsn_1 = new Long(0, 0);
    else
      $this.sgPcsn_1 = sgPcsn;
    if (0 === (seen1 & 4))
      $this.sgLcsn_1 = new Long(0, 0);
    else
      $this.sgLcsn_1 = sgLcsn;
    if (0 === (seen1 & 8))
      $this.sgLcb_1 = 0;
    else
      $this.sgLcb_1 = sgLcb;
    if (0 === (seen1 & 16))
      $this.sgLct_1 = new Long(0, 0);
    else
      $this.sgLct_1 = sgLct;
    if (0 === (seen1 & 32))
      $this.sgTableId_1 = 0;
    else
      $this.sgTableId_1 = sgTableId;
    if (0 === (seen1 & 64))
      $this.sgEntityUid_1 = new Long(0, 0);
    else
      $this.sgEntityUid_1 = sgEntityUid;
    if (0 === (seen1 & 128))
      $this.sgPermissions_1 = new Long(0, 0);
    else
      $this.sgPermissions_1 = sgPermissions;
    if (0 === (seen1 & 256))
      $this.sgGroupUid_1 = new Long(0, 0);
    else
      $this.sgGroupUid_1 = sgGroupUid;
    if (0 === (seen1 & 512))
      $this.sgIndex_1 = 0;
    else
      $this.sgIndex_1 = sgIndex;
    if (0 === (seen1 & 1024))
      $this.sgFlags_1 = 0;
    else
      $this.sgFlags_1 = sgFlags;
    return $this;
  }
  function ScopedGrant_init_$Create$(seen1, sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags, serializationConstructorMarker) {
    return ScopedGrant_init_$Init$(seen1, sgUid, sgPcsn, sgLcsn, sgLcb, sgLct, sgTableId, sgEntityUid, sgPermissions, sgGroupUid, sgIndex, sgFlags, serializationConstructorMarker, objectCreate(protoOf(ScopedGrant)));
  }
  function ScopedGrant() {
    Companion_getInstance_115();
    this.sgUid_1 = new Long(0, 0);
    this.sgPcsn_1 = new Long(0, 0);
    this.sgLcsn_1 = new Long(0, 0);
    this.sgLcb_1 = 0;
    this.sgLct_1 = new Long(0, 0);
    this.sgTableId_1 = 0;
    this.sgEntityUid_1 = new Long(0, 0);
    this.sgPermissions_1 = new Long(0, 0);
    this.sgGroupUid_1 = new Long(0, 0);
    this.sgIndex_1 = 0;
    this.sgFlags_1 = 0;
  }
  protoOf(ScopedGrant).set_sgUid_eesw5b_k$ = function (_set____db54di) {
    this.sgUid_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgUid_iyhd83_k$ = function () {
    return this.sgUid_1;
  };
  protoOf(ScopedGrant).set_sgPcsn_danudd_k$ = function (_set____db54di) {
    this.sgPcsn_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgPcsn_jfyn7v_k$ = function () {
    return this.sgPcsn_1;
  };
  protoOf(ScopedGrant).set_sgLcsn_e6w29x_k$ = function (_set____db54di) {
    this.sgLcsn_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgLcsn_jfw39r_k$ = function () {
    return this.sgLcsn_1;
  };
  protoOf(ScopedGrant).set_sgLcb_aourg2_k$ = function (_set____db54di) {
    this.sgLcb_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgLcb_iyh6em_k$ = function () {
    return this.sgLcb_1;
  };
  protoOf(ScopedGrant).set_sgLct_ms3o42_k$ = function (_set____db54di) {
    this.sgLct_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgLct_iyh6f4_k$ = function () {
    return this.sgLct_1;
  };
  protoOf(ScopedGrant).set_sgTableId_nfzhww_k$ = function (_set____db54di) {
    this.sgTableId_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgTableId_w9tfkk_k$ = function () {
    return this.sgTableId_1;
  };
  protoOf(ScopedGrant).set_sgEntityUid_wqr9fm_k$ = function (_set____db54di) {
    this.sgEntityUid_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgEntityUid_nydhww_k$ = function () {
    return this.sgEntityUid_1;
  };
  protoOf(ScopedGrant).set_sgPermissions_b70f05_k$ = function (_set____db54di) {
    this.sgPermissions_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgPermissions_8w887t_k$ = function () {
    return this.sgPermissions_1;
  };
  protoOf(ScopedGrant).set_sgGroupUid_4hdzmk_k$ = function (_set____db54di) {
    this.sgGroupUid_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgGroupUid_h5tnbi_k$ = function () {
    return this.sgGroupUid_1;
  };
  protoOf(ScopedGrant).set_sgIndex_d60r6h_k$ = function (_set____db54di) {
    this.sgIndex_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgIndex_ye9pf9_k$ = function () {
    return this.sgIndex_1;
  };
  protoOf(ScopedGrant).set_sgFlags_nx8xle_k$ = function (_set____db54di) {
    this.sgFlags_1 = _set____db54di;
  };
  protoOf(ScopedGrant).get_sgFlags_yckzhm_k$ = function () {
    return this.sgFlags_1;
  };
  function Companion_114() {
    Companion_instance_114 = this;
    this.TABLE_ID_1 = 189;
  }
  protoOf(Companion_114).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_114).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_111();
  };
  var Companion_instance_114;
  function Companion_getInstance_116() {
    if (Companion_instance_114 == null)
      new Companion_114();
    return Companion_instance_114;
  }
  function $serializer_111() {
    $serializer_instance_111 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.Site', this, 9);
    tmp0_serialDesc.addElement_5pzumi_k$('siteUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sitePcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('siteLcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('siteLcb', true);
    tmp0_serialDesc.addElement_5pzumi_k$('siteLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('siteName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('guestLogin', true);
    tmp0_serialDesc.addElement_5pzumi_k$('registrationAllowed', true);
    tmp0_serialDesc.addElement_5pzumi_k$('authSalt', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_111).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_111).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_111).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = 0;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_local7 = false;
    var tmp12_local8 = null;
    var tmp13_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp13_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.endStructure_1xqz0n_k$(tmp0_desc);
    return Site_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_111).serialize_nttjkh_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.siteUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.siteUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.sitePcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.sitePcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.siteLcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.siteLcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.siteLcb_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 3, value.siteLcb_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.siteLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.siteLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.siteName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.siteName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.guestLogin_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.guestLogin_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.registrationAllowed_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 7, value.registrationAllowed_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.authSalt_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 8, StringSerializer_getInstance(), value.authSalt_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_111).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_nttjkh_k$(encoder, value instanceof Site ? value : THROW_CCE());
  };
  var $serializer_instance_111;
  function $serializer_getInstance_111() {
    if ($serializer_instance_111 == null)
      new $serializer_111();
    return $serializer_instance_111;
  }
  function Site_init_$Init$(seen1, siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_111().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.siteUid_1 = new Long(0, 0);
    else
      $this.siteUid_1 = siteUid;
    if (0 === (seen1 & 2))
      $this.sitePcsn_1 = new Long(0, 0);
    else
      $this.sitePcsn_1 = sitePcsn;
    if (0 === (seen1 & 4))
      $this.siteLcsn_1 = new Long(0, 0);
    else
      $this.siteLcsn_1 = siteLcsn;
    if (0 === (seen1 & 8))
      $this.siteLcb_1 = 0;
    else
      $this.siteLcb_1 = siteLcb;
    if (0 === (seen1 & 16))
      $this.siteLct_1 = new Long(0, 0);
    else
      $this.siteLct_1 = siteLct;
    if (0 === (seen1 & 32))
      $this.siteName_1 = null;
    else
      $this.siteName_1 = siteName;
    if (0 === (seen1 & 64))
      $this.guestLogin_1 = true;
    else
      $this.guestLogin_1 = guestLogin;
    if (0 === (seen1 & 128))
      $this.registrationAllowed_1 = true;
    else
      $this.registrationAllowed_1 = registrationAllowed;
    if (0 === (seen1 & 256))
      $this.authSalt_1 = null;
    else
      $this.authSalt_1 = authSalt;
    return $this;
  }
  function Site_init_$Create$(seen1, siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt, serializationConstructorMarker) {
    return Site_init_$Init$(seen1, siteUid, sitePcsn, siteLcsn, siteLcb, siteLct, siteName, guestLogin, registrationAllowed, authSalt, serializationConstructorMarker, objectCreate(protoOf(Site)));
  }
  function Site() {
    Companion_getInstance_116();
    this.siteUid_1 = new Long(0, 0);
    this.sitePcsn_1 = new Long(0, 0);
    this.siteLcsn_1 = new Long(0, 0);
    this.siteLcb_1 = 0;
    this.siteLct_1 = new Long(0, 0);
    this.siteName_1 = null;
    this.guestLogin_1 = true;
    this.registrationAllowed_1 = true;
    this.authSalt_1 = null;
  }
  protoOf(Site).set_siteUid_3fwycy_k$ = function (_set____db54di) {
    this.siteUid_1 = _set____db54di;
  };
  protoOf(Site).get_siteUid_z1a068_k$ = function () {
    return this.siteUid_1;
  };
  protoOf(Site).set_sitePcsn_1tec30_k$ = function (_set____db54di) {
    this.sitePcsn_1 = _set____db54di;
  };
  protoOf(Site).get_sitePcsn_kn0mo2_k$ = function () {
    return this.sitePcsn_1;
  };
  protoOf(Site).set_siteLcsn_x646g_k$ = function (_set____db54di) {
    this.siteLcsn_1 = _set____db54di;
  };
  protoOf(Site).get_siteLcsn_kn36m6_k$ = function () {
    return this.siteLcsn_1;
  };
  protoOf(Site).set_siteLcb_8xejr3_k$ = function (_set____db54di) {
    this.siteLcb_1 = _set____db54di;
  };
  protoOf(Site).get_siteLcb_z1a6zp_k$ = function () {
    return this.siteLcb_1;
  };
  protoOf(Site).set_siteLct_bt7qbp_k$ = function (_set____db54di) {
    this.siteLct_1 = _set____db54di;
  };
  protoOf(Site).get_siteLct_z1a6z7_k$ = function () {
    return this.siteLct_1;
  };
  protoOf(Site).set_siteName_c1yqeg_k$ = function (_set____db54di) {
    this.siteName_1 = _set____db54di;
  };
  protoOf(Site).get_siteName_kn1y9x_k$ = function () {
    return this.siteName_1;
  };
  protoOf(Site).set_guestLogin_v9uplz_k$ = function (_set____db54di) {
    this.guestLogin_1 = _set____db54di;
  };
  protoOf(Site).get_guestLogin_lk9bzu_k$ = function () {
    return this.guestLogin_1;
  };
  protoOf(Site).set_registrationAllowed_4rnnzx_k$ = function (_set____db54di) {
    this.registrationAllowed_1 = _set____db54di;
  };
  protoOf(Site).get_registrationAllowed_lhz77q_k$ = function () {
    return this.registrationAllowed_1;
  };
  protoOf(Site).set_authSalt_nuc2o4_k$ = function (_set____db54di) {
    this.authSalt_1 = _set____db54di;
  };
  protoOf(Site).get_authSalt_848849_k$ = function () {
    return this.authSalt_1;
  };
  function Companion_115() {
    Companion_instance_115 = this;
    this.TABLE_ID_1 = 272;
  }
  protoOf(Companion_115).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_115).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_112();
  };
  var Companion_instance_115;
  function Companion_getInstance_117() {
    if (Companion_instance_115 == null)
      new Companion_115();
    return Companion_instance_115;
  }
  function $serializer_112() {
    $serializer_instance_112 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.SiteTerms', this, 9);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('termsHtml', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLang', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLangUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsPrimaryCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLocalCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_112).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_112).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_112).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp13_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp13_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp13_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp13_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp13_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp13_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp13_input.endStructure_1xqz0n_k$(tmp0_desc);
    return SiteTerms_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, null);
  };
  protoOf($serializer_112).serialize_fsto1e_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.sTermsUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.sTermsUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.termsHtml_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.termsHtml_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.sTermsLang_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.sTermsLang_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.sTermsLangUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.sTermsLangUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.sTermsActive_1 === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.sTermsActive_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.sTermsLastChangedBy_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.sTermsLastChangedBy_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.sTermsPrimaryCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.sTermsPrimaryCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.sTermsLocalCsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.sTermsLocalCsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.sTermsLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.sTermsLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_112).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_fsto1e_k$(encoder, value instanceof SiteTerms ? value : THROW_CCE());
  };
  var $serializer_instance_112;
  function $serializer_getInstance_112() {
    if ($serializer_instance_112 == null)
      new $serializer_112();
    return $serializer_instance_112;
  }
  function SiteTerms_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_112().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.sTermsUid_1 = new Long(0, 0);
    else
      $this.sTermsUid_1 = sTermsUid;
    if (0 === (seen1 & 2))
      $this.termsHtml_1 = null;
    else
      $this.termsHtml_1 = termsHtml;
    if (0 === (seen1 & 4))
      $this.sTermsLang_1 = null;
    else
      $this.sTermsLang_1 = sTermsLang;
    if (0 === (seen1 & 8))
      $this.sTermsLangUid_1 = new Long(0, 0);
    else
      $this.sTermsLangUid_1 = sTermsLangUid;
    if (0 === (seen1 & 16))
      $this.sTermsActive_1 = true;
    else
      $this.sTermsActive_1 = sTermsActive;
    if (0 === (seen1 & 32))
      $this.sTermsLastChangedBy_1 = 0;
    else
      $this.sTermsLastChangedBy_1 = sTermsLastChangedBy;
    if (0 === (seen1 & 64))
      $this.sTermsPrimaryCsn_1 = new Long(0, 0);
    else
      $this.sTermsPrimaryCsn_1 = sTermsPrimaryCsn;
    if (0 === (seen1 & 128))
      $this.sTermsLocalCsn_1 = new Long(0, 0);
    else
      $this.sTermsLocalCsn_1 = sTermsLocalCsn;
    if (0 === (seen1 & 256))
      $this.sTermsLct_1 = new Long(0, 0);
    else
      $this.sTermsLct_1 = sTermsLct;
    return $this;
  }
  function SiteTerms_init_$Create$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker) {
    return SiteTerms_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker, objectCreate(protoOf(SiteTerms)));
  }
  function SiteTerms() {
    Companion_getInstance_117();
    this.sTermsUid_1 = new Long(0, 0);
    this.termsHtml_1 = null;
    this.sTermsLang_1 = null;
    this.sTermsLangUid_1 = new Long(0, 0);
    this.sTermsActive_1 = true;
    this.sTermsLastChangedBy_1 = 0;
    this.sTermsPrimaryCsn_1 = new Long(0, 0);
    this.sTermsLocalCsn_1 = new Long(0, 0);
    this.sTermsLct_1 = new Long(0, 0);
  }
  protoOf(SiteTerms).set_sTermsUid_7kqczl_k$ = function (_set____db54di) {
    this.sTermsUid_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsUid_wzk4z7_k$ = function () {
    return this.sTermsUid_1;
  };
  protoOf(SiteTerms).set_termsHtml_lak0ny_k$ = function (_set____db54di) {
    this.termsHtml_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_termsHtml_spkudz_k$ = function () {
    return this.termsHtml_1;
  };
  protoOf(SiteTerms).set_sTermsLang_voj3eg_k$ = function (_set____db54di) {
    this.sTermsLang_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsLang_s6lm5n_k$ = function () {
    return this.sTermsLang_1;
  };
  protoOf(SiteTerms).set_sTermsLangUid_wo29bn_k$ = function (_set____db54di) {
    this.sTermsLangUid_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsLangUid_oq3ht1_k$ = function () {
    return this.sTermsLangUid_1;
  };
  protoOf(SiteTerms).set_sTermsActive_bqq1vi_k$ = function (_set____db54di) {
    this.sTermsActive_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsActive_g8t937_k$ = function () {
    return this.sTermsActive_1;
  };
  protoOf(SiteTerms).set_sTermsLastChangedBy_2hhzfo_k$ = function (_set____db54di) {
    this.sTermsLastChangedBy_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsLastChangedBy_tpixew_k$ = function () {
    return this.sTermsLastChangedBy_1;
  };
  protoOf(SiteTerms).set_sTermsPrimaryCsn_c4cdn3_k$ = function (_set____db54di) {
    this.sTermsPrimaryCsn_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsPrimaryCsn_dkyr3b_k$ = function () {
    return this.sTermsPrimaryCsn_1;
  };
  protoOf(SiteTerms).set_sTermsLocalCsn_nxsa6y_k$ = function (_set____db54di) {
    this.sTermsLocalCsn_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsLocalCsn_rrf5gw_k$ = function () {
    return this.sTermsLocalCsn_1;
  };
  protoOf(SiteTerms).set_sTermsLct_skez6_k$ = function (_set____db54di) {
    this.sTermsLct_1 = _set____db54di;
  };
  protoOf(SiteTerms).get_sTermsLct_wzjy68_k$ = function () {
    return this.sTermsLct_1;
  };
  function Companion_116() {
    Companion_instance_116 = this;
  }
  protoOf(Companion_116).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_113();
  };
  var Companion_instance_116;
  function Companion_getInstance_118() {
    if (Companion_instance_116 == null)
      new Companion_116();
    return Companion_instance_116;
  }
  function $serializer_113() {
    $serializer_instance_113 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.SiteTermsWithLanguage', this, 10);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('termsHtml', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLang', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLangUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsActive', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLastChangedBy', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsPrimaryCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLocalCsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sTermsLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('stLanguage', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_113).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_113).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable($serializer_getInstance_92())];
  };
  protoOf($serializer_113).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = false;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = null;
    var tmp14_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp14_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, $serializer_getInstance_92(), tmp13_local9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 9, $serializer_getInstance_92(), tmp13_local9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.endStructure_1xqz0n_k$(tmp0_desc);
    return SiteTermsWithLanguage_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_113).serialize_q6u6fu_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.get_sTermsUid_wzk4z7_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.get_sTermsUid_wzk4z7_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.get_termsHtml_spkudz_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.get_termsHtml_spkudz_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.get_sTermsLang_s6lm5n_k$() == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.get_sTermsLang_s6lm5n_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.get_sTermsLangUid_oq3ht1_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.get_sTermsLangUid_oq3ht1_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.get_sTermsActive_g8t937_k$() === true)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.get_sTermsActive_g8t937_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.get_sTermsLastChangedBy_tpixew_k$() === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.get_sTermsLastChangedBy_tpixew_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.get_sTermsPrimaryCsn_dkyr3b_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.get_sTermsPrimaryCsn_dkyr3b_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.get_sTermsLocalCsn_rrf5gw_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.get_sTermsLocalCsn_rrf5gw_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.get_sTermsLct_wzjy68_k$().equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.get_sTermsLct_wzjy68_k$());
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.stLanguage_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 9, $serializer_getInstance_92(), value.stLanguage_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_113).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_q6u6fu_k$(encoder, value instanceof SiteTermsWithLanguage ? value : THROW_CCE());
  };
  var $serializer_instance_113;
  function $serializer_getInstance_113() {
    if ($serializer_instance_113 == null)
      new $serializer_113();
    return $serializer_instance_113;
  }
  function SiteTermsWithLanguage_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, stLanguage, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_113().descriptor_1);
    }
    SiteTerms_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, serializationConstructorMarker, $this);
    if (0 === (seen1 & 512))
      $this.stLanguage_1 = null;
    else
      $this.stLanguage_1 = stLanguage;
    return $this;
  }
  function SiteTermsWithLanguage_init_$Create$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, stLanguage, serializationConstructorMarker) {
    return SiteTermsWithLanguage_init_$Init$(seen1, sTermsUid, termsHtml, sTermsLang, sTermsLangUid, sTermsActive, sTermsLastChangedBy, sTermsPrimaryCsn, sTermsLocalCsn, sTermsLct, stLanguage, serializationConstructorMarker, objectCreate(protoOf(SiteTermsWithLanguage)));
  }
  function SiteTermsWithLanguage() {
    Companion_getInstance_118();
    SiteTerms.call(this);
    this.stLanguage_1 = null;
  }
  protoOf(SiteTermsWithLanguage).set_stLanguage_1uw2n6_k$ = function (_set____db54di) {
    this.stLanguage_1 = _set____db54di;
  };
  protoOf(SiteTermsWithLanguage).get_stLanguage_jovzhe_k$ = function () {
    return this.stLanguage_1;
  };
  function Companion_117() {
    Companion_instance_117 = this;
  }
  protoOf(Companion_117).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_114();
  };
  var Companion_instance_117;
  function Companion_getInstance_119() {
    if (Companion_instance_117 == null)
      new Companion_117();
    return Companion_instance_117;
  }
  function $serializer_114() {
    $serializer_instance_114 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.StatementEntityAndDisplayDetails', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('statement', true);
    tmp0_serialDesc.addElement_5pzumi_k$('person', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_114).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_114).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [get_nullable($serializer_getInstance_131()), get_nullable($serializer_getInstance_98())];
  };
  protoOf($serializer_114).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = null;
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_131(), tmp4_local0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 0, $serializer_getInstance_131(), tmp4_local0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, $serializer_getInstance_98(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StatementEntityAndDisplayDetails_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_114).serialize_p1ll77_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.statement_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 0, $serializer_getInstance_131(), value.statement_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.person_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, $serializer_getInstance_98(), value.person_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_114).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_p1ll77_k$(encoder, value instanceof StatementEntityAndDisplayDetails ? value : THROW_CCE());
  };
  var $serializer_instance_114;
  function $serializer_getInstance_114() {
    if ($serializer_instance_114 == null)
      new $serializer_114();
    return $serializer_instance_114;
  }
  function StatementEntityAndDisplayDetails_init_$Init$(seen1, statement, person, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_114().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.statement_1 = null;
    else
      $this.statement_1 = statement;
    if (0 === (seen1 & 2))
      $this.person_1 = null;
    else
      $this.person_1 = person;
    return $this;
  }
  function StatementEntityAndDisplayDetails_init_$Create$(seen1, statement, person, serializationConstructorMarker) {
    return StatementEntityAndDisplayDetails_init_$Init$(seen1, statement, person, serializationConstructorMarker, objectCreate(protoOf(StatementEntityAndDisplayDetails)));
  }
  function StatementEntityAndDisplayDetails(statement, person) {
    Companion_getInstance_119();
    statement = statement === VOID ? null : statement;
    person = person === VOID ? null : person;
    this.statement_1 = statement;
    this.person_1 = person;
  }
  protoOf(StatementEntityAndDisplayDetails).set_statement_bzd1hr_k$ = function (_set____db54di) {
    this.statement_1 = _set____db54di;
  };
  protoOf(StatementEntityAndDisplayDetails).get_statement_pyx5iy_k$ = function () {
    return this.statement_1;
  };
  protoOf(StatementEntityAndDisplayDetails).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(StatementEntityAndDisplayDetails).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(StatementEntityAndDisplayDetails).component1_7eebsc_k$ = function () {
    return this.statement_1;
  };
  protoOf(StatementEntityAndDisplayDetails).component2_7eebsb_k$ = function () {
    return this.person_1;
  };
  protoOf(StatementEntityAndDisplayDetails).copy_gukf8l_k$ = function (statement, person) {
    return new StatementEntityAndDisplayDetails(statement, person);
  };
  protoOf(StatementEntityAndDisplayDetails).copy$default_43w2r1_k$ = function (statement, person, $super) {
    statement = statement === VOID ? this.statement_1 : statement;
    person = person === VOID ? this.person_1 : person;
    return $super === VOID ? this.copy_gukf8l_k$(statement, person) : $super.copy_gukf8l_k$.call(this, statement, person);
  };
  protoOf(StatementEntityAndDisplayDetails).toString = function () {
    return 'StatementEntityAndDisplayDetails(statement=' + this.statement_1 + ', person=' + this.person_1 + ')';
  };
  protoOf(StatementEntityAndDisplayDetails).hashCode = function () {
    var result = this.statement_1 == null ? 0 : this.statement_1.hashCode();
    result = imul(result, 31) + (this.person_1 == null ? 0 : this.person_1.hashCode()) | 0;
    return result;
  };
  protoOf(StatementEntityAndDisplayDetails).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementEntityAndDisplayDetails))
      return false;
    var tmp0_other_with_cast = other instanceof StatementEntityAndDisplayDetails ? other : THROW_CCE();
    if (!equals(this.statement_1, tmp0_other_with_cast.statement_1))
      return false;
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    return true;
  };
  function Companion_118() {
    Companion_instance_118 = this;
  }
  protoOf(Companion_118).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_115();
  };
  var Companion_instance_118;
  function Companion_getInstance_120() {
    if (Companion_instance_118 == null)
      new Companion_118();
    return Companion_instance_118;
  }
  function $serializer_115() {
    $serializer_instance_115 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.StatementReportData', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('yAxis', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xAxis', true);
    tmp0_serialDesc.addElement_5pzumi_k$('subgroup', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_115).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_115).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [FloatSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_115).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0.0;
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StatementReportData_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_115).serialize_efh3oh_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !equals(value.yAxis_1, 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 0, value.yAxis_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.xAxis_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.xAxis_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.subgroup_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.subgroup_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_115).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_efh3oh_k$(encoder, value instanceof StatementReportData ? value : THROW_CCE());
  };
  var $serializer_instance_115;
  function $serializer_getInstance_115() {
    if ($serializer_instance_115 == null)
      new $serializer_115();
    return $serializer_instance_115;
  }
  function StatementReportData_init_$Init$(seen1, yAxis, xAxis, subgroup, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_115().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.yAxis_1 = 0.0;
    else
      $this.yAxis_1 = yAxis;
    if (0 === (seen1 & 2))
      $this.xAxis_1 = '';
    else
      $this.xAxis_1 = xAxis;
    if (0 === (seen1 & 4))
      $this.subgroup_1 = '';
    else
      $this.subgroup_1 = subgroup;
    return $this;
  }
  function StatementReportData_init_$Create$(seen1, yAxis, xAxis, subgroup, serializationConstructorMarker) {
    return StatementReportData_init_$Init$(seen1, yAxis, xAxis, subgroup, serializationConstructorMarker, objectCreate(protoOf(StatementReportData)));
  }
  function StatementReportData(yAxis, xAxis, subgroup) {
    Companion_getInstance_120();
    yAxis = yAxis === VOID ? 0.0 : yAxis;
    xAxis = xAxis === VOID ? '' : xAxis;
    subgroup = subgroup === VOID ? '' : subgroup;
    this.yAxis_1 = yAxis;
    this.xAxis_1 = xAxis;
    this.subgroup_1 = subgroup;
  }
  protoOf(StatementReportData).set_yAxis_r9ssut_k$ = function (_set____db54di) {
    this.yAxis_1 = _set____db54di;
  };
  protoOf(StatementReportData).get_yAxis_j14l8x_k$ = function () {
    return this.yAxis_1;
  };
  protoOf(StatementReportData).set_xAxis_4spznp_k$ = function (_set____db54di) {
    this.xAxis_1 = _set____db54di;
  };
  protoOf(StatementReportData).get_xAxis_j0ksnk_k$ = function () {
    return this.xAxis_1;
  };
  protoOf(StatementReportData).set_subgroup_2r7fmj_k$ = function (_set____db54di) {
    this.subgroup_1 = _set____db54di;
  };
  protoOf(StatementReportData).get_subgroup_4yf0nc_k$ = function () {
    return this.subgroup_1;
  };
  protoOf(StatementReportData).component1_7eebsc_k$ = function () {
    return this.yAxis_1;
  };
  protoOf(StatementReportData).component2_7eebsb_k$ = function () {
    return this.xAxis_1;
  };
  protoOf(StatementReportData).component3_7eebsa_k$ = function () {
    return this.subgroup_1;
  };
  protoOf(StatementReportData).copy_pziad_k$ = function (yAxis, xAxis, subgroup) {
    return new StatementReportData(yAxis, xAxis, subgroup);
  };
  protoOf(StatementReportData).copy$default_ulneta_k$ = function (yAxis, xAxis, subgroup, $super) {
    yAxis = yAxis === VOID ? this.yAxis_1 : yAxis;
    xAxis = xAxis === VOID ? this.xAxis_1 : xAxis;
    subgroup = subgroup === VOID ? this.subgroup_1 : subgroup;
    return $super === VOID ? this.copy_pziad_k$(yAxis, xAxis, subgroup) : $super.copy_pziad_k$.call(this, yAxis, xAxis, subgroup);
  };
  protoOf(StatementReportData).toString = function () {
    return 'StatementReportData(yAxis=' + this.yAxis_1 + ', xAxis=' + this.xAxis_1 + ', subgroup=' + this.subgroup_1 + ')';
  };
  protoOf(StatementReportData).hashCode = function () {
    var result = getNumberHashCode(this.yAxis_1);
    result = imul(result, 31) + (this.xAxis_1 == null ? 0 : getStringHashCode(this.xAxis_1)) | 0;
    result = imul(result, 31) + (this.subgroup_1 == null ? 0 : getStringHashCode(this.subgroup_1)) | 0;
    return result;
  };
  protoOf(StatementReportData).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementReportData))
      return false;
    var tmp0_other_with_cast = other instanceof StatementReportData ? other : THROW_CCE();
    if (!equals(this.yAxis_1, tmp0_other_with_cast.yAxis_1))
      return false;
    if (!(this.xAxis_1 == tmp0_other_with_cast.xAxis_1))
      return false;
    if (!(this.subgroup_1 == tmp0_other_with_cast.subgroup_1))
      return false;
    return true;
  };
  function Companion_119() {
    Companion_instance_119 = this;
    this.TABLE_ID_1 = 471;
  }
  protoOf(Companion_119).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_119).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_116();
  };
  var Companion_instance_119;
  function Companion_getInstance_121() {
    if (Companion_instance_119 == null)
      new Companion_119();
    return Companion_instance_119;
  }
  function $serializer_116() {
    $serializer_instance_116 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.StudentResult', this, 21);
    tmp0_serialDesc.addElement_5pzumi_k$('srUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srSourcedId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srCourseBlockUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srLineItemSourcedId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srLineItemHref', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srAssignmentUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srMetaData', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srStudentPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srStudentPersonSourcedId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srStudentGroupId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srMarkerPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srMarkerGroupId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srScoreStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srScore', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srScoreDate', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srLastModified', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srComment', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srAppId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('srDeleted', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_116).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_116).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), FloatSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_116).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = 0;
    var tmp12_local8 = null;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = null;
    var tmp15_local11 = 0;
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = 0;
    var tmp18_local14 = 0;
    var tmp19_local15 = 0.0;
    var tmp20_local16 = new Long(0, 0);
    var tmp21_local17 = new Long(0, 0);
    var tmp22_local18 = null;
    var tmp23_local19 = null;
    var tmp24_local20 = false;
    var tmp25_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp25_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp25_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp23_local19 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp24_local20 = tmp25_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp25_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 8, StringSerializer_getInstance(), tmp12_local8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, StringSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp25_input.decodeIntElement_941u6a_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp25_input.decodeFloatElement_p2q55h_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp25_input.decodeLongElement_994anb_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 18, StringSerializer_getInstance(), tmp22_local18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp23_local19 = tmp25_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 19, StringSerializer_getInstance(), tmp23_local19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp24_local20 = tmp25_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp25_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StudentResult_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, tmp23_local19, tmp24_local20, null);
  };
  protoOf($serializer_116).serialize_41034m_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.srUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.srUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.srSourcedId_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.srSourcedId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.srCourseBlockUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.srCourseBlockUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.srLineItemSourcedId_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.srLineItemSourcedId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.srLineItemHref_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.srLineItemHref_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.srClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.srClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.srAssignmentUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.srAssignmentUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.srStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.srStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.srMetaData_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 8, StringSerializer_getInstance(), value.srMetaData_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.srStudentPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.srStudentPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.srStudentPersonSourcedId_1 === '')) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 10, StringSerializer_getInstance(), value.srStudentPersonSourcedId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.srStudentGroupId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 11, value.srStudentGroupId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.srMarkerPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.srMarkerPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.srMarkerGroupId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 13, value.srMarkerGroupId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.srScoreStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 14, value.srScoreStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !equals(value.srScore_1, 0.0)) {
      tmp1_output.encodeFloatElement_oe8hn_k$(tmp0_desc, 15, value.srScore_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !value.srScoreDate_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 16, value.srScoreDate_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !value.srLastModified_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 17, value.srLastModified_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.srComment_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 18, StringSerializer_getInstance(), value.srComment_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !(value.srAppId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 19, StringSerializer_getInstance(), value.srAppId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !(value.srDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 20, value.srDeleted_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_116).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_41034m_k$(encoder, value instanceof StudentResult ? value : THROW_CCE());
  };
  var $serializer_instance_116;
  function $serializer_getInstance_116() {
    if ($serializer_instance_116 == null)
      new $serializer_116();
    return $serializer_instance_116;
  }
  function StudentResult_init_$Init$(seen1, srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_116().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.srUid_1 = new Long(0, 0);
    else
      $this.srUid_1 = srUid;
    if (0 === (seen1 & 2))
      $this.srSourcedId_1 = '';
    else
      $this.srSourcedId_1 = srSourcedId;
    if (0 === (seen1 & 4))
      $this.srCourseBlockUid_1 = new Long(0, 0);
    else
      $this.srCourseBlockUid_1 = srCourseBlockUid;
    if (0 === (seen1 & 8))
      $this.srLineItemSourcedId_1 = '';
    else
      $this.srLineItemSourcedId_1 = srLineItemSourcedId;
    if (0 === (seen1 & 16))
      $this.srLineItemHref_1 = '';
    else
      $this.srLineItemHref_1 = srLineItemHref;
    if (0 === (seen1 & 32))
      $this.srClazzUid_1 = new Long(0, 0);
    else
      $this.srClazzUid_1 = srClazzUid;
    if (0 === (seen1 & 64))
      $this.srAssignmentUid_1 = new Long(0, 0);
    else
      $this.srAssignmentUid_1 = srAssignmentUid;
    if (0 === (seen1 & 128))
      $this.srStatus_1 = 0;
    else
      $this.srStatus_1 = srStatus;
    if (0 === (seen1 & 256))
      $this.srMetaData_1 = null;
    else
      $this.srMetaData_1 = srMetaData;
    if (0 === (seen1 & 512))
      $this.srStudentPersonUid_1 = new Long(0, 0);
    else
      $this.srStudentPersonUid_1 = srStudentPersonUid;
    if (0 === (seen1 & 1024))
      $this.srStudentPersonSourcedId_1 = '';
    else
      $this.srStudentPersonSourcedId_1 = srStudentPersonSourcedId;
    if (0 === (seen1 & 2048))
      $this.srStudentGroupId_1 = 0;
    else
      $this.srStudentGroupId_1 = srStudentGroupId;
    if (0 === (seen1 & 4096))
      $this.srMarkerPersonUid_1 = new Long(0, 0);
    else
      $this.srMarkerPersonUid_1 = srMarkerPersonUid;
    if (0 === (seen1 & 8192))
      $this.srMarkerGroupId_1 = 0;
    else
      $this.srMarkerGroupId_1 = srMarkerGroupId;
    if (0 === (seen1 & 16384))
      $this.srScoreStatus_1 = 0;
    else
      $this.srScoreStatus_1 = srScoreStatus;
    if (0 === (seen1 & 32768))
      $this.srScore_1 = 0.0;
    else
      $this.srScore_1 = srScore;
    if (0 === (seen1 & 65536))
      $this.srScoreDate_1 = new Long(0, 0);
    else
      $this.srScoreDate_1 = srScoreDate;
    if (0 === (seen1 & 131072))
      $this.srLastModified_1 = new Long(0, 0);
    else
      $this.srLastModified_1 = srLastModified;
    if (0 === (seen1 & 262144))
      $this.srComment_1 = null;
    else
      $this.srComment_1 = srComment;
    if (0 === (seen1 & 524288))
      $this.srAppId_1 = null;
    else
      $this.srAppId_1 = srAppId;
    if (0 === (seen1 & 1048576))
      $this.srDeleted_1 = false;
    else
      $this.srDeleted_1 = srDeleted;
    return $this;
  }
  function StudentResult_init_$Create$(seen1, srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted, serializationConstructorMarker) {
    return StudentResult_init_$Init$(seen1, srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted, serializationConstructorMarker, objectCreate(protoOf(StudentResult)));
  }
  function StudentResult(srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) {
    Companion_getInstance_121();
    srUid = srUid === VOID ? new Long(0, 0) : srUid;
    srSourcedId = srSourcedId === VOID ? '' : srSourcedId;
    srCourseBlockUid = srCourseBlockUid === VOID ? new Long(0, 0) : srCourseBlockUid;
    srLineItemSourcedId = srLineItemSourcedId === VOID ? '' : srLineItemSourcedId;
    srLineItemHref = srLineItemHref === VOID ? '' : srLineItemHref;
    srClazzUid = srClazzUid === VOID ? new Long(0, 0) : srClazzUid;
    srAssignmentUid = srAssignmentUid === VOID ? new Long(0, 0) : srAssignmentUid;
    srStatus = srStatus === VOID ? 0 : srStatus;
    srMetaData = srMetaData === VOID ? null : srMetaData;
    srStudentPersonUid = srStudentPersonUid === VOID ? new Long(0, 0) : srStudentPersonUid;
    srStudentPersonSourcedId = srStudentPersonSourcedId === VOID ? '' : srStudentPersonSourcedId;
    srStudentGroupId = srStudentGroupId === VOID ? 0 : srStudentGroupId;
    srMarkerPersonUid = srMarkerPersonUid === VOID ? new Long(0, 0) : srMarkerPersonUid;
    srMarkerGroupId = srMarkerGroupId === VOID ? 0 : srMarkerGroupId;
    srScoreStatus = srScoreStatus === VOID ? 0 : srScoreStatus;
    srScore = srScore === VOID ? 0.0 : srScore;
    srScoreDate = srScoreDate === VOID ? new Long(0, 0) : srScoreDate;
    srLastModified = srLastModified === VOID ? new Long(0, 0) : srLastModified;
    srComment = srComment === VOID ? null : srComment;
    srAppId = srAppId === VOID ? null : srAppId;
    srDeleted = srDeleted === VOID ? false : srDeleted;
    this.srUid_1 = srUid;
    this.srSourcedId_1 = srSourcedId;
    this.srCourseBlockUid_1 = srCourseBlockUid;
    this.srLineItemSourcedId_1 = srLineItemSourcedId;
    this.srLineItemHref_1 = srLineItemHref;
    this.srClazzUid_1 = srClazzUid;
    this.srAssignmentUid_1 = srAssignmentUid;
    this.srStatus_1 = srStatus;
    this.srMetaData_1 = srMetaData;
    this.srStudentPersonUid_1 = srStudentPersonUid;
    this.srStudentPersonSourcedId_1 = srStudentPersonSourcedId;
    this.srStudentGroupId_1 = srStudentGroupId;
    this.srMarkerPersonUid_1 = srMarkerPersonUid;
    this.srMarkerGroupId_1 = srMarkerGroupId;
    this.srScoreStatus_1 = srScoreStatus;
    this.srScore_1 = srScore;
    this.srScoreDate_1 = srScoreDate;
    this.srLastModified_1 = srLastModified;
    this.srComment_1 = srComment;
    this.srAppId_1 = srAppId;
    this.srDeleted_1 = srDeleted;
  }
  protoOf(StudentResult).set_srUid_gvfhvu_k$ = function (_set____db54di) {
    this.srUid_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srUid_iyoe2w_k$ = function () {
    return this.srUid_1;
  };
  protoOf(StudentResult).set_srSourcedId_fmpvan_k$ = function (_set____db54di) {
    this.srSourcedId_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srSourcedId_4iiqg4_k$ = function () {
    return this.srSourcedId_1;
  };
  protoOf(StudentResult).set_srCourseBlockUid_iyfk10_k$ = function (_set____db54di) {
    this.srCourseBlockUid_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srCourseBlockUid_9dx5mu_k$ = function () {
    return this.srCourseBlockUid_1;
  };
  protoOf(StudentResult).set_srLineItemSourcedId_6065cm_k$ = function (_set____db54di) {
    this.srLineItemSourcedId_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srLineItemSourcedId_1zv2np_k$ = function () {
    return this.srLineItemSourcedId_1;
  };
  protoOf(StudentResult).set_srLineItemHref_75p1bd_k$ = function (_set____db54di) {
    this.srLineItemHref_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srLineItemHref_huj4sa_k$ = function () {
    return this.srLineItemHref_1;
  };
  protoOf(StudentResult).set_srClazzUid_yoy6a2_k$ = function (_set____db54di) {
    this.srClazzUid_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srClazzUid_oc75sw_k$ = function () {
    return this.srClazzUid_1;
  };
  protoOf(StudentResult).set_srAssignmentUid_5eowg9_k$ = function (_set____db54di) {
    this.srAssignmentUid_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srAssignmentUid_85o1mj_k$ = function () {
    return this.srAssignmentUid_1;
  };
  protoOf(StudentResult).set_srStatus_9ew9ly_k$ = function (_set____db54di) {
    this.srStatus_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srStatus_p1igoq_k$ = function () {
    return this.srStatus_1;
  };
  protoOf(StudentResult).set_srMetaData_8q330s_k$ = function (_set____db54di) {
    this.srMetaData_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srMetaData_ro77tj_k$ = function () {
    return this.srMetaData_1;
  };
  protoOf(StudentResult).set_srStudentPersonUid_h6tq3m_k$ = function (_set____db54di) {
    this.srStudentPersonUid_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srStudentPersonUid_fa7t1k_k$ = function () {
    return this.srStudentPersonUid_1;
  };
  protoOf(StudentResult).set_srStudentPersonSourcedId_2ewhc7_k$ = function (_set____db54di) {
    this.srStudentPersonSourcedId_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srStudentPersonSourcedId_3ecsgs_k$ = function () {
    return this.srStudentPersonSourcedId_1;
  };
  protoOf(StudentResult).set_srStudentGroupId_p65k6l_k$ = function (_set____db54di) {
    this.srStudentGroupId_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srStudentGroupId_k5jp6v_k$ = function () {
    return this.srStudentGroupId_1;
  };
  protoOf(StudentResult).set_srMarkerPersonUid_sf4dlz_k$ = function (_set____db54di) {
    this.srMarkerPersonUid_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srMarkerPersonUid_yzzhpj_k$ = function () {
    return this.srMarkerPersonUid_1;
  };
  protoOf(StudentResult).set_srMarkerGroupId_r0xgf0_k$ = function (_set____db54di) {
    this.srMarkerGroupId_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srMarkerGroupId_fljmaw_k$ = function () {
    return this.srMarkerGroupId_1;
  };
  protoOf(StudentResult).set_srScoreStatus_x2x1uo_k$ = function (_set____db54di) {
    this.srScoreStatus_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srScoreStatus_kuapzw_k$ = function () {
    return this.srScoreStatus_1;
  };
  protoOf(StudentResult).set_srScore_bwp57y_k$ = function (_set____db54di) {
    this.srScore_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srScore_va1com_k$ = function () {
    return this.srScore_1;
  };
  protoOf(StudentResult).set_srScoreDate_jc2ptm_k$ = function (_set____db54di) {
    this.srScoreDate_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srScoreDate_c97b8o_k$ = function () {
    return this.srScoreDate_1;
  };
  protoOf(StudentResult).set_srLastModified_y57rsz_k$ = function (_set____db54di) {
    this.srLastModified_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srLastModified_pl91fd_k$ = function () {
    return this.srLastModified_1;
  };
  protoOf(StudentResult).set_srComment_kh9apg_k$ = function (_set____db54di) {
    this.srComment_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srComment_sz3zqh_k$ = function () {
    return this.srComment_1;
  };
  protoOf(StudentResult).set_srAppId_xuecp5_k$ = function (_set____db54di) {
    this.srAppId_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srAppId_vjpcrw_k$ = function () {
    return this.srAppId_1;
  };
  protoOf(StudentResult).set_srDeleted_4npnq0_k$ = function (_set____db54di) {
    this.srDeleted_1 = _set____db54di;
  };
  protoOf(StudentResult).get_srDeleted_j1uj1r_k$ = function () {
    return this.srDeleted_1;
  };
  protoOf(StudentResult).component1_7eebsc_k$ = function () {
    return this.srUid_1;
  };
  protoOf(StudentResult).component2_7eebsb_k$ = function () {
    return this.srSourcedId_1;
  };
  protoOf(StudentResult).component3_7eebsa_k$ = function () {
    return this.srCourseBlockUid_1;
  };
  protoOf(StudentResult).component4_7eebs9_k$ = function () {
    return this.srLineItemSourcedId_1;
  };
  protoOf(StudentResult).component5_7eebs8_k$ = function () {
    return this.srLineItemHref_1;
  };
  protoOf(StudentResult).component6_7eebs7_k$ = function () {
    return this.srClazzUid_1;
  };
  protoOf(StudentResult).component7_7eebs6_k$ = function () {
    return this.srAssignmentUid_1;
  };
  protoOf(StudentResult).component8_7eebs5_k$ = function () {
    return this.srStatus_1;
  };
  protoOf(StudentResult).component9_7eebs4_k$ = function () {
    return this.srMetaData_1;
  };
  protoOf(StudentResult).component10_gazzfo_k$ = function () {
    return this.srStudentPersonUid_1;
  };
  protoOf(StudentResult).component11_gazzfn_k$ = function () {
    return this.srStudentPersonSourcedId_1;
  };
  protoOf(StudentResult).component12_gazzfm_k$ = function () {
    return this.srStudentGroupId_1;
  };
  protoOf(StudentResult).component13_gazzfl_k$ = function () {
    return this.srMarkerPersonUid_1;
  };
  protoOf(StudentResult).component14_gazzfk_k$ = function () {
    return this.srMarkerGroupId_1;
  };
  protoOf(StudentResult).component15_gazzfj_k$ = function () {
    return this.srScoreStatus_1;
  };
  protoOf(StudentResult).component16_gazzfi_k$ = function () {
    return this.srScore_1;
  };
  protoOf(StudentResult).component17_gazzfh_k$ = function () {
    return this.srScoreDate_1;
  };
  protoOf(StudentResult).component18_gazzfg_k$ = function () {
    return this.srLastModified_1;
  };
  protoOf(StudentResult).component19_gazzff_k$ = function () {
    return this.srComment_1;
  };
  protoOf(StudentResult).component20_gazzet_k$ = function () {
    return this.srAppId_1;
  };
  protoOf(StudentResult).component21_gazzes_k$ = function () {
    return this.srDeleted_1;
  };
  protoOf(StudentResult).copy_t8fxnv_k$ = function (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) {
    return new StudentResult(srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted);
  };
  protoOf(StudentResult).copy$default_pmdfnt_k$ = function (srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted, $super) {
    srUid = srUid === VOID ? this.srUid_1 : srUid;
    srSourcedId = srSourcedId === VOID ? this.srSourcedId_1 : srSourcedId;
    srCourseBlockUid = srCourseBlockUid === VOID ? this.srCourseBlockUid_1 : srCourseBlockUid;
    srLineItemSourcedId = srLineItemSourcedId === VOID ? this.srLineItemSourcedId_1 : srLineItemSourcedId;
    srLineItemHref = srLineItemHref === VOID ? this.srLineItemHref_1 : srLineItemHref;
    srClazzUid = srClazzUid === VOID ? this.srClazzUid_1 : srClazzUid;
    srAssignmentUid = srAssignmentUid === VOID ? this.srAssignmentUid_1 : srAssignmentUid;
    srStatus = srStatus === VOID ? this.srStatus_1 : srStatus;
    srMetaData = srMetaData === VOID ? this.srMetaData_1 : srMetaData;
    srStudentPersonUid = srStudentPersonUid === VOID ? this.srStudentPersonUid_1 : srStudentPersonUid;
    srStudentPersonSourcedId = srStudentPersonSourcedId === VOID ? this.srStudentPersonSourcedId_1 : srStudentPersonSourcedId;
    srStudentGroupId = srStudentGroupId === VOID ? this.srStudentGroupId_1 : srStudentGroupId;
    srMarkerPersonUid = srMarkerPersonUid === VOID ? this.srMarkerPersonUid_1 : srMarkerPersonUid;
    srMarkerGroupId = srMarkerGroupId === VOID ? this.srMarkerGroupId_1 : srMarkerGroupId;
    srScoreStatus = srScoreStatus === VOID ? this.srScoreStatus_1 : srScoreStatus;
    srScore = srScore === VOID ? this.srScore_1 : srScore;
    srScoreDate = srScoreDate === VOID ? this.srScoreDate_1 : srScoreDate;
    srLastModified = srLastModified === VOID ? this.srLastModified_1 : srLastModified;
    srComment = srComment === VOID ? this.srComment_1 : srComment;
    srAppId = srAppId === VOID ? this.srAppId_1 : srAppId;
    srDeleted = srDeleted === VOID ? this.srDeleted_1 : srDeleted;
    return $super === VOID ? this.copy_t8fxnv_k$(srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted) : $super.copy_t8fxnv_k$.call(this, srUid, srSourcedId, srCourseBlockUid, srLineItemSourcedId, srLineItemHref, srClazzUid, srAssignmentUid, srStatus, srMetaData, srStudentPersonUid, srStudentPersonSourcedId, srStudentGroupId, srMarkerPersonUid, srMarkerGroupId, srScoreStatus, srScore, srScoreDate, srLastModified, srComment, srAppId, srDeleted);
  };
  protoOf(StudentResult).toString = function () {
    return 'StudentResult(srUid=' + this.srUid_1.toString() + ', srSourcedId=' + this.srSourcedId_1 + ', srCourseBlockUid=' + this.srCourseBlockUid_1.toString() + ', srLineItemSourcedId=' + this.srLineItemSourcedId_1 + ', srLineItemHref=' + this.srLineItemHref_1 + ', srClazzUid=' + this.srClazzUid_1.toString() + ', srAssignmentUid=' + this.srAssignmentUid_1.toString() + ', srStatus=' + this.srStatus_1 + ', srMetaData=' + this.srMetaData_1 + ', srStudentPersonUid=' + this.srStudentPersonUid_1.toString() + ', srStudentPersonSourcedId=' + this.srStudentPersonSourcedId_1 + ', srStudentGroupId=' + this.srStudentGroupId_1 + ', srMarkerPersonUid=' + this.srMarkerPersonUid_1.toString() + ', srMarkerGroupId=' + this.srMarkerGroupId_1 + ', srScoreStatus=' + this.srScoreStatus_1 + ', srScore=' + this.srScore_1 + ', srScoreDate=' + this.srScoreDate_1.toString() + ', srLastModified=' + this.srLastModified_1.toString() + ', srComment=' + this.srComment_1 + ', srAppId=' + this.srAppId_1 + ', srDeleted=' + this.srDeleted_1 + ')';
  };
  protoOf(StudentResult).hashCode = function () {
    var result = this.srUid_1.hashCode();
    result = imul(result, 31) + (this.srSourcedId_1 == null ? 0 : getStringHashCode(this.srSourcedId_1)) | 0;
    result = imul(result, 31) + this.srCourseBlockUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.srLineItemSourcedId_1 == null ? 0 : getStringHashCode(this.srLineItemSourcedId_1)) | 0;
    result = imul(result, 31) + (this.srLineItemHref_1 == null ? 0 : getStringHashCode(this.srLineItemHref_1)) | 0;
    result = imul(result, 31) + this.srClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + this.srAssignmentUid_1.hashCode() | 0;
    result = imul(result, 31) + this.srStatus_1 | 0;
    result = imul(result, 31) + (this.srMetaData_1 == null ? 0 : getStringHashCode(this.srMetaData_1)) | 0;
    result = imul(result, 31) + this.srStudentPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.srStudentPersonSourcedId_1 == null ? 0 : getStringHashCode(this.srStudentPersonSourcedId_1)) | 0;
    result = imul(result, 31) + this.srStudentGroupId_1 | 0;
    result = imul(result, 31) + this.srMarkerPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.srMarkerGroupId_1 | 0;
    result = imul(result, 31) + this.srScoreStatus_1 | 0;
    result = imul(result, 31) + getNumberHashCode(this.srScore_1) | 0;
    result = imul(result, 31) + this.srScoreDate_1.hashCode() | 0;
    result = imul(result, 31) + this.srLastModified_1.hashCode() | 0;
    result = imul(result, 31) + (this.srComment_1 == null ? 0 : getStringHashCode(this.srComment_1)) | 0;
    result = imul(result, 31) + (this.srAppId_1 == null ? 0 : getStringHashCode(this.srAppId_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.srDeleted_1) | 0;
    return result;
  };
  protoOf(StudentResult).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StudentResult))
      return false;
    var tmp0_other_with_cast = other instanceof StudentResult ? other : THROW_CCE();
    if (!this.srUid_1.equals(tmp0_other_with_cast.srUid_1))
      return false;
    if (!(this.srSourcedId_1 == tmp0_other_with_cast.srSourcedId_1))
      return false;
    if (!this.srCourseBlockUid_1.equals(tmp0_other_with_cast.srCourseBlockUid_1))
      return false;
    if (!(this.srLineItemSourcedId_1 == tmp0_other_with_cast.srLineItemSourcedId_1))
      return false;
    if (!(this.srLineItemHref_1 == tmp0_other_with_cast.srLineItemHref_1))
      return false;
    if (!this.srClazzUid_1.equals(tmp0_other_with_cast.srClazzUid_1))
      return false;
    if (!this.srAssignmentUid_1.equals(tmp0_other_with_cast.srAssignmentUid_1))
      return false;
    if (!(this.srStatus_1 === tmp0_other_with_cast.srStatus_1))
      return false;
    if (!(this.srMetaData_1 == tmp0_other_with_cast.srMetaData_1))
      return false;
    if (!this.srStudentPersonUid_1.equals(tmp0_other_with_cast.srStudentPersonUid_1))
      return false;
    if (!(this.srStudentPersonSourcedId_1 == tmp0_other_with_cast.srStudentPersonSourcedId_1))
      return false;
    if (!(this.srStudentGroupId_1 === tmp0_other_with_cast.srStudentGroupId_1))
      return false;
    if (!this.srMarkerPersonUid_1.equals(tmp0_other_with_cast.srMarkerPersonUid_1))
      return false;
    if (!(this.srMarkerGroupId_1 === tmp0_other_with_cast.srMarkerGroupId_1))
      return false;
    if (!(this.srScoreStatus_1 === tmp0_other_with_cast.srScoreStatus_1))
      return false;
    if (!equals(this.srScore_1, tmp0_other_with_cast.srScore_1))
      return false;
    if (!this.srScoreDate_1.equals(tmp0_other_with_cast.srScoreDate_1))
      return false;
    if (!this.srLastModified_1.equals(tmp0_other_with_cast.srLastModified_1))
      return false;
    if (!(this.srComment_1 == tmp0_other_with_cast.srComment_1))
      return false;
    if (!(this.srAppId_1 == tmp0_other_with_cast.srAppId_1))
      return false;
    if (!(this.srDeleted_1 === tmp0_other_with_cast.srDeleted_1))
      return false;
    return true;
  };
  function Companion_120() {
    Companion_instance_120 = this;
    this.PERSON_DEFAULT_PERMISSIONS_1 = new Long(0, 0);
    this.TABLE_ID_1 = 10011;
  }
  protoOf(Companion_120).get_PERSON_DEFAULT_PERMISSIONS_2jt5wb_k$ = function () {
    return this.PERSON_DEFAULT_PERMISSIONS_1;
  };
  protoOf(Companion_120).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_120).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_117();
  };
  var Companion_instance_120;
  function Companion_getInstance_122() {
    if (Companion_instance_120 == null)
      new Companion_120();
    return Companion_instance_120;
  }
  function $serializer_117() {
    $serializer_instance_117 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.SystemPermission', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('spUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('spToPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('spToGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('spPermissionsFlag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('spLastModified', true);
    tmp0_serialDesc.addElement_5pzumi_k$('spIsDeleted', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_117).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_117).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_117).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return SystemPermission_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_117).serialize_qr6c0q_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.spUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.spUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.spToPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.spToPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.spToGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.spToGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.spPermissionsFlag_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.spPermissionsFlag_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.spLastModified_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.spLastModified_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.spIsDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.spIsDeleted_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_117).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_qr6c0q_k$(encoder, value instanceof SystemPermission ? value : THROW_CCE());
  };
  var $serializer_instance_117;
  function $serializer_getInstance_117() {
    if ($serializer_instance_117 == null)
      new $serializer_117();
    return $serializer_instance_117;
  }
  function SystemPermission_init_$Init$(seen1, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_117().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.spUid_1 = new Long(0, 0);
    else
      $this.spUid_1 = spUid;
    if (0 === (seen1 & 2))
      $this.spToPersonUid_1 = new Long(0, 0);
    else
      $this.spToPersonUid_1 = spToPersonUid;
    if (0 === (seen1 & 4))
      $this.spToGroupUid_1 = new Long(0, 0);
    else
      $this.spToGroupUid_1 = spToGroupUid;
    if (0 === (seen1 & 8))
      $this.spPermissionsFlag_1 = new Long(0, 0);
    else
      $this.spPermissionsFlag_1 = spPermissionsFlag;
    if (0 === (seen1 & 16))
      $this.spLastModified_1 = new Long(0, 0);
    else
      $this.spLastModified_1 = spLastModified;
    if (0 === (seen1 & 32))
      $this.spIsDeleted_1 = false;
    else
      $this.spIsDeleted_1 = spIsDeleted;
    return $this;
  }
  function SystemPermission_init_$Create$(seen1, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, serializationConstructorMarker) {
    return SystemPermission_init_$Init$(seen1, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, serializationConstructorMarker, objectCreate(protoOf(SystemPermission)));
  }
  function SystemPermission(spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) {
    Companion_getInstance_122();
    spUid = spUid === VOID ? new Long(0, 0) : spUid;
    spToPersonUid = spToPersonUid === VOID ? new Long(0, 0) : spToPersonUid;
    spToGroupUid = spToGroupUid === VOID ? new Long(0, 0) : spToGroupUid;
    spPermissionsFlag = spPermissionsFlag === VOID ? new Long(0, 0) : spPermissionsFlag;
    spLastModified = spLastModified === VOID ? new Long(0, 0) : spLastModified;
    spIsDeleted = spIsDeleted === VOID ? false : spIsDeleted;
    this.spUid_1 = spUid;
    this.spToPersonUid_1 = spToPersonUid;
    this.spToGroupUid_1 = spToGroupUid;
    this.spPermissionsFlag_1 = spPermissionsFlag;
    this.spLastModified_1 = spLastModified;
    this.spIsDeleted_1 = spIsDeleted;
  }
  protoOf(SystemPermission).set_spUid_gfbdxk_k$ = function (_set____db54di) {
    this.spUid_1 = _set____db54di;
  };
  protoOf(SystemPermission).get_spUid_iyn43u_k$ = function () {
    return this.spUid_1;
  };
  protoOf(SystemPermission).set_spToPersonUid_5xfgfc_k$ = function (_set____db54di) {
    this.spToPersonUid_1 = _set____db54di;
  };
  protoOf(SystemPermission).get_spToPersonUid_4lywqu_k$ = function () {
    return this.spToPersonUid_1;
  };
  protoOf(SystemPermission).set_spToGroupUid_t5o8aw_k$ = function (_set____db54di) {
    this.spToGroupUid_1 = _set____db54di;
  };
  protoOf(SystemPermission).get_spToGroupUid_gxogaa_k$ = function () {
    return this.spToGroupUid_1;
  };
  protoOf(SystemPermission).set_spPermissionsFlag_5hgv3s_k$ = function (_set____db54di) {
    this.spPermissionsFlag_1 = _set____db54di;
  };
  protoOf(SystemPermission).get_spPermissionsFlag_6fqv1y_k$ = function () {
    return this.spPermissionsFlag_1;
  };
  protoOf(SystemPermission).set_spLastModified_4ht86z_k$ = function (_set____db54di) {
    this.spLastModified_1 = _set____db54di;
  };
  protoOf(SystemPermission).get_spLastModified_fvvr0b_k$ = function () {
    return this.spLastModified_1;
  };
  protoOf(SystemPermission).set_spIsDeleted_kdad5s_k$ = function (_set____db54di) {
    this.spIsDeleted_1 = _set____db54di;
  };
  protoOf(SystemPermission).get_spIsDeleted_owiz07_k$ = function () {
    return this.spIsDeleted_1;
  };
  protoOf(SystemPermission).component1_7eebsc_k$ = function () {
    return this.spUid_1;
  };
  protoOf(SystemPermission).component2_7eebsb_k$ = function () {
    return this.spToPersonUid_1;
  };
  protoOf(SystemPermission).component3_7eebsa_k$ = function () {
    return this.spToGroupUid_1;
  };
  protoOf(SystemPermission).component4_7eebs9_k$ = function () {
    return this.spPermissionsFlag_1;
  };
  protoOf(SystemPermission).component5_7eebs8_k$ = function () {
    return this.spLastModified_1;
  };
  protoOf(SystemPermission).component6_7eebs7_k$ = function () {
    return this.spIsDeleted_1;
  };
  protoOf(SystemPermission).copy_l1jrfw_k$ = function (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) {
    return new SystemPermission(spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted);
  };
  protoOf(SystemPermission).copy$default_6nx3nb_k$ = function (spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted, $super) {
    spUid = spUid === VOID ? this.spUid_1 : spUid;
    spToPersonUid = spToPersonUid === VOID ? this.spToPersonUid_1 : spToPersonUid;
    spToGroupUid = spToGroupUid === VOID ? this.spToGroupUid_1 : spToGroupUid;
    spPermissionsFlag = spPermissionsFlag === VOID ? this.spPermissionsFlag_1 : spPermissionsFlag;
    spLastModified = spLastModified === VOID ? this.spLastModified_1 : spLastModified;
    spIsDeleted = spIsDeleted === VOID ? this.spIsDeleted_1 : spIsDeleted;
    return $super === VOID ? this.copy_l1jrfw_k$(spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted) : $super.copy_l1jrfw_k$.call(this, spUid, spToPersonUid, spToGroupUid, spPermissionsFlag, spLastModified, spIsDeleted);
  };
  protoOf(SystemPermission).toString = function () {
    return 'SystemPermission(spUid=' + this.spUid_1.toString() + ', spToPersonUid=' + this.spToPersonUid_1.toString() + ', spToGroupUid=' + this.spToGroupUid_1.toString() + ', spPermissionsFlag=' + this.spPermissionsFlag_1.toString() + ', spLastModified=' + this.spLastModified_1.toString() + ', spIsDeleted=' + this.spIsDeleted_1 + ')';
  };
  protoOf(SystemPermission).hashCode = function () {
    var result = this.spUid_1.hashCode();
    result = imul(result, 31) + this.spToPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.spToGroupUid_1.hashCode() | 0;
    result = imul(result, 31) + this.spPermissionsFlag_1.hashCode() | 0;
    result = imul(result, 31) + this.spLastModified_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.spIsDeleted_1) | 0;
    return result;
  };
  protoOf(SystemPermission).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof SystemPermission))
      return false;
    var tmp0_other_with_cast = other instanceof SystemPermission ? other : THROW_CCE();
    if (!this.spUid_1.equals(tmp0_other_with_cast.spUid_1))
      return false;
    if (!this.spToPersonUid_1.equals(tmp0_other_with_cast.spToPersonUid_1))
      return false;
    if (!this.spToGroupUid_1.equals(tmp0_other_with_cast.spToGroupUid_1))
      return false;
    if (!this.spPermissionsFlag_1.equals(tmp0_other_with_cast.spPermissionsFlag_1))
      return false;
    if (!this.spLastModified_1.equals(tmp0_other_with_cast.spLastModified_1))
      return false;
    if (!(this.spIsDeleted_1 === tmp0_other_with_cast.spIsDeleted_1))
      return false;
    return true;
  };
  function Companion_121() {
    Companion_instance_121 = this;
    this.TABLE_ID_1 = 1081;
    this.TYPE_BLOB_UPLOAD_1 = 1;
    this.TYPE_DOWNLOAD_1 = 2;
    this.CREATION_TYPE_USER_1 = 1;
    this.CREATION_TYPE_UPDATE_1 = 2;
  }
  protoOf(Companion_121).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_121).get_TYPE_BLOB_UPLOAD_1cnl5l_k$ = function () {
    return this.TYPE_BLOB_UPLOAD_1;
  };
  protoOf(Companion_121).get_TYPE_DOWNLOAD_c9nsjg_k$ = function () {
    return this.TYPE_DOWNLOAD_1;
  };
  protoOf(Companion_121).get_CREATION_TYPE_USER_usdnhj_k$ = function () {
    return this.CREATION_TYPE_USER_1;
  };
  protoOf(Companion_121).get_CREATION_TYPE_UPDATE_w9ulhz_k$ = function () {
    return this.CREATION_TYPE_UPDATE_1;
  };
  protoOf(Companion_121).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_118();
  };
  var Companion_instance_121;
  function Companion_getInstance_123() {
    if (Companion_instance_121 == null)
      new Companion_121();
    return Companion_instance_121;
  }
  function $serializer_118() {
    $serializer_instance_118 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.TransferJob', this, 10);
    tmp0_serialDesc.addElement_5pzumi_k$('tjUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjUuid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjTableId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjEntityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjTimeCreated', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjCreationType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjOiUid', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_118).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_118).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_118).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = 0;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = 0;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = 0;
    var tmp13_local9 = new Long(0, 0);
    var tmp14_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp14_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp14_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp14_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp14_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp14_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp14_input.endStructure_1xqz0n_k$(tmp0_desc);
    return TransferJob_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, null);
  };
  protoOf($serializer_118).serialize_72h18_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.tjUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.tjUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.tjType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.tjType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.tjStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.tjStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.tjName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.tjName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.tjUuid_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.tjUuid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.tjTableId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 5, value.tjTableId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.tjEntityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.tjEntityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.tjTimeCreated_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.tjTimeCreated_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.tjCreationType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.tjCreationType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.tjOiUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.tjOiUid_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_118).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_72h18_k$(encoder, value instanceof TransferJob ? value : THROW_CCE());
  };
  var $serializer_instance_118;
  function $serializer_getInstance_118() {
    if ($serializer_instance_118 == null)
      new $serializer_118();
    return $serializer_instance_118;
  }
  function TransferJob_init_$Init$(seen1, tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_118().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.tjUid_1 = 0;
    else
      $this.tjUid_1 = tjUid;
    if (0 === (seen1 & 2))
      $this.tjType_1 = 0;
    else
      $this.tjType_1 = tjType;
    if (0 === (seen1 & 4))
      $this.tjStatus_1 = 0;
    else
      $this.tjStatus_1 = tjStatus;
    if (0 === (seen1 & 8))
      $this.tjName_1 = null;
    else
      $this.tjName_1 = tjName;
    if (0 === (seen1 & 16))
      $this.tjUuid_1 = null;
    else
      $this.tjUuid_1 = tjUuid;
    if (0 === (seen1 & 32))
      $this.tjTableId_1 = 0;
    else
      $this.tjTableId_1 = tjTableId;
    if (0 === (seen1 & 64))
      $this.tjEntityUid_1 = new Long(0, 0);
    else
      $this.tjEntityUid_1 = tjEntityUid;
    if (0 === (seen1 & 128))
      $this.tjTimeCreated_1 = new Long(0, 0);
    else
      $this.tjTimeCreated_1 = tjTimeCreated;
    if (0 === (seen1 & 256))
      $this.tjCreationType_1 = 0;
    else
      $this.tjCreationType_1 = tjCreationType;
    if (0 === (seen1 & 512))
      $this.tjOiUid_1 = new Long(0, 0);
    else
      $this.tjOiUid_1 = tjOiUid;
    return $this;
  }
  function TransferJob_init_$Create$(seen1, tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid, serializationConstructorMarker) {
    return TransferJob_init_$Init$(seen1, tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid, serializationConstructorMarker, objectCreate(protoOf(TransferJob)));
  }
  function TransferJob(tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid) {
    Companion_getInstance_123();
    tjUid = tjUid === VOID ? 0 : tjUid;
    tjType = tjType === VOID ? 0 : tjType;
    tjStatus = tjStatus === VOID ? 0 : tjStatus;
    tjName = tjName === VOID ? null : tjName;
    tjUuid = tjUuid === VOID ? null : tjUuid;
    tjTableId = tjTableId === VOID ? 0 : tjTableId;
    tjEntityUid = tjEntityUid === VOID ? new Long(0, 0) : tjEntityUid;
    tjTimeCreated = tjTimeCreated === VOID ? new Long(0, 0) : tjTimeCreated;
    tjCreationType = tjCreationType === VOID ? 0 : tjCreationType;
    tjOiUid = tjOiUid === VOID ? new Long(0, 0) : tjOiUid;
    this.tjUid_1 = tjUid;
    this.tjType_1 = tjType;
    this.tjStatus_1 = tjStatus;
    this.tjName_1 = tjName;
    this.tjUuid_1 = tjUuid;
    this.tjTableId_1 = tjTableId;
    this.tjEntityUid_1 = tjEntityUid;
    this.tjTimeCreated_1 = tjTimeCreated;
    this.tjCreationType_1 = tjCreationType;
    this.tjOiUid_1 = tjOiUid;
  }
  protoOf(TransferJob).set_tjUid_n5ffgr_k$ = function (_set____db54di) {
    this.tjUid_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjUid_iz32s1_k$ = function () {
    return this.tjUid_1;
  };
  protoOf(TransferJob).set_tjType_7mlacb_k$ = function (_set____db54di) {
    this.tjType_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjType_jyqnkp_k$ = function () {
    return this.tjType_1;
  };
  protoOf(TransferJob).set_tjStatus_83krdv_k$ = function (_set____db54di) {
    this.tjStatus_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjStatus_7h2pxt_k$ = function () {
    return this.tjStatus_1;
  };
  protoOf(TransferJob).set_tjName_x53ltz_k$ = function (_set____db54di) {
    this.tjName_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjName_jymbsa_k$ = function () {
    return this.tjName_1;
  };
  protoOf(TransferJob).set_tjUuid_13if7t_k$ = function (_set____db54di) {
    this.tjUuid_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjUuid_jyr7fe_k$ = function () {
    return this.tjUuid_1;
  };
  protoOf(TransferJob).set_tjTableId_qxjmxa_k$ = function (_set____db54di) {
    this.tjTableId_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjTableId_oaxytm_k$ = function () {
    return this.tjTableId_1;
  };
  protoOf(TransferJob).set_tjEntityUid_kykjj0_k$ = function (_set____db54di) {
    this.tjEntityUid_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjEntityUid_7lvr5a_k$ = function () {
    return this.tjEntityUid_1;
  };
  protoOf(TransferJob).set_tjTimeCreated_pcsbey_k$ = function (_set____db54di) {
    this.tjTimeCreated_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjTimeCreated_2k23fg_k$ = function () {
    return this.tjTimeCreated_1;
  };
  protoOf(TransferJob).set_tjCreationType_weqt38_k$ = function (_set____db54di) {
    this.tjCreationType_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjCreationType_1atu3s_k$ = function () {
    return this.tjCreationType_1;
  };
  protoOf(TransferJob).set_tjOiUid_oaj4ez_k$ = function (_set____db54di) {
    this.tjOiUid_1 = _set____db54di;
  };
  protoOf(TransferJob).get_tjOiUid_kg3xk9_k$ = function () {
    return this.tjOiUid_1;
  };
  protoOf(TransferJob).component1_7eebsc_k$ = function () {
    return this.tjUid_1;
  };
  protoOf(TransferJob).component2_7eebsb_k$ = function () {
    return this.tjType_1;
  };
  protoOf(TransferJob).component3_7eebsa_k$ = function () {
    return this.tjStatus_1;
  };
  protoOf(TransferJob).component4_7eebs9_k$ = function () {
    return this.tjName_1;
  };
  protoOf(TransferJob).component5_7eebs8_k$ = function () {
    return this.tjUuid_1;
  };
  protoOf(TransferJob).component6_7eebs7_k$ = function () {
    return this.tjTableId_1;
  };
  protoOf(TransferJob).component7_7eebs6_k$ = function () {
    return this.tjEntityUid_1;
  };
  protoOf(TransferJob).component8_7eebs5_k$ = function () {
    return this.tjTimeCreated_1;
  };
  protoOf(TransferJob).component9_7eebs4_k$ = function () {
    return this.tjCreationType_1;
  };
  protoOf(TransferJob).component10_gazzfo_k$ = function () {
    return this.tjOiUid_1;
  };
  protoOf(TransferJob).copy_c6i0x3_k$ = function (tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid) {
    return new TransferJob(tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid);
  };
  protoOf(TransferJob).copy$default_rt3x2u_k$ = function (tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid, $super) {
    tjUid = tjUid === VOID ? this.tjUid_1 : tjUid;
    tjType = tjType === VOID ? this.tjType_1 : tjType;
    tjStatus = tjStatus === VOID ? this.tjStatus_1 : tjStatus;
    tjName = tjName === VOID ? this.tjName_1 : tjName;
    tjUuid = tjUuid === VOID ? this.tjUuid_1 : tjUuid;
    tjTableId = tjTableId === VOID ? this.tjTableId_1 : tjTableId;
    tjEntityUid = tjEntityUid === VOID ? this.tjEntityUid_1 : tjEntityUid;
    tjTimeCreated = tjTimeCreated === VOID ? this.tjTimeCreated_1 : tjTimeCreated;
    tjCreationType = tjCreationType === VOID ? this.tjCreationType_1 : tjCreationType;
    tjOiUid = tjOiUid === VOID ? this.tjOiUid_1 : tjOiUid;
    return $super === VOID ? this.copy_c6i0x3_k$(tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid) : $super.copy_c6i0x3_k$.call(this, tjUid, tjType, tjStatus, tjName, tjUuid, tjTableId, tjEntityUid, tjTimeCreated, tjCreationType, tjOiUid);
  };
  protoOf(TransferJob).toString = function () {
    return 'TransferJob(tjUid=' + this.tjUid_1 + ', tjType=' + this.tjType_1 + ', tjStatus=' + this.tjStatus_1 + ', tjName=' + this.tjName_1 + ', tjUuid=' + this.tjUuid_1 + ', tjTableId=' + this.tjTableId_1 + ', tjEntityUid=' + this.tjEntityUid_1.toString() + ', tjTimeCreated=' + this.tjTimeCreated_1.toString() + ', tjCreationType=' + this.tjCreationType_1 + ', tjOiUid=' + this.tjOiUid_1.toString() + ')';
  };
  protoOf(TransferJob).hashCode = function () {
    var result = this.tjUid_1;
    result = imul(result, 31) + this.tjType_1 | 0;
    result = imul(result, 31) + this.tjStatus_1 | 0;
    result = imul(result, 31) + (this.tjName_1 == null ? 0 : getStringHashCode(this.tjName_1)) | 0;
    result = imul(result, 31) + (this.tjUuid_1 == null ? 0 : getStringHashCode(this.tjUuid_1)) | 0;
    result = imul(result, 31) + this.tjTableId_1 | 0;
    result = imul(result, 31) + this.tjEntityUid_1.hashCode() | 0;
    result = imul(result, 31) + this.tjTimeCreated_1.hashCode() | 0;
    result = imul(result, 31) + this.tjCreationType_1 | 0;
    result = imul(result, 31) + this.tjOiUid_1.hashCode() | 0;
    return result;
  };
  protoOf(TransferJob).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJob))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJob ? other : THROW_CCE();
    if (!(this.tjUid_1 === tmp0_other_with_cast.tjUid_1))
      return false;
    if (!(this.tjType_1 === tmp0_other_with_cast.tjType_1))
      return false;
    if (!(this.tjStatus_1 === tmp0_other_with_cast.tjStatus_1))
      return false;
    if (!(this.tjName_1 == tmp0_other_with_cast.tjName_1))
      return false;
    if (!(this.tjUuid_1 == tmp0_other_with_cast.tjUuid_1))
      return false;
    if (!(this.tjTableId_1 === tmp0_other_with_cast.tjTableId_1))
      return false;
    if (!this.tjEntityUid_1.equals(tmp0_other_with_cast.tjEntityUid_1))
      return false;
    if (!this.tjTimeCreated_1.equals(tmp0_other_with_cast.tjTimeCreated_1))
      return false;
    if (!(this.tjCreationType_1 === tmp0_other_with_cast.tjCreationType_1))
      return false;
    if (!this.tjOiUid_1.equals(tmp0_other_with_cast.tjOiUid_1))
      return false;
    return true;
  };
  function Companion_122() {
    Companion_instance_122 = this;
  }
  protoOf(Companion_122).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_119();
  };
  var Companion_instance_122;
  function Companion_getInstance_124() {
    if (Companion_instance_122 == null)
      new Companion_122();
    return Companion_instance_122;
  }
  function $serializer_119() {
    $serializer_instance_119 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.TransferJobError', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('tjeId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjeTjUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjeTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjeErrorStr', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjeDismissed', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_119).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_119).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_119).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = false;
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return TransferJobError_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_119).serialize_db2s82_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.tjeId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.tjeId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.tjeTjUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.tjeTjUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.tjeTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.tjeTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.tjeErrorStr_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.tjeErrorStr_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.tjeDismissed_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 4, value.tjeDismissed_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_119).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_db2s82_k$(encoder, value instanceof TransferJobError ? value : THROW_CCE());
  };
  var $serializer_instance_119;
  function $serializer_getInstance_119() {
    if ($serializer_instance_119 == null)
      new $serializer_119();
    return $serializer_instance_119;
  }
  function TransferJobError_init_$Init$(seen1, tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_119().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.tjeId_1 = 0;
    else
      $this.tjeId_1 = tjeId;
    if (0 === (seen1 & 2))
      $this.tjeTjUid_1 = 0;
    else
      $this.tjeTjUid_1 = tjeTjUid;
    if (0 === (seen1 & 4))
      $this.tjeTime_1 = new Long(0, 0);
    else
      $this.tjeTime_1 = tjeTime;
    if (0 === (seen1 & 8))
      $this.tjeErrorStr_1 = null;
    else
      $this.tjeErrorStr_1 = tjeErrorStr;
    if (0 === (seen1 & 16))
      $this.tjeDismissed_1 = false;
    else
      $this.tjeDismissed_1 = tjeDismissed;
    return $this;
  }
  function TransferJobError_init_$Create$(seen1, tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed, serializationConstructorMarker) {
    return TransferJobError_init_$Init$(seen1, tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed, serializationConstructorMarker, objectCreate(protoOf(TransferJobError)));
  }
  function TransferJobError(tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed) {
    Companion_getInstance_124();
    tjeId = tjeId === VOID ? 0 : tjeId;
    tjeTjUid = tjeTjUid === VOID ? 0 : tjeTjUid;
    tjeTime = tjeTime === VOID ? new Long(0, 0) : tjeTime;
    tjeErrorStr = tjeErrorStr === VOID ? null : tjeErrorStr;
    tjeDismissed = tjeDismissed === VOID ? false : tjeDismissed;
    this.tjeId_1 = tjeId;
    this.tjeTjUid_1 = tjeTjUid;
    this.tjeTime_1 = tjeTime;
    this.tjeErrorStr_1 = tjeErrorStr;
    this.tjeDismissed_1 = tjeDismissed;
  }
  protoOf(TransferJobError).set_tjeId_6xtfx7_k$ = function (_set____db54di) {
    this.tjeId_1 = _set____db54di;
  };
  protoOf(TransferJobError).get_tjeId_iz3dvl_k$ = function () {
    return this.tjeId_1;
  };
  protoOf(TransferJobError).set_tjeTjUid_v9j1hc_k$ = function (_set____db54di) {
    this.tjeTjUid_1 = _set____db54di;
  };
  protoOf(TransferJobError).get_tjeTjUid_fifln8_k$ = function () {
    return this.tjeTjUid_1;
  };
  protoOf(TransferJobError).set_tjeTime_zfk0cf_k$ = function (_set____db54di) {
    this.tjeTime_1 = _set____db54di;
  };
  protoOf(TransferJobError).get_tjeTime_k4dgb1_k$ = function () {
    return this.tjeTime_1;
  };
  protoOf(TransferJobError).set_tjeErrorStr_i9bjvg_k$ = function (_set____db54di) {
    this.tjeErrorStr_1 = _set____db54di;
  };
  protoOf(TransferJobError).get_tjeErrorStr_ox66c1_k$ = function () {
    return this.tjeErrorStr_1;
  };
  protoOf(TransferJobError).set_tjeDismissed_xr611e_k$ = function (_set____db54di) {
    this.tjeDismissed_1 = _set____db54di;
  };
  protoOf(TransferJobError).get_tjeDismissed_5yod8j_k$ = function () {
    return this.tjeDismissed_1;
  };
  protoOf(TransferJobError).component1_7eebsc_k$ = function () {
    return this.tjeId_1;
  };
  protoOf(TransferJobError).component2_7eebsb_k$ = function () {
    return this.tjeTjUid_1;
  };
  protoOf(TransferJobError).component3_7eebsa_k$ = function () {
    return this.tjeTime_1;
  };
  protoOf(TransferJobError).component4_7eebs9_k$ = function () {
    return this.tjeErrorStr_1;
  };
  protoOf(TransferJobError).component5_7eebs8_k$ = function () {
    return this.tjeDismissed_1;
  };
  protoOf(TransferJobError).copy_crg4cz_k$ = function (tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed) {
    return new TransferJobError(tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed);
  };
  protoOf(TransferJobError).copy$default_averf7_k$ = function (tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed, $super) {
    tjeId = tjeId === VOID ? this.tjeId_1 : tjeId;
    tjeTjUid = tjeTjUid === VOID ? this.tjeTjUid_1 : tjeTjUid;
    tjeTime = tjeTime === VOID ? this.tjeTime_1 : tjeTime;
    tjeErrorStr = tjeErrorStr === VOID ? this.tjeErrorStr_1 : tjeErrorStr;
    tjeDismissed = tjeDismissed === VOID ? this.tjeDismissed_1 : tjeDismissed;
    return $super === VOID ? this.copy_crg4cz_k$(tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed) : $super.copy_crg4cz_k$.call(this, tjeId, tjeTjUid, tjeTime, tjeErrorStr, tjeDismissed);
  };
  protoOf(TransferJobError).toString = function () {
    return 'TransferJobError(tjeId=' + this.tjeId_1 + ', tjeTjUid=' + this.tjeTjUid_1 + ', tjeTime=' + this.tjeTime_1.toString() + ', tjeErrorStr=' + this.tjeErrorStr_1 + ', tjeDismissed=' + this.tjeDismissed_1 + ')';
  };
  protoOf(TransferJobError).hashCode = function () {
    var result = this.tjeId_1;
    result = imul(result, 31) + this.tjeTjUid_1 | 0;
    result = imul(result, 31) + this.tjeTime_1.hashCode() | 0;
    result = imul(result, 31) + (this.tjeErrorStr_1 == null ? 0 : getStringHashCode(this.tjeErrorStr_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.tjeDismissed_1) | 0;
    return result;
  };
  protoOf(TransferJobError).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJobError))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJobError ? other : THROW_CCE();
    if (!(this.tjeId_1 === tmp0_other_with_cast.tjeId_1))
      return false;
    if (!(this.tjeTjUid_1 === tmp0_other_with_cast.tjeTjUid_1))
      return false;
    if (!this.tjeTime_1.equals(tmp0_other_with_cast.tjeTime_1))
      return false;
    if (!(this.tjeErrorStr_1 == tmp0_other_with_cast.tjeErrorStr_1))
      return false;
    if (!(this.tjeDismissed_1 === tmp0_other_with_cast.tjeDismissed_1))
      return false;
    return true;
  };
  function Companion_123() {
    Companion_instance_123 = this;
  }
  protoOf(Companion_123).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_120();
  };
  var Companion_instance_123;
  function Companion_getInstance_125() {
    if (Companion_instance_123 == null)
      new Companion_123();
    return Companion_instance_123;
  }
  function $serializer_120() {
    $serializer_instance_120 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.TransferJobItem', this, 14);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiTjUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjTotalSize', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjTransferred', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjAttemptCount', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiSrc', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiDest', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiTableId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiEntityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiEntityEtag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiLockIdToRelease', true);
    tmp0_serialDesc.addElement_5pzumi_k$('tjiPartialTmpFile', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_120).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_120).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_120).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = 0;
    var tmp5_local1 = 0;
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = 0;
    var tmp12_local8 = 0;
    var tmp13_local9 = 0;
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = new Long(0, 0);
    var tmp17_local13 = null;
    var tmp18_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp18_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.endStructure_1xqz0n_k$(tmp0_desc);
    return TransferJobItem_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_120).serialize_12gi7d_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !(value.tjiUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 0, value.tjiUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.tjiTjUid_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 1, value.tjiTjUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.tjTotalSize_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.tjTotalSize_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.tjTransferred_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.tjTransferred_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.tjAttemptCount_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.tjAttemptCount_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.tjiSrc_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.tjiSrc_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.tjiDest_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.tjiDest_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.tjiType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.tjiType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.tjiStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 8, value.tjiStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.tjiTableId_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.tjiTableId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.tjiEntityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.tjiEntityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.tjiEntityEtag_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.tjiEntityEtag_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !value.tjiLockIdToRelease_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 12, value.tjiLockIdToRelease_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.tjiPartialTmpFile_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 13, StringSerializer_getInstance(), value.tjiPartialTmpFile_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_120).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_12gi7d_k$(encoder, value instanceof TransferJobItem ? value : THROW_CCE());
  };
  var $serializer_instance_120;
  function $serializer_getInstance_120() {
    if ($serializer_instance_120 == null)
      new $serializer_120();
    return $serializer_instance_120;
  }
  function TransferJobItem_init_$Init$(seen1, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_120().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.tjiUid_1 = 0;
    else
      $this.tjiUid_1 = tjiUid;
    if (0 === (seen1 & 2))
      $this.tjiTjUid_1 = 0;
    else
      $this.tjiTjUid_1 = tjiTjUid;
    if (0 === (seen1 & 4))
      $this.tjTotalSize_1 = new Long(0, 0);
    else
      $this.tjTotalSize_1 = tjTotalSize;
    if (0 === (seen1 & 8))
      $this.tjTransferred_1 = new Long(0, 0);
    else
      $this.tjTransferred_1 = tjTransferred;
    if (0 === (seen1 & 16))
      $this.tjAttemptCount_1 = 0;
    else
      $this.tjAttemptCount_1 = tjAttemptCount;
    if (0 === (seen1 & 32))
      $this.tjiSrc_1 = null;
    else
      $this.tjiSrc_1 = tjiSrc;
    if (0 === (seen1 & 64))
      $this.tjiDest_1 = null;
    else
      $this.tjiDest_1 = tjiDest;
    if (0 === (seen1 & 128))
      $this.tjiType_1 = 0;
    else
      $this.tjiType_1 = tjiType;
    if (0 === (seen1 & 256))
      $this.tjiStatus_1 = 0;
    else
      $this.tjiStatus_1 = tjiStatus;
    if (0 === (seen1 & 512))
      $this.tjiTableId_1 = 0;
    else
      $this.tjiTableId_1 = tjiTableId;
    if (0 === (seen1 & 1024))
      $this.tjiEntityUid_1 = new Long(0, 0);
    else
      $this.tjiEntityUid_1 = tjiEntityUid;
    if (0 === (seen1 & 2048))
      $this.tjiEntityEtag_1 = new Long(0, 0);
    else
      $this.tjiEntityEtag_1 = tjiEntityEtag;
    if (0 === (seen1 & 4096))
      $this.tjiLockIdToRelease_1 = new Long(0, 0);
    else
      $this.tjiLockIdToRelease_1 = tjiLockIdToRelease;
    if (0 === (seen1 & 8192))
      $this.tjiPartialTmpFile_1 = null;
    else
      $this.tjiPartialTmpFile_1 = tjiPartialTmpFile;
    return $this;
  }
  function TransferJobItem_init_$Create$(seen1, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, serializationConstructorMarker) {
    return TransferJobItem_init_$Init$(seen1, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, serializationConstructorMarker, objectCreate(protoOf(TransferJobItem)));
  }
  function TransferJobItem(tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) {
    Companion_getInstance_125();
    tjiUid = tjiUid === VOID ? 0 : tjiUid;
    tjiTjUid = tjiTjUid === VOID ? 0 : tjiTjUid;
    tjTotalSize = tjTotalSize === VOID ? new Long(0, 0) : tjTotalSize;
    tjTransferred = tjTransferred === VOID ? new Long(0, 0) : tjTransferred;
    tjAttemptCount = tjAttemptCount === VOID ? 0 : tjAttemptCount;
    tjiSrc = tjiSrc === VOID ? null : tjiSrc;
    tjiDest = tjiDest === VOID ? null : tjiDest;
    tjiType = tjiType === VOID ? 0 : tjiType;
    tjiStatus = tjiStatus === VOID ? 0 : tjiStatus;
    tjiTableId = tjiTableId === VOID ? 0 : tjiTableId;
    tjiEntityUid = tjiEntityUid === VOID ? new Long(0, 0) : tjiEntityUid;
    tjiEntityEtag = tjiEntityEtag === VOID ? new Long(0, 0) : tjiEntityEtag;
    tjiLockIdToRelease = tjiLockIdToRelease === VOID ? new Long(0, 0) : tjiLockIdToRelease;
    tjiPartialTmpFile = tjiPartialTmpFile === VOID ? null : tjiPartialTmpFile;
    this.tjiUid_1 = tjiUid;
    this.tjiTjUid_1 = tjiTjUid;
    this.tjTotalSize_1 = tjTotalSize;
    this.tjTransferred_1 = tjTransferred;
    this.tjAttemptCount_1 = tjAttemptCount;
    this.tjiSrc_1 = tjiSrc;
    this.tjiDest_1 = tjiDest;
    this.tjiType_1 = tjiType;
    this.tjiStatus_1 = tjiStatus;
    this.tjiTableId_1 = tjiTableId;
    this.tjiEntityUid_1 = tjiEntityUid;
    this.tjiEntityEtag_1 = tjiEntityEtag;
    this.tjiLockIdToRelease_1 = tjiLockIdToRelease;
    this.tjiPartialTmpFile_1 = tjiPartialTmpFile;
  }
  protoOf(TransferJobItem).set_tjiUid_myc2qa_k$ = function (_set____db54di) {
    this.tjiUid_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiUid_jz3bfq_k$ = function () {
    return this.tjiUid_1;
  };
  protoOf(TransferJobItem).set_tjiTjUid_udatks_k$ = function (_set____db54di) {
    this.tjiTjUid_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiTjUid_hem380_k$ = function () {
    return this.tjiTjUid_1;
  };
  protoOf(TransferJobItem).set_tjTotalSize_7pxuqc_k$ = function (_set____db54di) {
    this.tjTotalSize_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjTotalSize_ab321y_k$ = function () {
    return this.tjTotalSize_1;
  };
  protoOf(TransferJobItem).set_tjTransferred_3nl9gr_k$ = function (_set____db54di) {
    this.tjTransferred_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjTransferred_bpsx1j_k$ = function () {
    return this.tjTransferred_1;
  };
  protoOf(TransferJobItem).set_tjAttemptCount_igjael_k$ = function (_set____db54di) {
    this.tjAttemptCount_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjAttemptCount_ojcg69_k$ = function () {
    return this.tjAttemptCount_1;
  };
  protoOf(TransferJobItem).set_tjiSrc_jzibvt_k$ = function (_set____db54di) {
    this.tjiSrc_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiSrc_jz3a62_k$ = function () {
    return this.tjiSrc_1;
  };
  protoOf(TransferJobItem).set_tjiDest_cnj5xd_k$ = function (_set____db54di) {
    this.tjiDest_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiDest_k2gkj8_k$ = function () {
    return this.tjiDest_1;
  };
  protoOf(TransferJobItem).set_tjiType_zua7c_k$ = function (_set____db54di) {
    this.tjiType_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiType_k25xzw_k$ = function () {
    return this.tjiType_1;
  };
  protoOf(TransferJobItem).set_tjiStatus_vw3q8w_k$ = function (_set____db54di) {
    this.tjiStatus_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiStatus_sz7fvo_k$ = function () {
    return this.tjiStatus_1;
  };
  protoOf(TransferJobItem).set_tjiTableId_bnu1h_k$ = function (_set____db54di) {
    this.tjiTableId_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiTableId_urzu1r_k$ = function () {
    return this.tjiTableId_1;
  };
  protoOf(TransferJobItem).set_tjiEntityUid_rwqonb_k$ = function (_set____db54di) {
    this.tjiEntityUid_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiEntityUid_lx6if1_k$ = function () {
    return this.tjiEntityUid_1;
  };
  protoOf(TransferJobItem).set_tjiEntityEtag_l7x60g_k$ = function (_set____db54di) {
    this.tjiEntityEtag_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiEntityEtag_uq8p6q_k$ = function () {
    return this.tjiEntityEtag_1;
  };
  protoOf(TransferJobItem).set_tjiLockIdToRelease_gx0a0i_k$ = function (_set____db54di) {
    this.tjiLockIdToRelease_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiLockIdToRelease_peqr38_k$ = function () {
    return this.tjiLockIdToRelease_1;
  };
  protoOf(TransferJobItem).set_tjiPartialTmpFile_3ekqa9_k$ = function (_set____db54di) {
    this.tjiPartialTmpFile_1 = _set____db54di;
  };
  protoOf(TransferJobItem).get_tjiPartialTmpFile_vfy1es_k$ = function () {
    return this.tjiPartialTmpFile_1;
  };
  protoOf(TransferJobItem).component1_7eebsc_k$ = function () {
    return this.tjiUid_1;
  };
  protoOf(TransferJobItem).component2_7eebsb_k$ = function () {
    return this.tjiTjUid_1;
  };
  protoOf(TransferJobItem).component3_7eebsa_k$ = function () {
    return this.tjTotalSize_1;
  };
  protoOf(TransferJobItem).component4_7eebs9_k$ = function () {
    return this.tjTransferred_1;
  };
  protoOf(TransferJobItem).component5_7eebs8_k$ = function () {
    return this.tjAttemptCount_1;
  };
  protoOf(TransferJobItem).component6_7eebs7_k$ = function () {
    return this.tjiSrc_1;
  };
  protoOf(TransferJobItem).component7_7eebs6_k$ = function () {
    return this.tjiDest_1;
  };
  protoOf(TransferJobItem).component8_7eebs5_k$ = function () {
    return this.tjiType_1;
  };
  protoOf(TransferJobItem).component9_7eebs4_k$ = function () {
    return this.tjiStatus_1;
  };
  protoOf(TransferJobItem).component10_gazzfo_k$ = function () {
    return this.tjiTableId_1;
  };
  protoOf(TransferJobItem).component11_gazzfn_k$ = function () {
    return this.tjiEntityUid_1;
  };
  protoOf(TransferJobItem).component12_gazzfm_k$ = function () {
    return this.tjiEntityEtag_1;
  };
  protoOf(TransferJobItem).component13_gazzfl_k$ = function () {
    return this.tjiLockIdToRelease_1;
  };
  protoOf(TransferJobItem).component14_gazzfk_k$ = function () {
    return this.tjiPartialTmpFile_1;
  };
  protoOf(TransferJobItem).copy_rsjlo_k$ = function (tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) {
    return new TransferJobItem(tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile);
  };
  protoOf(TransferJobItem).copy$default_dgkv9y_k$ = function (tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile, $super) {
    tjiUid = tjiUid === VOID ? this.tjiUid_1 : tjiUid;
    tjiTjUid = tjiTjUid === VOID ? this.tjiTjUid_1 : tjiTjUid;
    tjTotalSize = tjTotalSize === VOID ? this.tjTotalSize_1 : tjTotalSize;
    tjTransferred = tjTransferred === VOID ? this.tjTransferred_1 : tjTransferred;
    tjAttemptCount = tjAttemptCount === VOID ? this.tjAttemptCount_1 : tjAttemptCount;
    tjiSrc = tjiSrc === VOID ? this.tjiSrc_1 : tjiSrc;
    tjiDest = tjiDest === VOID ? this.tjiDest_1 : tjiDest;
    tjiType = tjiType === VOID ? this.tjiType_1 : tjiType;
    tjiStatus = tjiStatus === VOID ? this.tjiStatus_1 : tjiStatus;
    tjiTableId = tjiTableId === VOID ? this.tjiTableId_1 : tjiTableId;
    tjiEntityUid = tjiEntityUid === VOID ? this.tjiEntityUid_1 : tjiEntityUid;
    tjiEntityEtag = tjiEntityEtag === VOID ? this.tjiEntityEtag_1 : tjiEntityEtag;
    tjiLockIdToRelease = tjiLockIdToRelease === VOID ? this.tjiLockIdToRelease_1 : tjiLockIdToRelease;
    tjiPartialTmpFile = tjiPartialTmpFile === VOID ? this.tjiPartialTmpFile_1 : tjiPartialTmpFile;
    return $super === VOID ? this.copy_rsjlo_k$(tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile) : $super.copy_rsjlo_k$.call(this, tjiUid, tjiTjUid, tjTotalSize, tjTransferred, tjAttemptCount, tjiSrc, tjiDest, tjiType, tjiStatus, tjiTableId, tjiEntityUid, tjiEntityEtag, tjiLockIdToRelease, tjiPartialTmpFile);
  };
  protoOf(TransferJobItem).toString = function () {
    return 'TransferJobItem(tjiUid=' + this.tjiUid_1 + ', tjiTjUid=' + this.tjiTjUid_1 + ', tjTotalSize=' + this.tjTotalSize_1.toString() + ', tjTransferred=' + this.tjTransferred_1.toString() + ', tjAttemptCount=' + this.tjAttemptCount_1 + ', tjiSrc=' + this.tjiSrc_1 + ', tjiDest=' + this.tjiDest_1 + ', tjiType=' + this.tjiType_1 + ', tjiStatus=' + this.tjiStatus_1 + ', tjiTableId=' + this.tjiTableId_1 + ', tjiEntityUid=' + this.tjiEntityUid_1.toString() + ', tjiEntityEtag=' + this.tjiEntityEtag_1.toString() + ', tjiLockIdToRelease=' + this.tjiLockIdToRelease_1.toString() + ', tjiPartialTmpFile=' + this.tjiPartialTmpFile_1 + ')';
  };
  protoOf(TransferJobItem).hashCode = function () {
    var result = this.tjiUid_1;
    result = imul(result, 31) + this.tjiTjUid_1 | 0;
    result = imul(result, 31) + this.tjTotalSize_1.hashCode() | 0;
    result = imul(result, 31) + this.tjTransferred_1.hashCode() | 0;
    result = imul(result, 31) + this.tjAttemptCount_1 | 0;
    result = imul(result, 31) + (this.tjiSrc_1 == null ? 0 : getStringHashCode(this.tjiSrc_1)) | 0;
    result = imul(result, 31) + (this.tjiDest_1 == null ? 0 : getStringHashCode(this.tjiDest_1)) | 0;
    result = imul(result, 31) + this.tjiType_1 | 0;
    result = imul(result, 31) + this.tjiStatus_1 | 0;
    result = imul(result, 31) + this.tjiTableId_1 | 0;
    result = imul(result, 31) + this.tjiEntityUid_1.hashCode() | 0;
    result = imul(result, 31) + this.tjiEntityEtag_1.hashCode() | 0;
    result = imul(result, 31) + this.tjiLockIdToRelease_1.hashCode() | 0;
    result = imul(result, 31) + (this.tjiPartialTmpFile_1 == null ? 0 : getStringHashCode(this.tjiPartialTmpFile_1)) | 0;
    return result;
  };
  protoOf(TransferJobItem).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof TransferJobItem))
      return false;
    var tmp0_other_with_cast = other instanceof TransferJobItem ? other : THROW_CCE();
    if (!(this.tjiUid_1 === tmp0_other_with_cast.tjiUid_1))
      return false;
    if (!(this.tjiTjUid_1 === tmp0_other_with_cast.tjiTjUid_1))
      return false;
    if (!this.tjTotalSize_1.equals(tmp0_other_with_cast.tjTotalSize_1))
      return false;
    if (!this.tjTransferred_1.equals(tmp0_other_with_cast.tjTransferred_1))
      return false;
    if (!(this.tjAttemptCount_1 === tmp0_other_with_cast.tjAttemptCount_1))
      return false;
    if (!(this.tjiSrc_1 == tmp0_other_with_cast.tjiSrc_1))
      return false;
    if (!(this.tjiDest_1 == tmp0_other_with_cast.tjiDest_1))
      return false;
    if (!(this.tjiType_1 === tmp0_other_with_cast.tjiType_1))
      return false;
    if (!(this.tjiStatus_1 === tmp0_other_with_cast.tjiStatus_1))
      return false;
    if (!(this.tjiTableId_1 === tmp0_other_with_cast.tjiTableId_1))
      return false;
    if (!this.tjiEntityUid_1.equals(tmp0_other_with_cast.tjiEntityUid_1))
      return false;
    if (!this.tjiEntityEtag_1.equals(tmp0_other_with_cast.tjiEntityEtag_1))
      return false;
    if (!this.tjiLockIdToRelease_1.equals(tmp0_other_with_cast.tjiLockIdToRelease_1))
      return false;
    if (!(this.tjiPartialTmpFile_1 == tmp0_other_with_cast.tjiPartialTmpFile_1))
      return false;
    return true;
  };
  function Companion_124() {
    Companion_instance_124 = this;
  }
  protoOf(Companion_124).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_121();
  };
  var Companion_instance_124;
  function Companion_getInstance_126() {
    if (Companion_instance_124 == null)
      new Companion_124();
    return Companion_instance_124;
  }
  function $serializer_121() {
    $serializer_instance_121 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.UidAndLabel', this, 2);
    tmp0_serialDesc.addElement_5pzumi_k$('uid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('labelName', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_121).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_121).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_121).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp6_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp6_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp6_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp6_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp6_input.endStructure_1xqz0n_k$(tmp0_desc);
    return UidAndLabel_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, null);
  };
  protoOf($serializer_121).serialize_2cmucf_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.uid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.uid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.labelName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.labelName_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_121).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_2cmucf_k$(encoder, value instanceof UidAndLabel ? value : THROW_CCE());
  };
  var $serializer_instance_121;
  function $serializer_getInstance_121() {
    if ($serializer_instance_121 == null)
      new $serializer_121();
    return $serializer_instance_121;
  }
  function UidAndLabel_init_$Init$(seen1, uid, labelName, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_121().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.uid_1 = new Long(0, 0);
    else
      $this.uid_1 = uid;
    if (0 === (seen1 & 2))
      $this.labelName_1 = null;
    else
      $this.labelName_1 = labelName;
    return $this;
  }
  function UidAndLabel_init_$Create$(seen1, uid, labelName, serializationConstructorMarker) {
    return UidAndLabel_init_$Init$(seen1, uid, labelName, serializationConstructorMarker, objectCreate(protoOf(UidAndLabel)));
  }
  function UidAndLabel() {
    Companion_getInstance_126();
    this.uid_1 = new Long(0, 0);
    this.labelName_1 = null;
  }
  protoOf(UidAndLabel).set_uid_lbehe3_k$ = function (_set____db54di) {
    this.uid_1 = _set____db54di;
  };
  protoOf(UidAndLabel).get_uid_18iuqh_k$ = function () {
    return this.uid_1;
  };
  protoOf(UidAndLabel).set_labelName_l2tf85_k$ = function (_set____db54di) {
    this.labelName_1 = _set____db54di;
  };
  protoOf(UidAndLabel).get_labelName_1jf3ey_k$ = function () {
    return this.labelName_1;
  };
  function Companion_125() {
    Companion_instance_125 = this;
  }
  protoOf(Companion_125).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_122();
  };
  var Companion_instance_125;
  function Companion_getInstance_127() {
    if (Companion_instance_125 == null)
      new Companion_125();
    return Companion_instance_125;
  }
  function $serializer_122() {
    $serializer_instance_122 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.UmAccount', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('personUid', false);
    tmp0_serialDesc.addElement_5pzumi_k$('username', true);
    tmp0_serialDesc.addElement_5pzumi_k$('auth', true);
    tmp0_serialDesc.addElement_5pzumi_k$('endpointUrl', true);
    tmp0_serialDesc.addElement_5pzumi_k$('firstName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('lastName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('admin', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_122).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_122).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), StringSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_122).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = false;
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeStringElement_3oenpg_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeStringElement_3oenpg_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return UmAccount_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_122).serialize_2rt7g9_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.personUid_1);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.username_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.username_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.auth_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.auth_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.endpointUrl_1 === '')) {
      tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 3, value.endpointUrl_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.firstName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.firstName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.lastName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.lastName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.admin_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 6, value.admin_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_122).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_2rt7g9_k$(encoder, value instanceof UmAccount ? value : THROW_CCE());
  };
  var $serializer_instance_122;
  function $serializer_getInstance_122() {
    if ($serializer_instance_122 == null)
      new $serializer_122();
    return $serializer_instance_122;
  }
  function UmAccount_init_$Init$(seen1, personUid, username, auth, endpointUrl, firstName, lastName, admin, serializationConstructorMarker, $this) {
    if (!(1 === (1 & seen1))) {
      throwMissingFieldException(seen1, 1, $serializer_getInstance_122().descriptor_1);
    }
    $this.personUid_1 = personUid;
    if (0 === (seen1 & 2))
      $this.username_1 = null;
    else
      $this.username_1 = username;
    if (0 === (seen1 & 4))
      $this.auth_1 = null;
    else
      $this.auth_1 = auth;
    if (0 === (seen1 & 8))
      $this.endpointUrl_1 = '';
    else
      $this.endpointUrl_1 = endpointUrl;
    if (0 === (seen1 & 16))
      $this.firstName_1 = null;
    else
      $this.firstName_1 = firstName;
    if (0 === (seen1 & 32))
      $this.lastName_1 = null;
    else
      $this.lastName_1 = lastName;
    if (0 === (seen1 & 64))
      $this.admin_1 = false;
    else
      $this.admin_1 = admin;
    return $this;
  }
  function UmAccount_init_$Create$(seen1, personUid, username, auth, endpointUrl, firstName, lastName, admin, serializationConstructorMarker) {
    return UmAccount_init_$Init$(seen1, personUid, username, auth, endpointUrl, firstName, lastName, admin, serializationConstructorMarker, objectCreate(protoOf(UmAccount)));
  }
  function UmAccount(personUid, username, auth, endpointUrl, firstName, lastName, admin) {
    Companion_getInstance_127();
    username = username === VOID ? null : username;
    auth = auth === VOID ? null : auth;
    endpointUrl = endpointUrl === VOID ? '' : endpointUrl;
    firstName = firstName === VOID ? null : firstName;
    lastName = lastName === VOID ? null : lastName;
    admin = admin === VOID ? false : admin;
    this.personUid_1 = personUid;
    this.username_1 = username;
    this.auth_1 = auth;
    this.endpointUrl_1 = endpointUrl;
    this.firstName_1 = firstName;
    this.lastName_1 = lastName;
    this.admin_1 = admin;
  }
  protoOf(UmAccount).set_personUid_j3idds_k$ = function (_set____db54di) {
    this.personUid_1 = _set____db54di;
  };
  protoOf(UmAccount).get_personUid_mmhd76_k$ = function () {
    return this.personUid_1;
  };
  protoOf(UmAccount).set_username_tgnlmk_k$ = function (_set____db54di) {
    this.username_1 = _set____db54di;
  };
  protoOf(UmAccount).get_username_ytz5i7_k$ = function () {
    return this.username_1;
  };
  protoOf(UmAccount).set_auth_b8k972_k$ = function (_set____db54di) {
    this.auth_1 = _set____db54di;
  };
  protoOf(UmAccount).get_auth_woj2sx_k$ = function () {
    return this.auth_1;
  };
  protoOf(UmAccount).set_endpointUrl_p5lj8z_k$ = function (_set____db54di) {
    this.endpointUrl_1 = _set____db54di;
  };
  protoOf(UmAccount).get_endpointUrl_4w19sf_k$ = function () {
    return this.endpointUrl_1;
  };
  protoOf(UmAccount).set_firstName_1gvsrr_k$ = function (_set____db54di) {
    this.firstName_1 = _set____db54di;
  };
  protoOf(UmAccount).get_firstName_aplxv6_k$ = function () {
    return this.firstName_1;
  };
  protoOf(UmAccount).set_lastName_6ukpbb_k$ = function (_set____db54di) {
    this.lastName_1 = _set____db54di;
  };
  protoOf(UmAccount).get_lastName_f360wa_k$ = function () {
    return this.lastName_1;
  };
  protoOf(UmAccount).set_admin_llzh0j_k$ = function (_set____db54di) {
    this.admin_1 = _set____db54di;
  };
  protoOf(UmAccount).get_admin_iojndy_k$ = function () {
    return this.admin_1;
  };
  protoOf(UmAccount).toPerson_v1b6fk_k$ = function () {
    var account = this;
    // Inline function 'kotlin.apply' call
    var this_0 = new Person();
    // Inline function 'kotlin.contracts.contract' call
    // Inline function 'com.ustadmobile.lib.db.entities.UmAccount.toPerson.<anonymous>' call
    this_0.set_personUid_j3idds_k$(account.personUid_1);
    this_0.set_username_tgnlmk_k$(account.username_1);
    this_0.set_firstNames_audc9u_k$(account.firstName_1);
    this_0.set_lastName_6ukpbb_k$(account.lastName_1);
    this_0.set_admin_llzh0j_k$(account.admin_1);
    return this_0;
  };
  protoOf(UmAccount).component1_7eebsc_k$ = function () {
    return this.personUid_1;
  };
  protoOf(UmAccount).component2_7eebsb_k$ = function () {
    return this.username_1;
  };
  protoOf(UmAccount).component3_7eebsa_k$ = function () {
    return this.auth_1;
  };
  protoOf(UmAccount).component4_7eebs9_k$ = function () {
    return this.endpointUrl_1;
  };
  protoOf(UmAccount).component5_7eebs8_k$ = function () {
    return this.firstName_1;
  };
  protoOf(UmAccount).component6_7eebs7_k$ = function () {
    return this.lastName_1;
  };
  protoOf(UmAccount).component7_7eebs6_k$ = function () {
    return this.admin_1;
  };
  protoOf(UmAccount).copy_f98n24_k$ = function (personUid, username, auth, endpointUrl, firstName, lastName, admin) {
    return new UmAccount(personUid, username, auth, endpointUrl, firstName, lastName, admin);
  };
  protoOf(UmAccount).copy$default_txjub7_k$ = function (personUid, username, auth, endpointUrl, firstName, lastName, admin, $super) {
    personUid = personUid === VOID ? this.personUid_1 : personUid;
    username = username === VOID ? this.username_1 : username;
    auth = auth === VOID ? this.auth_1 : auth;
    endpointUrl = endpointUrl === VOID ? this.endpointUrl_1 : endpointUrl;
    firstName = firstName === VOID ? this.firstName_1 : firstName;
    lastName = lastName === VOID ? this.lastName_1 : lastName;
    admin = admin === VOID ? this.admin_1 : admin;
    return $super === VOID ? this.copy_f98n24_k$(personUid, username, auth, endpointUrl, firstName, lastName, admin) : $super.copy_f98n24_k$.call(this, personUid, username, auth, endpointUrl, firstName, lastName, admin);
  };
  protoOf(UmAccount).toString = function () {
    return 'UmAccount(personUid=' + this.personUid_1.toString() + ', username=' + this.username_1 + ', auth=' + this.auth_1 + ', endpointUrl=' + this.endpointUrl_1 + ', firstName=' + this.firstName_1 + ', lastName=' + this.lastName_1 + ', admin=' + this.admin_1 + ')';
  };
  protoOf(UmAccount).hashCode = function () {
    var result = this.personUid_1.hashCode();
    result = imul(result, 31) + (this.username_1 == null ? 0 : getStringHashCode(this.username_1)) | 0;
    result = imul(result, 31) + (this.auth_1 == null ? 0 : getStringHashCode(this.auth_1)) | 0;
    result = imul(result, 31) + getStringHashCode(this.endpointUrl_1) | 0;
    result = imul(result, 31) + (this.firstName_1 == null ? 0 : getStringHashCode(this.firstName_1)) | 0;
    result = imul(result, 31) + (this.lastName_1 == null ? 0 : getStringHashCode(this.lastName_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.admin_1) | 0;
    return result;
  };
  protoOf(UmAccount).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof UmAccount))
      return false;
    var tmp0_other_with_cast = other instanceof UmAccount ? other : THROW_CCE();
    if (!this.personUid_1.equals(tmp0_other_with_cast.personUid_1))
      return false;
    if (!(this.username_1 == tmp0_other_with_cast.username_1))
      return false;
    if (!(this.auth_1 == tmp0_other_with_cast.auth_1))
      return false;
    if (!(this.endpointUrl_1 === tmp0_other_with_cast.endpointUrl_1))
      return false;
    if (!(this.firstName_1 == tmp0_other_with_cast.firstName_1))
      return false;
    if (!(this.lastName_1 == tmp0_other_with_cast.lastName_1))
      return false;
    if (!(this.admin_1 === tmp0_other_with_cast.admin_1))
      return false;
    return true;
  };
  function Companion_126() {
    Companion_instance_126 = this;
    this.TABLE_ID_1 = 679;
    this.TYPE_STANDARD_1 = 1;
    this.TYPE_UPSTREAM_1 = 2;
    this.TYPE_GUEST_1 = 4;
    this.TYPE_TEMP_LOCAL_1 = 8;
    this.STATUS_ACTIVE_1 = 1;
    this.STATUS_NEEDS_REAUTH_1 = 2;
    this.STATUS_LOGGED_OUT_1 = 4;
    this.REASON_LOGGED_OUT_1 = 1;
    this.REASON_CONSENT_REVOKED_1 = 2;
    this.REASON_PASSWORD_CHANGED_1 = 3;
  }
  protoOf(Companion_126).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_126).get_TYPE_STANDARD_e68pvr_k$ = function () {
    return this.TYPE_STANDARD_1;
  };
  protoOf(Companion_126).get_TYPE_UPSTREAM_6m7xm1_k$ = function () {
    return this.TYPE_UPSTREAM_1;
  };
  protoOf(Companion_126).get_TYPE_GUEST_f1ls78_k$ = function () {
    return this.TYPE_GUEST_1;
  };
  protoOf(Companion_126).get_TYPE_TEMP_LOCAL_1rarok_k$ = function () {
    return this.TYPE_TEMP_LOCAL_1;
  };
  protoOf(Companion_126).get_STATUS_ACTIVE_f4k4s6_k$ = function () {
    return this.STATUS_ACTIVE_1;
  };
  protoOf(Companion_126).get_STATUS_NEEDS_REAUTH_tkrndt_k$ = function () {
    return this.STATUS_NEEDS_REAUTH_1;
  };
  protoOf(Companion_126).get_STATUS_LOGGED_OUT_9pijbf_k$ = function () {
    return this.STATUS_LOGGED_OUT_1;
  };
  protoOf(Companion_126).get_REASON_LOGGED_OUT_kp8ov1_k$ = function () {
    return this.REASON_LOGGED_OUT_1;
  };
  protoOf(Companion_126).get_REASON_CONSENT_REVOKED_7ymjif_k$ = function () {
    return this.REASON_CONSENT_REVOKED_1;
  };
  protoOf(Companion_126).get_REASON_PASSWORD_CHANGED_ger7fi_k$ = function () {
    return this.REASON_PASSWORD_CHANGED_1;
  };
  protoOf(Companion_126).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_123();
  };
  var Companion_instance_126;
  function Companion_getInstance_128() {
    if (Companion_instance_126 == null)
      new Companion_126();
    return Companion_instance_126;
  }
  function $serializer_123() {
    $serializer_instance_123 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.UserSession', this, 13);
    tmp0_serialDesc.addElement_5pzumi_k$('usUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usPcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usLcsn', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usLcb', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usClientNodeId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usEndTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usStatus', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usReason', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usAuth', true);
    tmp0_serialDesc.addElement_5pzumi_k$('usSessionType', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_123).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_123).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance()];
  };
  protoOf($serializer_123).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = new Long(0, 0);
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = 0;
    var tmp14_local10 = 0;
    var tmp15_local11 = null;
    var tmp16_local12 = 0;
    var tmp17_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp17_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp17_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, StringSerializer_getInstance(), tmp15_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp17_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp17_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp17_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, StringSerializer_getInstance(), tmp15_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp17_input.decodeIntElement_941u6a_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp17_input.endStructure_1xqz0n_k$(tmp0_desc);
    return UserSession_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, null);
  };
  protoOf($serializer_123).serialize_otyrtp_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.usUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.usUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.usPcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.usPcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.usLcsn_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.usLcsn_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.usLcb_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.usLcb_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.usLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.usLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.usPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.usPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.usClientNodeId_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.usClientNodeId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.usStartTime_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.usStartTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.usEndTime_1.equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.usEndTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.usStatus_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 9, value.usStatus_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.usReason_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 10, value.usReason_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.usAuth_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 11, StringSerializer_getInstance(), value.usAuth_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.usSessionType_1 === 1)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 12, value.usSessionType_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_123).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_otyrtp_k$(encoder, value instanceof UserSession ? value : THROW_CCE());
  };
  var $serializer_instance_123;
  function $serializer_getInstance_123() {
    if ($serializer_instance_123 == null)
      new $serializer_123();
    return $serializer_instance_123;
  }
  function UserSession_init_$Init$(seen1, usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_123().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.usUid_1 = new Long(0, 0);
    else
      $this.usUid_1 = usUid;
    if (0 === (seen1 & 2))
      $this.usPcsn_1 = new Long(0, 0);
    else
      $this.usPcsn_1 = usPcsn;
    if (0 === (seen1 & 4))
      $this.usLcsn_1 = new Long(0, 0);
    else
      $this.usLcsn_1 = usLcsn;
    if (0 === (seen1 & 8))
      $this.usLcb_1 = new Long(0, 0);
    else
      $this.usLcb_1 = usLcb;
    if (0 === (seen1 & 16))
      $this.usLct_1 = new Long(0, 0);
    else
      $this.usLct_1 = usLct;
    if (0 === (seen1 & 32))
      $this.usPersonUid_1 = new Long(0, 0);
    else
      $this.usPersonUid_1 = usPersonUid;
    if (0 === (seen1 & 64))
      $this.usClientNodeId_1 = new Long(0, 0);
    else
      $this.usClientNodeId_1 = usClientNodeId;
    if (0 === (seen1 & 128))
      $this.usStartTime_1 = new Long(0, 0);
    else
      $this.usStartTime_1 = usStartTime;
    if (0 === (seen1 & 256))
      $this.usEndTime_1 = Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$();
    else
      $this.usEndTime_1 = usEndTime;
    if (0 === (seen1 & 512))
      $this.usStatus_1 = 0;
    else
      $this.usStatus_1 = usStatus;
    if (0 === (seen1 & 1024))
      $this.usReason_1 = 0;
    else
      $this.usReason_1 = usReason;
    if (0 === (seen1 & 2048))
      $this.usAuth_1 = null;
    else
      $this.usAuth_1 = usAuth;
    if (0 === (seen1 & 4096))
      $this.usSessionType_1 = 1;
    else
      $this.usSessionType_1 = usSessionType;
    return $this;
  }
  function UserSession_init_$Create$(seen1, usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType, serializationConstructorMarker) {
    return UserSession_init_$Init$(seen1, usUid, usPcsn, usLcsn, usLcb, usLct, usPersonUid, usClientNodeId, usStartTime, usEndTime, usStatus, usReason, usAuth, usSessionType, serializationConstructorMarker, objectCreate(protoOf(UserSession)));
  }
  function UserSession() {
    Companion_getInstance_128();
    this.usUid_1 = new Long(0, 0);
    this.usPcsn_1 = new Long(0, 0);
    this.usLcsn_1 = new Long(0, 0);
    this.usLcb_1 = new Long(0, 0);
    this.usLct_1 = new Long(0, 0);
    this.usPersonUid_1 = new Long(0, 0);
    this.usClientNodeId_1 = new Long(0, 0);
    this.usStartTime_1 = new Long(0, 0);
    this.usEndTime_1 = Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$();
    this.usStatus_1 = 0;
    this.usReason_1 = 0;
    this.usAuth_1 = null;
    this.usSessionType_1 = 1;
  }
  protoOf(UserSession).set_usUid_uz0ydl_k$ = function (_set____db54di) {
    this.usUid_1 = _set____db54di;
  };
  protoOf(UserSession).get_usUid_izsm95_k$ = function () {
    return this.usUid_1;
  };
  protoOf(UserSession).set_usPcsn_2whoxh_k$ = function (_set____db54di) {
    this.usPcsn_1 = _set____db54di;
  };
  protoOf(UserSession).get_usPcsn_kknf4l_k$ = function () {
    return this.usPcsn_1;
  };
  protoOf(UserSession).set_usLcsn_209h0x_k$ = function (_set____db54di) {
    this.usLcsn_1 = _set____db54di;
  };
  protoOf(UserSession).get_usLcsn_kkkv6h_k$ = function () {
    return this.usLcsn_1;
  };
  protoOf(UserSession).set_usLcb_lomlg2_k$ = function (_set____db54di) {
    this.usLcb_1 = _set____db54di;
  };
  protoOf(UserSession).get_usLcb_izsffo_k$ = function () {
    return this.usLcb_1;
  };
  protoOf(UserSession).set_usLct_vosbms_k$ = function (_set____db54di) {
    this.usLct_1 = _set____db54di;
  };
  protoOf(UserSession).get_usLct_izsfg6_k$ = function () {
    return this.usLct_1;
  };
  protoOf(UserSession).set_usPersonUid_tlsji_k$ = function (_set____db54di) {
    this.usPersonUid_1 = _set____db54di;
  };
  protoOf(UserSession).get_usPersonUid_p037ak_k$ = function () {
    return this.usPersonUid_1;
  };
  protoOf(UserSession).set_usClientNodeId_ydzvad_k$ = function (_set____db54di) {
    this.usClientNodeId_1 = _set____db54di;
  };
  protoOf(UserSession).get_usClientNodeId_yobpw1_k$ = function () {
    return this.usClientNodeId_1;
  };
  protoOf(UserSession).set_usStartTime_u7c7u2_k$ = function (_set____db54di) {
    this.usStartTime_1 = _set____db54di;
  };
  protoOf(UserSession).get_usStartTime_3anvo8_k$ = function () {
    return this.usStartTime_1;
  };
  protoOf(UserSession).set_usEndTime_mkqy5r_k$ = function (_set____db54di) {
    this.usEndTime_1 = _set____db54di;
  };
  protoOf(UserSession).get_usEndTime_v7cna7_k$ = function () {
    return this.usEndTime_1;
  };
  protoOf(UserSession).set_usStatus_1hwltn_k$ = function (_set____db54di) {
    this.usStatus_1 = _set____db54di;
  };
  protoOf(UserSession).get_usStatus_qc1n21_k$ = function () {
    return this.usStatus_1;
  };
  protoOf(UserSession).set_usReason_bwzm6v_k$ = function (_set____db54di) {
    this.usReason_1 = _set____db54di;
  };
  protoOf(UserSession).get_usReason_pmr2vf_k$ = function () {
    return this.usReason_1;
  };
  protoOf(UserSession).set_usAuth_u14j5g_k$ = function (_set____db54di) {
    this.usAuth_1 = _set____db54di;
  };
  protoOf(UserSession).get_usAuth_kke7ov_k$ = function () {
    return this.usAuth_1;
  };
  protoOf(UserSession).set_usSessionType_diqz59_k$ = function (_set____db54di) {
    this.usSessionType_1 = _set____db54di;
  };
  protoOf(UserSession).get_usSessionType_c3pu47_k$ = function () {
    return this.usSessionType_1;
  };
  function UserSessionAndPerson(person, personPicture, userSession) {
    person = person === VOID ? null : person;
    personPicture = personPicture === VOID ? null : personPicture;
    userSession = userSession === VOID ? null : userSession;
    this.person_1 = person;
    this.personPicture_1 = personPicture;
    this.userSession_1 = userSession;
  }
  protoOf(UserSessionAndPerson).set_person_xr31gf_k$ = function (_set____db54di) {
    this.person_1 = _set____db54di;
  };
  protoOf(UserSessionAndPerson).get_person_i0c866_k$ = function () {
    return this.person_1;
  };
  protoOf(UserSessionAndPerson).set_personPicture_c5dce7_k$ = function (_set____db54di) {
    this.personPicture_1 = _set____db54di;
  };
  protoOf(UserSessionAndPerson).get_personPicture_te1agw_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(UserSessionAndPerson).set_userSession_ftoebf_k$ = function (_set____db54di) {
    this.userSession_1 = _set____db54di;
  };
  protoOf(UserSessionAndPerson).get_userSession_tatogu_k$ = function () {
    return this.userSession_1;
  };
  protoOf(UserSessionAndPerson).component1_7eebsc_k$ = function () {
    return this.person_1;
  };
  protoOf(UserSessionAndPerson).component2_7eebsb_k$ = function () {
    return this.personPicture_1;
  };
  protoOf(UserSessionAndPerson).component3_7eebsa_k$ = function () {
    return this.userSession_1;
  };
  protoOf(UserSessionAndPerson).copy_iwdoa0_k$ = function (person, personPicture, userSession) {
    return new UserSessionAndPerson(person, personPicture, userSession);
  };
  protoOf(UserSessionAndPerson).copy$default_gt7l0h_k$ = function (person, personPicture, userSession, $super) {
    person = person === VOID ? this.person_1 : person;
    personPicture = personPicture === VOID ? this.personPicture_1 : personPicture;
    userSession = userSession === VOID ? this.userSession_1 : userSession;
    return $super === VOID ? this.copy_iwdoa0_k$(person, personPicture, userSession) : $super.copy_iwdoa0_k$.call(this, person, personPicture, userSession);
  };
  protoOf(UserSessionAndPerson).toString = function () {
    return 'UserSessionAndPerson(person=' + this.person_1 + ', personPicture=' + this.personPicture_1 + ', userSession=' + this.userSession_1 + ')';
  };
  protoOf(UserSessionAndPerson).hashCode = function () {
    var result = this.person_1 == null ? 0 : this.person_1.hashCode();
    result = imul(result, 31) + (this.personPicture_1 == null ? 0 : this.personPicture_1.hashCode()) | 0;
    result = imul(result, 31) + (this.userSession_1 == null ? 0 : hashCode(this.userSession_1)) | 0;
    return result;
  };
  protoOf(UserSessionAndPerson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof UserSessionAndPerson))
      return false;
    var tmp0_other_with_cast = other instanceof UserSessionAndPerson ? other : THROW_CCE();
    if (!equals(this.person_1, tmp0_other_with_cast.person_1))
      return false;
    if (!equals(this.personPicture_1, tmp0_other_with_cast.personPicture_1))
      return false;
    if (!equals(this.userSession_1, tmp0_other_with_cast.userSession_1))
      return false;
    return true;
  };
  function Companion_127() {
    Companion_instance_127 = this;
    this.TYPE_UNSET_1 = 0;
    this.TYPE_TRUE_FALSE_1 = 1;
    this.TYPE_CHOICE_1 = 2;
    this.TYPE_FILL_IN_1 = 3;
    this.TYPE_LONG_FILL_IN_1 = 4;
    this.TYPE_MATCHING_1 = 5;
    this.TYPE_PERFORMANCE_1 = 6;
    this.TYPE_SEQUENCING_1 = 7;
    this.TYPE_LIKERT_1 = 8;
    this.TYPE_NUMERIC_1 = 9;
    this.TYPE_OTHER_1 = 10;
    this.TABLE_ID_1 = 64;
  }
  protoOf(Companion_127).get_TYPE_UNSET_eu0ur7_k$ = function () {
    return this.TYPE_UNSET_1;
  };
  protoOf(Companion_127).get_TYPE_TRUE_FALSE_xtwdou_k$ = function () {
    return this.TYPE_TRUE_FALSE_1;
  };
  protoOf(Companion_127).get_TYPE_CHOICE_sqvgf1_k$ = function () {
    return this.TYPE_CHOICE_1;
  };
  protoOf(Companion_127).get_TYPE_FILL_IN_c7a0f9_k$ = function () {
    return this.TYPE_FILL_IN_1;
  };
  protoOf(Companion_127).get_TYPE_LONG_FILL_IN_htkb8a_k$ = function () {
    return this.TYPE_LONG_FILL_IN_1;
  };
  protoOf(Companion_127).get_TYPE_MATCHING_uyytvr_k$ = function () {
    return this.TYPE_MATCHING_1;
  };
  protoOf(Companion_127).get_TYPE_PERFORMANCE_xx60d0_k$ = function () {
    return this.TYPE_PERFORMANCE_1;
  };
  protoOf(Companion_127).get_TYPE_SEQUENCING_z7frly_k$ = function () {
    return this.TYPE_SEQUENCING_1;
  };
  protoOf(Companion_127).get_TYPE_LIKERT_x0r80l_k$ = function () {
    return this.TYPE_LIKERT_1;
  };
  protoOf(Companion_127).get_TYPE_NUMERIC_6qtaz3_k$ = function () {
    return this.TYPE_NUMERIC_1;
  };
  protoOf(Companion_127).get_TYPE_OTHER_ex80jw_k$ = function () {
    return this.TYPE_OTHER_1;
  };
  protoOf(Companion_127).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_127).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_124();
  };
  var Companion_instance_127;
  function Companion_getInstance_129() {
    if (Companion_instance_127 == null)
      new Companion_127();
    return Companion_instance_127;
  }
  function $serializer_124() {
    $serializer_instance_124 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActivityEntity', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('actUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actIdIri', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actMoreInfo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actInteractionType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actCorrectResponsePatterns', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_124).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_124).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_124).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = 0;
    var tmp9_local5 = null;
    var tmp10_local6 = new Long(0, 0);
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ActivityEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_124).serialize_5kspb_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.actUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.actUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.actIdIri_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.actIdIri_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.actType_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.actType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.actMoreInfo_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.actMoreInfo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.actInteractionType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.actInteractionType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.actCorrectResponsePatterns_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.actCorrectResponsePatterns_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.actLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.actLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_124).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_5kspb_k$(encoder, value instanceof ActivityEntity ? value : THROW_CCE());
  };
  var $serializer_instance_124;
  function $serializer_getInstance_124() {
    if ($serializer_instance_124 == null)
      new $serializer_124();
    return $serializer_instance_124;
  }
  function ActivityEntity_init_$Init$(seen1, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_124().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.actUid_1 = new Long(0, 0);
    else
      $this.actUid_1 = actUid;
    if (0 === (seen1 & 2))
      $this.actIdIri_1 = null;
    else
      $this.actIdIri_1 = actIdIri;
    if (0 === (seen1 & 4))
      $this.actType_1 = null;
    else
      $this.actType_1 = actType;
    if (0 === (seen1 & 8))
      $this.actMoreInfo_1 = null;
    else
      $this.actMoreInfo_1 = actMoreInfo;
    if (0 === (seen1 & 16))
      $this.actInteractionType_1 = 0;
    else
      $this.actInteractionType_1 = actInteractionType;
    if (0 === (seen1 & 32))
      $this.actCorrectResponsePatterns_1 = null;
    else
      $this.actCorrectResponsePatterns_1 = actCorrectResponsePatterns;
    if (0 === (seen1 & 64))
      $this.actLct_1 = new Long(0, 0);
    else
      $this.actLct_1 = actLct;
    return $this;
  }
  function ActivityEntity_init_$Create$(seen1, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, serializationConstructorMarker) {
    return ActivityEntity_init_$Init$(seen1, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, serializationConstructorMarker, objectCreate(protoOf(ActivityEntity)));
  }
  function ActivityEntity(actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) {
    Companion_getInstance_129();
    actUid = actUid === VOID ? new Long(0, 0) : actUid;
    actIdIri = actIdIri === VOID ? null : actIdIri;
    actType = actType === VOID ? null : actType;
    actMoreInfo = actMoreInfo === VOID ? null : actMoreInfo;
    actInteractionType = actInteractionType === VOID ? 0 : actInteractionType;
    actCorrectResponsePatterns = actCorrectResponsePatterns === VOID ? null : actCorrectResponsePatterns;
    actLct = actLct === VOID ? new Long(0, 0) : actLct;
    this.actUid_1 = actUid;
    this.actIdIri_1 = actIdIri;
    this.actType_1 = actType;
    this.actMoreInfo_1 = actMoreInfo;
    this.actInteractionType_1 = actInteractionType;
    this.actCorrectResponsePatterns_1 = actCorrectResponsePatterns;
    this.actLct_1 = actLct;
  }
  protoOf(ActivityEntity).set_actUid_q0bwkj_k$ = function (_set____db54di) {
    this.actUid_1 = _set____db54di;
  };
  protoOf(ActivityEntity).get_actUid_avkynb_k$ = function () {
    return this.actUid_1;
  };
  protoOf(ActivityEntity).set_actIdIri_5ttk1l_k$ = function (_set____db54di) {
    this.actIdIri_1 = _set____db54di;
  };
  protoOf(ActivityEntity).get_actIdIri_bcbmho_k$ = function () {
    return this.actIdIri_1;
  };
  protoOf(ActivityEntity).set_actType_a6ke9k_k$ = function (_set____db54di) {
    this.actType_1 = _set____db54di;
  };
  protoOf(ActivityEntity).get_actType_hyiqkd_k$ = function () {
    return this.actType_1;
  };
  protoOf(ActivityEntity).set_actMoreInfo_1gakyp_k$ = function (_set____db54di) {
    this.actMoreInfo_1 = _set____db54di;
  };
  protoOf(ActivityEntity).get_actMoreInfo_gclkvg_k$ = function () {
    return this.actMoreInfo_1;
  };
  protoOf(ActivityEntity).set_actInteractionType_gf7tn3_k$ = function (_set____db54di) {
    this.actInteractionType_1 = _set____db54di;
  };
  protoOf(ActivityEntity).get_actInteractionType_fg57ul_k$ = function () {
    return this.actInteractionType_1;
  };
  protoOf(ActivityEntity).set_actCorrectResponsePatterns_j78agu_k$ = function (_set____db54di) {
    this.actCorrectResponsePatterns_1 = _set____db54di;
  };
  protoOf(ActivityEntity).get_actCorrectResponsePatterns_vnfhy3_k$ = function () {
    return this.actCorrectResponsePatterns_1;
  };
  protoOf(ActivityEntity).set_actLct_ydmoja_k$ = function (_set____db54di) {
    this.actLct_1 = _set____db54di;
  };
  protoOf(ActivityEntity).get_actLct_avkruc_k$ = function () {
    return this.actLct_1;
  };
  protoOf(ActivityEntity).component1_7eebsc_k$ = function () {
    return this.actUid_1;
  };
  protoOf(ActivityEntity).component2_7eebsb_k$ = function () {
    return this.actIdIri_1;
  };
  protoOf(ActivityEntity).component3_7eebsa_k$ = function () {
    return this.actType_1;
  };
  protoOf(ActivityEntity).component4_7eebs9_k$ = function () {
    return this.actMoreInfo_1;
  };
  protoOf(ActivityEntity).component5_7eebs8_k$ = function () {
    return this.actInteractionType_1;
  };
  protoOf(ActivityEntity).component6_7eebs7_k$ = function () {
    return this.actCorrectResponsePatterns_1;
  };
  protoOf(ActivityEntity).component7_7eebs6_k$ = function () {
    return this.actLct_1;
  };
  protoOf(ActivityEntity).copy_cfkvnj_k$ = function (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) {
    return new ActivityEntity(actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct);
  };
  protoOf(ActivityEntity).copy$default_o7j060_k$ = function (actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct, $super) {
    actUid = actUid === VOID ? this.actUid_1 : actUid;
    actIdIri = actIdIri === VOID ? this.actIdIri_1 : actIdIri;
    actType = actType === VOID ? this.actType_1 : actType;
    actMoreInfo = actMoreInfo === VOID ? this.actMoreInfo_1 : actMoreInfo;
    actInteractionType = actInteractionType === VOID ? this.actInteractionType_1 : actInteractionType;
    actCorrectResponsePatterns = actCorrectResponsePatterns === VOID ? this.actCorrectResponsePatterns_1 : actCorrectResponsePatterns;
    actLct = actLct === VOID ? this.actLct_1 : actLct;
    return $super === VOID ? this.copy_cfkvnj_k$(actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct) : $super.copy_cfkvnj_k$.call(this, actUid, actIdIri, actType, actMoreInfo, actInteractionType, actCorrectResponsePatterns, actLct);
  };
  protoOf(ActivityEntity).toString = function () {
    return 'ActivityEntity(actUid=' + this.actUid_1.toString() + ', actIdIri=' + this.actIdIri_1 + ', actType=' + this.actType_1 + ', actMoreInfo=' + this.actMoreInfo_1 + ', actInteractionType=' + this.actInteractionType_1 + ', actCorrectResponsePatterns=' + this.actCorrectResponsePatterns_1 + ', actLct=' + this.actLct_1.toString() + ')';
  };
  protoOf(ActivityEntity).hashCode = function () {
    var result = this.actUid_1.hashCode();
    result = imul(result, 31) + (this.actIdIri_1 == null ? 0 : getStringHashCode(this.actIdIri_1)) | 0;
    result = imul(result, 31) + (this.actType_1 == null ? 0 : getStringHashCode(this.actType_1)) | 0;
    result = imul(result, 31) + (this.actMoreInfo_1 == null ? 0 : getStringHashCode(this.actMoreInfo_1)) | 0;
    result = imul(result, 31) + this.actInteractionType_1 | 0;
    result = imul(result, 31) + (this.actCorrectResponsePatterns_1 == null ? 0 : getStringHashCode(this.actCorrectResponsePatterns_1)) | 0;
    result = imul(result, 31) + this.actLct_1.hashCode() | 0;
    return result;
  };
  protoOf(ActivityEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityEntity ? other : THROW_CCE();
    if (!this.actUid_1.equals(tmp0_other_with_cast.actUid_1))
      return false;
    if (!(this.actIdIri_1 == tmp0_other_with_cast.actIdIri_1))
      return false;
    if (!(this.actType_1 == tmp0_other_with_cast.actType_1))
      return false;
    if (!(this.actMoreInfo_1 == tmp0_other_with_cast.actMoreInfo_1))
      return false;
    if (!(this.actInteractionType_1 === tmp0_other_with_cast.actInteractionType_1))
      return false;
    if (!(this.actCorrectResponsePatterns_1 == tmp0_other_with_cast.actCorrectResponsePatterns_1))
      return false;
    if (!this.actLct_1.equals(tmp0_other_with_cast.actLct_1))
      return false;
    return true;
  };
  function Companion_128() {
    Companion_instance_128 = this;
    this.TABLE_ID_1 = 6405;
  }
  protoOf(Companion_128).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  var Companion_instance_128;
  function Companion_getInstance_130() {
    if (Companion_instance_128 == null)
      new Companion_128();
    return Companion_instance_128;
  }
  function ActivityExtensionEntity(aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) {
    Companion_getInstance_130();
    aeeActivityUid = aeeActivityUid === VOID ? new Long(0, 0) : aeeActivityUid;
    aeeKeyHash = aeeKeyHash === VOID ? new Long(0, 0) : aeeKeyHash;
    aeeKey = aeeKey === VOID ? null : aeeKey;
    aeeJson = aeeJson === VOID ? null : aeeJson;
    aeeLastMod = aeeLastMod === VOID ? new Long(0, 0) : aeeLastMod;
    aeeIsDeleted = aeeIsDeleted === VOID ? false : aeeIsDeleted;
    this.aeeActivityUid_1 = aeeActivityUid;
    this.aeeKeyHash_1 = aeeKeyHash;
    this.aeeKey_1 = aeeKey;
    this.aeeJson_1 = aeeJson;
    this.aeeLastMod_1 = aeeLastMod;
    this.aeeIsDeleted_1 = aeeIsDeleted;
  }
  protoOf(ActivityExtensionEntity).set_aeeActivityUid_enlk3l_k$ = function (_set____db54di) {
    this.aeeActivityUid_1 = _set____db54di;
  };
  protoOf(ActivityExtensionEntity).get_aeeActivityUid_pqtxzd_k$ = function () {
    return this.aeeActivityUid_1;
  };
  protoOf(ActivityExtensionEntity).set_aeeKeyHash_4zn2yz_k$ = function (_set____db54di) {
    this.aeeKeyHash_1 = _set____db54di;
  };
  protoOf(ActivityExtensionEntity).get_aeeKeyHash_36cfhn_k$ = function () {
    return this.aeeKeyHash_1;
  };
  protoOf(ActivityExtensionEntity).set_aeeKey_kxecuc_k$ = function (_set____db54di) {
    this.aeeKey_1 = _set____db54di;
  };
  protoOf(ActivityExtensionEntity).get_aeeKey_awerjb_k$ = function () {
    return this.aeeKey_1;
  };
  protoOf(ActivityExtensionEntity).set_aeeJson_m69skr_k$ = function (_set____db54di) {
    this.aeeJson_1 = _set____db54di;
  };
  protoOf(ActivityExtensionEntity).get_aeeJson_h8ux0g_k$ = function () {
    return this.aeeJson_1;
  };
  protoOf(ActivityExtensionEntity).set_aeeLastMod_aeo67e_k$ = function (_set____db54di) {
    this.aeeLastMod_1 = _set____db54di;
  };
  protoOf(ActivityExtensionEntity).get_aeeLastMod_9jca38_k$ = function () {
    return this.aeeLastMod_1;
  };
  protoOf(ActivityExtensionEntity).set_aeeIsDeleted_xn2fkm_k$ = function (_set____db54di) {
    this.aeeIsDeleted_1 = _set____db54di;
  };
  protoOf(ActivityExtensionEntity).get_aeeIsDeleted_enh4vd_k$ = function () {
    return this.aeeIsDeleted_1;
  };
  protoOf(ActivityExtensionEntity).component1_7eebsc_k$ = function () {
    return this.aeeActivityUid_1;
  };
  protoOf(ActivityExtensionEntity).component2_7eebsb_k$ = function () {
    return this.aeeKeyHash_1;
  };
  protoOf(ActivityExtensionEntity).component3_7eebsa_k$ = function () {
    return this.aeeKey_1;
  };
  protoOf(ActivityExtensionEntity).component4_7eebs9_k$ = function () {
    return this.aeeJson_1;
  };
  protoOf(ActivityExtensionEntity).component5_7eebs8_k$ = function () {
    return this.aeeLastMod_1;
  };
  protoOf(ActivityExtensionEntity).component6_7eebs7_k$ = function () {
    return this.aeeIsDeleted_1;
  };
  protoOf(ActivityExtensionEntity).copy_69cnvm_k$ = function (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) {
    return new ActivityExtensionEntity(aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted);
  };
  protoOf(ActivityExtensionEntity).copy$default_k30sj1_k$ = function (aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted, $super) {
    aeeActivityUid = aeeActivityUid === VOID ? this.aeeActivityUid_1 : aeeActivityUid;
    aeeKeyHash = aeeKeyHash === VOID ? this.aeeKeyHash_1 : aeeKeyHash;
    aeeKey = aeeKey === VOID ? this.aeeKey_1 : aeeKey;
    aeeJson = aeeJson === VOID ? this.aeeJson_1 : aeeJson;
    aeeLastMod = aeeLastMod === VOID ? this.aeeLastMod_1 : aeeLastMod;
    aeeIsDeleted = aeeIsDeleted === VOID ? this.aeeIsDeleted_1 : aeeIsDeleted;
    return $super === VOID ? this.copy_69cnvm_k$(aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted) : $super.copy_69cnvm_k$.call(this, aeeActivityUid, aeeKeyHash, aeeKey, aeeJson, aeeLastMod, aeeIsDeleted);
  };
  protoOf(ActivityExtensionEntity).toString = function () {
    return 'ActivityExtensionEntity(aeeActivityUid=' + this.aeeActivityUid_1.toString() + ', aeeKeyHash=' + this.aeeKeyHash_1.toString() + ', aeeKey=' + this.aeeKey_1 + ', aeeJson=' + this.aeeJson_1 + ', aeeLastMod=' + this.aeeLastMod_1.toString() + ', aeeIsDeleted=' + this.aeeIsDeleted_1 + ')';
  };
  protoOf(ActivityExtensionEntity).hashCode = function () {
    var result = this.aeeActivityUid_1.hashCode();
    result = imul(result, 31) + this.aeeKeyHash_1.hashCode() | 0;
    result = imul(result, 31) + (this.aeeKey_1 == null ? 0 : getStringHashCode(this.aeeKey_1)) | 0;
    result = imul(result, 31) + (this.aeeJson_1 == null ? 0 : getStringHashCode(this.aeeJson_1)) | 0;
    result = imul(result, 31) + this.aeeLastMod_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.aeeIsDeleted_1) | 0;
    return result;
  };
  protoOf(ActivityExtensionEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityExtensionEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityExtensionEntity ? other : THROW_CCE();
    if (!this.aeeActivityUid_1.equals(tmp0_other_with_cast.aeeActivityUid_1))
      return false;
    if (!this.aeeKeyHash_1.equals(tmp0_other_with_cast.aeeKeyHash_1))
      return false;
    if (!(this.aeeKey_1 == tmp0_other_with_cast.aeeKey_1))
      return false;
    if (!(this.aeeJson_1 == tmp0_other_with_cast.aeeJson_1))
      return false;
    if (!this.aeeLastMod_1.equals(tmp0_other_with_cast.aeeLastMod_1))
      return false;
    if (!(this.aeeIsDeleted_1 === tmp0_other_with_cast.aeeIsDeleted_1))
      return false;
    return true;
  };
  function Companion_129() {
    Companion_instance_129 = this;
    this.PROP_CHOICES_1 = 1;
    this.PROP_SCALE_1 = 2;
    this.PROP_SOURCE_1 = 3;
    this.PROP_TARGET_1 = 4;
    this.PROP_STEPS_1 = 5;
    this.TABLE_ID_1 = 6401;
  }
  protoOf(Companion_129).get_PROP_CHOICES_g9s69t_k$ = function () {
    return this.PROP_CHOICES_1;
  };
  protoOf(Companion_129).get_PROP_SCALE_f5dfs9_k$ = function () {
    return this.PROP_SCALE_1;
  };
  protoOf(Companion_129).get_PROP_SOURCE_rs67ta_k$ = function () {
    return this.PROP_SOURCE_1;
  };
  protoOf(Companion_129).get_PROP_TARGET_s1gkuc_k$ = function () {
    return this.PROP_TARGET_1;
  };
  protoOf(Companion_129).get_PROP_STEPS_f52hxo_k$ = function () {
    return this.PROP_STEPS_1;
  };
  protoOf(Companion_129).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_129).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_125();
  };
  var Companion_instance_129;
  function Companion_getInstance_131() {
    if (Companion_instance_129 == null)
      new Companion_129();
    return Companion_instance_129;
  }
  function $serializer_125() {
    $serializer_instance_125 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActivityInteractionEntity', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('aieActivityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('aieHash', true);
    tmp0_serialDesc.addElement_5pzumi_k$('aieProp', true);
    tmp0_serialDesc.addElement_5pzumi_k$('aieId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('aieLastMod', true);
    tmp0_serialDesc.addElement_5pzumi_k$('aieIsDeleted', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_125).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_125).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_125).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = 0;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = false;
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeIntElement_941u6a_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ActivityInteractionEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_125).serialize_s13vep_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.aieActivityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.aieActivityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.aieHash_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.aieHash_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.aieProp_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 2, value.aieProp_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.aieId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.aieId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.aieLastMod_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.aieLastMod_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.aieIsDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 5, value.aieIsDeleted_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_125).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_s13vep_k$(encoder, value instanceof ActivityInteractionEntity ? value : THROW_CCE());
  };
  var $serializer_instance_125;
  function $serializer_getInstance_125() {
    if ($serializer_instance_125 == null)
      new $serializer_125();
    return $serializer_instance_125;
  }
  function ActivityInteractionEntity_init_$Init$(seen1, aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_125().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.aieActivityUid_1 = new Long(0, 0);
    else
      $this.aieActivityUid_1 = aieActivityUid;
    if (0 === (seen1 & 2))
      $this.aieHash_1 = new Long(0, 0);
    else
      $this.aieHash_1 = aieHash;
    if (0 === (seen1 & 4))
      $this.aieProp_1 = 0;
    else
      $this.aieProp_1 = aieProp;
    if (0 === (seen1 & 8))
      $this.aieId_1 = null;
    else
      $this.aieId_1 = aieId;
    if (0 === (seen1 & 16))
      $this.aieLastMod_1 = new Long(0, 0);
    else
      $this.aieLastMod_1 = aieLastMod;
    if (0 === (seen1 & 32))
      $this.aieIsDeleted_1 = false;
    else
      $this.aieIsDeleted_1 = aieIsDeleted;
    return $this;
  }
  function ActivityInteractionEntity_init_$Create$(seen1, aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted, serializationConstructorMarker) {
    return ActivityInteractionEntity_init_$Init$(seen1, aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted, serializationConstructorMarker, objectCreate(protoOf(ActivityInteractionEntity)));
  }
  function ActivityInteractionEntity(aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) {
    Companion_getInstance_131();
    aieActivityUid = aieActivityUid === VOID ? new Long(0, 0) : aieActivityUid;
    aieHash = aieHash === VOID ? new Long(0, 0) : aieHash;
    aieProp = aieProp === VOID ? 0 : aieProp;
    aieId = aieId === VOID ? null : aieId;
    aieLastMod = aieLastMod === VOID ? new Long(0, 0) : aieLastMod;
    aieIsDeleted = aieIsDeleted === VOID ? false : aieIsDeleted;
    this.aieActivityUid_1 = aieActivityUid;
    this.aieHash_1 = aieHash;
    this.aieProp_1 = aieProp;
    this.aieId_1 = aieId;
    this.aieLastMod_1 = aieLastMod;
    this.aieIsDeleted_1 = aieIsDeleted;
  }
  protoOf(ActivityInteractionEntity).set_aieActivityUid_kwji4d_k$ = function (_set____db54di) {
    this.aieActivityUid_1 = _set____db54di;
  };
  protoOf(ActivityInteractionEntity).get_aieActivityUid_6c3d59_k$ = function () {
    return this.aieActivityUid_1;
  };
  protoOf(ActivityInteractionEntity).set_aieHash_tjkngw_k$ = function (_set____db54di) {
    this.aieHash_1 = _set____db54di;
  };
  protoOf(ActivityInteractionEntity).get_aieHash_fcq2ny_k$ = function () {
    return this.aieHash_1;
  };
  protoOf(ActivityInteractionEntity).set_aieProp_rbvdtx_k$ = function (_set____db54di) {
    this.aieProp_1 = _set____db54di;
  };
  protoOf(ActivityInteractionEntity).get_aieProp_fckm95_k$ = function () {
    return this.aieProp_1;
  };
  protoOf(ActivityInteractionEntity).set_aieId_d3k14s_k$ = function (_set____db54di) {
    this.aieId_1 = _set____db54di;
  };
  protoOf(ActivityInteractionEntity).get_aieId_iomnm7_k$ = function () {
    return this.aieId_1;
  };
  protoOf(ActivityInteractionEntity).set_aieLastMod_tm63u6_k$ = function (_set____db54di) {
    this.aieLastMod_1 = _set____db54di;
  };
  protoOf(ActivityInteractionEntity).get_aieLastMod_w14avs_k$ = function () {
    return this.aieLastMod_1;
  };
  protoOf(ActivityInteractionEntity).set_aieIsDeleted_vbjgey_k$ = function (_set____db54di) {
    this.aieIsDeleted_1 = _set____db54di;
  };
  protoOf(ActivityInteractionEntity).get_aieIsDeleted_8jbcwr_k$ = function () {
    return this.aieIsDeleted_1;
  };
  protoOf(ActivityInteractionEntity).component1_7eebsc_k$ = function () {
    return this.aieActivityUid_1;
  };
  protoOf(ActivityInteractionEntity).component2_7eebsb_k$ = function () {
    return this.aieHash_1;
  };
  protoOf(ActivityInteractionEntity).component3_7eebsa_k$ = function () {
    return this.aieProp_1;
  };
  protoOf(ActivityInteractionEntity).component4_7eebs9_k$ = function () {
    return this.aieId_1;
  };
  protoOf(ActivityInteractionEntity).component5_7eebs8_k$ = function () {
    return this.aieLastMod_1;
  };
  protoOf(ActivityInteractionEntity).component6_7eebs7_k$ = function () {
    return this.aieIsDeleted_1;
  };
  protoOf(ActivityInteractionEntity).copy_1w3vf1_k$ = function (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) {
    return new ActivityInteractionEntity(aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted);
  };
  protoOf(ActivityInteractionEntity).copy$default_wc82mn_k$ = function (aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted, $super) {
    aieActivityUid = aieActivityUid === VOID ? this.aieActivityUid_1 : aieActivityUid;
    aieHash = aieHash === VOID ? this.aieHash_1 : aieHash;
    aieProp = aieProp === VOID ? this.aieProp_1 : aieProp;
    aieId = aieId === VOID ? this.aieId_1 : aieId;
    aieLastMod = aieLastMod === VOID ? this.aieLastMod_1 : aieLastMod;
    aieIsDeleted = aieIsDeleted === VOID ? this.aieIsDeleted_1 : aieIsDeleted;
    return $super === VOID ? this.copy_1w3vf1_k$(aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted) : $super.copy_1w3vf1_k$.call(this, aieActivityUid, aieHash, aieProp, aieId, aieLastMod, aieIsDeleted);
  };
  protoOf(ActivityInteractionEntity).toString = function () {
    return 'ActivityInteractionEntity(aieActivityUid=' + this.aieActivityUid_1.toString() + ', aieHash=' + this.aieHash_1.toString() + ', aieProp=' + this.aieProp_1 + ', aieId=' + this.aieId_1 + ', aieLastMod=' + this.aieLastMod_1.toString() + ', aieIsDeleted=' + this.aieIsDeleted_1 + ')';
  };
  protoOf(ActivityInteractionEntity).hashCode = function () {
    var result = this.aieActivityUid_1.hashCode();
    result = imul(result, 31) + this.aieHash_1.hashCode() | 0;
    result = imul(result, 31) + this.aieProp_1 | 0;
    result = imul(result, 31) + (this.aieId_1 == null ? 0 : getStringHashCode(this.aieId_1)) | 0;
    result = imul(result, 31) + this.aieLastMod_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.aieIsDeleted_1) | 0;
    return result;
  };
  protoOf(ActivityInteractionEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityInteractionEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityInteractionEntity ? other : THROW_CCE();
    if (!this.aieActivityUid_1.equals(tmp0_other_with_cast.aieActivityUid_1))
      return false;
    if (!this.aieHash_1.equals(tmp0_other_with_cast.aieHash_1))
      return false;
    if (!(this.aieProp_1 === tmp0_other_with_cast.aieProp_1))
      return false;
    if (!(this.aieId_1 == tmp0_other_with_cast.aieId_1))
      return false;
    if (!this.aieLastMod_1.equals(tmp0_other_with_cast.aieLastMod_1))
      return false;
    if (!(this.aieIsDeleted_1 === tmp0_other_with_cast.aieIsDeleted_1))
      return false;
    return true;
  };
  function Companion_130() {
    Companion_instance_130 = this;
    this.TABLE_ID_1 = 6442;
    this.PROPNAME_NAME_1 = 'name';
    this.PROPNAME_DESCRIPTION_1 = 'description';
  }
  protoOf(Companion_130).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_130).get_PROPNAME_NAME_f37mvn_k$ = function () {
    return this.PROPNAME_NAME_1;
  };
  protoOf(Companion_130).get_PROPNAME_DESCRIPTION_ae0f6c_k$ = function () {
    return this.PROPNAME_DESCRIPTION_1;
  };
  protoOf(Companion_130).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_126();
  };
  var Companion_instance_130;
  function Companion_getInstance_132() {
    if (Companion_instance_130 == null)
      new Companion_130();
    return Companion_instance_130;
  }
  function $serializer_126() {
    $serializer_instance_126 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActivityLangMapEntry', this, 6);
    tmp0_serialDesc.addElement_5pzumi_k$('almeActivityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('almeHash', true);
    tmp0_serialDesc.addElement_5pzumi_k$('almeLangCode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('almeValue', true);
    tmp0_serialDesc.addElement_5pzumi_k$('almeAieHash', true);
    tmp0_serialDesc.addElement_5pzumi_k$('almeLastMod', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_126).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_126).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_126).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp10_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp10_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp10_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp10_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp10_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ActivityLangMapEntry_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, null);
  };
  protoOf($serializer_126).serialize_bn525u_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.almeActivityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.almeActivityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.almeHash_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.almeHash_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.almeLangCode_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.almeLangCode_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.almeValue_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.almeValue_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.almeAieHash_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.almeAieHash_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.almeLastMod_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.almeLastMod_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_126).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_bn525u_k$(encoder, value instanceof ActivityLangMapEntry ? value : THROW_CCE());
  };
  var $serializer_instance_126;
  function $serializer_getInstance_126() {
    if ($serializer_instance_126 == null)
      new $serializer_126();
    return $serializer_instance_126;
  }
  function ActivityLangMapEntry_init_$Init$(seen1, almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_126().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.almeActivityUid_1 = new Long(0, 0);
    else
      $this.almeActivityUid_1 = almeActivityUid;
    if (0 === (seen1 & 2))
      $this.almeHash_1 = new Long(0, 0);
    else
      $this.almeHash_1 = almeHash;
    if (0 === (seen1 & 4))
      $this.almeLangCode_1 = null;
    else
      $this.almeLangCode_1 = almeLangCode;
    if (0 === (seen1 & 8))
      $this.almeValue_1 = null;
    else
      $this.almeValue_1 = almeValue;
    if (0 === (seen1 & 16))
      $this.almeAieHash_1 = new Long(0, 0);
    else
      $this.almeAieHash_1 = almeAieHash;
    if (0 === (seen1 & 32))
      $this.almeLastMod_1 = new Long(0, 0);
    else
      $this.almeLastMod_1 = almeLastMod;
    return $this;
  }
  function ActivityLangMapEntry_init_$Create$(seen1, almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, serializationConstructorMarker) {
    return ActivityLangMapEntry_init_$Init$(seen1, almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, serializationConstructorMarker, objectCreate(protoOf(ActivityLangMapEntry)));
  }
  function ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod) {
    Companion_getInstance_132();
    almeActivityUid = almeActivityUid === VOID ? new Long(0, 0) : almeActivityUid;
    almeHash = almeHash === VOID ? new Long(0, 0) : almeHash;
    almeLangCode = almeLangCode === VOID ? null : almeLangCode;
    almeValue = almeValue === VOID ? null : almeValue;
    almeAieHash = almeAieHash === VOID ? new Long(0, 0) : almeAieHash;
    almeLastMod = almeLastMod === VOID ? new Long(0, 0) : almeLastMod;
    this.almeActivityUid_1 = almeActivityUid;
    this.almeHash_1 = almeHash;
    this.almeLangCode_1 = almeLangCode;
    this.almeValue_1 = almeValue;
    this.almeAieHash_1 = almeAieHash;
    this.almeLastMod_1 = almeLastMod;
  }
  protoOf(ActivityLangMapEntry).set_almeActivityUid_b53eeb_k$ = function (_set____db54di) {
    this.almeActivityUid_1 = _set____db54di;
  };
  protoOf(ActivityLangMapEntry).get_almeActivityUid_o9qzhn_k$ = function () {
    return this.almeActivityUid_1;
  };
  protoOf(ActivityLangMapEntry).set_almeHash_yja2gg_k$ = function (_set____db54di) {
    this.almeHash_1 = _set____db54di;
  };
  protoOf(ActivityLangMapEntry).get_almeHash_1iqfeu_k$ = function () {
    return this.almeHash_1;
  };
  protoOf(ActivityLangMapEntry).set_almeLangCode_omlfr0_k$ = function (_set____db54di) {
    this.almeLangCode_1 = _set____db54di;
  };
  protoOf(ActivityLangMapEntry).get_almeLangCode_45kvbt_k$ = function () {
    return this.almeLangCode_1;
  };
  protoOf(ActivityLangMapEntry).set_almeValue_ynoy12_k$ = function (_set____db54di) {
    this.almeValue_1 = _set____db54di;
  };
  protoOf(ActivityLangMapEntry).get_almeValue_o41rph_k$ = function () {
    return this.almeValue_1;
  };
  protoOf(ActivityLangMapEntry).set_almeAieHash_gievt9_k$ = function (_set____db54di) {
    this.almeAieHash_1 = _set____db54di;
  };
  protoOf(ActivityLangMapEntry).get_almeAieHash_4fnbb5_k$ = function () {
    return this.almeAieHash_1;
  };
  protoOf(ActivityLangMapEntry).set_almeLastMod_eesr1u_k$ = function (_set____db54di) {
    this.almeLastMod_1 = _set____db54di;
  };
  protoOf(ActivityLangMapEntry).get_almeLastMod_beliu8_k$ = function () {
    return this.almeLastMod_1;
  };
  protoOf(ActivityLangMapEntry).component1_7eebsc_k$ = function () {
    return this.almeActivityUid_1;
  };
  protoOf(ActivityLangMapEntry).component2_7eebsb_k$ = function () {
    return this.almeHash_1;
  };
  protoOf(ActivityLangMapEntry).component3_7eebsa_k$ = function () {
    return this.almeLangCode_1;
  };
  protoOf(ActivityLangMapEntry).component4_7eebs9_k$ = function () {
    return this.almeValue_1;
  };
  protoOf(ActivityLangMapEntry).component5_7eebs8_k$ = function () {
    return this.almeAieHash_1;
  };
  protoOf(ActivityLangMapEntry).component6_7eebs7_k$ = function () {
    return this.almeLastMod_1;
  };
  protoOf(ActivityLangMapEntry).copy_xi2hsp_k$ = function (almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod) {
    return new ActivityLangMapEntry(almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod);
  };
  protoOf(ActivityLangMapEntry).copy$default_aw4n76_k$ = function (almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod, $super) {
    almeActivityUid = almeActivityUid === VOID ? this.almeActivityUid_1 : almeActivityUid;
    almeHash = almeHash === VOID ? this.almeHash_1 : almeHash;
    almeLangCode = almeLangCode === VOID ? this.almeLangCode_1 : almeLangCode;
    almeValue = almeValue === VOID ? this.almeValue_1 : almeValue;
    almeAieHash = almeAieHash === VOID ? this.almeAieHash_1 : almeAieHash;
    almeLastMod = almeLastMod === VOID ? this.almeLastMod_1 : almeLastMod;
    return $super === VOID ? this.copy_xi2hsp_k$(almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod) : $super.copy_xi2hsp_k$.call(this, almeActivityUid, almeHash, almeLangCode, almeValue, almeAieHash, almeLastMod);
  };
  protoOf(ActivityLangMapEntry).toString = function () {
    return 'ActivityLangMapEntry(almeActivityUid=' + this.almeActivityUid_1.toString() + ', almeHash=' + this.almeHash_1.toString() + ', almeLangCode=' + this.almeLangCode_1 + ', almeValue=' + this.almeValue_1 + ', almeAieHash=' + this.almeAieHash_1.toString() + ', almeLastMod=' + this.almeLastMod_1.toString() + ')';
  };
  protoOf(ActivityLangMapEntry).hashCode = function () {
    var result = this.almeActivityUid_1.hashCode();
    result = imul(result, 31) + this.almeHash_1.hashCode() | 0;
    result = imul(result, 31) + (this.almeLangCode_1 == null ? 0 : getStringHashCode(this.almeLangCode_1)) | 0;
    result = imul(result, 31) + (this.almeValue_1 == null ? 0 : getStringHashCode(this.almeValue_1)) | 0;
    result = imul(result, 31) + this.almeAieHash_1.hashCode() | 0;
    result = imul(result, 31) + this.almeLastMod_1.hashCode() | 0;
    return result;
  };
  protoOf(ActivityLangMapEntry).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActivityLangMapEntry))
      return false;
    var tmp0_other_with_cast = other instanceof ActivityLangMapEntry ? other : THROW_CCE();
    if (!this.almeActivityUid_1.equals(tmp0_other_with_cast.almeActivityUid_1))
      return false;
    if (!this.almeHash_1.equals(tmp0_other_with_cast.almeHash_1))
      return false;
    if (!(this.almeLangCode_1 == tmp0_other_with_cast.almeLangCode_1))
      return false;
    if (!(this.almeValue_1 == tmp0_other_with_cast.almeValue_1))
      return false;
    if (!this.almeAieHash_1.equals(tmp0_other_with_cast.almeAieHash_1))
      return false;
    if (!this.almeLastMod_1.equals(tmp0_other_with_cast.almeLastMod_1))
      return false;
    return true;
  };
  function Companion_131() {
    Companion_instance_131 = this;
    this.TABLE_ID_1 = 68;
  }
  protoOf(Companion_131).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_131).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_127();
  };
  var Companion_instance_131;
  function Companion_getInstance_133() {
    if (Companion_instance_131 == null)
      new Companion_131();
    return Companion_instance_131;
  }
  function $serializer_127() {
    $serializer_instance_127 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.ActorEntity', this, 11);
    tmp0_serialDesc.addElement_5pzumi_k$('actorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorMbox', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorMbox_sha1sum', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorOpenid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorAccountName', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorAccountHomePage', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorEtag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('actorObjectType', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_127).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_127).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance()];
  };
  protoOf($serializer_127).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = null;
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_local7 = null;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = 0;
    var tmp15_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp15_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp15_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 4, StringSerializer_getInstance(), tmp8_local4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, StringSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, StringSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp15_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 7, StringSerializer_getInstance(), tmp11_local7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp15_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp15_input.decodeIntElement_941u6a_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp15_input.endStructure_1xqz0n_k$(tmp0_desc);
    return ActorEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, null);
  };
  protoOf($serializer_127).serialize_v55765_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.actorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.actorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.actorPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.actorPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.actorName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.actorName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.actorMbox_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.actorMbox_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.actorMbox_sha1sum_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 4, StringSerializer_getInstance(), value.actorMbox_sha1sum_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.actorOpenid_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, StringSerializer_getInstance(), value.actorOpenid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.actorAccountName_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, StringSerializer_getInstance(), value.actorAccountName_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.actorAccountHomePage_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 7, StringSerializer_getInstance(), value.actorAccountHomePage_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.actorEtag_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.actorEtag_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.actorLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.actorLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.actorObjectType_1 === XapiEntityObjectTypeFlags_getInstance().get_AGENT_i6evgc_k$())) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 10, value.actorObjectType_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_127).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_v55765_k$(encoder, value instanceof ActorEntity ? value : THROW_CCE());
  };
  var $serializer_instance_127;
  function $serializer_getInstance_127() {
    if ($serializer_instance_127 == null)
      new $serializer_127();
    return $serializer_instance_127;
  }
  function ActorEntity_init_$Init$(seen1, actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_127().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.actorUid_1 = new Long(0, 0);
    else
      $this.actorUid_1 = actorUid;
    if (0 === (seen1 & 2))
      $this.actorPersonUid_1 = new Long(0, 0);
    else
      $this.actorPersonUid_1 = actorPersonUid;
    if (0 === (seen1 & 4))
      $this.actorName_1 = null;
    else
      $this.actorName_1 = actorName;
    if (0 === (seen1 & 8))
      $this.actorMbox_1 = null;
    else
      $this.actorMbox_1 = actorMbox;
    if (0 === (seen1 & 16))
      $this.actorMbox_sha1sum_1 = null;
    else
      $this.actorMbox_sha1sum_1 = actorMbox_sha1sum;
    if (0 === (seen1 & 32))
      $this.actorOpenid_1 = null;
    else
      $this.actorOpenid_1 = actorOpenid;
    if (0 === (seen1 & 64))
      $this.actorAccountName_1 = null;
    else
      $this.actorAccountName_1 = actorAccountName;
    if (0 === (seen1 & 128))
      $this.actorAccountHomePage_1 = null;
    else
      $this.actorAccountHomePage_1 = actorAccountHomePage;
    if (0 === (seen1 & 256))
      $this.actorEtag_1 = new Long(0, 0);
    else
      $this.actorEtag_1 = actorEtag;
    if (0 === (seen1 & 512))
      $this.actorLct_1 = new Long(0, 0);
    else
      $this.actorLct_1 = actorLct;
    if (0 === (seen1 & 1024))
      $this.actorObjectType_1 = XapiEntityObjectTypeFlags_getInstance().get_AGENT_i6evgc_k$();
    else
      $this.actorObjectType_1 = actorObjectType;
    return $this;
  }
  function ActorEntity_init_$Create$(seen1, actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType, serializationConstructorMarker) {
    return ActorEntity_init_$Init$(seen1, actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType, serializationConstructorMarker, objectCreate(protoOf(ActorEntity)));
  }
  function ActorEntity(actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) {
    Companion_getInstance_133();
    actorUid = actorUid === VOID ? new Long(0, 0) : actorUid;
    actorPersonUid = actorPersonUid === VOID ? new Long(0, 0) : actorPersonUid;
    actorName = actorName === VOID ? null : actorName;
    actorMbox = actorMbox === VOID ? null : actorMbox;
    actorMbox_sha1sum = actorMbox_sha1sum === VOID ? null : actorMbox_sha1sum;
    actorOpenid = actorOpenid === VOID ? null : actorOpenid;
    actorAccountName = actorAccountName === VOID ? null : actorAccountName;
    actorAccountHomePage = actorAccountHomePage === VOID ? null : actorAccountHomePage;
    actorEtag = actorEtag === VOID ? new Long(0, 0) : actorEtag;
    actorLct = actorLct === VOID ? new Long(0, 0) : actorLct;
    actorObjectType = actorObjectType === VOID ? XapiEntityObjectTypeFlags_getInstance().get_AGENT_i6evgc_k$() : actorObjectType;
    this.actorUid_1 = actorUid;
    this.actorPersonUid_1 = actorPersonUid;
    this.actorName_1 = actorName;
    this.actorMbox_1 = actorMbox;
    this.actorMbox_sha1sum_1 = actorMbox_sha1sum;
    this.actorOpenid_1 = actorOpenid;
    this.actorAccountName_1 = actorAccountName;
    this.actorAccountHomePage_1 = actorAccountHomePage;
    this.actorEtag_1 = actorEtag;
    this.actorLct_1 = actorLct;
    this.actorObjectType_1 = actorObjectType;
  }
  protoOf(ActorEntity).set_actorUid_wjpps6_k$ = function (_set____db54di) {
    this.actorUid_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorUid_bxgzj8_k$ = function () {
    return this.actorUid_1;
  };
  protoOf(ActorEntity).set_actorPersonUid_sqwdrv_k$ = function (_set____db54di) {
    this.actorPersonUid_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorPersonUid_fdd67l_k$ = function () {
    return this.actorPersonUid_1;
  };
  protoOf(ActorEntity).set_actorName_t0c818_k$ = function (_set____db54di) {
    this.actorName_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorName_enxp4n_k$ = function () {
    return this.actorName_1;
  };
  protoOf(ActorEntity).set_actorMbox_otojz5_k$ = function (_set____db54di) {
    this.actorMbox_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorMbox_enx2y2_k$ = function () {
    return this.actorMbox_1;
  };
  protoOf(ActorEntity).set_actorMbox_sha1sum_2m4at6_k$ = function (_set____db54di) {
    this.actorMbox_sha1sum_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorMbox_sha1sum_wa7f5_k$ = function () {
    return this.actorMbox_sha1sum_1;
  };
  protoOf(ActorEntity).set_actorOpenid_iurhfq_k$ = function (_set____db54di) {
    this.actorOpenid_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorOpenid_tjemdt_k$ = function () {
    return this.actorOpenid_1;
  };
  protoOf(ActorEntity).set_actorAccountName_yw5pfb_k$ = function (_set____db54di) {
    this.actorAccountName_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorAccountName_o5fzl8_k$ = function () {
    return this.actorAccountName_1;
  };
  protoOf(ActorEntity).set_actorAccountHomePage_r9422c_k$ = function (_set____db54di) {
    this.actorAccountHomePage_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorAccountHomePage_53pq8h_k$ = function () {
    return this.actorAccountHomePage_1;
  };
  protoOf(ActorEntity).set_actorEtag_jhzarz_k$ = function (_set____db54di) {
    this.actorEtag_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorEtag_ensc1t_k$ = function () {
    return this.actorEtag_1;
  };
  protoOf(ActorEntity).set_actorLct_u43k87_k$ = function (_set____db54di) {
    this.actorLct_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorLct_bxgsq9_k$ = function () {
    return this.actorLct_1;
  };
  protoOf(ActorEntity).set_actorObjectType_1zrrft_k$ = function (_set____db54di) {
    this.actorObjectType_1 = _set____db54di;
  };
  protoOf(ActorEntity).get_actorObjectType_r4jksl_k$ = function () {
    return this.actorObjectType_1;
  };
  protoOf(ActorEntity).component1_7eebsc_k$ = function () {
    return this.actorUid_1;
  };
  protoOf(ActorEntity).component2_7eebsb_k$ = function () {
    return this.actorPersonUid_1;
  };
  protoOf(ActorEntity).component3_7eebsa_k$ = function () {
    return this.actorName_1;
  };
  protoOf(ActorEntity).component4_7eebs9_k$ = function () {
    return this.actorMbox_1;
  };
  protoOf(ActorEntity).component5_7eebs8_k$ = function () {
    return this.actorMbox_sha1sum_1;
  };
  protoOf(ActorEntity).component6_7eebs7_k$ = function () {
    return this.actorOpenid_1;
  };
  protoOf(ActorEntity).component7_7eebs6_k$ = function () {
    return this.actorAccountName_1;
  };
  protoOf(ActorEntity).component8_7eebs5_k$ = function () {
    return this.actorAccountHomePage_1;
  };
  protoOf(ActorEntity).component9_7eebs4_k$ = function () {
    return this.actorEtag_1;
  };
  protoOf(ActorEntity).component10_gazzfo_k$ = function () {
    return this.actorLct_1;
  };
  protoOf(ActorEntity).component11_gazzfn_k$ = function () {
    return this.actorObjectType_1;
  };
  protoOf(ActorEntity).copy_4qrdm5_k$ = function (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) {
    return new ActorEntity(actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType);
  };
  protoOf(ActorEntity).copy$default_ubhiai_k$ = function (actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType, $super) {
    actorUid = actorUid === VOID ? this.actorUid_1 : actorUid;
    actorPersonUid = actorPersonUid === VOID ? this.actorPersonUid_1 : actorPersonUid;
    actorName = actorName === VOID ? this.actorName_1 : actorName;
    actorMbox = actorMbox === VOID ? this.actorMbox_1 : actorMbox;
    actorMbox_sha1sum = actorMbox_sha1sum === VOID ? this.actorMbox_sha1sum_1 : actorMbox_sha1sum;
    actorOpenid = actorOpenid === VOID ? this.actorOpenid_1 : actorOpenid;
    actorAccountName = actorAccountName === VOID ? this.actorAccountName_1 : actorAccountName;
    actorAccountHomePage = actorAccountHomePage === VOID ? this.actorAccountHomePage_1 : actorAccountHomePage;
    actorEtag = actorEtag === VOID ? this.actorEtag_1 : actorEtag;
    actorLct = actorLct === VOID ? this.actorLct_1 : actorLct;
    actorObjectType = actorObjectType === VOID ? this.actorObjectType_1 : actorObjectType;
    return $super === VOID ? this.copy_4qrdm5_k$(actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType) : $super.copy_4qrdm5_k$.call(this, actorUid, actorPersonUid, actorName, actorMbox, actorMbox_sha1sum, actorOpenid, actorAccountName, actorAccountHomePage, actorEtag, actorLct, actorObjectType);
  };
  protoOf(ActorEntity).toString = function () {
    return 'ActorEntity(actorUid=' + this.actorUid_1.toString() + ', actorPersonUid=' + this.actorPersonUid_1.toString() + ', actorName=' + this.actorName_1 + ', actorMbox=' + this.actorMbox_1 + ', actorMbox_sha1sum=' + this.actorMbox_sha1sum_1 + ', actorOpenid=' + this.actorOpenid_1 + ', actorAccountName=' + this.actorAccountName_1 + ', actorAccountHomePage=' + this.actorAccountHomePage_1 + ', actorEtag=' + this.actorEtag_1.toString() + ', actorLct=' + this.actorLct_1.toString() + ', actorObjectType=' + this.actorObjectType_1 + ')';
  };
  protoOf(ActorEntity).hashCode = function () {
    var result = this.actorUid_1.hashCode();
    result = imul(result, 31) + this.actorPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.actorName_1 == null ? 0 : getStringHashCode(this.actorName_1)) | 0;
    result = imul(result, 31) + (this.actorMbox_1 == null ? 0 : getStringHashCode(this.actorMbox_1)) | 0;
    result = imul(result, 31) + (this.actorMbox_sha1sum_1 == null ? 0 : getStringHashCode(this.actorMbox_sha1sum_1)) | 0;
    result = imul(result, 31) + (this.actorOpenid_1 == null ? 0 : getStringHashCode(this.actorOpenid_1)) | 0;
    result = imul(result, 31) + (this.actorAccountName_1 == null ? 0 : getStringHashCode(this.actorAccountName_1)) | 0;
    result = imul(result, 31) + (this.actorAccountHomePage_1 == null ? 0 : getStringHashCode(this.actorAccountHomePage_1)) | 0;
    result = imul(result, 31) + this.actorEtag_1.hashCode() | 0;
    result = imul(result, 31) + this.actorLct_1.hashCode() | 0;
    result = imul(result, 31) + this.actorObjectType_1 | 0;
    return result;
  };
  protoOf(ActorEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof ActorEntity))
      return false;
    var tmp0_other_with_cast = other instanceof ActorEntity ? other : THROW_CCE();
    if (!this.actorUid_1.equals(tmp0_other_with_cast.actorUid_1))
      return false;
    if (!this.actorPersonUid_1.equals(tmp0_other_with_cast.actorPersonUid_1))
      return false;
    if (!(this.actorName_1 == tmp0_other_with_cast.actorName_1))
      return false;
    if (!(this.actorMbox_1 == tmp0_other_with_cast.actorMbox_1))
      return false;
    if (!(this.actorMbox_sha1sum_1 == tmp0_other_with_cast.actorMbox_sha1sum_1))
      return false;
    if (!(this.actorOpenid_1 == tmp0_other_with_cast.actorOpenid_1))
      return false;
    if (!(this.actorAccountName_1 == tmp0_other_with_cast.actorAccountName_1))
      return false;
    if (!(this.actorAccountHomePage_1 == tmp0_other_with_cast.actorAccountHomePage_1))
      return false;
    if (!this.actorEtag_1.equals(tmp0_other_with_cast.actorEtag_1))
      return false;
    if (!this.actorLct_1.equals(tmp0_other_with_cast.actorLct_1))
      return false;
    if (!(this.actorObjectType_1 === tmp0_other_with_cast.actorObjectType_1))
      return false;
    return true;
  };
  function Companion_132() {
    Companion_instance_132 = this;
    this.TABLE_ID_1 = 4232;
  }
  protoOf(Companion_132).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_132).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_128();
  };
  var Companion_instance_132;
  function Companion_getInstance_134() {
    if (Companion_instance_132 == null)
      new Companion_132();
    return Companion_instance_132;
  }
  function $serializer_128() {
    $serializer_instance_128 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.GroupMemberActorJoin', this, 3);
    tmp0_serialDesc.addElement_5pzumi_k$('gmajGroupActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('gmajMemberActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('gmajLastMod', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_128).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_128).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_128).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp7_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp7_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp7_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp7_input.endStructure_1xqz0n_k$(tmp0_desc);
    return GroupMemberActorJoin_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, null);
  };
  protoOf($serializer_128).serialize_160ecl_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.gmajGroupActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.gmajGroupActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.gmajMemberActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.gmajMemberActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.gmajLastMod_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.gmajLastMod_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_128).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_160ecl_k$(encoder, value instanceof GroupMemberActorJoin ? value : THROW_CCE());
  };
  var $serializer_instance_128;
  function $serializer_getInstance_128() {
    if ($serializer_instance_128 == null)
      new $serializer_128();
    return $serializer_instance_128;
  }
  function GroupMemberActorJoin_init_$Init$(seen1, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_128().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.gmajGroupActorUid_1 = new Long(0, 0);
    else
      $this.gmajGroupActorUid_1 = gmajGroupActorUid;
    if (0 === (seen1 & 2))
      $this.gmajMemberActorUid_1 = new Long(0, 0);
    else
      $this.gmajMemberActorUid_1 = gmajMemberActorUid;
    if (0 === (seen1 & 4))
      $this.gmajLastMod_1 = new Long(0, 0);
    else
      $this.gmajLastMod_1 = gmajLastMod;
    return $this;
  }
  function GroupMemberActorJoin_init_$Create$(seen1, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, serializationConstructorMarker) {
    return GroupMemberActorJoin_init_$Init$(seen1, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, serializationConstructorMarker, objectCreate(protoOf(GroupMemberActorJoin)));
  }
  function GroupMemberActorJoin(gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) {
    Companion_getInstance_134();
    gmajGroupActorUid = gmajGroupActorUid === VOID ? new Long(0, 0) : gmajGroupActorUid;
    gmajMemberActorUid = gmajMemberActorUid === VOID ? new Long(0, 0) : gmajMemberActorUid;
    gmajLastMod = gmajLastMod === VOID ? new Long(0, 0) : gmajLastMod;
    this.gmajGroupActorUid_1 = gmajGroupActorUid;
    this.gmajMemberActorUid_1 = gmajMemberActorUid;
    this.gmajLastMod_1 = gmajLastMod;
  }
  protoOf(GroupMemberActorJoin).set_gmajGroupActorUid_t579cg_k$ = function (_set____db54di) {
    this.gmajGroupActorUid_1 = _set____db54di;
  };
  protoOf(GroupMemberActorJoin).get_gmajGroupActorUid_48ehxa_k$ = function () {
    return this.gmajGroupActorUid_1;
  };
  protoOf(GroupMemberActorJoin).set_gmajMemberActorUid_fnocj_k$ = function (_set____db54di) {
    this.gmajMemberActorUid_1 = _set____db54di;
  };
  protoOf(GroupMemberActorJoin).get_gmajMemberActorUid_c3ucz7_k$ = function () {
    return this.gmajMemberActorUid_1;
  };
  protoOf(GroupMemberActorJoin).set_gmajLastMod_ign14y_k$ = function (_set____db54di) {
    this.gmajLastMod_1 = _set____db54di;
  };
  protoOf(GroupMemberActorJoin).get_gmajLastMod_mhnib0_k$ = function () {
    return this.gmajLastMod_1;
  };
  protoOf(GroupMemberActorJoin).component1_7eebsc_k$ = function () {
    return this.gmajGroupActorUid_1;
  };
  protoOf(GroupMemberActorJoin).component2_7eebsb_k$ = function () {
    return this.gmajMemberActorUid_1;
  };
  protoOf(GroupMemberActorJoin).component3_7eebsa_k$ = function () {
    return this.gmajLastMod_1;
  };
  protoOf(GroupMemberActorJoin).copy_irvfc7_k$ = function (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) {
    return new GroupMemberActorJoin(gmajGroupActorUid, gmajMemberActorUid, gmajLastMod);
  };
  protoOf(GroupMemberActorJoin).copy$default_edkswc_k$ = function (gmajGroupActorUid, gmajMemberActorUid, gmajLastMod, $super) {
    gmajGroupActorUid = gmajGroupActorUid === VOID ? this.gmajGroupActorUid_1 : gmajGroupActorUid;
    gmajMemberActorUid = gmajMemberActorUid === VOID ? this.gmajMemberActorUid_1 : gmajMemberActorUid;
    gmajLastMod = gmajLastMod === VOID ? this.gmajLastMod_1 : gmajLastMod;
    return $super === VOID ? this.copy_irvfc7_k$(gmajGroupActorUid, gmajMemberActorUid, gmajLastMod) : $super.copy_irvfc7_k$.call(this, gmajGroupActorUid, gmajMemberActorUid, gmajLastMod);
  };
  protoOf(GroupMemberActorJoin).toString = function () {
    return 'GroupMemberActorJoin(gmajGroupActorUid=' + this.gmajGroupActorUid_1.toString() + ', gmajMemberActorUid=' + this.gmajMemberActorUid_1.toString() + ', gmajLastMod=' + this.gmajLastMod_1.toString() + ')';
  };
  protoOf(GroupMemberActorJoin).hashCode = function () {
    var result = this.gmajGroupActorUid_1.hashCode();
    result = imul(result, 31) + this.gmajMemberActorUid_1.hashCode() | 0;
    result = imul(result, 31) + this.gmajLastMod_1.hashCode() | 0;
    return result;
  };
  protoOf(GroupMemberActorJoin).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof GroupMemberActorJoin))
      return false;
    var tmp0_other_with_cast = other instanceof GroupMemberActorJoin ? other : THROW_CCE();
    if (!this.gmajGroupActorUid_1.equals(tmp0_other_with_cast.gmajGroupActorUid_1))
      return false;
    if (!this.gmajMemberActorUid_1.equals(tmp0_other_with_cast.gmajMemberActorUid_1))
      return false;
    if (!this.gmajLastMod_1.equals(tmp0_other_with_cast.gmajLastMod_1))
      return false;
    return true;
  };
  function Companion_133() {
    Companion_instance_133 = this;
    this.TABLE_ID_1 = 121422;
  }
  protoOf(Companion_133).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_133).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_129();
  };
  var Companion_instance_133;
  function Companion_getInstance_135() {
    if (Companion_instance_133 == null)
      new Companion_133();
    return Companion_instance_133;
  }
  function $serializer_129() {
    $serializer_instance_129 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StateDeleteCommand', this, 7);
    tmp0_serialDesc.addElement_5pzumi_k$('sdcActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sdcHash', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sdcActivityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sdcStateId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sdcLastMod', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sdcRegistrationHi', true);
    tmp0_serialDesc.addElement_5pzumi_k$('sdcRegistrationLo', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_129).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_129).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), get_nullable(LongSerializer_getInstance()), get_nullable(LongSerializer_getInstance())];
  };
  protoOf($serializer_129).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = null;
    var tmp10_local6 = null;
    var tmp11_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp11_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, LongSerializer_getInstance(), tmp9_local5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, LongSerializer_getInstance(), tmp10_local6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp11_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp11_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 5, LongSerializer_getInstance(), tmp9_local5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp11_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 6, LongSerializer_getInstance(), tmp10_local6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp11_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StateDeleteCommand_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, null);
  };
  protoOf($serializer_129).serialize_8bdzhu_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.sdcActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.sdcActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.sdcHash_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.sdcHash_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.sdcActivityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.sdcActivityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.sdcStateId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.sdcStateId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.sdcLastMod_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.sdcLastMod_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !(value.sdcRegistrationHi_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 5, LongSerializer_getInstance(), value.sdcRegistrationHi_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.sdcRegistrationLo_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 6, LongSerializer_getInstance(), value.sdcRegistrationLo_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_129).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_8bdzhu_k$(encoder, value instanceof StateDeleteCommand ? value : THROW_CCE());
  };
  var $serializer_instance_129;
  function $serializer_getInstance_129() {
    if ($serializer_instance_129 == null)
      new $serializer_129();
    return $serializer_instance_129;
  }
  function StateDeleteCommand_init_$Init$(seen1, sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_129().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.sdcActorUid_1 = new Long(0, 0);
    else
      $this.sdcActorUid_1 = sdcActorUid;
    if (0 === (seen1 & 2))
      $this.sdcHash_1 = new Long(0, 0);
    else
      $this.sdcHash_1 = sdcHash;
    if (0 === (seen1 & 4))
      $this.sdcActivityUid_1 = new Long(0, 0);
    else
      $this.sdcActivityUid_1 = sdcActivityUid;
    if (0 === (seen1 & 8))
      $this.sdcStateId_1 = null;
    else
      $this.sdcStateId_1 = sdcStateId;
    if (0 === (seen1 & 16))
      $this.sdcLastMod_1 = new Long(0, 0);
    else
      $this.sdcLastMod_1 = sdcLastMod;
    if (0 === (seen1 & 32))
      $this.sdcRegistrationHi_1 = null;
    else
      $this.sdcRegistrationHi_1 = sdcRegistrationHi;
    if (0 === (seen1 & 64))
      $this.sdcRegistrationLo_1 = null;
    else
      $this.sdcRegistrationLo_1 = sdcRegistrationLo;
    return $this;
  }
  function StateDeleteCommand_init_$Create$(seen1, sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo, serializationConstructorMarker) {
    return StateDeleteCommand_init_$Init$(seen1, sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo, serializationConstructorMarker, objectCreate(protoOf(StateDeleteCommand)));
  }
  function StateDeleteCommand(sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) {
    Companion_getInstance_135();
    sdcActorUid = sdcActorUid === VOID ? new Long(0, 0) : sdcActorUid;
    sdcHash = sdcHash === VOID ? new Long(0, 0) : sdcHash;
    sdcActivityUid = sdcActivityUid === VOID ? new Long(0, 0) : sdcActivityUid;
    sdcStateId = sdcStateId === VOID ? null : sdcStateId;
    sdcLastMod = sdcLastMod === VOID ? new Long(0, 0) : sdcLastMod;
    sdcRegistrationHi = sdcRegistrationHi === VOID ? null : sdcRegistrationHi;
    sdcRegistrationLo = sdcRegistrationLo === VOID ? null : sdcRegistrationLo;
    this.sdcActorUid_1 = sdcActorUid;
    this.sdcHash_1 = sdcHash;
    this.sdcActivityUid_1 = sdcActivityUid;
    this.sdcStateId_1 = sdcStateId;
    this.sdcLastMod_1 = sdcLastMod;
    this.sdcRegistrationHi_1 = sdcRegistrationHi;
    this.sdcRegistrationLo_1 = sdcRegistrationLo;
  }
  protoOf(StateDeleteCommand).set_sdcActorUid_ujci5u_k$ = function (_set____db54di) {
    this.sdcActorUid_1 = _set____db54di;
  };
  protoOf(StateDeleteCommand).get_sdcActorUid_xozwuc_k$ = function () {
    return this.sdcActorUid_1;
  };
  protoOf(StateDeleteCommand).set_sdcHash_m99pfp_k$ = function (_set____db54di) {
    this.sdcHash_1 = _set____db54di;
  };
  protoOf(StateDeleteCommand).get_sdcHash_xcr69j_k$ = function () {
    return this.sdcHash_1;
  };
  protoOf(StateDeleteCommand).set_sdcActivityUid_j3m7zm_k$ = function (_set____db54di) {
    this.sdcActivityUid_1 = _set____db54di;
  };
  protoOf(StateDeleteCommand).get_sdcActivityUid_hw3jug_k$ = function () {
    return this.sdcActivityUid_1;
  };
  protoOf(StateDeleteCommand).set_sdcStateId_4c0deo_k$ = function (_set____db54di) {
    this.sdcStateId_1 = _set____db54di;
  };
  protoOf(StateDeleteCommand).get_sdcStateId_yqyxs3_k$ = function () {
    return this.sdcStateId_1;
  };
  protoOf(StateDeleteCommand).set_sdcLastMod_lrjbw9_k$ = function (_set____db54di) {
    this.sdcLastMod_1 = _set____db54di;
  };
  protoOf(StateDeleteCommand).get_sdcLastMod_5onzi5_k$ = function () {
    return this.sdcLastMod_1;
  };
  protoOf(StateDeleteCommand).set_sdcRegistrationHi_nzosxo_k$ = function (_set____db54di) {
    this.sdcRegistrationHi_1 = _set____db54di;
  };
  protoOf(StateDeleteCommand).get_sdcRegistrationHi_n4a6kj_k$ = function () {
    return this.sdcRegistrationHi_1;
  };
  protoOf(StateDeleteCommand).set_sdcRegistrationLo_6ny92y_k$ = function (_set____db54di) {
    this.sdcRegistrationLo_1 = _set____db54di;
  };
  protoOf(StateDeleteCommand).get_sdcRegistrationLo_n4a6o5_k$ = function () {
    return this.sdcRegistrationLo_1;
  };
  protoOf(StateDeleteCommand).component1_7eebsc_k$ = function () {
    return this.sdcActorUid_1;
  };
  protoOf(StateDeleteCommand).component2_7eebsb_k$ = function () {
    return this.sdcHash_1;
  };
  protoOf(StateDeleteCommand).component3_7eebsa_k$ = function () {
    return this.sdcActivityUid_1;
  };
  protoOf(StateDeleteCommand).component4_7eebs9_k$ = function () {
    return this.sdcStateId_1;
  };
  protoOf(StateDeleteCommand).component5_7eebs8_k$ = function () {
    return this.sdcLastMod_1;
  };
  protoOf(StateDeleteCommand).component6_7eebs7_k$ = function () {
    return this.sdcRegistrationHi_1;
  };
  protoOf(StateDeleteCommand).component7_7eebs6_k$ = function () {
    return this.sdcRegistrationLo_1;
  };
  protoOf(StateDeleteCommand).copy_b1eq5i_k$ = function (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) {
    return new StateDeleteCommand(sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo);
  };
  protoOf(StateDeleteCommand).copy$default_ubzxiu_k$ = function (sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo, $super) {
    sdcActorUid = sdcActorUid === VOID ? this.sdcActorUid_1 : sdcActorUid;
    sdcHash = sdcHash === VOID ? this.sdcHash_1 : sdcHash;
    sdcActivityUid = sdcActivityUid === VOID ? this.sdcActivityUid_1 : sdcActivityUid;
    sdcStateId = sdcStateId === VOID ? this.sdcStateId_1 : sdcStateId;
    sdcLastMod = sdcLastMod === VOID ? this.sdcLastMod_1 : sdcLastMod;
    sdcRegistrationHi = sdcRegistrationHi === VOID ? this.sdcRegistrationHi_1 : sdcRegistrationHi;
    sdcRegistrationLo = sdcRegistrationLo === VOID ? this.sdcRegistrationLo_1 : sdcRegistrationLo;
    return $super === VOID ? this.copy_b1eq5i_k$(sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo) : $super.copy_b1eq5i_k$.call(this, sdcActorUid, sdcHash, sdcActivityUid, sdcStateId, sdcLastMod, sdcRegistrationHi, sdcRegistrationLo);
  };
  protoOf(StateDeleteCommand).toString = function () {
    return 'StateDeleteCommand(sdcActorUid=' + this.sdcActorUid_1.toString() + ', sdcHash=' + this.sdcHash_1.toString() + ', sdcActivityUid=' + this.sdcActivityUid_1.toString() + ', sdcStateId=' + this.sdcStateId_1 + ', sdcLastMod=' + this.sdcLastMod_1.toString() + ', sdcRegistrationHi=' + toString(this.sdcRegistrationHi_1) + ', sdcRegistrationLo=' + toString(this.sdcRegistrationLo_1) + ')';
  };
  protoOf(StateDeleteCommand).hashCode = function () {
    var result = this.sdcActorUid_1.hashCode();
    result = imul(result, 31) + this.sdcHash_1.hashCode() | 0;
    result = imul(result, 31) + this.sdcActivityUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.sdcStateId_1 == null ? 0 : getStringHashCode(this.sdcStateId_1)) | 0;
    result = imul(result, 31) + this.sdcLastMod_1.hashCode() | 0;
    result = imul(result, 31) + (this.sdcRegistrationHi_1 == null ? 0 : this.sdcRegistrationHi_1.hashCode()) | 0;
    result = imul(result, 31) + (this.sdcRegistrationLo_1 == null ? 0 : this.sdcRegistrationLo_1.hashCode()) | 0;
    return result;
  };
  protoOf(StateDeleteCommand).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StateDeleteCommand))
      return false;
    var tmp0_other_with_cast = other instanceof StateDeleteCommand ? other : THROW_CCE();
    if (!this.sdcActorUid_1.equals(tmp0_other_with_cast.sdcActorUid_1))
      return false;
    if (!this.sdcHash_1.equals(tmp0_other_with_cast.sdcHash_1))
      return false;
    if (!this.sdcActivityUid_1.equals(tmp0_other_with_cast.sdcActivityUid_1))
      return false;
    if (!(this.sdcStateId_1 == tmp0_other_with_cast.sdcStateId_1))
      return false;
    if (!this.sdcLastMod_1.equals(tmp0_other_with_cast.sdcLastMod_1))
      return false;
    if (!equals(this.sdcRegistrationHi_1, tmp0_other_with_cast.sdcRegistrationHi_1))
      return false;
    if (!equals(this.sdcRegistrationLo_1, tmp0_other_with_cast.sdcRegistrationLo_1))
      return false;
    return true;
  };
  function Companion_134() {
    Companion_instance_134 = this;
    this.TABLE_ID_1 = 3289;
  }
  protoOf(Companion_134).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_134).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_130();
  };
  var Companion_instance_134;
  function Companion_getInstance_136() {
    if (Companion_instance_134 == null)
      new Companion_134();
    return Companion_instance_134;
  }
  function $serializer_130() {
    $serializer_instance_130 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StateEntity', this, 14);
    tmp0_serialDesc.addElement_5pzumi_k$('seActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seHash', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seActivityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seStateId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seLastMod', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seTimeStored', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seContentType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seCompressed', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seContent', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seDeleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seRegistrationHi', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seRegistrationLo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seH5PPreloaded', true);
    tmp0_serialDesc.addElement_5pzumi_k$('seH5PSubContentId', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_130).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_130).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), IntSerializer_getInstance(), StringSerializer_getInstance(), BooleanSerializer_getInstance(), get_nullable(LongSerializer_getInstance()), get_nullable(LongSerializer_getInstance()), BooleanSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_130).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = null;
    var tmp11_local7 = 0;
    var tmp12_local8 = null;
    var tmp13_local9 = false;
    var tmp14_local10 = null;
    var tmp15_local11 = null;
    var tmp16_local12 = false;
    var tmp17_local13 = null;
    var tmp18_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp18_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp18_input.decodeStringElement_3oenpg_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp18_input.decodeStringElement_3oenpg_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp18_input.decodeStringElement_3oenpg_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, LongSerializer_getInstance(), tmp14_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, LongSerializer_getInstance(), tmp15_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp18_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp18_input.decodeStringElement_3oenpg_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp18_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp18_input.decodeStringElement_3oenpg_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp18_input.decodeIntElement_941u6a_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp18_input.decodeStringElement_3oenpg_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, LongSerializer_getInstance(), tmp14_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, LongSerializer_getInstance(), tmp15_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp18_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp18_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, StringSerializer_getInstance(), tmp17_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp18_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StateEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, null);
  };
  protoOf($serializer_130).serialize_9odqbz_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.seActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.seActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.seHash_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.seHash_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.seActivityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.seActivityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.seStateId_1 === '')) {
      tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 3, value.seStateId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.seLastMod_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.seLastMod_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.seTimeStored_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.seTimeStored_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !(value.seContentType_1 === '')) {
      tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 6, value.seContentType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.seCompressed_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 7, value.seCompressed_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !(value.seContent_1 === '')) {
      tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 8, value.seContent_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !(value.seDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 9, value.seDeleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.seRegistrationHi_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 10, LongSerializer_getInstance(), value.seRegistrationHi_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.seRegistrationLo_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 11, LongSerializer_getInstance(), value.seRegistrationLo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.seH5PPreloaded_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 12, value.seH5PPreloaded_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.seH5PSubContentId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 13, StringSerializer_getInstance(), value.seH5PSubContentId_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_130).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_9odqbz_k$(encoder, value instanceof StateEntity ? value : THROW_CCE());
  };
  var $serializer_instance_130;
  function $serializer_getInstance_130() {
    if ($serializer_instance_130 == null)
      new $serializer_130();
    return $serializer_instance_130;
  }
  function StateEntity_init_$Init$(seen1, seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_130().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.seActorUid_1 = new Long(0, 0);
    else
      $this.seActorUid_1 = seActorUid;
    if (0 === (seen1 & 2))
      $this.seHash_1 = new Long(0, 0);
    else
      $this.seHash_1 = seHash;
    if (0 === (seen1 & 4))
      $this.seActivityUid_1 = new Long(0, 0);
    else
      $this.seActivityUid_1 = seActivityUid;
    if (0 === (seen1 & 8))
      $this.seStateId_1 = '';
    else
      $this.seStateId_1 = seStateId;
    if (0 === (seen1 & 16))
      $this.seLastMod_1 = new Long(0, 0);
    else
      $this.seLastMod_1 = seLastMod;
    if (0 === (seen1 & 32))
      $this.seTimeStored_1 = new Long(0, 0);
    else
      $this.seTimeStored_1 = seTimeStored;
    if (0 === (seen1 & 64))
      $this.seContentType_1 = '';
    else
      $this.seContentType_1 = seContentType;
    if (0 === (seen1 & 128))
      $this.seCompressed_1 = 0;
    else
      $this.seCompressed_1 = seCompressed;
    if (0 === (seen1 & 256))
      $this.seContent_1 = '';
    else
      $this.seContent_1 = seContent;
    if (0 === (seen1 & 512))
      $this.seDeleted_1 = false;
    else
      $this.seDeleted_1 = seDeleted;
    if (0 === (seen1 & 1024))
      $this.seRegistrationHi_1 = null;
    else
      $this.seRegistrationHi_1 = seRegistrationHi;
    if (0 === (seen1 & 2048))
      $this.seRegistrationLo_1 = null;
    else
      $this.seRegistrationLo_1 = seRegistrationLo;
    if (0 === (seen1 & 4096))
      $this.seH5PPreloaded_1 = false;
    else
      $this.seH5PPreloaded_1 = seH5PPreloaded;
    if (0 === (seen1 & 8192))
      $this.seH5PSubContentId_1 = null;
    else
      $this.seH5PSubContentId_1 = seH5PSubContentId;
    return $this;
  }
  function StateEntity_init_$Create$(seen1, seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId, serializationConstructorMarker) {
    return StateEntity_init_$Init$(seen1, seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId, serializationConstructorMarker, objectCreate(protoOf(StateEntity)));
  }
  function StateEntity(seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) {
    Companion_getInstance_136();
    seActorUid = seActorUid === VOID ? new Long(0, 0) : seActorUid;
    seHash = seHash === VOID ? new Long(0, 0) : seHash;
    seActivityUid = seActivityUid === VOID ? new Long(0, 0) : seActivityUid;
    seStateId = seStateId === VOID ? '' : seStateId;
    seLastMod = seLastMod === VOID ? new Long(0, 0) : seLastMod;
    seTimeStored = seTimeStored === VOID ? new Long(0, 0) : seTimeStored;
    seContentType = seContentType === VOID ? '' : seContentType;
    seCompressed = seCompressed === VOID ? 0 : seCompressed;
    seContent = seContent === VOID ? '' : seContent;
    seDeleted = seDeleted === VOID ? false : seDeleted;
    seRegistrationHi = seRegistrationHi === VOID ? null : seRegistrationHi;
    seRegistrationLo = seRegistrationLo === VOID ? null : seRegistrationLo;
    seH5PPreloaded = seH5PPreloaded === VOID ? false : seH5PPreloaded;
    seH5PSubContentId = seH5PSubContentId === VOID ? null : seH5PSubContentId;
    this.seActorUid_1 = seActorUid;
    this.seHash_1 = seHash;
    this.seActivityUid_1 = seActivityUid;
    this.seStateId_1 = seStateId;
    this.seLastMod_1 = seLastMod;
    this.seTimeStored_1 = seTimeStored;
    this.seContentType_1 = seContentType;
    this.seCompressed_1 = seCompressed;
    this.seContent_1 = seContent;
    this.seDeleted_1 = seDeleted;
    this.seRegistrationHi_1 = seRegistrationHi;
    this.seRegistrationLo_1 = seRegistrationLo;
    this.seH5PPreloaded_1 = seH5PPreloaded;
    this.seH5PSubContentId_1 = seH5PSubContentId;
  }
  protoOf(StateEntity).set_seActorUid_jihbg_k$ = function (_set____db54di) {
    this.seActorUid_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seActorUid_tr8kiy_k$ = function () {
    return this.seActorUid_1;
  };
  protoOf(StateEntity).set_seHash_wek43l_k$ = function (_set____db54di) {
    this.seHash_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seHash_jepwnd_k$ = function () {
    return this.seHash_1;
  };
  protoOf(StateEntity).set_seActivityUid_s47jpw_k$ = function (_set____db54di) {
    this.seActivityUid_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seActivityUid_ny2k12_k$ = function () {
    return this.seActivityUid_1;
  };
  protoOf(StateEntity).set_seStateId_7jplxp_k$ = function (_set____db54di) {
    this.seStateId_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seStateId_okwh5b_k$ = function () {
    return this.seStateId_1;
  };
  protoOf(StateEntity).set_seLastMod_rbj81t_k$ = function (_set____db54di) {
    this.seLastMod_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seLastMod_60knjl_k$ = function () {
    return this.seLastMod_1;
  };
  protoOf(StateEntity).set_seTimeStored_hhu2kf_k$ = function (_set____db54di) {
    this.seTimeStored_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seTimeStored_68pib9_k$ = function () {
    return this.seTimeStored_1;
  };
  protoOf(StateEntity).set_seContentType_m6nc6_k$ = function (_set____db54di) {
    this.seContentType_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seContentType_woisfs_k$ = function () {
    return this.seContentType_1;
  };
  protoOf(StateEntity).set_seCompressed_jbdkrc_k$ = function (_set____db54di) {
    this.seCompressed_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seCompressed_pgx744_k$ = function () {
    return this.seCompressed_1;
  };
  protoOf(StateEntity).set_seContent_9n5b28_k$ = function (_set____db54di) {
    this.seContent_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seContent_mj4ftq_k$ = function () {
    return this.seContent_1;
  };
  protoOf(StateEntity).set_seDeleted_300q0l_k$ = function (_set____db54di) {
    this.seDeleted_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seDeleted_wfpn0e_k$ = function () {
    return this.seDeleted_1;
  };
  protoOf(StateEntity).set_seRegistrationHi_1ij56m_k$ = function (_set____db54di) {
    this.seRegistrationHi_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seRegistrationHi_h747u3_k$ = function () {
    return this.seRegistrationHi_1;
  };
  protoOf(StateEntity).set_seRegistrationLo_iu9p1c_k$ = function (_set____db54di) {
    this.seRegistrationLo_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seRegistrationLo_h747qh_k$ = function () {
    return this.seRegistrationLo_1;
  };
  protoOf(StateEntity).set_seH5PPreloaded_fnkoin_k$ = function (_set____db54di) {
    this.seH5PPreloaded_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seH5PPreloaded_ujtkw0_k$ = function () {
    return this.seH5PPreloaded_1;
  };
  protoOf(StateEntity).set_seH5PSubContentId_ax8zwv_k$ = function (_set____db54di) {
    this.seH5PSubContentId_1 = _set____db54di;
  };
  protoOf(StateEntity).get_seH5PSubContentId_clqi6c_k$ = function () {
    return this.seH5PSubContentId_1;
  };
  protoOf(StateEntity).component1_7eebsc_k$ = function () {
    return this.seActorUid_1;
  };
  protoOf(StateEntity).component2_7eebsb_k$ = function () {
    return this.seHash_1;
  };
  protoOf(StateEntity).component3_7eebsa_k$ = function () {
    return this.seActivityUid_1;
  };
  protoOf(StateEntity).component4_7eebs9_k$ = function () {
    return this.seStateId_1;
  };
  protoOf(StateEntity).component5_7eebs8_k$ = function () {
    return this.seLastMod_1;
  };
  protoOf(StateEntity).component6_7eebs7_k$ = function () {
    return this.seTimeStored_1;
  };
  protoOf(StateEntity).component7_7eebs6_k$ = function () {
    return this.seContentType_1;
  };
  protoOf(StateEntity).component8_7eebs5_k$ = function () {
    return this.seCompressed_1;
  };
  protoOf(StateEntity).component9_7eebs4_k$ = function () {
    return this.seContent_1;
  };
  protoOf(StateEntity).component10_gazzfo_k$ = function () {
    return this.seDeleted_1;
  };
  protoOf(StateEntity).component11_gazzfn_k$ = function () {
    return this.seRegistrationHi_1;
  };
  protoOf(StateEntity).component12_gazzfm_k$ = function () {
    return this.seRegistrationLo_1;
  };
  protoOf(StateEntity).component13_gazzfl_k$ = function () {
    return this.seH5PPreloaded_1;
  };
  protoOf(StateEntity).component14_gazzfk_k$ = function () {
    return this.seH5PSubContentId_1;
  };
  protoOf(StateEntity).copy_b4l6wm_k$ = function (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) {
    return new StateEntity(seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId);
  };
  protoOf(StateEntity).copy$default_ux8csi_k$ = function (seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId, $super) {
    seActorUid = seActorUid === VOID ? this.seActorUid_1 : seActorUid;
    seHash = seHash === VOID ? this.seHash_1 : seHash;
    seActivityUid = seActivityUid === VOID ? this.seActivityUid_1 : seActivityUid;
    seStateId = seStateId === VOID ? this.seStateId_1 : seStateId;
    seLastMod = seLastMod === VOID ? this.seLastMod_1 : seLastMod;
    seTimeStored = seTimeStored === VOID ? this.seTimeStored_1 : seTimeStored;
    seContentType = seContentType === VOID ? this.seContentType_1 : seContentType;
    seCompressed = seCompressed === VOID ? this.seCompressed_1 : seCompressed;
    seContent = seContent === VOID ? this.seContent_1 : seContent;
    seDeleted = seDeleted === VOID ? this.seDeleted_1 : seDeleted;
    seRegistrationHi = seRegistrationHi === VOID ? this.seRegistrationHi_1 : seRegistrationHi;
    seRegistrationLo = seRegistrationLo === VOID ? this.seRegistrationLo_1 : seRegistrationLo;
    seH5PPreloaded = seH5PPreloaded === VOID ? this.seH5PPreloaded_1 : seH5PPreloaded;
    seH5PSubContentId = seH5PSubContentId === VOID ? this.seH5PSubContentId_1 : seH5PSubContentId;
    return $super === VOID ? this.copy_b4l6wm_k$(seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId) : $super.copy_b4l6wm_k$.call(this, seActorUid, seHash, seActivityUid, seStateId, seLastMod, seTimeStored, seContentType, seCompressed, seContent, seDeleted, seRegistrationHi, seRegistrationLo, seH5PPreloaded, seH5PSubContentId);
  };
  protoOf(StateEntity).toString = function () {
    return 'StateEntity(seActorUid=' + this.seActorUid_1.toString() + ', seHash=' + this.seHash_1.toString() + ', seActivityUid=' + this.seActivityUid_1.toString() + ', seStateId=' + this.seStateId_1 + ', seLastMod=' + this.seLastMod_1.toString() + ', seTimeStored=' + this.seTimeStored_1.toString() + ', seContentType=' + this.seContentType_1 + ', seCompressed=' + this.seCompressed_1 + ', seContent=' + this.seContent_1 + ', seDeleted=' + this.seDeleted_1 + ', seRegistrationHi=' + toString(this.seRegistrationHi_1) + ', seRegistrationLo=' + toString(this.seRegistrationLo_1) + ', seH5PPreloaded=' + this.seH5PPreloaded_1 + ', seH5PSubContentId=' + this.seH5PSubContentId_1 + ')';
  };
  protoOf(StateEntity).hashCode = function () {
    var result = this.seActorUid_1.hashCode();
    result = imul(result, 31) + this.seHash_1.hashCode() | 0;
    result = imul(result, 31) + this.seActivityUid_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.seStateId_1) | 0;
    result = imul(result, 31) + this.seLastMod_1.hashCode() | 0;
    result = imul(result, 31) + this.seTimeStored_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.seContentType_1) | 0;
    result = imul(result, 31) + this.seCompressed_1 | 0;
    result = imul(result, 31) + getStringHashCode(this.seContent_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.seDeleted_1) | 0;
    result = imul(result, 31) + (this.seRegistrationHi_1 == null ? 0 : this.seRegistrationHi_1.hashCode()) | 0;
    result = imul(result, 31) + (this.seRegistrationLo_1 == null ? 0 : this.seRegistrationLo_1.hashCode()) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.seH5PPreloaded_1) | 0;
    result = imul(result, 31) + (this.seH5PSubContentId_1 == null ? 0 : getStringHashCode(this.seH5PSubContentId_1)) | 0;
    return result;
  };
  protoOf(StateEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StateEntity))
      return false;
    var tmp0_other_with_cast = other instanceof StateEntity ? other : THROW_CCE();
    if (!this.seActorUid_1.equals(tmp0_other_with_cast.seActorUid_1))
      return false;
    if (!this.seHash_1.equals(tmp0_other_with_cast.seHash_1))
      return false;
    if (!this.seActivityUid_1.equals(tmp0_other_with_cast.seActivityUid_1))
      return false;
    if (!(this.seStateId_1 === tmp0_other_with_cast.seStateId_1))
      return false;
    if (!this.seLastMod_1.equals(tmp0_other_with_cast.seLastMod_1))
      return false;
    if (!this.seTimeStored_1.equals(tmp0_other_with_cast.seTimeStored_1))
      return false;
    if (!(this.seContentType_1 === tmp0_other_with_cast.seContentType_1))
      return false;
    if (!(this.seCompressed_1 === tmp0_other_with_cast.seCompressed_1))
      return false;
    if (!(this.seContent_1 === tmp0_other_with_cast.seContent_1))
      return false;
    if (!(this.seDeleted_1 === tmp0_other_with_cast.seDeleted_1))
      return false;
    if (!equals(this.seRegistrationHi_1, tmp0_other_with_cast.seRegistrationHi_1))
      return false;
    if (!equals(this.seRegistrationLo_1, tmp0_other_with_cast.seRegistrationLo_1))
      return false;
    if (!(this.seH5PPreloaded_1 === tmp0_other_with_cast.seH5PPreloaded_1))
      return false;
    if (!(this.seH5PSubContentId_1 == tmp0_other_with_cast.seH5PSubContentId_1))
      return false;
    return true;
  };
  function Companion_135() {
    Companion_instance_135 = this;
    this.TYPE_PARENT_1 = 1;
    this.TYPE_GROUPING_1 = 2;
    this.TYPE_CATEGORY_1 = 3;
    this.TYPE_OTHER_1 = 4;
    this.TABLE_ID_1 = 44044;
  }
  protoOf(Companion_135).get_TYPE_PARENT_ysntnq_k$ = function () {
    return this.TYPE_PARENT_1;
  };
  protoOf(Companion_135).get_TYPE_GROUPING_ri9ltt_k$ = function () {
    return this.TYPE_GROUPING_1;
  };
  protoOf(Companion_135).get_TYPE_CATEGORY_z1o9ty_k$ = function () {
    return this.TYPE_CATEGORY_1;
  };
  protoOf(Companion_135).get_TYPE_OTHER_ex80jw_k$ = function () {
    return this.TYPE_OTHER_1;
  };
  protoOf(Companion_135).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  var Companion_instance_135;
  function Companion_getInstance_137() {
    if (Companion_instance_135 == null)
      new Companion_135();
    return Companion_instance_135;
  }
  function StatementContextActivityJoin(scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) {
    Companion_getInstance_137();
    scajFromStatementIdHi = scajFromStatementIdHi === VOID ? new Long(0, 0) : scajFromStatementIdHi;
    scajFromStatementIdLo = scajFromStatementIdLo === VOID ? new Long(0, 0) : scajFromStatementIdLo;
    scajToHash = scajToHash === VOID ? new Long(0, 0) : scajToHash;
    scajContextType = scajContextType === VOID ? 0 : scajContextType;
    scajToActivityUid = scajToActivityUid === VOID ? new Long(0, 0) : scajToActivityUid;
    scajToActivityId = scajToActivityId === VOID ? null : scajToActivityId;
    scajEtag = scajEtag === VOID ? new Long(1, 0) : scajEtag;
    this.scajFromStatementIdHi_1 = scajFromStatementIdHi;
    this.scajFromStatementIdLo_1 = scajFromStatementIdLo;
    this.scajToHash_1 = scajToHash;
    this.scajContextType_1 = scajContextType;
    this.scajToActivityUid_1 = scajToActivityUid;
    this.scajToActivityId_1 = scajToActivityId;
    this.scajEtag_1 = scajEtag;
  }
  protoOf(StatementContextActivityJoin).set_scajFromStatementIdHi_xv9hil_k$ = function (_set____db54di) {
    this.scajFromStatementIdHi_1 = _set____db54di;
  };
  protoOf(StatementContextActivityJoin).get_scajFromStatementIdHi_qulo69_k$ = function () {
    return this.scajFromStatementIdHi_1;
  };
  protoOf(StatementContextActivityJoin).set_scajFromStatementIdLo_3iszsf_k$ = function (_set____db54di) {
    this.scajFromStatementIdLo_1 = _set____db54di;
  };
  protoOf(StatementContextActivityJoin).get_scajFromStatementIdLo_qulo2n_k$ = function () {
    return this.scajFromStatementIdLo_1;
  };
  protoOf(StatementContextActivityJoin).set_scajToHash_icqxof_k$ = function (_set____db54di) {
    this.scajToHash_1 = _set____db54di;
  };
  protoOf(StatementContextActivityJoin).get_scajToHash_pj4nzp_k$ = function () {
    return this.scajToHash_1;
  };
  protoOf(StatementContextActivityJoin).set_scajContextType_yrssz9_k$ = function (_set____db54di) {
    this.scajContextType_1 = _set____db54di;
  };
  protoOf(StatementContextActivityJoin).get_scajContextType_dvqb8n_k$ = function () {
    return this.scajContextType_1;
  };
  protoOf(StatementContextActivityJoin).set_scajToActivityUid_5fdjzi_k$ = function (_set____db54di) {
    this.scajToActivityUid_1 = _set____db54di;
  };
  protoOf(StatementContextActivityJoin).get_scajToActivityUid_smm9b8_k$ = function () {
    return this.scajToActivityUid_1;
  };
  protoOf(StatementContextActivityJoin).set_scajToActivityId_z87bw_k$ = function (_set____db54di) {
    this.scajToActivityId_1 = _set____db54di;
  };
  protoOf(StatementContextActivityJoin).get_scajToActivityId_f460ft_k$ = function () {
    return this.scajToActivityId_1;
  };
  protoOf(StatementContextActivityJoin).set_scajEtag_frphwt_k$ = function (_set____db54di) {
    this.scajEtag_1 = _set____db54di;
  };
  protoOf(StatementContextActivityJoin).get_scajEtag_ofj8qf_k$ = function () {
    return this.scajEtag_1;
  };
  protoOf(StatementContextActivityJoin).component1_7eebsc_k$ = function () {
    return this.scajFromStatementIdHi_1;
  };
  protoOf(StatementContextActivityJoin).component2_7eebsb_k$ = function () {
    return this.scajFromStatementIdLo_1;
  };
  protoOf(StatementContextActivityJoin).component3_7eebsa_k$ = function () {
    return this.scajToHash_1;
  };
  protoOf(StatementContextActivityJoin).component4_7eebs9_k$ = function () {
    return this.scajContextType_1;
  };
  protoOf(StatementContextActivityJoin).component5_7eebs8_k$ = function () {
    return this.scajToActivityUid_1;
  };
  protoOf(StatementContextActivityJoin).component6_7eebs7_k$ = function () {
    return this.scajToActivityId_1;
  };
  protoOf(StatementContextActivityJoin).component7_7eebs6_k$ = function () {
    return this.scajEtag_1;
  };
  protoOf(StatementContextActivityJoin).copy_foo81y_k$ = function (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) {
    return new StatementContextActivityJoin(scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag);
  };
  protoOf(StatementContextActivityJoin).copy$default_nvmg1o_k$ = function (scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag, $super) {
    scajFromStatementIdHi = scajFromStatementIdHi === VOID ? this.scajFromStatementIdHi_1 : scajFromStatementIdHi;
    scajFromStatementIdLo = scajFromStatementIdLo === VOID ? this.scajFromStatementIdLo_1 : scajFromStatementIdLo;
    scajToHash = scajToHash === VOID ? this.scajToHash_1 : scajToHash;
    scajContextType = scajContextType === VOID ? this.scajContextType_1 : scajContextType;
    scajToActivityUid = scajToActivityUid === VOID ? this.scajToActivityUid_1 : scajToActivityUid;
    scajToActivityId = scajToActivityId === VOID ? this.scajToActivityId_1 : scajToActivityId;
    scajEtag = scajEtag === VOID ? this.scajEtag_1 : scajEtag;
    return $super === VOID ? this.copy_foo81y_k$(scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag) : $super.copy_foo81y_k$.call(this, scajFromStatementIdHi, scajFromStatementIdLo, scajToHash, scajContextType, scajToActivityUid, scajToActivityId, scajEtag);
  };
  protoOf(StatementContextActivityJoin).toString = function () {
    return 'StatementContextActivityJoin(scajFromStatementIdHi=' + this.scajFromStatementIdHi_1.toString() + ', scajFromStatementIdLo=' + this.scajFromStatementIdLo_1.toString() + ', scajToHash=' + this.scajToHash_1.toString() + ', scajContextType=' + this.scajContextType_1 + ', scajToActivityUid=' + this.scajToActivityUid_1.toString() + ', scajToActivityId=' + this.scajToActivityId_1 + ', scajEtag=' + this.scajEtag_1.toString() + ')';
  };
  protoOf(StatementContextActivityJoin).hashCode = function () {
    var result = this.scajFromStatementIdHi_1.hashCode();
    result = imul(result, 31) + this.scajFromStatementIdLo_1.hashCode() | 0;
    result = imul(result, 31) + this.scajToHash_1.hashCode() | 0;
    result = imul(result, 31) + this.scajContextType_1 | 0;
    result = imul(result, 31) + this.scajToActivityUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.scajToActivityId_1 == null ? 0 : getStringHashCode(this.scajToActivityId_1)) | 0;
    result = imul(result, 31) + this.scajEtag_1.hashCode() | 0;
    return result;
  };
  protoOf(StatementContextActivityJoin).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementContextActivityJoin))
      return false;
    var tmp0_other_with_cast = other instanceof StatementContextActivityJoin ? other : THROW_CCE();
    if (!this.scajFromStatementIdHi_1.equals(tmp0_other_with_cast.scajFromStatementIdHi_1))
      return false;
    if (!this.scajFromStatementIdLo_1.equals(tmp0_other_with_cast.scajFromStatementIdLo_1))
      return false;
    if (!this.scajToHash_1.equals(tmp0_other_with_cast.scajToHash_1))
      return false;
    if (!(this.scajContextType_1 === tmp0_other_with_cast.scajContextType_1))
      return false;
    if (!this.scajToActivityUid_1.equals(tmp0_other_with_cast.scajToActivityUid_1))
      return false;
    if (!(this.scajToActivityId_1 == tmp0_other_with_cast.scajToActivityId_1))
      return false;
    if (!this.scajEtag_1.equals(tmp0_other_with_cast.scajEtag_1))
      return false;
    return true;
  };
  function Companion_136() {
    Companion_instance_136 = this;
    this.TABLE_ID_1 = 60;
    this.RESULT_UNSET_1 = 0;
    this.RESULT_SUCCESS_1 = 2;
    this.RESULT_FAILURE_1 = 1;
    this.CONTENT_COMPLETE_1 = 100;
    this.CONTENT_INCOMPLETE_1 = 101;
    this.CONTENT_PASSED_1 = 102;
    this.CONTENT_FAILED_1 = 103;
  }
  protoOf(Companion_136).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_136).get_RESULT_UNSET_481jkg_k$ = function () {
    return this.RESULT_UNSET_1;
  };
  protoOf(Companion_136).get_RESULT_SUCCESS_yt0dl6_k$ = function () {
    return this.RESULT_SUCCESS_1;
  };
  protoOf(Companion_136).get_RESULT_FAILURE_nbcsz3_k$ = function () {
    return this.RESULT_FAILURE_1;
  };
  protoOf(Companion_136).get_CONTENT_COMPLETE_auihnc_k$ = function () {
    return this.CONTENT_COMPLETE_1;
  };
  protoOf(Companion_136).get_CONTENT_INCOMPLETE_98uop9_k$ = function () {
    return this.CONTENT_INCOMPLETE_1;
  };
  protoOf(Companion_136).get_CONTENT_PASSED_nk3ra9_k$ = function () {
    return this.CONTENT_PASSED_1;
  };
  protoOf(Companion_136).get_CONTENT_FAILED_saqiac_k$ = function () {
    return this.CONTENT_FAILED_1;
  };
  protoOf(Companion_136).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_131();
  };
  var Companion_instance_136;
  function Companion_getInstance_138() {
    if (Companion_instance_136 == null)
      new Companion_136();
    return Companion_instance_136;
  }
  function $serializer_131() {
    $serializer_instance_131 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StatementEntity', this, 35);
    tmp0_serialDesc.addElement_5pzumi_k$('statementIdHi', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementIdLo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementActorPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementVerbUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementObjectType', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementObjectUid1', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementObjectUid2', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('authorityActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('teamUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultCompletion', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultSuccess', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultScoreScaled', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultScoreRaw', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultScoreMin', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultScoreMax', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultDuration', true);
    tmp0_serialDesc.addElement_5pzumi_k$('resultResponse', true);
    tmp0_serialDesc.addElement_5pzumi_k$('timestamp', true);
    tmp0_serialDesc.addElement_5pzumi_k$('stored', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contextRegistrationHi', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contextRegistrationLo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contextPlatform', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contextStatementRefIdHi', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contextStatementRefIdLo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('contextInstructorActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementLct', true);
    tmp0_serialDesc.addElement_5pzumi_k$('extensionProgress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('completionOrProgress', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementLearnerGroupUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementCbUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('statementDoorNode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('isSubStatement', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_131).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_131).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), IntSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(BooleanSerializer_getInstance()), get_nullable(BooleanSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(FloatSerializer_getInstance()), get_nullable(LongSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(IntSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), BooleanSerializer_getInstance()];
  };
  protoOf($serializer_131).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_bitMask1 = 0;
    var tmp5_local0 = new Long(0, 0);
    var tmp6_local1 = new Long(0, 0);
    var tmp7_local2 = new Long(0, 0);
    var tmp8_local3 = new Long(0, 0);
    var tmp9_local4 = 0;
    var tmp10_local5 = new Long(0, 0);
    var tmp11_local6 = new Long(0, 0);
    var tmp12_local7 = new Long(0, 0);
    var tmp13_local8 = new Long(0, 0);
    var tmp14_local9 = new Long(0, 0);
    var tmp15_local10 = null;
    var tmp16_local11 = null;
    var tmp17_local12 = null;
    var tmp18_local13 = null;
    var tmp19_local14 = null;
    var tmp20_local15 = null;
    var tmp21_local16 = null;
    var tmp22_local17 = null;
    var tmp23_local18 = new Long(0, 0);
    var tmp24_local19 = new Long(0, 0);
    var tmp25_local20 = new Long(0, 0);
    var tmp26_local21 = new Long(0, 0);
    var tmp27_local22 = null;
    var tmp28_local23 = new Long(0, 0);
    var tmp29_local24 = new Long(0, 0);
    var tmp30_local25 = new Long(0, 0);
    var tmp31_local26 = new Long(0, 0);
    var tmp32_local27 = null;
    var tmp33_local28 = false;
    var tmp34_local29 = new Long(0, 0);
    var tmp35_local30 = new Long(0, 0);
    var tmp36_local31 = new Long(0, 0);
    var tmp37_local32 = new Long(0, 0);
    var tmp38_local33 = new Long(0, 0);
    var tmp39_local34 = false;
    var tmp40_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp40_input.decodeSequentially_xlblqy_k$()) {
      tmp5_local0 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp6_local1 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp7_local2 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp8_local3 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp9_local4 = tmp40_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp10_local5 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp11_local6 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp12_local7 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp13_local8 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp14_local9 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp15_local10 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, BooleanSerializer_getInstance(), tmp15_local10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp16_local11 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, BooleanSerializer_getInstance(), tmp16_local11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp17_local12 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, FloatSerializer_getInstance(), tmp17_local12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp18_local13 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, FloatSerializer_getInstance(), tmp18_local13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp19_local14 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, FloatSerializer_getInstance(), tmp19_local14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp20_local15 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, FloatSerializer_getInstance(), tmp20_local15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp21_local16 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 16, LongSerializer_getInstance(), tmp21_local16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp22_local17 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 17, StringSerializer_getInstance(), tmp22_local17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp23_local18 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
      tmp24_local19 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
      tmp3_bitMask0 = tmp3_bitMask0 | 524288;
      tmp25_local20 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
      tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
      tmp26_local21 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
      tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
      tmp27_local22 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 22, StringSerializer_getInstance(), tmp27_local22);
      tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
      tmp28_local23 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
      tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
      tmp29_local24 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
      tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
      tmp30_local25 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 25);
      tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
      tmp31_local26 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 26);
      tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
      tmp32_local27 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, IntSerializer_getInstance(), tmp32_local27);
      tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
      tmp33_local28 = tmp40_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 28);
      tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
      tmp34_local29 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 29);
      tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
      tmp35_local30 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 30);
      tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
      tmp36_local31 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 31);
      tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
      tmp37_local32 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 32);
      tmp4_bitMask1 = tmp4_bitMask1 | 1;
      tmp38_local33 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 33);
      tmp4_bitMask1 = tmp4_bitMask1 | 2;
      tmp39_local34 = tmp40_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 34);
      tmp4_bitMask1 = tmp4_bitMask1 | 4;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp40_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp5_local0 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp6_local1 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp7_local2 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp8_local3 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp9_local4 = tmp40_input.decodeIntElement_941u6a_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp10_local5 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp11_local6 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp12_local7 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp13_local8 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp14_local9 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp15_local10 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 10, BooleanSerializer_getInstance(), tmp15_local10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp16_local11 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 11, BooleanSerializer_getInstance(), tmp16_local11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp17_local12 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 12, FloatSerializer_getInstance(), tmp17_local12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp18_local13 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 13, FloatSerializer_getInstance(), tmp18_local13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp19_local14 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 14, FloatSerializer_getInstance(), tmp19_local14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp20_local15 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 15, FloatSerializer_getInstance(), tmp20_local15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp21_local16 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 16, LongSerializer_getInstance(), tmp21_local16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp22_local17 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 17, StringSerializer_getInstance(), tmp22_local17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp23_local18 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          case 19:
            tmp24_local19 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 19);
            tmp3_bitMask0 = tmp3_bitMask0 | 524288;
            break;
          case 20:
            tmp25_local20 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 20);
            tmp3_bitMask0 = tmp3_bitMask0 | 1048576;
            break;
          case 21:
            tmp26_local21 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 21);
            tmp3_bitMask0 = tmp3_bitMask0 | 2097152;
            break;
          case 22:
            tmp27_local22 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 22, StringSerializer_getInstance(), tmp27_local22);
            tmp3_bitMask0 = tmp3_bitMask0 | 4194304;
            break;
          case 23:
            tmp28_local23 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 23);
            tmp3_bitMask0 = tmp3_bitMask0 | 8388608;
            break;
          case 24:
            tmp29_local24 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 24);
            tmp3_bitMask0 = tmp3_bitMask0 | 16777216;
            break;
          case 25:
            tmp30_local25 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 25);
            tmp3_bitMask0 = tmp3_bitMask0 | 33554432;
            break;
          case 26:
            tmp31_local26 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 26);
            tmp3_bitMask0 = tmp3_bitMask0 | 67108864;
            break;
          case 27:
            tmp32_local27 = tmp40_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 27, IntSerializer_getInstance(), tmp32_local27);
            tmp3_bitMask0 = tmp3_bitMask0 | 134217728;
            break;
          case 28:
            tmp33_local28 = tmp40_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 28);
            tmp3_bitMask0 = tmp3_bitMask0 | 268435456;
            break;
          case 29:
            tmp34_local29 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 29);
            tmp3_bitMask0 = tmp3_bitMask0 | 536870912;
            break;
          case 30:
            tmp35_local30 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 30);
            tmp3_bitMask0 = tmp3_bitMask0 | 1073741824;
            break;
          case 31:
            tmp36_local31 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 31);
            tmp3_bitMask0 = tmp3_bitMask0 | -2147483648;
            break;
          case 32:
            tmp37_local32 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 32);
            tmp4_bitMask1 = tmp4_bitMask1 | 1;
            break;
          case 33:
            tmp38_local33 = tmp40_input.decodeLongElement_994anb_k$(tmp0_desc, 33);
            tmp4_bitMask1 = tmp4_bitMask1 | 2;
            break;
          case 34:
            tmp39_local34 = tmp40_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 34);
            tmp4_bitMask1 = tmp4_bitMask1 | 4;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp40_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StatementEntity_init_$Create$(tmp3_bitMask0, tmp4_bitMask1, tmp5_local0, tmp6_local1, tmp7_local2, tmp8_local3, tmp9_local4, tmp10_local5, tmp11_local6, tmp12_local7, tmp13_local8, tmp14_local9, tmp15_local10, tmp16_local11, tmp17_local12, tmp18_local13, tmp19_local14, tmp20_local15, tmp21_local16, tmp22_local17, tmp23_local18, tmp24_local19, tmp25_local20, tmp26_local21, tmp27_local22, tmp28_local23, tmp29_local24, tmp30_local25, tmp31_local26, tmp32_local27, tmp33_local28, tmp34_local29, tmp35_local30, tmp36_local31, tmp37_local32, tmp38_local33, tmp39_local34, null);
  };
  protoOf($serializer_131).serialize_7uxmzx_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.statementIdHi_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.statementIdHi_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.statementIdLo_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.statementIdLo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.statementActorPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.statementActorPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.statementVerbUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.statementVerbUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !(value.statementObjectType_1 === 0)) {
      tmp1_output.encodeIntElement_krhhce_k$(tmp0_desc, 4, value.statementObjectType_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.statementObjectUid1__1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.statementObjectUid1__1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.statementObjectUid2__1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.statementObjectUid2__1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !value.statementActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 7, value.statementActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.authorityActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.authorityActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.teamUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.teamUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !(value.resultCompletion_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 10, BooleanSerializer_getInstance(), value.resultCompletion_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !(value.resultSuccess_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 11, BooleanSerializer_getInstance(), value.resultSuccess_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.resultScoreScaled_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 12, FloatSerializer_getInstance(), value.resultScoreScaled_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !(value.resultScoreRaw_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 13, FloatSerializer_getInstance(), value.resultScoreRaw_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !(value.resultScoreMin_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 14, FloatSerializer_getInstance(), value.resultScoreMin_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !(value.resultScoreMax_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 15, FloatSerializer_getInstance(), value.resultScoreMax_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.resultDuration_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 16, LongSerializer_getInstance(), value.resultDuration_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.resultResponse_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 17, StringSerializer_getInstance(), value.resultResponse_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !value.timestamp_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 18, value.timestamp_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 19) ? true : !value.stored_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 19, value.stored_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 20) ? true : !value.contextRegistrationHi_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 20, value.contextRegistrationHi_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 21) ? true : !value.contextRegistrationLo_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 21, value.contextRegistrationLo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 22) ? true : !(value.contextPlatform_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 22, StringSerializer_getInstance(), value.contextPlatform_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 23) ? true : !value.contextStatementRefIdHi_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 23, value.contextStatementRefIdHi_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 24) ? true : !value.contextStatementRefIdLo_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 24, value.contextStatementRefIdLo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 25) ? true : !value.contextInstructorActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 25, value.contextInstructorActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 26) ? true : !value.statementLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 26, value.statementLct_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 27) ? true : !(value.extensionProgress_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 27, IntSerializer_getInstance(), value.extensionProgress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 28) ? true : !(value.completionOrProgress_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 28, value.completionOrProgress_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 29) ? true : !value.statementContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 29, value.statementContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 30) ? true : !value.statementLearnerGroupUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 30, value.statementLearnerGroupUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 31) ? true : !value.statementClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 31, value.statementClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 32) ? true : !value.statementCbUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 32, value.statementCbUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 33) ? true : !value.statementDoorNode_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 33, value.statementDoorNode_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 34) ? true : !(value.isSubStatement_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 34, value.isSubStatement_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_131).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_7uxmzx_k$(encoder, value instanceof StatementEntity ? value : THROW_CCE());
  };
  var $serializer_instance_131;
  function $serializer_getInstance_131() {
    if ($serializer_instance_131 == null)
      new $serializer_131();
    return $serializer_instance_131;
  }
  function StatementEntity_init_$Init$(seen1, seen2, statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement, serializationConstructorMarker, $this) {
    if (!!(!(0 === (0 & seen1)) | !(0 === (0 & seen2)))) {
      // Inline function 'kotlin.intArrayOf' call
      var tmp = new Int32Array([seen1, seen2]);
      // Inline function 'kotlin.intArrayOf' call
      var tmp$ret$1 = new Int32Array([0, 0]);
      throwArrayMissingFieldException(tmp, tmp$ret$1, $serializer_getInstance_131().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.statementIdHi_1 = new Long(0, 0);
    else
      $this.statementIdHi_1 = statementIdHi;
    if (0 === (seen1 & 2))
      $this.statementIdLo_1 = new Long(0, 0);
    else
      $this.statementIdLo_1 = statementIdLo;
    if (0 === (seen1 & 4))
      $this.statementActorPersonUid_1 = new Long(0, 0);
    else
      $this.statementActorPersonUid_1 = statementActorPersonUid;
    if (0 === (seen1 & 8))
      $this.statementVerbUid_1 = new Long(0, 0);
    else
      $this.statementVerbUid_1 = statementVerbUid;
    if (0 === (seen1 & 16))
      $this.statementObjectType_1 = 0;
    else
      $this.statementObjectType_1 = statementObjectType;
    if (0 === (seen1 & 32))
      $this.statementObjectUid1__1 = new Long(0, 0);
    else
      $this.statementObjectUid1__1 = statementObjectUid1;
    if (0 === (seen1 & 64))
      $this.statementObjectUid2__1 = new Long(0, 0);
    else
      $this.statementObjectUid2__1 = statementObjectUid2;
    if (0 === (seen1 & 128))
      $this.statementActorUid_1 = new Long(0, 0);
    else
      $this.statementActorUid_1 = statementActorUid;
    if (0 === (seen1 & 256))
      $this.authorityActorUid_1 = new Long(0, 0);
    else
      $this.authorityActorUid_1 = authorityActorUid;
    if (0 === (seen1 & 512))
      $this.teamUid_1 = new Long(0, 0);
    else
      $this.teamUid_1 = teamUid;
    if (0 === (seen1 & 1024))
      $this.resultCompletion_1 = null;
    else
      $this.resultCompletion_1 = resultCompletion;
    if (0 === (seen1 & 2048))
      $this.resultSuccess_1 = null;
    else
      $this.resultSuccess_1 = resultSuccess;
    if (0 === (seen1 & 4096))
      $this.resultScoreScaled_1 = null;
    else
      $this.resultScoreScaled_1 = resultScoreScaled;
    if (0 === (seen1 & 8192))
      $this.resultScoreRaw_1 = null;
    else
      $this.resultScoreRaw_1 = resultScoreRaw;
    if (0 === (seen1 & 16384))
      $this.resultScoreMin_1 = null;
    else
      $this.resultScoreMin_1 = resultScoreMin;
    if (0 === (seen1 & 32768))
      $this.resultScoreMax_1 = null;
    else
      $this.resultScoreMax_1 = resultScoreMax;
    if (0 === (seen1 & 65536))
      $this.resultDuration_1 = null;
    else
      $this.resultDuration_1 = resultDuration;
    if (0 === (seen1 & 131072))
      $this.resultResponse_1 = null;
    else
      $this.resultResponse_1 = resultResponse;
    if (0 === (seen1 & 262144))
      $this.timestamp_1 = new Long(0, 0);
    else
      $this.timestamp_1 = timestamp;
    if (0 === (seen1 & 524288))
      $this.stored_1 = new Long(0, 0);
    else
      $this.stored_1 = stored;
    if (0 === (seen1 & 1048576))
      $this.contextRegistrationHi_1 = new Long(0, 0);
    else
      $this.contextRegistrationHi_1 = contextRegistrationHi;
    if (0 === (seen1 & 2097152))
      $this.contextRegistrationLo_1 = new Long(0, 0);
    else
      $this.contextRegistrationLo_1 = contextRegistrationLo;
    if (0 === (seen1 & 4194304))
      $this.contextPlatform_1 = null;
    else
      $this.contextPlatform_1 = contextPlatform;
    if (0 === (seen1 & 8388608))
      $this.contextStatementRefIdHi_1 = new Long(0, 0);
    else
      $this.contextStatementRefIdHi_1 = contextStatementRefIdHi;
    if (0 === (seen1 & 16777216))
      $this.contextStatementRefIdLo_1 = new Long(0, 0);
    else
      $this.contextStatementRefIdLo_1 = contextStatementRefIdLo;
    if (0 === (seen1 & 33554432))
      $this.contextInstructorActorUid_1 = new Long(0, 0);
    else
      $this.contextInstructorActorUid_1 = contextInstructorActorUid;
    if (0 === (seen1 & 67108864))
      $this.statementLct_1 = new Long(0, 0);
    else
      $this.statementLct_1 = statementLct;
    if (0 === (seen1 & 134217728))
      $this.extensionProgress_1 = null;
    else
      $this.extensionProgress_1 = extensionProgress;
    if (0 === (seen1 & 268435456))
      $this.completionOrProgress_1 = false;
    else
      $this.completionOrProgress_1 = completionOrProgress;
    if (0 === (seen1 & 536870912))
      $this.statementContentEntryUid_1 = new Long(0, 0);
    else
      $this.statementContentEntryUid_1 = statementContentEntryUid;
    if (0 === (seen1 & 1073741824))
      $this.statementLearnerGroupUid_1 = new Long(0, 0);
    else
      $this.statementLearnerGroupUid_1 = statementLearnerGroupUid;
    if (0 === (seen1 & -2147483648))
      $this.statementClazzUid_1 = new Long(0, 0);
    else
      $this.statementClazzUid_1 = statementClazzUid;
    if (0 === (seen2 & 1))
      $this.statementCbUid_1 = new Long(0, 0);
    else
      $this.statementCbUid_1 = statementCbUid;
    if (0 === (seen2 & 2))
      $this.statementDoorNode_1 = new Long(0, 0);
    else
      $this.statementDoorNode_1 = statementDoorNode;
    if (0 === (seen2 & 4))
      $this.isSubStatement_1 = false;
    else
      $this.isSubStatement_1 = isSubStatement;
    return $this;
  }
  function StatementEntity_init_$Create$(seen1, seen2, statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement, serializationConstructorMarker) {
    return StatementEntity_init_$Init$(seen1, seen2, statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement, serializationConstructorMarker, objectCreate(protoOf(StatementEntity)));
  }
  function StatementEntity(statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) {
    Companion_getInstance_138();
    statementIdHi = statementIdHi === VOID ? new Long(0, 0) : statementIdHi;
    statementIdLo = statementIdLo === VOID ? new Long(0, 0) : statementIdLo;
    statementActorPersonUid = statementActorPersonUid === VOID ? new Long(0, 0) : statementActorPersonUid;
    statementVerbUid = statementVerbUid === VOID ? new Long(0, 0) : statementVerbUid;
    statementObjectType = statementObjectType === VOID ? 0 : statementObjectType;
    statementObjectUid1 = statementObjectUid1 === VOID ? new Long(0, 0) : statementObjectUid1;
    statementObjectUid2 = statementObjectUid2 === VOID ? new Long(0, 0) : statementObjectUid2;
    statementActorUid = statementActorUid === VOID ? new Long(0, 0) : statementActorUid;
    authorityActorUid = authorityActorUid === VOID ? new Long(0, 0) : authorityActorUid;
    teamUid = teamUid === VOID ? new Long(0, 0) : teamUid;
    resultCompletion = resultCompletion === VOID ? null : resultCompletion;
    resultSuccess = resultSuccess === VOID ? null : resultSuccess;
    resultScoreScaled = resultScoreScaled === VOID ? null : resultScoreScaled;
    resultScoreRaw = resultScoreRaw === VOID ? null : resultScoreRaw;
    resultScoreMin = resultScoreMin === VOID ? null : resultScoreMin;
    resultScoreMax = resultScoreMax === VOID ? null : resultScoreMax;
    resultDuration = resultDuration === VOID ? null : resultDuration;
    resultResponse = resultResponse === VOID ? null : resultResponse;
    timestamp = timestamp === VOID ? new Long(0, 0) : timestamp;
    stored = stored === VOID ? new Long(0, 0) : stored;
    contextRegistrationHi = contextRegistrationHi === VOID ? new Long(0, 0) : contextRegistrationHi;
    contextRegistrationLo = contextRegistrationLo === VOID ? new Long(0, 0) : contextRegistrationLo;
    contextPlatform = contextPlatform === VOID ? null : contextPlatform;
    contextStatementRefIdHi = contextStatementRefIdHi === VOID ? new Long(0, 0) : contextStatementRefIdHi;
    contextStatementRefIdLo = contextStatementRefIdLo === VOID ? new Long(0, 0) : contextStatementRefIdLo;
    contextInstructorActorUid = contextInstructorActorUid === VOID ? new Long(0, 0) : contextInstructorActorUid;
    statementLct = statementLct === VOID ? new Long(0, 0) : statementLct;
    extensionProgress = extensionProgress === VOID ? null : extensionProgress;
    completionOrProgress = completionOrProgress === VOID ? false : completionOrProgress;
    statementContentEntryUid = statementContentEntryUid === VOID ? new Long(0, 0) : statementContentEntryUid;
    statementLearnerGroupUid = statementLearnerGroupUid === VOID ? new Long(0, 0) : statementLearnerGroupUid;
    statementClazzUid = statementClazzUid === VOID ? new Long(0, 0) : statementClazzUid;
    statementCbUid = statementCbUid === VOID ? new Long(0, 0) : statementCbUid;
    statementDoorNode = statementDoorNode === VOID ? new Long(0, 0) : statementDoorNode;
    isSubStatement = isSubStatement === VOID ? false : isSubStatement;
    this.statementIdHi_1 = statementIdHi;
    this.statementIdLo_1 = statementIdLo;
    this.statementActorPersonUid_1 = statementActorPersonUid;
    this.statementVerbUid_1 = statementVerbUid;
    this.statementObjectType_1 = statementObjectType;
    this.statementObjectUid1__1 = statementObjectUid1;
    this.statementObjectUid2__1 = statementObjectUid2;
    this.statementActorUid_1 = statementActorUid;
    this.authorityActorUid_1 = authorityActorUid;
    this.teamUid_1 = teamUid;
    this.resultCompletion_1 = resultCompletion;
    this.resultSuccess_1 = resultSuccess;
    this.resultScoreScaled_1 = resultScoreScaled;
    this.resultScoreRaw_1 = resultScoreRaw;
    this.resultScoreMin_1 = resultScoreMin;
    this.resultScoreMax_1 = resultScoreMax;
    this.resultDuration_1 = resultDuration;
    this.resultResponse_1 = resultResponse;
    this.timestamp_1 = timestamp;
    this.stored_1 = stored;
    this.contextRegistrationHi_1 = contextRegistrationHi;
    this.contextRegistrationLo_1 = contextRegistrationLo;
    this.contextPlatform_1 = contextPlatform;
    this.contextStatementRefIdHi_1 = contextStatementRefIdHi;
    this.contextStatementRefIdLo_1 = contextStatementRefIdLo;
    this.contextInstructorActorUid_1 = contextInstructorActorUid;
    this.statementLct_1 = statementLct;
    this.extensionProgress_1 = extensionProgress;
    this.completionOrProgress_1 = completionOrProgress;
    this.statementContentEntryUid_1 = statementContentEntryUid;
    this.statementLearnerGroupUid_1 = statementLearnerGroupUid;
    this.statementClazzUid_1 = statementClazzUid;
    this.statementCbUid_1 = statementCbUid;
    this.statementDoorNode_1 = statementDoorNode;
    this.isSubStatement_1 = isSubStatement;
  }
  protoOf(StatementEntity).set_statementIdHi_ht84ts_k$ = function (_set____db54di) {
    this.statementIdHi_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementIdHi_5i876q_k$ = function () {
    return this.statementIdHi_1;
  };
  protoOf(StatementEntity).set_statementIdLo_mvfff6_k$ = function (_set____db54di) {
    this.statementIdLo_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementIdLo_5i87ac_k$ = function () {
    return this.statementIdLo_1;
  };
  protoOf(StatementEntity).set_statementActorPersonUid_6n8j8m_k$ = function (_set____db54di) {
    this.statementActorPersonUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementActorPersonUid_s001n8_k$ = function () {
    return this.statementActorPersonUid_1;
  };
  protoOf(StatementEntity).set_statementVerbUid_acgosh_k$ = function (_set____db54di) {
    this.statementVerbUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementVerbUid_7g8du3_k$ = function () {
    return this.statementVerbUid_1;
  };
  protoOf(StatementEntity).set_statementObjectType_hm60m5_k$ = function (_set____db54di) {
    this.statementObjectType_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementObjectType_2adnr3_k$ = function () {
    return this.statementObjectType_1;
  };
  protoOf(StatementEntity).set_statementObjectUid1_z8y5lg_k$ = function (_set____db54di) {
    this.statementObjectUid1__1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementObjectUid1_2adyjq_k$ = function () {
    return this.statementObjectUid1__1;
  };
  protoOf(StatementEntity).set_statementObjectUid2_rwu0tx_k$ = function (_set____db54di) {
    this.statementObjectUid2__1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementObjectUid2_2adyjr_k$ = function () {
    return this.statementObjectUid2__1;
  };
  protoOf(StatementEntity).set_statementActorUid_qhujin_k$ = function (_set____db54di) {
    this.statementActorUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementActorUid_noqeip_k$ = function () {
    return this.statementActorUid_1;
  };
  protoOf(StatementEntity).set_authorityActorUid_6x95v_k$ = function (_set____db54di) {
    this.authorityActorUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_authorityActorUid_2sx1hx_k$ = function () {
    return this.authorityActorUid_1;
  };
  protoOf(StatementEntity).set_teamUid_1x72ew_k$ = function (_set____db54di) {
    this.teamUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_teamUid_mjd6wm_k$ = function () {
    return this.teamUid_1;
  };
  protoOf(StatementEntity).set_resultCompletion_5f1e16_k$ = function (_set____db54di) {
    this.resultCompletion_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultCompletion_gquu72_k$ = function () {
    return this.resultCompletion_1;
  };
  protoOf(StatementEntity).set_resultSuccess_mdy2on_k$ = function (_set____db54di) {
    this.resultSuccess_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultSuccess_nwwgl9_k$ = function () {
    return this.resultSuccess_1;
  };
  protoOf(StatementEntity).set_resultScoreScaled_wa4hlp_k$ = function (_set____db54di) {
    this.resultScoreScaled_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultScoreScaled_3to03e_k$ = function () {
    return this.resultScoreScaled_1;
  };
  protoOf(StatementEntity).set_resultScoreRaw_cy7vjv_k$ = function (_set____db54di) {
    this.resultScoreRaw_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultScoreRaw_e67ipw_k$ = function () {
    return this.resultScoreRaw_1;
  };
  protoOf(StatementEntity).set_resultScoreMin_eitzkr_k$ = function (_set____db54di) {
    this.resultScoreMin_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultScoreMin_e67m8q_k$ = function () {
    return this.resultScoreMin_1;
  };
  protoOf(StatementEntity).set_resultScoreMax_38p03b_k$ = function (_set____db54di) {
    this.resultScoreMax_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultScoreMax_e67mfc_k$ = function () {
    return this.resultScoreMax_1;
  };
  protoOf(StatementEntity).set_resultDuration_v7t3k3_k$ = function (_set____db54di) {
    this.resultDuration_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultDuration_vxz2l6_k$ = function () {
    return this.resultDuration_1;
  };
  protoOf(StatementEntity).set_resultResponse_8cpijo_k$ = function (_set____db54di) {
    this.resultResponse_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_resultResponse_brrjw9_k$ = function () {
    return this.resultResponse_1;
  };
  protoOf(StatementEntity).set_timestamp_eha0cb_k$ = function (_set____db54di) {
    this.timestamp_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_timestamp_9fccx9_k$ = function () {
    return this.timestamp_1;
  };
  protoOf(StatementEntity).set_stored_dr5tz2_k$ = function (_set____db54di) {
    this.stored_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_stored_jno2b0_k$ = function () {
    return this.stored_1;
  };
  protoOf(StatementEntity).set_contextRegistrationHi_74s32q_k$ = function (_set____db54di) {
    this.contextRegistrationHi_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_contextRegistrationHi_dkx0jk_k$ = function () {
    return this.contextRegistrationHi_1;
  };
  protoOf(StatementEntity).set_contextRegistrationLo_xjvh68_k$ = function (_set____db54di) {
    this.contextRegistrationLo_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_contextRegistrationLo_dkx0fy_k$ = function () {
    return this.contextRegistrationLo_1;
  };
  protoOf(StatementEntity).set_contextPlatform_1fcrke_k$ = function (_set____db54di) {
    this.contextPlatform_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_contextPlatform_7ahoih_k$ = function () {
    return this.contextPlatform_1;
  };
  protoOf(StatementEntity).set_contextStatementRefIdHi_a6xqz8_k$ = function (_set____db54di) {
    this.contextStatementRefIdHi_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_contextStatementRefIdHi_c24rvq_k$ = function () {
    return this.contextStatementRefIdHi_1;
  };
  protoOf(StatementEntity).set_contextStatementRefIdLo_k5iqqy_k$ = function (_set____db54di) {
    this.contextStatementRefIdLo_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_contextStatementRefIdLo_c24rzc_k$ = function () {
    return this.contextStatementRefIdLo_1;
  };
  protoOf(StatementEntity).set_contextInstructorActorUid_l3lkc_k$ = function (_set____db54di) {
    this.contextInstructorActorUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_contextInstructorActorUid_qx6uo2_k$ = function () {
    return this.contextInstructorActorUid_1;
  };
  protoOf(StatementEntity).set_statementLct_j41a6r_k$ = function (_set____db54di) {
    this.statementLct_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementLct_4eku6h_k$ = function () {
    return this.statementLct_1;
  };
  protoOf(StatementEntity).set_extensionProgress_iqe2j8_k$ = function (_set____db54di) {
    this.extensionProgress_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_extensionProgress_sopfj7_k$ = function () {
    return this.extensionProgress_1;
  };
  protoOf(StatementEntity).set_completionOrProgress_lw0kjw_k$ = function (_set____db54di) {
    this.completionOrProgress_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_completionOrProgress_n546lx_k$ = function () {
    return this.completionOrProgress_1;
  };
  protoOf(StatementEntity).set_statementContentEntryUid_h38zbt_k$ = function (_set____db54di) {
    this.statementContentEntryUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementContentEntryUid_8usy29_k$ = function () {
    return this.statementContentEntryUid_1;
  };
  protoOf(StatementEntity).set_statementLearnerGroupUid_2c7m5q_k$ = function (_set____db54di) {
    this.statementLearnerGroupUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementLearnerGroupUid_r54b0c_k$ = function () {
    return this.statementLearnerGroupUid_1;
  };
  protoOf(StatementEntity).set_statementClazzUid_hmeo30_k$ = function (_set____db54di) {
    this.statementClazzUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementClazzUid_8hg8ci_k$ = function () {
    return this.statementClazzUid_1;
  };
  protoOf(StatementEntity).set_statementCbUid_uxmitd_k$ = function (_set____db54di) {
    this.statementCbUid_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementCbUid_sjib0r_k$ = function () {
    return this.statementCbUid_1;
  };
  protoOf(StatementEntity).set_statementDoorNode_yzgvvo_k$ = function (_set____db54di) {
    this.statementDoorNode_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_statementDoorNode_6a62y_k$ = function () {
    return this.statementDoorNode_1;
  };
  protoOf(StatementEntity).set_isSubStatement_3kaenz_k$ = function (_set____db54di) {
    this.isSubStatement_1 = _set____db54di;
  };
  protoOf(StatementEntity).get_isSubStatement_kxok82_k$ = function () {
    return this.isSubStatement_1;
  };
  protoOf(StatementEntity).component1_7eebsc_k$ = function () {
    return this.statementIdHi_1;
  };
  protoOf(StatementEntity).component2_7eebsb_k$ = function () {
    return this.statementIdLo_1;
  };
  protoOf(StatementEntity).component3_7eebsa_k$ = function () {
    return this.statementActorPersonUid_1;
  };
  protoOf(StatementEntity).component4_7eebs9_k$ = function () {
    return this.statementVerbUid_1;
  };
  protoOf(StatementEntity).component5_7eebs8_k$ = function () {
    return this.statementObjectType_1;
  };
  protoOf(StatementEntity).component6_7eebs7_k$ = function () {
    return this.statementObjectUid1__1;
  };
  protoOf(StatementEntity).component7_7eebs6_k$ = function () {
    return this.statementObjectUid2__1;
  };
  protoOf(StatementEntity).component8_7eebs5_k$ = function () {
    return this.statementActorUid_1;
  };
  protoOf(StatementEntity).component9_7eebs4_k$ = function () {
    return this.authorityActorUid_1;
  };
  protoOf(StatementEntity).component10_gazzfo_k$ = function () {
    return this.teamUid_1;
  };
  protoOf(StatementEntity).component11_gazzfn_k$ = function () {
    return this.resultCompletion_1;
  };
  protoOf(StatementEntity).component12_gazzfm_k$ = function () {
    return this.resultSuccess_1;
  };
  protoOf(StatementEntity).component13_gazzfl_k$ = function () {
    return this.resultScoreScaled_1;
  };
  protoOf(StatementEntity).component14_gazzfk_k$ = function () {
    return this.resultScoreRaw_1;
  };
  protoOf(StatementEntity).component15_gazzfj_k$ = function () {
    return this.resultScoreMin_1;
  };
  protoOf(StatementEntity).component16_gazzfi_k$ = function () {
    return this.resultScoreMax_1;
  };
  protoOf(StatementEntity).component17_gazzfh_k$ = function () {
    return this.resultDuration_1;
  };
  protoOf(StatementEntity).component18_gazzfg_k$ = function () {
    return this.resultResponse_1;
  };
  protoOf(StatementEntity).component19_gazzff_k$ = function () {
    return this.timestamp_1;
  };
  protoOf(StatementEntity).component20_gazzet_k$ = function () {
    return this.stored_1;
  };
  protoOf(StatementEntity).component21_gazzes_k$ = function () {
    return this.contextRegistrationHi_1;
  };
  protoOf(StatementEntity).component22_gazzer_k$ = function () {
    return this.contextRegistrationLo_1;
  };
  protoOf(StatementEntity).component23_gazzeq_k$ = function () {
    return this.contextPlatform_1;
  };
  protoOf(StatementEntity).component24_gazzep_k$ = function () {
    return this.contextStatementRefIdHi_1;
  };
  protoOf(StatementEntity).component25_gazzeo_k$ = function () {
    return this.contextStatementRefIdLo_1;
  };
  protoOf(StatementEntity).component26_gazzen_k$ = function () {
    return this.contextInstructorActorUid_1;
  };
  protoOf(StatementEntity).component27_gazzem_k$ = function () {
    return this.statementLct_1;
  };
  protoOf(StatementEntity).component28_gazzel_k$ = function () {
    return this.extensionProgress_1;
  };
  protoOf(StatementEntity).component29_gazzek_k$ = function () {
    return this.completionOrProgress_1;
  };
  protoOf(StatementEntity).component30_gazzdy_k$ = function () {
    return this.statementContentEntryUid_1;
  };
  protoOf(StatementEntity).component31_gazzdx_k$ = function () {
    return this.statementLearnerGroupUid_1;
  };
  protoOf(StatementEntity).component32_gazzdw_k$ = function () {
    return this.statementClazzUid_1;
  };
  protoOf(StatementEntity).component33_gazzdv_k$ = function () {
    return this.statementCbUid_1;
  };
  protoOf(StatementEntity).component34_gazzdu_k$ = function () {
    return this.statementDoorNode_1;
  };
  protoOf(StatementEntity).component35_gazzdt_k$ = function () {
    return this.isSubStatement_1;
  };
  protoOf(StatementEntity).copy_womxa1_k$ = function (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) {
    return new StatementEntity(statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement);
  };
  protoOf(StatementEntity).copy$default_8jkdc6_k$ = function (statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement, $super) {
    statementIdHi = statementIdHi === VOID ? this.statementIdHi_1 : statementIdHi;
    statementIdLo = statementIdLo === VOID ? this.statementIdLo_1 : statementIdLo;
    statementActorPersonUid = statementActorPersonUid === VOID ? this.statementActorPersonUid_1 : statementActorPersonUid;
    statementVerbUid = statementVerbUid === VOID ? this.statementVerbUid_1 : statementVerbUid;
    statementObjectType = statementObjectType === VOID ? this.statementObjectType_1 : statementObjectType;
    statementObjectUid1 = statementObjectUid1 === VOID ? this.statementObjectUid1__1 : statementObjectUid1;
    statementObjectUid2 = statementObjectUid2 === VOID ? this.statementObjectUid2__1 : statementObjectUid2;
    statementActorUid = statementActorUid === VOID ? this.statementActorUid_1 : statementActorUid;
    authorityActorUid = authorityActorUid === VOID ? this.authorityActorUid_1 : authorityActorUid;
    teamUid = teamUid === VOID ? this.teamUid_1 : teamUid;
    resultCompletion = resultCompletion === VOID ? this.resultCompletion_1 : resultCompletion;
    resultSuccess = resultSuccess === VOID ? this.resultSuccess_1 : resultSuccess;
    resultScoreScaled = resultScoreScaled === VOID ? this.resultScoreScaled_1 : resultScoreScaled;
    resultScoreRaw = resultScoreRaw === VOID ? this.resultScoreRaw_1 : resultScoreRaw;
    resultScoreMin = resultScoreMin === VOID ? this.resultScoreMin_1 : resultScoreMin;
    resultScoreMax = resultScoreMax === VOID ? this.resultScoreMax_1 : resultScoreMax;
    resultDuration = resultDuration === VOID ? this.resultDuration_1 : resultDuration;
    resultResponse = resultResponse === VOID ? this.resultResponse_1 : resultResponse;
    timestamp = timestamp === VOID ? this.timestamp_1 : timestamp;
    stored = stored === VOID ? this.stored_1 : stored;
    contextRegistrationHi = contextRegistrationHi === VOID ? this.contextRegistrationHi_1 : contextRegistrationHi;
    contextRegistrationLo = contextRegistrationLo === VOID ? this.contextRegistrationLo_1 : contextRegistrationLo;
    contextPlatform = contextPlatform === VOID ? this.contextPlatform_1 : contextPlatform;
    contextStatementRefIdHi = contextStatementRefIdHi === VOID ? this.contextStatementRefIdHi_1 : contextStatementRefIdHi;
    contextStatementRefIdLo = contextStatementRefIdLo === VOID ? this.contextStatementRefIdLo_1 : contextStatementRefIdLo;
    contextInstructorActorUid = contextInstructorActorUid === VOID ? this.contextInstructorActorUid_1 : contextInstructorActorUid;
    statementLct = statementLct === VOID ? this.statementLct_1 : statementLct;
    extensionProgress = extensionProgress === VOID ? this.extensionProgress_1 : extensionProgress;
    completionOrProgress = completionOrProgress === VOID ? this.completionOrProgress_1 : completionOrProgress;
    statementContentEntryUid = statementContentEntryUid === VOID ? this.statementContentEntryUid_1 : statementContentEntryUid;
    statementLearnerGroupUid = statementLearnerGroupUid === VOID ? this.statementLearnerGroupUid_1 : statementLearnerGroupUid;
    statementClazzUid = statementClazzUid === VOID ? this.statementClazzUid_1 : statementClazzUid;
    statementCbUid = statementCbUid === VOID ? this.statementCbUid_1 : statementCbUid;
    statementDoorNode = statementDoorNode === VOID ? this.statementDoorNode_1 : statementDoorNode;
    isSubStatement = isSubStatement === VOID ? this.isSubStatement_1 : isSubStatement;
    return $super === VOID ? this.copy_womxa1_k$(statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement) : $super.copy_womxa1_k$.call(this, statementIdHi, statementIdLo, statementActorPersonUid, statementVerbUid, statementObjectType, statementObjectUid1, statementObjectUid2, statementActorUid, authorityActorUid, teamUid, resultCompletion, resultSuccess, resultScoreScaled, resultScoreRaw, resultScoreMin, resultScoreMax, resultDuration, resultResponse, timestamp, stored, contextRegistrationHi, contextRegistrationLo, contextPlatform, contextStatementRefIdHi, contextStatementRefIdLo, contextInstructorActorUid, statementLct, extensionProgress, completionOrProgress, statementContentEntryUid, statementLearnerGroupUid, statementClazzUid, statementCbUid, statementDoorNode, isSubStatement);
  };
  protoOf(StatementEntity).toString = function () {
    return 'StatementEntity(statementIdHi=' + this.statementIdHi_1.toString() + ', statementIdLo=' + this.statementIdLo_1.toString() + ', statementActorPersonUid=' + this.statementActorPersonUid_1.toString() + ', statementVerbUid=' + this.statementVerbUid_1.toString() + ', statementObjectType=' + this.statementObjectType_1 + ', statementObjectUid1=' + this.statementObjectUid1__1.toString() + ', statementObjectUid2=' + this.statementObjectUid2__1.toString() + ', statementActorUid=' + this.statementActorUid_1.toString() + ', authorityActorUid=' + this.authorityActorUid_1.toString() + ', teamUid=' + this.teamUid_1.toString() + ', resultCompletion=' + this.resultCompletion_1 + ', resultSuccess=' + this.resultSuccess_1 + ', resultScoreScaled=' + this.resultScoreScaled_1 + ', resultScoreRaw=' + this.resultScoreRaw_1 + ', resultScoreMin=' + this.resultScoreMin_1 + ', resultScoreMax=' + this.resultScoreMax_1 + ', resultDuration=' + toString(this.resultDuration_1) + ', resultResponse=' + this.resultResponse_1 + ', timestamp=' + this.timestamp_1.toString() + ', stored=' + this.stored_1.toString() + ', contextRegistrationHi=' + this.contextRegistrationHi_1.toString() + ', contextRegistrationLo=' + this.contextRegistrationLo_1.toString() + ', contextPlatform=' + this.contextPlatform_1 + ', contextStatementRefIdHi=' + this.contextStatementRefIdHi_1.toString() + ', contextStatementRefIdLo=' + this.contextStatementRefIdLo_1.toString() + ', contextInstructorActorUid=' + this.contextInstructorActorUid_1.toString() + ', statementLct=' + this.statementLct_1.toString() + ', extensionProgress=' + this.extensionProgress_1 + ', completionOrProgress=' + this.completionOrProgress_1 + ', statementContentEntryUid=' + this.statementContentEntryUid_1.toString() + ', statementLearnerGroupUid=' + this.statementLearnerGroupUid_1.toString() + ', statementClazzUid=' + this.statementClazzUid_1.toString() + ', statementCbUid=' + this.statementCbUid_1.toString() + ', statementDoorNode=' + this.statementDoorNode_1.toString() + ', isSubStatement=' + this.isSubStatement_1 + ')';
  };
  protoOf(StatementEntity).hashCode = function () {
    var result = this.statementIdHi_1.hashCode();
    result = imul(result, 31) + this.statementIdLo_1.hashCode() | 0;
    result = imul(result, 31) + this.statementActorPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.statementVerbUid_1.hashCode() | 0;
    result = imul(result, 31) + this.statementObjectType_1 | 0;
    result = imul(result, 31) + this.statementObjectUid1__1.hashCode() | 0;
    result = imul(result, 31) + this.statementObjectUid2__1.hashCode() | 0;
    result = imul(result, 31) + this.statementActorUid_1.hashCode() | 0;
    result = imul(result, 31) + this.authorityActorUid_1.hashCode() | 0;
    result = imul(result, 31) + this.teamUid_1.hashCode() | 0;
    result = imul(result, 31) + (this.resultCompletion_1 == null ? 0 : getBooleanHashCode(this.resultCompletion_1)) | 0;
    result = imul(result, 31) + (this.resultSuccess_1 == null ? 0 : getBooleanHashCode(this.resultSuccess_1)) | 0;
    result = imul(result, 31) + (this.resultScoreScaled_1 == null ? 0 : getNumberHashCode(this.resultScoreScaled_1)) | 0;
    result = imul(result, 31) + (this.resultScoreRaw_1 == null ? 0 : getNumberHashCode(this.resultScoreRaw_1)) | 0;
    result = imul(result, 31) + (this.resultScoreMin_1 == null ? 0 : getNumberHashCode(this.resultScoreMin_1)) | 0;
    result = imul(result, 31) + (this.resultScoreMax_1 == null ? 0 : getNumberHashCode(this.resultScoreMax_1)) | 0;
    result = imul(result, 31) + (this.resultDuration_1 == null ? 0 : this.resultDuration_1.hashCode()) | 0;
    result = imul(result, 31) + (this.resultResponse_1 == null ? 0 : getStringHashCode(this.resultResponse_1)) | 0;
    result = imul(result, 31) + this.timestamp_1.hashCode() | 0;
    result = imul(result, 31) + this.stored_1.hashCode() | 0;
    result = imul(result, 31) + this.contextRegistrationHi_1.hashCode() | 0;
    result = imul(result, 31) + this.contextRegistrationLo_1.hashCode() | 0;
    result = imul(result, 31) + (this.contextPlatform_1 == null ? 0 : getStringHashCode(this.contextPlatform_1)) | 0;
    result = imul(result, 31) + this.contextStatementRefIdHi_1.hashCode() | 0;
    result = imul(result, 31) + this.contextStatementRefIdLo_1.hashCode() | 0;
    result = imul(result, 31) + this.contextInstructorActorUid_1.hashCode() | 0;
    result = imul(result, 31) + this.statementLct_1.hashCode() | 0;
    result = imul(result, 31) + (this.extensionProgress_1 == null ? 0 : this.extensionProgress_1) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.completionOrProgress_1) | 0;
    result = imul(result, 31) + this.statementContentEntryUid_1.hashCode() | 0;
    result = imul(result, 31) + this.statementLearnerGroupUid_1.hashCode() | 0;
    result = imul(result, 31) + this.statementClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + this.statementCbUid_1.hashCode() | 0;
    result = imul(result, 31) + this.statementDoorNode_1.hashCode() | 0;
    result = imul(result, 31) + getBooleanHashCode(this.isSubStatement_1) | 0;
    return result;
  };
  protoOf(StatementEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementEntity))
      return false;
    var tmp0_other_with_cast = other instanceof StatementEntity ? other : THROW_CCE();
    if (!this.statementIdHi_1.equals(tmp0_other_with_cast.statementIdHi_1))
      return false;
    if (!this.statementIdLo_1.equals(tmp0_other_with_cast.statementIdLo_1))
      return false;
    if (!this.statementActorPersonUid_1.equals(tmp0_other_with_cast.statementActorPersonUid_1))
      return false;
    if (!this.statementVerbUid_1.equals(tmp0_other_with_cast.statementVerbUid_1))
      return false;
    if (!(this.statementObjectType_1 === tmp0_other_with_cast.statementObjectType_1))
      return false;
    if (!this.statementObjectUid1__1.equals(tmp0_other_with_cast.statementObjectUid1__1))
      return false;
    if (!this.statementObjectUid2__1.equals(tmp0_other_with_cast.statementObjectUid2__1))
      return false;
    if (!this.statementActorUid_1.equals(tmp0_other_with_cast.statementActorUid_1))
      return false;
    if (!this.authorityActorUid_1.equals(tmp0_other_with_cast.authorityActorUid_1))
      return false;
    if (!this.teamUid_1.equals(tmp0_other_with_cast.teamUid_1))
      return false;
    if (!(this.resultCompletion_1 == tmp0_other_with_cast.resultCompletion_1))
      return false;
    if (!(this.resultSuccess_1 == tmp0_other_with_cast.resultSuccess_1))
      return false;
    if (!equals(this.resultScoreScaled_1, tmp0_other_with_cast.resultScoreScaled_1))
      return false;
    if (!equals(this.resultScoreRaw_1, tmp0_other_with_cast.resultScoreRaw_1))
      return false;
    if (!equals(this.resultScoreMin_1, tmp0_other_with_cast.resultScoreMin_1))
      return false;
    if (!equals(this.resultScoreMax_1, tmp0_other_with_cast.resultScoreMax_1))
      return false;
    if (!equals(this.resultDuration_1, tmp0_other_with_cast.resultDuration_1))
      return false;
    if (!(this.resultResponse_1 == tmp0_other_with_cast.resultResponse_1))
      return false;
    if (!this.timestamp_1.equals(tmp0_other_with_cast.timestamp_1))
      return false;
    if (!this.stored_1.equals(tmp0_other_with_cast.stored_1))
      return false;
    if (!this.contextRegistrationHi_1.equals(tmp0_other_with_cast.contextRegistrationHi_1))
      return false;
    if (!this.contextRegistrationLo_1.equals(tmp0_other_with_cast.contextRegistrationLo_1))
      return false;
    if (!(this.contextPlatform_1 == tmp0_other_with_cast.contextPlatform_1))
      return false;
    if (!this.contextStatementRefIdHi_1.equals(tmp0_other_with_cast.contextStatementRefIdHi_1))
      return false;
    if (!this.contextStatementRefIdLo_1.equals(tmp0_other_with_cast.contextStatementRefIdLo_1))
      return false;
    if (!this.contextInstructorActorUid_1.equals(tmp0_other_with_cast.contextInstructorActorUid_1))
      return false;
    if (!this.statementLct_1.equals(tmp0_other_with_cast.statementLct_1))
      return false;
    if (!(this.extensionProgress_1 == tmp0_other_with_cast.extensionProgress_1))
      return false;
    if (!(this.completionOrProgress_1 === tmp0_other_with_cast.completionOrProgress_1))
      return false;
    if (!this.statementContentEntryUid_1.equals(tmp0_other_with_cast.statementContentEntryUid_1))
      return false;
    if (!this.statementLearnerGroupUid_1.equals(tmp0_other_with_cast.statementLearnerGroupUid_1))
      return false;
    if (!this.statementClazzUid_1.equals(tmp0_other_with_cast.statementClazzUid_1))
      return false;
    if (!this.statementCbUid_1.equals(tmp0_other_with_cast.statementCbUid_1))
      return false;
    if (!this.statementDoorNode_1.equals(tmp0_other_with_cast.statementDoorNode_1))
      return false;
    if (!(this.isSubStatement_1 === tmp0_other_with_cast.isSubStatement_1))
      return false;
    return true;
  };
  function Companion_137() {
    Companion_instance_137 = this;
    this.TABLE_ID_1 = 602;
  }
  protoOf(Companion_137).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_137).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_132();
  };
  var Companion_instance_137;
  function Companion_getInstance_139() {
    if (Companion_instance_137 == null)
      new Companion_137();
    return Companion_instance_137;
  }
  function $serializer_132() {
    $serializer_instance_132 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.StatementEntityJson', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('stmtJsonIdHi', true);
    tmp0_serialDesc.addElement_5pzumi_k$('stmtJsonIdLo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('stmtEtag', true);
    tmp0_serialDesc.addElement_5pzumi_k$('fullStatement', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_132).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_132).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance())];
  };
  protoOf($serializer_132).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = null;
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return StatementEntityJson_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_132).serialize_ffljud_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.stmtJsonIdHi_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.stmtJsonIdHi_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.stmtJsonIdLo_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.stmtJsonIdLo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.stmtEtag_1.equals(new Long(1, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.stmtEtag_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.fullStatement_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.fullStatement_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_132).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_ffljud_k$(encoder, value instanceof StatementEntityJson ? value : THROW_CCE());
  };
  var $serializer_instance_132;
  function $serializer_getInstance_132() {
    if ($serializer_instance_132 == null)
      new $serializer_132();
    return $serializer_instance_132;
  }
  function StatementEntityJson_init_$Init$(seen1, stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_132().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.stmtJsonIdHi_1 = new Long(0, 0);
    else
      $this.stmtJsonIdHi_1 = stmtJsonIdHi;
    if (0 === (seen1 & 2))
      $this.stmtJsonIdLo_1 = new Long(0, 0);
    else
      $this.stmtJsonIdLo_1 = stmtJsonIdLo;
    if (0 === (seen1 & 4))
      $this.stmtEtag_1 = new Long(1, 0);
    else
      $this.stmtEtag_1 = stmtEtag;
    if (0 === (seen1 & 8))
      $this.fullStatement_1 = null;
    else
      $this.fullStatement_1 = fullStatement;
    return $this;
  }
  function StatementEntityJson_init_$Create$(seen1, stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement, serializationConstructorMarker) {
    return StatementEntityJson_init_$Init$(seen1, stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement, serializationConstructorMarker, objectCreate(protoOf(StatementEntityJson)));
  }
  function StatementEntityJson(stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) {
    Companion_getInstance_139();
    stmtJsonIdHi = stmtJsonIdHi === VOID ? new Long(0, 0) : stmtJsonIdHi;
    stmtJsonIdLo = stmtJsonIdLo === VOID ? new Long(0, 0) : stmtJsonIdLo;
    stmtEtag = stmtEtag === VOID ? new Long(1, 0) : stmtEtag;
    fullStatement = fullStatement === VOID ? null : fullStatement;
    this.stmtJsonIdHi_1 = stmtJsonIdHi;
    this.stmtJsonIdLo_1 = stmtJsonIdLo;
    this.stmtEtag_1 = stmtEtag;
    this.fullStatement_1 = fullStatement;
  }
  protoOf(StatementEntityJson).set_stmtJsonIdHi_sfel1x_k$ = function (_set____db54di) {
    this.stmtJsonIdHi_1 = _set____db54di;
  };
  protoOf(StatementEntityJson).get_stmtJsonIdHi_ij7qkr_k$ = function () {
    return this.stmtJsonIdHi_1;
  };
  protoOf(StatementEntityJson).set_stmtJsonIdLo_c98z71_k$ = function (_set____db54di) {
    this.stmtJsonIdLo_1 = _set____db54di;
  };
  protoOf(StatementEntityJson).get_stmtJsonIdLo_ij7qh5_k$ = function () {
    return this.stmtJsonIdLo_1;
  };
  protoOf(StatementEntityJson).set_stmtEtag_c4jmxo_k$ = function (_set____db54di) {
    this.stmtEtag_1 = _set____db54di;
  };
  protoOf(StatementEntityJson).get_stmtEtag_4c4qpm_k$ = function () {
    return this.stmtEtag_1;
  };
  protoOf(StatementEntityJson).set_fullStatement_tuiij8_k$ = function (_set____db54di) {
    this.fullStatement_1 = _set____db54di;
  };
  protoOf(StatementEntityJson).get_fullStatement_rdb5o7_k$ = function () {
    return this.fullStatement_1;
  };
  protoOf(StatementEntityJson).component1_7eebsc_k$ = function () {
    return this.stmtJsonIdHi_1;
  };
  protoOf(StatementEntityJson).component2_7eebsb_k$ = function () {
    return this.stmtJsonIdLo_1;
  };
  protoOf(StatementEntityJson).component3_7eebsa_k$ = function () {
    return this.stmtEtag_1;
  };
  protoOf(StatementEntityJson).component4_7eebs9_k$ = function () {
    return this.fullStatement_1;
  };
  protoOf(StatementEntityJson).copy_3yxvn2_k$ = function (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) {
    return new StatementEntityJson(stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement);
  };
  protoOf(StatementEntityJson).copy$default_509wvc_k$ = function (stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement, $super) {
    stmtJsonIdHi = stmtJsonIdHi === VOID ? this.stmtJsonIdHi_1 : stmtJsonIdHi;
    stmtJsonIdLo = stmtJsonIdLo === VOID ? this.stmtJsonIdLo_1 : stmtJsonIdLo;
    stmtEtag = stmtEtag === VOID ? this.stmtEtag_1 : stmtEtag;
    fullStatement = fullStatement === VOID ? this.fullStatement_1 : fullStatement;
    return $super === VOID ? this.copy_3yxvn2_k$(stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement) : $super.copy_3yxvn2_k$.call(this, stmtJsonIdHi, stmtJsonIdLo, stmtEtag, fullStatement);
  };
  protoOf(StatementEntityJson).toString = function () {
    return 'StatementEntityJson(stmtJsonIdHi=' + this.stmtJsonIdHi_1.toString() + ', stmtJsonIdLo=' + this.stmtJsonIdLo_1.toString() + ', stmtEtag=' + this.stmtEtag_1.toString() + ', fullStatement=' + this.fullStatement_1 + ')';
  };
  protoOf(StatementEntityJson).hashCode = function () {
    var result = this.stmtJsonIdHi_1.hashCode();
    result = imul(result, 31) + this.stmtJsonIdLo_1.hashCode() | 0;
    result = imul(result, 31) + this.stmtEtag_1.hashCode() | 0;
    result = imul(result, 31) + (this.fullStatement_1 == null ? 0 : getStringHashCode(this.fullStatement_1)) | 0;
    return result;
  };
  protoOf(StatementEntityJson).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof StatementEntityJson))
      return false;
    var tmp0_other_with_cast = other instanceof StatementEntityJson ? other : THROW_CCE();
    if (!this.stmtJsonIdHi_1.equals(tmp0_other_with_cast.stmtJsonIdHi_1))
      return false;
    if (!this.stmtJsonIdLo_1.equals(tmp0_other_with_cast.stmtJsonIdLo_1))
      return false;
    if (!this.stmtEtag_1.equals(tmp0_other_with_cast.stmtEtag_1))
      return false;
    if (!(this.fullStatement_1 == tmp0_other_with_cast.fullStatement_1))
      return false;
    return true;
  };
  function Companion_138() {
    Companion_instance_138 = this;
    this.TABLE_ID_1 = 62;
    this.VERB_COMPLETED_URL_1 = 'http://adlnet.gov/expapi/verbs/completed';
    this.VERB_COMPLETED_UID_1 = new Long(10001, 0);
    this.VERB_PASSED_URL_1 = 'http://adlnet.gov/expapi/verbs/passed';
    this.VERB_PASSED_UID_1 = new Long(10002, 0);
    this.VERB_FAILED_URL_1 = 'http://adlnet.gov/expapi/verbs/failed';
    this.VERB_FAILED_UID_1 = new Long(10003, 0);
  }
  protoOf(Companion_138).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_138).get_VERB_COMPLETED_URL_b56l5w_k$ = function () {
    return this.VERB_COMPLETED_URL_1;
  };
  protoOf(Companion_138).get_VERB_COMPLETED_UID_b56kxx_k$ = function () {
    return this.VERB_COMPLETED_UID_1;
  };
  protoOf(Companion_138).get_VERB_PASSED_URL_vwz749_k$ = function () {
    return this.VERB_PASSED_URL_1;
  };
  protoOf(Companion_138).get_VERB_PASSED_UID_vwz7c8_k$ = function () {
    return this.VERB_PASSED_UID_1;
  };
  protoOf(Companion_138).get_VERB_FAILED_URL_z8fzi4_k$ = function () {
    return this.VERB_FAILED_URL_1;
  };
  protoOf(Companion_138).get_VERB_FAILED_UID_z8fzq3_k$ = function () {
    return this.VERB_FAILED_UID_1;
  };
  protoOf(Companion_138).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_133();
  };
  var Companion_instance_138;
  function Companion_getInstance_140() {
    if (Companion_instance_138 == null)
      new Companion_138();
    return Companion_instance_138;
  }
  function $serializer_133() {
    $serializer_instance_133 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.VerbEntity', this, 4);
    tmp0_serialDesc.addElement_5pzumi_k$('verbUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('verbUrlId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('verbDeleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('verbLct', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_133).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_133).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), LongSerializer_getInstance()];
  };
  protoOf($serializer_133).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = null;
    var tmp6_local2 = false;
    var tmp7_local3 = new Long(0, 0);
    var tmp8_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp8_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp8_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp8_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 1, StringSerializer_getInstance(), tmp5_local1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp8_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp8_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp8_input.endStructure_1xqz0n_k$(tmp0_desc);
    return VerbEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, null);
  };
  protoOf($serializer_133).serialize_xs6bzz_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.verbUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.verbUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !(value.verbUrlId_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 1, StringSerializer_getInstance(), value.verbUrlId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.verbDeleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 2, value.verbDeleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.verbLct_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.verbLct_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_133).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_xs6bzz_k$(encoder, value instanceof VerbEntity ? value : THROW_CCE());
  };
  var $serializer_instance_133;
  function $serializer_getInstance_133() {
    if ($serializer_instance_133 == null)
      new $serializer_133();
    return $serializer_instance_133;
  }
  function VerbEntity_init_$Init$(seen1, verbUid, verbUrlId, verbDeleted, verbLct, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_133().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.verbUid_1 = new Long(0, 0);
    else
      $this.verbUid_1 = verbUid;
    if (0 === (seen1 & 2))
      $this.verbUrlId_1 = null;
    else
      $this.verbUrlId_1 = verbUrlId;
    if (0 === (seen1 & 4))
      $this.verbDeleted_1 = false;
    else
      $this.verbDeleted_1 = verbDeleted;
    if (0 === (seen1 & 8))
      $this.verbLct_1 = new Long(0, 0);
    else
      $this.verbLct_1 = verbLct;
    return $this;
  }
  function VerbEntity_init_$Create$(seen1, verbUid, verbUrlId, verbDeleted, verbLct, serializationConstructorMarker) {
    return VerbEntity_init_$Init$(seen1, verbUid, verbUrlId, verbDeleted, verbLct, serializationConstructorMarker, objectCreate(protoOf(VerbEntity)));
  }
  function VerbEntity(verbUid, verbUrlId, verbDeleted, verbLct) {
    Companion_getInstance_140();
    verbUid = verbUid === VOID ? new Long(0, 0) : verbUid;
    verbUrlId = verbUrlId === VOID ? null : verbUrlId;
    verbDeleted = verbDeleted === VOID ? false : verbDeleted;
    verbLct = verbLct === VOID ? new Long(0, 0) : verbLct;
    this.verbUid_1 = verbUid;
    this.verbUrlId_1 = verbUrlId;
    this.verbDeleted_1 = verbDeleted;
    this.verbLct_1 = verbLct;
  }
  protoOf(VerbEntity).set_verbUid_nmxeq2_k$ = function (_set____db54di) {
    this.verbUid_1 = _set____db54di;
  };
  protoOf(VerbEntity).get_verbUid_72kurs_k$ = function () {
    return this.verbUid_1;
  };
  protoOf(VerbEntity).set_verbUrlId_xpu76x_k$ = function (_set____db54di) {
    this.verbUrlId_1 = _set____db54di;
  };
  protoOf(VerbEntity).get_verbUrlId_n3xvha_k$ = function () {
    return this.verbUrlId_1;
  };
  protoOf(VerbEntity).set_verbDeleted_a4kb3c_k$ = function (_set____db54di) {
    this.verbDeleted_1 = _set____db54di;
  };
  protoOf(VerbEntity).get_verbDeleted_i3hmy7_k$ = function () {
    return this.verbDeleted_1;
  };
  protoOf(VerbEntity).set_verbLct_w086ot_k$ = function (_set____db54di) {
    this.verbLct_1 = _set____db54di;
  };
  protoOf(VerbEntity).get_verbLct_72knyt_k$ = function () {
    return this.verbLct_1;
  };
  protoOf(VerbEntity).component1_7eebsc_k$ = function () {
    return this.verbUid_1;
  };
  protoOf(VerbEntity).component2_7eebsb_k$ = function () {
    return this.verbUrlId_1;
  };
  protoOf(VerbEntity).component3_7eebsa_k$ = function () {
    return this.verbDeleted_1;
  };
  protoOf(VerbEntity).component4_7eebs9_k$ = function () {
    return this.verbLct_1;
  };
  protoOf(VerbEntity).copy_9bjddx_k$ = function (verbUid, verbUrlId, verbDeleted, verbLct) {
    return new VerbEntity(verbUid, verbUrlId, verbDeleted, verbLct);
  };
  protoOf(VerbEntity).copy$default_xrq915_k$ = function (verbUid, verbUrlId, verbDeleted, verbLct, $super) {
    verbUid = verbUid === VOID ? this.verbUid_1 : verbUid;
    verbUrlId = verbUrlId === VOID ? this.verbUrlId_1 : verbUrlId;
    verbDeleted = verbDeleted === VOID ? this.verbDeleted_1 : verbDeleted;
    verbLct = verbLct === VOID ? this.verbLct_1 : verbLct;
    return $super === VOID ? this.copy_9bjddx_k$(verbUid, verbUrlId, verbDeleted, verbLct) : $super.copy_9bjddx_k$.call(this, verbUid, verbUrlId, verbDeleted, verbLct);
  };
  protoOf(VerbEntity).toString = function () {
    return 'VerbEntity(verbUid=' + this.verbUid_1.toString() + ', verbUrlId=' + this.verbUrlId_1 + ', verbDeleted=' + this.verbDeleted_1 + ', verbLct=' + this.verbLct_1.toString() + ')';
  };
  protoOf(VerbEntity).hashCode = function () {
    var result = this.verbUid_1.hashCode();
    result = imul(result, 31) + (this.verbUrlId_1 == null ? 0 : getStringHashCode(this.verbUrlId_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.verbDeleted_1) | 0;
    result = imul(result, 31) + this.verbLct_1.hashCode() | 0;
    return result;
  };
  protoOf(VerbEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof VerbEntity))
      return false;
    var tmp0_other_with_cast = other instanceof VerbEntity ? other : THROW_CCE();
    if (!this.verbUid_1.equals(tmp0_other_with_cast.verbUid_1))
      return false;
    if (!(this.verbUrlId_1 == tmp0_other_with_cast.verbUrlId_1))
      return false;
    if (!(this.verbDeleted_1 === tmp0_other_with_cast.verbDeleted_1))
      return false;
    if (!this.verbLct_1.equals(tmp0_other_with_cast.verbLct_1))
      return false;
    return true;
  };
  function Companion_139() {
    Companion_instance_139 = this;
    this.TABLE_ID_1 = 620;
  }
  protoOf(Companion_139).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_139).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_134();
  };
  var Companion_instance_139;
  function Companion_getInstance_141() {
    if (Companion_instance_139 == null)
      new Companion_139();
    return Companion_instance_139;
  }
  function $serializer_134() {
    $serializer_instance_134 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.VerbLangMapEntry', this, 5);
    tmp0_serialDesc.addElement_5pzumi_k$('vlmeVerbUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('vlmeLangHash', true);
    tmp0_serialDesc.addElement_5pzumi_k$('vlmeLangCode', true);
    tmp0_serialDesc.addElement_5pzumi_k$('vlmeEntryString', true);
    tmp0_serialDesc.addElement_5pzumi_k$('vlmeLastModified', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_134).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_134).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), get_nullable(StringSerializer_getInstance()), LongSerializer_getInstance()];
  };
  protoOf($serializer_134).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = null;
    var tmp7_local3 = null;
    var tmp8_local4 = new Long(0, 0);
    var tmp9_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp9_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp9_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 2, StringSerializer_getInstance(), tmp6_local2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp9_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 3, StringSerializer_getInstance(), tmp7_local3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp9_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp9_input.endStructure_1xqz0n_k$(tmp0_desc);
    return VerbLangMapEntry_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, null);
  };
  protoOf($serializer_134).serialize_8zc402_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.vlmeVerbUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.vlmeVerbUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.vlmeLangHash_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.vlmeLangHash_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !(value.vlmeLangCode_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 2, StringSerializer_getInstance(), value.vlmeLangCode_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !(value.vlmeEntryString_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 3, StringSerializer_getInstance(), value.vlmeEntryString_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.vlmeLastModified_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.vlmeLastModified_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_134).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_8zc402_k$(encoder, value instanceof VerbLangMapEntry ? value : THROW_CCE());
  };
  var $serializer_instance_134;
  function $serializer_getInstance_134() {
    if ($serializer_instance_134 == null)
      new $serializer_134();
    return $serializer_instance_134;
  }
  function VerbLangMapEntry_init_$Init$(seen1, vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_134().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.vlmeVerbUid_1 = new Long(0, 0);
    else
      $this.vlmeVerbUid_1 = vlmeVerbUid;
    if (0 === (seen1 & 2))
      $this.vlmeLangHash_1 = new Long(0, 0);
    else
      $this.vlmeLangHash_1 = vlmeLangHash;
    if (0 === (seen1 & 4))
      $this.vlmeLangCode_1 = null;
    else
      $this.vlmeLangCode_1 = vlmeLangCode;
    if (0 === (seen1 & 8))
      $this.vlmeEntryString_1 = null;
    else
      $this.vlmeEntryString_1 = vlmeEntryString;
    if (0 === (seen1 & 16))
      $this.vlmeLastModified_1 = new Long(0, 0);
    else
      $this.vlmeLastModified_1 = vlmeLastModified;
    return $this;
  }
  function VerbLangMapEntry_init_$Create$(seen1, vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified, serializationConstructorMarker) {
    return VerbLangMapEntry_init_$Init$(seen1, vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified, serializationConstructorMarker, objectCreate(protoOf(VerbLangMapEntry)));
  }
  function VerbLangMapEntry(vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) {
    Companion_getInstance_141();
    vlmeVerbUid = vlmeVerbUid === VOID ? new Long(0, 0) : vlmeVerbUid;
    vlmeLangHash = vlmeLangHash === VOID ? new Long(0, 0) : vlmeLangHash;
    vlmeLangCode = vlmeLangCode === VOID ? null : vlmeLangCode;
    vlmeEntryString = vlmeEntryString === VOID ? null : vlmeEntryString;
    vlmeLastModified = vlmeLastModified === VOID ? new Long(0, 0) : vlmeLastModified;
    this.vlmeVerbUid_1 = vlmeVerbUid;
    this.vlmeLangHash_1 = vlmeLangHash;
    this.vlmeLangCode_1 = vlmeLangCode;
    this.vlmeEntryString_1 = vlmeEntryString;
    this.vlmeLastModified_1 = vlmeLastModified;
  }
  protoOf(VerbLangMapEntry).set_vlmeVerbUid_t3b07c_k$ = function (_set____db54di) {
    this.vlmeVerbUid_1 = _set____db54di;
  };
  protoOf(VerbLangMapEntry).get_vlmeVerbUid_x6n4ii_k$ = function () {
    return this.vlmeVerbUid_1;
  };
  protoOf(VerbLangMapEntry).set_vlmeLangHash_dt707d_k$ = function (_set____db54di) {
    this.vlmeLangHash_1 = _set____db54di;
  };
  protoOf(VerbLangMapEntry).get_vlmeLangHash_ucpi99_k$ = function () {
    return this.vlmeLangHash_1;
  };
  protoOf(VerbLangMapEntry).set_vlmeLangCode_4ynuj3_k$ = function (_set____db54di) {
    this.vlmeLangCode_1 = _set____db54di;
  };
  protoOf(VerbLangMapEntry).get_vlmeLangCode_ucsf66_k$ = function () {
    return this.vlmeLangCode_1;
  };
  protoOf(VerbLangMapEntry).set_vlmeEntryString_ugbsv_k$ = function (_set____db54di) {
    this.vlmeEntryString_1 = _set____db54di;
  };
  protoOf(VerbLangMapEntry).get_vlmeEntryString_1krxpw_k$ = function () {
    return this.vlmeEntryString_1;
  };
  protoOf(VerbLangMapEntry).set_vlmeLastModified_xbp1o4_k$ = function (_set____db54di) {
    this.vlmeLastModified_1 = _set____db54di;
  };
  protoOf(VerbLangMapEntry).get_vlmeLastModified_uc3wq_k$ = function () {
    return this.vlmeLastModified_1;
  };
  protoOf(VerbLangMapEntry).component1_7eebsc_k$ = function () {
    return this.vlmeVerbUid_1;
  };
  protoOf(VerbLangMapEntry).component2_7eebsb_k$ = function () {
    return this.vlmeLangHash_1;
  };
  protoOf(VerbLangMapEntry).component3_7eebsa_k$ = function () {
    return this.vlmeLangCode_1;
  };
  protoOf(VerbLangMapEntry).component4_7eebs9_k$ = function () {
    return this.vlmeEntryString_1;
  };
  protoOf(VerbLangMapEntry).component5_7eebs8_k$ = function () {
    return this.vlmeLastModified_1;
  };
  protoOf(VerbLangMapEntry).copy_htstpj_k$ = function (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) {
    return new VerbLangMapEntry(vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified);
  };
  protoOf(VerbLangMapEntry).copy$default_emy9ov_k$ = function (vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified, $super) {
    vlmeVerbUid = vlmeVerbUid === VOID ? this.vlmeVerbUid_1 : vlmeVerbUid;
    vlmeLangHash = vlmeLangHash === VOID ? this.vlmeLangHash_1 : vlmeLangHash;
    vlmeLangCode = vlmeLangCode === VOID ? this.vlmeLangCode_1 : vlmeLangCode;
    vlmeEntryString = vlmeEntryString === VOID ? this.vlmeEntryString_1 : vlmeEntryString;
    vlmeLastModified = vlmeLastModified === VOID ? this.vlmeLastModified_1 : vlmeLastModified;
    return $super === VOID ? this.copy_htstpj_k$(vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified) : $super.copy_htstpj_k$.call(this, vlmeVerbUid, vlmeLangHash, vlmeLangCode, vlmeEntryString, vlmeLastModified);
  };
  protoOf(VerbLangMapEntry).toString = function () {
    return 'VerbLangMapEntry(vlmeVerbUid=' + this.vlmeVerbUid_1.toString() + ', vlmeLangHash=' + this.vlmeLangHash_1.toString() + ', vlmeLangCode=' + this.vlmeLangCode_1 + ', vlmeEntryString=' + this.vlmeEntryString_1 + ', vlmeLastModified=' + this.vlmeLastModified_1.toString() + ')';
  };
  protoOf(VerbLangMapEntry).hashCode = function () {
    var result = this.vlmeVerbUid_1.hashCode();
    result = imul(result, 31) + this.vlmeLangHash_1.hashCode() | 0;
    result = imul(result, 31) + (this.vlmeLangCode_1 == null ? 0 : getStringHashCode(this.vlmeLangCode_1)) | 0;
    result = imul(result, 31) + (this.vlmeEntryString_1 == null ? 0 : getStringHashCode(this.vlmeEntryString_1)) | 0;
    result = imul(result, 31) + this.vlmeLastModified_1.hashCode() | 0;
    return result;
  };
  protoOf(VerbLangMapEntry).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof VerbLangMapEntry))
      return false;
    var tmp0_other_with_cast = other instanceof VerbLangMapEntry ? other : THROW_CCE();
    if (!this.vlmeVerbUid_1.equals(tmp0_other_with_cast.vlmeVerbUid_1))
      return false;
    if (!this.vlmeLangHash_1.equals(tmp0_other_with_cast.vlmeLangHash_1))
      return false;
    if (!(this.vlmeLangCode_1 == tmp0_other_with_cast.vlmeLangCode_1))
      return false;
    if (!(this.vlmeEntryString_1 == tmp0_other_with_cast.vlmeEntryString_1))
      return false;
    if (!this.vlmeLastModified_1.equals(tmp0_other_with_cast.vlmeLastModified_1))
      return false;
    return true;
  };
  function XapiEntityObjectTypeFlags() {
    XapiEntityObjectTypeFlags_instance = this;
    this.AGENT_1 = 1;
    this.GROUP_1 = 2;
    this.STATEMENT_REF_1 = 3;
    this.SUBSTATEMENT_1 = 4;
    this.ACTIVITY_1 = 5;
    this.STATEMENT_1 = 6;
  }
  protoOf(XapiEntityObjectTypeFlags).get_AGENT_i6evgc_k$ = function () {
    return this.AGENT_1;
  };
  protoOf(XapiEntityObjectTypeFlags).get_GROUP_i9wvg6_k$ = function () {
    return this.GROUP_1;
  };
  protoOf(XapiEntityObjectTypeFlags).get_STATEMENT_REF_dyl606_k$ = function () {
    return this.STATEMENT_REF_1;
  };
  protoOf(XapiEntityObjectTypeFlags).get_SUBSTATEMENT_9w3erc_k$ = function () {
    return this.SUBSTATEMENT_1;
  };
  protoOf(XapiEntityObjectTypeFlags).get_ACTIVITY_os7lqw_k$ = function () {
    return this.ACTIVITY_1;
  };
  protoOf(XapiEntityObjectTypeFlags).get_STATEMENT_k458rq_k$ = function () {
    return this.STATEMENT_1;
  };
  var XapiEntityObjectTypeFlags_instance;
  function XapiEntityObjectTypeFlags_getInstance() {
    if (XapiEntityObjectTypeFlags_instance == null)
      new XapiEntityObjectTypeFlags();
    return XapiEntityObjectTypeFlags_instance;
  }
  function Companion_140() {
    Companion_instance_140 = this;
    this.TABLE_ID_1 = 400122;
  }
  protoOf(Companion_140).get_TABLE_ID_xo2mej_k$ = function () {
    return this.TABLE_ID_1;
  };
  protoOf(Companion_140).serializer_9w0wvi_k$ = function () {
    return $serializer_getInstance_135();
  };
  var Companion_instance_140;
  function Companion_getInstance_142() {
    if (Companion_instance_140 == null)
      new Companion_140();
    return Companion_instance_140;
  }
  function $serializer_135() {
    $serializer_instance_135 = this;
    var tmp0_serialDesc = new PluginGeneratedSerialDescriptor('com.ustadmobile.lib.db.entities.xapi.XapiSessionEntity', this, 19);
    tmp0_serialDesc.addElement_5pzumi_k$('xseUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseLastMod', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseRegistrationHi', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseRegistrationLo', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseUsUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseAccountPersonUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseActorUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseAccountUsername', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseClazzUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseCbUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseContentEntryUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseContentEntryVersionUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseRootActivityId', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseRootActivityUid', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseStartTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseExpireTime', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseAuth', true);
    tmp0_serialDesc.addElement_5pzumi_k$('xseCompleted', true);
    tmp0_serialDesc.addElement_5pzumi_k$('knownActorUidToPersonUids', true);
    this.descriptor_1 = tmp0_serialDesc;
  }
  protoOf($serializer_135).get_descriptor_wjt6a0_k$ = function () {
    return this.descriptor_1;
  };
  protoOf($serializer_135).childSerializers_5ghqw5_k$ = function () {
    // Inline function 'kotlin.arrayOf' call
    // Inline function 'kotlin.js.unsafeCast' call
    // Inline function 'kotlin.js.asDynamic' call
    return [LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), StringSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), LongSerializer_getInstance(), get_nullable(StringSerializer_getInstance()), BooleanSerializer_getInstance(), StringSerializer_getInstance()];
  };
  protoOf($serializer_135).deserialize_sy6x50_k$ = function (decoder) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_flag = true;
    var tmp2_index = 0;
    var tmp3_bitMask0 = 0;
    var tmp4_local0 = new Long(0, 0);
    var tmp5_local1 = new Long(0, 0);
    var tmp6_local2 = new Long(0, 0);
    var tmp7_local3 = new Long(0, 0);
    var tmp8_local4 = new Long(0, 0);
    var tmp9_local5 = new Long(0, 0);
    var tmp10_local6 = new Long(0, 0);
    var tmp11_local7 = null;
    var tmp12_local8 = new Long(0, 0);
    var tmp13_local9 = new Long(0, 0);
    var tmp14_local10 = new Long(0, 0);
    var tmp15_local11 = new Long(0, 0);
    var tmp16_local12 = null;
    var tmp17_local13 = new Long(0, 0);
    var tmp18_local14 = new Long(0, 0);
    var tmp19_local15 = new Long(0, 0);
    var tmp20_local16 = null;
    var tmp21_local17 = false;
    var tmp22_local18 = null;
    var tmp23_input = decoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp23_input.decodeSequentially_xlblqy_k$()) {
      tmp4_local0 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
      tmp3_bitMask0 = tmp3_bitMask0 | 1;
      tmp5_local1 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
      tmp3_bitMask0 = tmp3_bitMask0 | 2;
      tmp6_local2 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
      tmp3_bitMask0 = tmp3_bitMask0 | 4;
      tmp7_local3 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
      tmp3_bitMask0 = tmp3_bitMask0 | 8;
      tmp8_local4 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
      tmp3_bitMask0 = tmp3_bitMask0 | 16;
      tmp9_local5 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
      tmp3_bitMask0 = tmp3_bitMask0 | 32;
      tmp10_local6 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
      tmp3_bitMask0 = tmp3_bitMask0 | 64;
      tmp11_local7 = tmp23_input.decodeStringElement_3oenpg_k$(tmp0_desc, 7);
      tmp3_bitMask0 = tmp3_bitMask0 | 128;
      tmp12_local8 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
      tmp3_bitMask0 = tmp3_bitMask0 | 256;
      tmp13_local9 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
      tmp3_bitMask0 = tmp3_bitMask0 | 512;
      tmp14_local10 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
      tmp3_bitMask0 = tmp3_bitMask0 | 1024;
      tmp15_local11 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
      tmp3_bitMask0 = tmp3_bitMask0 | 2048;
      tmp16_local12 = tmp23_input.decodeStringElement_3oenpg_k$(tmp0_desc, 12);
      tmp3_bitMask0 = tmp3_bitMask0 | 4096;
      tmp17_local13 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
      tmp3_bitMask0 = tmp3_bitMask0 | 8192;
      tmp18_local14 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
      tmp3_bitMask0 = tmp3_bitMask0 | 16384;
      tmp19_local15 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
      tmp3_bitMask0 = tmp3_bitMask0 | 32768;
      tmp20_local16 = tmp23_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
      tmp3_bitMask0 = tmp3_bitMask0 | 65536;
      tmp21_local17 = tmp23_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
      tmp3_bitMask0 = tmp3_bitMask0 | 131072;
      tmp22_local18 = tmp23_input.decodeStringElement_3oenpg_k$(tmp0_desc, 18);
      tmp3_bitMask0 = tmp3_bitMask0 | 262144;
    } else
      while (tmp1_flag) {
        tmp2_index = tmp23_input.decodeElementIndex_bstkhp_k$(tmp0_desc);
        switch (tmp2_index) {
          case -1:
            tmp1_flag = false;
            break;
          case 0:
            tmp4_local0 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 0);
            tmp3_bitMask0 = tmp3_bitMask0 | 1;
            break;
          case 1:
            tmp5_local1 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 1);
            tmp3_bitMask0 = tmp3_bitMask0 | 2;
            break;
          case 2:
            tmp6_local2 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 2);
            tmp3_bitMask0 = tmp3_bitMask0 | 4;
            break;
          case 3:
            tmp7_local3 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 3);
            tmp3_bitMask0 = tmp3_bitMask0 | 8;
            break;
          case 4:
            tmp8_local4 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 4);
            tmp3_bitMask0 = tmp3_bitMask0 | 16;
            break;
          case 5:
            tmp9_local5 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 5);
            tmp3_bitMask0 = tmp3_bitMask0 | 32;
            break;
          case 6:
            tmp10_local6 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 6);
            tmp3_bitMask0 = tmp3_bitMask0 | 64;
            break;
          case 7:
            tmp11_local7 = tmp23_input.decodeStringElement_3oenpg_k$(tmp0_desc, 7);
            tmp3_bitMask0 = tmp3_bitMask0 | 128;
            break;
          case 8:
            tmp12_local8 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 8);
            tmp3_bitMask0 = tmp3_bitMask0 | 256;
            break;
          case 9:
            tmp13_local9 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 9);
            tmp3_bitMask0 = tmp3_bitMask0 | 512;
            break;
          case 10:
            tmp14_local10 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 10);
            tmp3_bitMask0 = tmp3_bitMask0 | 1024;
            break;
          case 11:
            tmp15_local11 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 11);
            tmp3_bitMask0 = tmp3_bitMask0 | 2048;
            break;
          case 12:
            tmp16_local12 = tmp23_input.decodeStringElement_3oenpg_k$(tmp0_desc, 12);
            tmp3_bitMask0 = tmp3_bitMask0 | 4096;
            break;
          case 13:
            tmp17_local13 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 13);
            tmp3_bitMask0 = tmp3_bitMask0 | 8192;
            break;
          case 14:
            tmp18_local14 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 14);
            tmp3_bitMask0 = tmp3_bitMask0 | 16384;
            break;
          case 15:
            tmp19_local15 = tmp23_input.decodeLongElement_994anb_k$(tmp0_desc, 15);
            tmp3_bitMask0 = tmp3_bitMask0 | 32768;
            break;
          case 16:
            tmp20_local16 = tmp23_input.decodeNullableSerializableElement_k2y6ab_k$(tmp0_desc, 16, StringSerializer_getInstance(), tmp20_local16);
            tmp3_bitMask0 = tmp3_bitMask0 | 65536;
            break;
          case 17:
            tmp21_local17 = tmp23_input.decodeBooleanElement_vuyhtj_k$(tmp0_desc, 17);
            tmp3_bitMask0 = tmp3_bitMask0 | 131072;
            break;
          case 18:
            tmp22_local18 = tmp23_input.decodeStringElement_3oenpg_k$(tmp0_desc, 18);
            tmp3_bitMask0 = tmp3_bitMask0 | 262144;
            break;
          default:
            throw UnknownFieldException_init_$Create$(tmp2_index);
        }
      }
    tmp23_input.endStructure_1xqz0n_k$(tmp0_desc);
    return XapiSessionEntity_init_$Create$(tmp3_bitMask0, tmp4_local0, tmp5_local1, tmp6_local2, tmp7_local3, tmp8_local4, tmp9_local5, tmp10_local6, tmp11_local7, tmp12_local8, tmp13_local9, tmp14_local10, tmp15_local11, tmp16_local12, tmp17_local13, tmp18_local14, tmp19_local15, tmp20_local16, tmp21_local17, tmp22_local18, null);
  };
  protoOf($serializer_135).serialize_u57k9a_k$ = function (encoder, value) {
    var tmp0_desc = this.descriptor_1;
    var tmp1_output = encoder.beginStructure_yljocp_k$(tmp0_desc);
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 0) ? true : !value.xseUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 0, value.xseUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 1) ? true : !value.xseLastMod_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 1, value.xseLastMod_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 2) ? true : !value.xseRegistrationHi_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 2, value.xseRegistrationHi_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 3) ? true : !value.xseRegistrationLo_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 3, value.xseRegistrationLo_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 4) ? true : !value.xseUsUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 4, value.xseUsUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 5) ? true : !value.xseAccountPersonUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 5, value.xseAccountPersonUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 6) ? true : !value.xseActorUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 6, value.xseActorUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 7) ? true : !(value.xseAccountUsername_1 === '')) {
      tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 7, value.xseAccountUsername_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 8) ? true : !value.xseClazzUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 8, value.xseClazzUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 9) ? true : !value.xseCbUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 9, value.xseCbUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 10) ? true : !value.xseContentEntryUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 10, value.xseContentEntryUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 11) ? true : !value.xseContentEntryVersionUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 11, value.xseContentEntryVersionUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 12) ? true : !(value.xseRootActivityId_1 === '')) {
      tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 12, value.xseRootActivityId_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 13) ? true : !value.xseRootActivityUid_1.equals(new Long(0, 0))) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 13, value.xseRootActivityUid_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 14) ? true : !value.xseStartTime_1.equals(systemTimeInMillis())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 14, value.xseStartTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 15) ? true : !value.xseExpireTime_1.equals(Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$())) {
      tmp1_output.encodeLongElement_cega27_k$(tmp0_desc, 15, value.xseExpireTime_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 16) ? true : !(value.xseAuth_1 == null)) {
      tmp1_output.encodeNullableSerializableElement_5lquiv_k$(tmp0_desc, 16, StringSerializer_getInstance(), value.xseAuth_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 17) ? true : !(value.xseCompleted_1 === false)) {
      tmp1_output.encodeBooleanElement_ydht7q_k$(tmp0_desc, 17, value.xseCompleted_1);
    }
    if (tmp1_output.shouldEncodeElementDefault_x8eyid_k$(tmp0_desc, 18) ? true : !(value.knownActorUidToPersonUids_1 === '')) {
      tmp1_output.encodeStringElement_1n5wu2_k$(tmp0_desc, 18, value.knownActorUidToPersonUids_1);
    }
    tmp1_output.endStructure_1xqz0n_k$(tmp0_desc);
  };
  protoOf($serializer_135).serialize_5ase3y_k$ = function (encoder, value) {
    return this.serialize_u57k9a_k$(encoder, value instanceof XapiSessionEntity ? value : THROW_CCE());
  };
  var $serializer_instance_135;
  function $serializer_getInstance_135() {
    if ($serializer_instance_135 == null)
      new $serializer_135();
    return $serializer_instance_135;
  }
  function XapiSessionEntity_init_$Init$(seen1, xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids, serializationConstructorMarker, $this) {
    if (!(0 === (0 & seen1))) {
      throwMissingFieldException(seen1, 0, $serializer_getInstance_135().descriptor_1);
    }
    if (0 === (seen1 & 1))
      $this.xseUid_1 = new Long(0, 0);
    else
      $this.xseUid_1 = xseUid;
    if (0 === (seen1 & 2))
      $this.xseLastMod_1 = new Long(0, 0);
    else
      $this.xseLastMod_1 = xseLastMod;
    if (0 === (seen1 & 4))
      $this.xseRegistrationHi_1 = new Long(0, 0);
    else
      $this.xseRegistrationHi_1 = xseRegistrationHi;
    if (0 === (seen1 & 8))
      $this.xseRegistrationLo_1 = new Long(0, 0);
    else
      $this.xseRegistrationLo_1 = xseRegistrationLo;
    if (0 === (seen1 & 16))
      $this.xseUsUid_1 = new Long(0, 0);
    else
      $this.xseUsUid_1 = xseUsUid;
    if (0 === (seen1 & 32))
      $this.xseAccountPersonUid_1 = new Long(0, 0);
    else
      $this.xseAccountPersonUid_1 = xseAccountPersonUid;
    if (0 === (seen1 & 64))
      $this.xseActorUid_1 = new Long(0, 0);
    else
      $this.xseActorUid_1 = xseActorUid;
    if (0 === (seen1 & 128))
      $this.xseAccountUsername_1 = '';
    else
      $this.xseAccountUsername_1 = xseAccountUsername;
    if (0 === (seen1 & 256))
      $this.xseClazzUid_1 = new Long(0, 0);
    else
      $this.xseClazzUid_1 = xseClazzUid;
    if (0 === (seen1 & 512))
      $this.xseCbUid_1 = new Long(0, 0);
    else
      $this.xseCbUid_1 = xseCbUid;
    if (0 === (seen1 & 1024))
      $this.xseContentEntryUid_1 = new Long(0, 0);
    else
      $this.xseContentEntryUid_1 = xseContentEntryUid;
    if (0 === (seen1 & 2048))
      $this.xseContentEntryVersionUid_1 = new Long(0, 0);
    else
      $this.xseContentEntryVersionUid_1 = xseContentEntryVersionUid;
    if (0 === (seen1 & 4096))
      $this.xseRootActivityId_1 = '';
    else
      $this.xseRootActivityId_1 = xseRootActivityId;
    if (0 === (seen1 & 8192))
      $this.xseRootActivityUid_1 = new Long(0, 0);
    else
      $this.xseRootActivityUid_1 = xseRootActivityUid;
    if (0 === (seen1 & 16384))
      $this.xseStartTime_1 = systemTimeInMillis();
    else
      $this.xseStartTime_1 = xseStartTime;
    if (0 === (seen1 & 32768))
      $this.xseExpireTime_1 = Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$();
    else
      $this.xseExpireTime_1 = xseExpireTime;
    if (0 === (seen1 & 65536))
      $this.xseAuth_1 = null;
    else
      $this.xseAuth_1 = xseAuth;
    if (0 === (seen1 & 131072))
      $this.xseCompleted_1 = false;
    else
      $this.xseCompleted_1 = xseCompleted;
    if (0 === (seen1 & 262144))
      $this.knownActorUidToPersonUids_1 = '';
    else
      $this.knownActorUidToPersonUids_1 = knownActorUidToPersonUids;
    return $this;
  }
  function XapiSessionEntity_init_$Create$(seen1, xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids, serializationConstructorMarker) {
    return XapiSessionEntity_init_$Init$(seen1, xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids, serializationConstructorMarker, objectCreate(protoOf(XapiSessionEntity)));
  }
  function XapiSessionEntity(xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) {
    Companion_getInstance_142();
    xseUid = xseUid === VOID ? new Long(0, 0) : xseUid;
    xseLastMod = xseLastMod === VOID ? new Long(0, 0) : xseLastMod;
    xseRegistrationHi = xseRegistrationHi === VOID ? new Long(0, 0) : xseRegistrationHi;
    xseRegistrationLo = xseRegistrationLo === VOID ? new Long(0, 0) : xseRegistrationLo;
    xseUsUid = xseUsUid === VOID ? new Long(0, 0) : xseUsUid;
    xseAccountPersonUid = xseAccountPersonUid === VOID ? new Long(0, 0) : xseAccountPersonUid;
    xseActorUid = xseActorUid === VOID ? new Long(0, 0) : xseActorUid;
    xseAccountUsername = xseAccountUsername === VOID ? '' : xseAccountUsername;
    xseClazzUid = xseClazzUid === VOID ? new Long(0, 0) : xseClazzUid;
    xseCbUid = xseCbUid === VOID ? new Long(0, 0) : xseCbUid;
    xseContentEntryUid = xseContentEntryUid === VOID ? new Long(0, 0) : xseContentEntryUid;
    xseContentEntryVersionUid = xseContentEntryVersionUid === VOID ? new Long(0, 0) : xseContentEntryVersionUid;
    xseRootActivityId = xseRootActivityId === VOID ? '' : xseRootActivityId;
    xseRootActivityUid = xseRootActivityUid === VOID ? new Long(0, 0) : xseRootActivityUid;
    xseStartTime = xseStartTime === VOID ? systemTimeInMillis() : xseStartTime;
    xseExpireTime = xseExpireTime === VOID ? Companion_getInstance_0().get_MAX_VALUE_54a9lf_k$() : xseExpireTime;
    xseAuth = xseAuth === VOID ? null : xseAuth;
    xseCompleted = xseCompleted === VOID ? false : xseCompleted;
    knownActorUidToPersonUids = knownActorUidToPersonUids === VOID ? '' : knownActorUidToPersonUids;
    this.xseUid_1 = xseUid;
    this.xseLastMod_1 = xseLastMod;
    this.xseRegistrationHi_1 = xseRegistrationHi;
    this.xseRegistrationLo_1 = xseRegistrationLo;
    this.xseUsUid_1 = xseUsUid;
    this.xseAccountPersonUid_1 = xseAccountPersonUid;
    this.xseActorUid_1 = xseActorUid;
    this.xseAccountUsername_1 = xseAccountUsername;
    this.xseClazzUid_1 = xseClazzUid;
    this.xseCbUid_1 = xseCbUid;
    this.xseContentEntryUid_1 = xseContentEntryUid;
    this.xseContentEntryVersionUid_1 = xseContentEntryVersionUid;
    this.xseRootActivityId_1 = xseRootActivityId;
    this.xseRootActivityUid_1 = xseRootActivityUid;
    this.xseStartTime_1 = xseStartTime;
    this.xseExpireTime_1 = xseExpireTime;
    this.xseAuth_1 = xseAuth;
    this.xseCompleted_1 = xseCompleted;
    this.knownActorUidToPersonUids_1 = knownActorUidToPersonUids;
  }
  protoOf(XapiSessionEntity).set_xseUid_xqodut_k$ = function (_set____db54di) {
    this.xseUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseUid_m05een_k$ = function () {
    return this.xseUid_1;
  };
  protoOf(XapiSessionEntity).set_xseLastMod_w9w0bj_k$ = function (_set____db54di) {
    this.xseLastMod_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseLastMod_dil4ob_k$ = function () {
    return this.xseLastMod_1;
  };
  protoOf(XapiSessionEntity).set_xseRegistrationHi_livn1l_k$ = function (_set____db54di) {
    this.xseRegistrationHi_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseRegistrationHi_csgwpx_k$ = function () {
    return this.xseRegistrationHi_1;
  };
  protoOf(XapiSessionEntity).set_xseRegistrationLo_8tkuol_k$ = function (_set____db54di) {
    this.xseRegistrationLo_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseRegistrationLo_csgwmb_k$ = function () {
    return this.xseRegistrationLo_1;
  };
  protoOf(XapiSessionEntity).set_xseUsUid_wjqc9z_k$ = function (_set____db54di) {
    this.xseUsUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseUsUid_l78mj3_k$ = function () {
    return this.xseUsUid_1;
  };
  protoOf(XapiSessionEntity).set_xseAccountPersonUid_75ci5f_k$ = function (_set____db54di) {
    this.xseAccountPersonUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseAccountPersonUid_gx93sh_k$ = function () {
    return this.xseAccountPersonUid_1;
  };
  protoOf(XapiSessionEntity).set_xseActorUid_az9r3q_k$ = function (_set____db54di) {
    this.xseActorUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseActorUid_ac5zdw_k$ = function () {
    return this.xseActorUid_1;
  };
  protoOf(XapiSessionEntity).set_xseAccountUsername_xnyhv8_k$ = function (_set____db54di) {
    this.xseAccountUsername_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseAccountUsername_q0miri_k$ = function () {
    return this.xseAccountUsername_1;
  };
  protoOf(XapiSessionEntity).set_xseClazzUid_jupmjd_k$ = function (_set____db54di) {
    this.xseClazzUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseClazzUid_sirfq1_k$ = function () {
    return this.xseClazzUid_1;
  };
  protoOf(XapiSessionEntity).set_xseCbUid_j6bskm_k$ = function (_set____db54di) {
    this.xseCbUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseCbUid_lhfrzk_k$ = function () {
    return this.xseCbUid_1;
  };
  protoOf(XapiSessionEntity).set_xseContentEntryUid_ivjsss_k$ = function (_set____db54di) {
    this.xseContentEntryUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseContentEntryUid_t2vuyy_k$ = function () {
    return this.xseContentEntryUid_1;
  };
  protoOf(XapiSessionEntity).set_xseContentEntryVersionUid_8k3d5s_k$ = function (_set____db54di) {
    this.xseContentEntryVersionUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseContentEntryVersionUid_4ralu_k$ = function () {
    return this.xseContentEntryVersionUid_1;
  };
  protoOf(XapiSessionEntity).set_xseRootActivityId_j3mrld_k$ = function (_set____db54di) {
    this.xseRootActivityId_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseRootActivityId_lo9kxf_k$ = function () {
    return this.xseRootActivityId_1;
  };
  protoOf(XapiSessionEntity).set_xseRootActivityUid_bha510_k$ = function (_set____db54di) {
    this.xseRootActivityUid_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseRootActivityUid_wm89wi_k$ = function () {
    return this.xseRootActivityUid_1;
  };
  protoOf(XapiSessionEntity).set_xseStartTime_j1ibd0_k$ = function (_set____db54di) {
    this.xseStartTime_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseStartTime_6ouvwy_k$ = function () {
    return this.xseStartTime_1;
  };
  protoOf(XapiSessionEntity).set_xseExpireTime_9vzz4r_k$ = function (_set____db54di) {
    this.xseExpireTime_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseExpireTime_i2mabx_k$ = function () {
    return this.xseExpireTime_1;
  };
  protoOf(XapiSessionEntity).set_xseAuth_fcq8u_k$ = function (_set____db54di) {
    this.xseAuth_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseAuth_s6tniv_k$ = function () {
    return this.xseAuth_1;
  };
  protoOf(XapiSessionEntity).set_xseCompleted_7xiybb_k$ = function (_set____db54di) {
    this.xseCompleted_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_xseCompleted_5bllgq_k$ = function () {
    return this.xseCompleted_1;
  };
  protoOf(XapiSessionEntity).set_knownActorUidToPersonUids_xhqu2y_k$ = function (_set____db54di) {
    this.knownActorUidToPersonUids_1 = _set____db54di;
  };
  protoOf(XapiSessionEntity).get_knownActorUidToPersonUids_9ca7s8_k$ = function () {
    return this.knownActorUidToPersonUids_1;
  };
  protoOf(XapiSessionEntity).component1_7eebsc_k$ = function () {
    return this.xseUid_1;
  };
  protoOf(XapiSessionEntity).component2_7eebsb_k$ = function () {
    return this.xseLastMod_1;
  };
  protoOf(XapiSessionEntity).component3_7eebsa_k$ = function () {
    return this.xseRegistrationHi_1;
  };
  protoOf(XapiSessionEntity).component4_7eebs9_k$ = function () {
    return this.xseRegistrationLo_1;
  };
  protoOf(XapiSessionEntity).component5_7eebs8_k$ = function () {
    return this.xseUsUid_1;
  };
  protoOf(XapiSessionEntity).component6_7eebs7_k$ = function () {
    return this.xseAccountPersonUid_1;
  };
  protoOf(XapiSessionEntity).component7_7eebs6_k$ = function () {
    return this.xseActorUid_1;
  };
  protoOf(XapiSessionEntity).component8_7eebs5_k$ = function () {
    return this.xseAccountUsername_1;
  };
  protoOf(XapiSessionEntity).component9_7eebs4_k$ = function () {
    return this.xseClazzUid_1;
  };
  protoOf(XapiSessionEntity).component10_gazzfo_k$ = function () {
    return this.xseCbUid_1;
  };
  protoOf(XapiSessionEntity).component11_gazzfn_k$ = function () {
    return this.xseContentEntryUid_1;
  };
  protoOf(XapiSessionEntity).component12_gazzfm_k$ = function () {
    return this.xseContentEntryVersionUid_1;
  };
  protoOf(XapiSessionEntity).component13_gazzfl_k$ = function () {
    return this.xseRootActivityId_1;
  };
  protoOf(XapiSessionEntity).component14_gazzfk_k$ = function () {
    return this.xseRootActivityUid_1;
  };
  protoOf(XapiSessionEntity).component15_gazzfj_k$ = function () {
    return this.xseStartTime_1;
  };
  protoOf(XapiSessionEntity).component16_gazzfi_k$ = function () {
    return this.xseExpireTime_1;
  };
  protoOf(XapiSessionEntity).component17_gazzfh_k$ = function () {
    return this.xseAuth_1;
  };
  protoOf(XapiSessionEntity).component18_gazzfg_k$ = function () {
    return this.xseCompleted_1;
  };
  protoOf(XapiSessionEntity).component19_gazzff_k$ = function () {
    return this.knownActorUidToPersonUids_1;
  };
  protoOf(XapiSessionEntity).copy_v8531f_k$ = function (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) {
    return new XapiSessionEntity(xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids);
  };
  protoOf(XapiSessionEntity).copy$default_cz04t7_k$ = function (xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids, $super) {
    xseUid = xseUid === VOID ? this.xseUid_1 : xseUid;
    xseLastMod = xseLastMod === VOID ? this.xseLastMod_1 : xseLastMod;
    xseRegistrationHi = xseRegistrationHi === VOID ? this.xseRegistrationHi_1 : xseRegistrationHi;
    xseRegistrationLo = xseRegistrationLo === VOID ? this.xseRegistrationLo_1 : xseRegistrationLo;
    xseUsUid = xseUsUid === VOID ? this.xseUsUid_1 : xseUsUid;
    xseAccountPersonUid = xseAccountPersonUid === VOID ? this.xseAccountPersonUid_1 : xseAccountPersonUid;
    xseActorUid = xseActorUid === VOID ? this.xseActorUid_1 : xseActorUid;
    xseAccountUsername = xseAccountUsername === VOID ? this.xseAccountUsername_1 : xseAccountUsername;
    xseClazzUid = xseClazzUid === VOID ? this.xseClazzUid_1 : xseClazzUid;
    xseCbUid = xseCbUid === VOID ? this.xseCbUid_1 : xseCbUid;
    xseContentEntryUid = xseContentEntryUid === VOID ? this.xseContentEntryUid_1 : xseContentEntryUid;
    xseContentEntryVersionUid = xseContentEntryVersionUid === VOID ? this.xseContentEntryVersionUid_1 : xseContentEntryVersionUid;
    xseRootActivityId = xseRootActivityId === VOID ? this.xseRootActivityId_1 : xseRootActivityId;
    xseRootActivityUid = xseRootActivityUid === VOID ? this.xseRootActivityUid_1 : xseRootActivityUid;
    xseStartTime = xseStartTime === VOID ? this.xseStartTime_1 : xseStartTime;
    xseExpireTime = xseExpireTime === VOID ? this.xseExpireTime_1 : xseExpireTime;
    xseAuth = xseAuth === VOID ? this.xseAuth_1 : xseAuth;
    xseCompleted = xseCompleted === VOID ? this.xseCompleted_1 : xseCompleted;
    knownActorUidToPersonUids = knownActorUidToPersonUids === VOID ? this.knownActorUidToPersonUids_1 : knownActorUidToPersonUids;
    return $super === VOID ? this.copy_v8531f_k$(xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids) : $super.copy_v8531f_k$.call(this, xseUid, xseLastMod, xseRegistrationHi, xseRegistrationLo, xseUsUid, xseAccountPersonUid, xseActorUid, xseAccountUsername, xseClazzUid, xseCbUid, xseContentEntryUid, xseContentEntryVersionUid, xseRootActivityId, xseRootActivityUid, xseStartTime, xseExpireTime, xseAuth, xseCompleted, knownActorUidToPersonUids);
  };
  protoOf(XapiSessionEntity).toString = function () {
    return 'XapiSessionEntity(xseUid=' + this.xseUid_1.toString() + ', xseLastMod=' + this.xseLastMod_1.toString() + ', xseRegistrationHi=' + this.xseRegistrationHi_1.toString() + ', xseRegistrationLo=' + this.xseRegistrationLo_1.toString() + ', xseUsUid=' + this.xseUsUid_1.toString() + ', xseAccountPersonUid=' + this.xseAccountPersonUid_1.toString() + ', xseActorUid=' + this.xseActorUid_1.toString() + ', xseAccountUsername=' + this.xseAccountUsername_1 + ', xseClazzUid=' + this.xseClazzUid_1.toString() + ', xseCbUid=' + this.xseCbUid_1.toString() + ', xseContentEntryUid=' + this.xseContentEntryUid_1.toString() + ', xseContentEntryVersionUid=' + this.xseContentEntryVersionUid_1.toString() + ', xseRootActivityId=' + this.xseRootActivityId_1 + ', xseRootActivityUid=' + this.xseRootActivityUid_1.toString() + ', xseStartTime=' + this.xseStartTime_1.toString() + ', xseExpireTime=' + this.xseExpireTime_1.toString() + ', xseAuth=' + this.xseAuth_1 + ', xseCompleted=' + this.xseCompleted_1 + ', knownActorUidToPersonUids=' + this.knownActorUidToPersonUids_1 + ')';
  };
  protoOf(XapiSessionEntity).hashCode = function () {
    var result = this.xseUid_1.hashCode();
    result = imul(result, 31) + this.xseLastMod_1.hashCode() | 0;
    result = imul(result, 31) + this.xseRegistrationHi_1.hashCode() | 0;
    result = imul(result, 31) + this.xseRegistrationLo_1.hashCode() | 0;
    result = imul(result, 31) + this.xseUsUid_1.hashCode() | 0;
    result = imul(result, 31) + this.xseAccountPersonUid_1.hashCode() | 0;
    result = imul(result, 31) + this.xseActorUid_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.xseAccountUsername_1) | 0;
    result = imul(result, 31) + this.xseClazzUid_1.hashCode() | 0;
    result = imul(result, 31) + this.xseCbUid_1.hashCode() | 0;
    result = imul(result, 31) + this.xseContentEntryUid_1.hashCode() | 0;
    result = imul(result, 31) + this.xseContentEntryVersionUid_1.hashCode() | 0;
    result = imul(result, 31) + getStringHashCode(this.xseRootActivityId_1) | 0;
    result = imul(result, 31) + this.xseRootActivityUid_1.hashCode() | 0;
    result = imul(result, 31) + this.xseStartTime_1.hashCode() | 0;
    result = imul(result, 31) + this.xseExpireTime_1.hashCode() | 0;
    result = imul(result, 31) + (this.xseAuth_1 == null ? 0 : getStringHashCode(this.xseAuth_1)) | 0;
    result = imul(result, 31) + getBooleanHashCode(this.xseCompleted_1) | 0;
    result = imul(result, 31) + getStringHashCode(this.knownActorUidToPersonUids_1) | 0;
    return result;
  };
  protoOf(XapiSessionEntity).equals = function (other) {
    if (this === other)
      return true;
    if (!(other instanceof XapiSessionEntity))
      return false;
    var tmp0_other_with_cast = other instanceof XapiSessionEntity ? other : THROW_CCE();
    if (!this.xseUid_1.equals(tmp0_other_with_cast.xseUid_1))
      return false;
    if (!this.xseLastMod_1.equals(tmp0_other_with_cast.xseLastMod_1))
      return false;
    if (!this.xseRegistrationHi_1.equals(tmp0_other_with_cast.xseRegistrationHi_1))
      return false;
    if (!this.xseRegistrationLo_1.equals(tmp0_other_with_cast.xseRegistrationLo_1))
      return false;
    if (!this.xseUsUid_1.equals(tmp0_other_with_cast.xseUsUid_1))
      return false;
    if (!this.xseAccountPersonUid_1.equals(tmp0_other_with_cast.xseAccountPersonUid_1))
      return false;
    if (!this.xseActorUid_1.equals(tmp0_other_with_cast.xseActorUid_1))
      return false;
    if (!(this.xseAccountUsername_1 === tmp0_other_with_cast.xseAccountUsername_1))
      return false;
    if (!this.xseClazzUid_1.equals(tmp0_other_with_cast.xseClazzUid_1))
      return false;
    if (!this.xseCbUid_1.equals(tmp0_other_with_cast.xseCbUid_1))
      return false;
    if (!this.xseContentEntryUid_1.equals(tmp0_other_with_cast.xseContentEntryUid_1))
      return false;
    if (!this.xseContentEntryVersionUid_1.equals(tmp0_other_with_cast.xseContentEntryVersionUid_1))
      return false;
    if (!(this.xseRootActivityId_1 === tmp0_other_with_cast.xseRootActivityId_1))
      return false;
    if (!this.xseRootActivityUid_1.equals(tmp0_other_with_cast.xseRootActivityUid_1))
      return false;
    if (!this.xseStartTime_1.equals(tmp0_other_with_cast.xseStartTime_1))
      return false;
    if (!this.xseExpireTime_1.equals(tmp0_other_with_cast.xseExpireTime_1))
      return false;
    if (!(this.xseAuth_1 == tmp0_other_with_cast.xseAuth_1))
      return false;
    if (!(this.xseCompleted_1 === tmp0_other_with_cast.xseCompleted_1))
      return false;
    if (!(this.knownActorUidToPersonUids_1 === tmp0_other_with_cast.knownActorUidToPersonUids_1))
      return false;
    return true;
  };
  //region block: post-declaration
  protoOf($serializer).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_0).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_1).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_2).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_3).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_4).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_5).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_6).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_7).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_8).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_9).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_10).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_11).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_12).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_13).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_14).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_15).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_16).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_17).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_18).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_19).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_20).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_21).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_22).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_23).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_24).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_25).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_26).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_27).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_28).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_29).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_30).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_31).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_32).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_33).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_34).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_35).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_36).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_37).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_38).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_39).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_40).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_41).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_42).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_43).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_44).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_45).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_46).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_47).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_48).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_49).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_50).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_51).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_52).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_53).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_54).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_55).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_56).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_57).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_58).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_59).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_60).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_61).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_62).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_63).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_64).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_65).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_66).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_67).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_68).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_69).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_70).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_71).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_72).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_73).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_74).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_75).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_76).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_77).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_78).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_79).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_80).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_81).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_82).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_83).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_84).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_85).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_86).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_87).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_88).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_89).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_90).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_91).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_92).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_93).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_94).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_95).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_96).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_97).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_98).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_99).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_100).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_101).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_102).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_103).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_104).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_105).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_106).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_107).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_108).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_109).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_110).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_111).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_112).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_113).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_114).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_115).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_116).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_117).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_118).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_119).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_120).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_121).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_122).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_123).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_124).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_125).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_126).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_127).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_128).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_129).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_130).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_131).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_132).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_133).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_134).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  protoOf($serializer_135).typeParametersSerializers_fr94fx_k$ = typeParametersSerializers;
  //endregion
  //region block: init
  UNSET_DISTANT_FUTURE = new Long(-289930240, 1689);
  //endregion
  //region block: exports
  _.$_$ = _.$_$ || {};
  _.$_$.a = UmAppDatabase;
  _.$_$.b = AssignmentPermissionAndActiveUserSubmitterUid;
  _.$_$.c = ClazzAndDetailPermissions;
  _.$_$.d = ClazzAndDisplayDetails;
  _.$_$.e = ClazzNameAndTerminology;
  _.$_$.f = ContentEntryAndContentJob;
  _.$_$.g = ContentEntryAndDetail;
  _.$_$.h = CourseAssignmentMarkAndMarkerName;
  _.$_$.i = CourseBlockAndAssignment;
  _.$_$.j = CourseBlockAndEditEntities;
  _.$_$.k = CourseBlockAndPicture;
  _.$_$.l = EditAndViewPermission;
  _.$_$.m = OfflineItemAndState;
  _.$_$.n = PermissionPair;
  _.$_$.o = PermissionTriple;
  _.$_$.p = PersonAndClazzLogAttendanceRecord;
  _.$_$.q = PersonAndPicture;
  _.$_$.r = PersonNames;
  _.$_$.s = StudentAndBlockStatuses;
  _.$_$.t = SubmissionAndFiles;
  _.$_$.u = shallowCopy_0;
  _.$_$.v = shallowCopy_7;
  _.$_$.w = shallowCopy_5;
  _.$_$.x = shallowCopy_8;
  _.$_$.y = shallowCopy_6;
  _.$_$.z = shallowCopy_11;
  _.$_$.a1 = shallowCopy_10;
  _.$_$.b1 = shallowCopy_4;
  _.$_$.c1 = shallowCopy_3;
  _.$_$.d1 = shallowCopy_1;
  _.$_$.e1 = shallowCopy_12;
  _.$_$.f1 = shallowCopy;
  _.$_$.g1 = shallowCopy_9;
  _.$_$.h1 = shallowCopy_2;
  _.$_$.i1 = ActivityEntity;
  _.$_$.j1 = ActivityExtensionEntity;
  _.$_$.k1 = ActivityInteractionEntity;
  _.$_$.l1 = ActivityLangMapEntry;
  _.$_$.m1 = ActorEntity;
  _.$_$.n1 = GroupMemberActorJoin;
  _.$_$.o1 = StatementContextActivityJoin;
  _.$_$.p1 = StatementEntityJson;
  _.$_$.q1 = StatementEntity;
  _.$_$.r1 = VerbEntity;
  _.$_$.s1 = VerbLangMapEntry;
  _.$_$.t1 = XapiSessionEntity;
  _.$_$.u1 = AssignmentProgressSummary;
  _.$_$.v1 = AssignmentSubmitterAndAllocations;
  _.$_$.w1 = AssignmentSubmitterSummary;
  _.$_$.x1 = AverageCourseAssignmentMark;
  _.$_$.y1 = ClazzAssignmentCourseBlockAndSubmitterUid;
  _.$_$.z1 = ClazzAssignment;
  _.$_$.a2 = ClazzEnrolmentWithLeavingReason;
  _.$_$.b2 = ClazzLogAttendanceRecord;
  _.$_$.c2 = ClazzLog;
  _.$_$.d2 = ClazzWithHolidayCalendarAndAndTerminology;
  _.$_$.e2 = Clazz;
  _.$_$.f2 = Comments;
  _.$_$.g2 = ContentEntryImportJob;
  _.$_$.h2 = ContentEntryParentChildJoin;
  _.$_$.i2 = ContentEntryPicture2;
  _.$_$.j2 = ContentEntryVersion;
  _.$_$.k2 = ContentEntry;
  _.$_$.l2 = CourseAssignmentMark;
  _.$_$.m2 = CourseAssignmentSubmissionFile;
  _.$_$.n2 = CourseAssignmentSubmission;
  _.$_$.o2 = CourseBlockPicture;
  _.$_$.p2 = CourseBlock;
  _.$_$.q2 = CourseGroupMemberAndName;
  _.$_$.r2 = CourseGroupMember;
  _.$_$.s2 = CourseGroupSet;
  _.$_$.t2 = CoursePermission;
  _.$_$.u2 = CoursePicture;
  _.$_$.v2 = CourseTerminology;
  _.$_$.w2 = DiscussionPost;
  _.$_$.x2 = EnrolmentRequest;
  _.$_$.y2 = Message;
  _.$_$.z2 = OfflineItem;
  _.$_$.a3 = PeerReviewerAllocation;
  _.$_$.b3 = PersonAndDisplayDetail;
  _.$_$.c3 = PersonAuth2;
  _.$_$.d3 = PersonGroup;
  _.$_$.e3 = PersonParentJoin;
  _.$_$.f3 = PersonPicture;
  _.$_$.g3 = Person;
  _.$_$.h3 = Schedule;
  _.$_$.i3 = ScopedGrant;
  _.$_$.j3 = Site;
  _.$_$.k3 = SystemPermission;
  _.$_$.l3 = UmAccount;
  _.$_$.m3 = UserSession;
  _.$_$.n3 = TransferJobItemStatus_COMPLETE_getInstance;
  _.$_$.o3 = TransferJobItemStatus_IN_PROGRESS_getInstance;
  _.$_$.p3 = deactivateByUids_1;
  _.$_$.q3 = deactivateByUids;
  _.$_$.r3 = deactivateByUids_0;
  _.$_$.s3 = PersonGroupMember_init_$Create$;
  _.$_$.t3 = ClazzAssignmentDaoCommon_getInstance;
  _.$_$.u3 = ClazzDaoCommon_getInstance;
  _.$_$.v3 = ClazzEnrolmentDaoCommon_getInstance;
  _.$_$.w3 = ContentEntryDaoCommon_getInstance;
  _.$_$.x3 = CourseAssignmentMarkDaoCommon_getInstance;
  _.$_$.y3 = CourseGroupSetDaoConstants_getInstance;
  _.$_$.z3 = PersonDaoCommon_getInstance;
  _.$_$.a4 = PermissionFlags_getInstance;
  _.$_$.b4 = Companion_getInstance_10;
  _.$_$.c4 = Companion_getInstance_14;
  _.$_$.d4 = $serializer_getInstance_18;
  _.$_$.e4 = Companion_getInstance_20;
  _.$_$.f4 = Companion_getInstance_34;
  _.$_$.g4 = Companion_getInstance_129;
  _.$_$.h4 = Companion_getInstance_131;
  _.$_$.i4 = Companion_getInstance_132;
  _.$_$.j4 = Companion_getInstance_133;
  _.$_$.k4 = Companion_getInstance_137;
  _.$_$.l4 = XapiEntityObjectTypeFlags_getInstance;
  _.$_$.m4 = Companion_getInstance_142;
  _.$_$.n4 = Companion_getInstance_44;
  _.$_$.o4 = Companion_getInstance_48;
  _.$_$.p4 = Companion_getInstance_49;
  _.$_$.q4 = Companion_getInstance_51;
  _.$_$.r4 = Companion_getInstance_53;
  _.$_$.s4 = Companion_getInstance_55;
  _.$_$.t4 = Companion_getInstance_56;
  _.$_$.u4 = $serializer_getInstance_55;
  _.$_$.v4 = Companion_getInstance_59;
  _.$_$.w4 = Companion_getInstance_64;
  _.$_$.x4 = Companion_getInstance_66;
  _.$_$.y4 = $serializer_getInstance_65;
  _.$_$.z4 = Companion_getInstance_69;
  _.$_$.a5 = Companion_getInstance_74;
  _.$_$.b5 = $serializer_getInstance_71;
  _.$_$.c5 = Companion_getInstance_78;
  _.$_$.d5 = Companion_getInstance_79;
  _.$_$.e5 = Companion_getInstance_80;
  _.$_$.f5 = Companion_getInstance_81;
  _.$_$.g5 = Companion_getInstance_82;
  _.$_$.h5 = Companion_getInstance_83;
  _.$_$.i5 = Companion_getInstance_84;
  _.$_$.j5 = Companion_getInstance_85;
  _.$_$.k5 = Companion_getInstance_86;
  _.$_$.l5 = $serializer_getInstance_83;
  _.$_$.m5 = Companion_getInstance_87;
  _.$_$.n5 = Companion_getInstance_89;
  _.$_$.o5 = Companion_getInstance_91;
  _.$_$.p5 = Companion_getInstance_101;
  _.$_$.q5 = $serializer_getInstance_98;
  _.$_$.r5 = Companion_getInstance_102;
  _.$_$.s5 = Companion_getInstance_105;
  _.$_$.t5 = Companion_getInstance_106;
  _.$_$.u5 = $serializer_getInstance_103;
  _.$_$.v5 = Companion_getInstance_108;
  _.$_$.w5 = Companion_getInstance_109;
  _.$_$.x5 = $serializer_getInstance_105;
  _.$_$.y5 = Companion_getInstance_110;
  _.$_$.z5 = $serializer_getInstance_109;
  _.$_$.a6 = Companion_getInstance_114;
  _.$_$.b6 = Companion_getInstance_116;
  _.$_$.c6 = Companion_getInstance_122;
  _.$_$.d6 = Companion_getInstance_123;
  _.$_$.e6 = $serializer_getInstance_123;
  _.$_$.f6 = Companion_getInstance_128;
  //endregion
  return _;
}(module.exports, require('./door-door-runtime.js'), require('./kotlin-kotlin-stdlib.js'), require('./kotlinx-serialization-kotlinx-serialization-core.js')));

//# sourceMappingURL=UstadMobile-lib-database.js.map
