Coverage Summary for Class: GodObjectSerializer (com.ghost.serialization.integration.model)

Class Method, % Branch, % Line, % Instruction, %
GodObjectSerializer 66.7% (10/15) 50.3% (199/396) 57.7% (339/588) 58.4% (2519/4317)
GodObjectSerializer$DecodingContext 100% (62/62) 100% (62/62) 100% (307/307)
Total 93.5% (72/77) 50.3% (199/396) 61.7% (401/650) 61.1% (2826/4624)


 @file:OptIn(InternalGhostApi::class)
 
 package com.ghost.serialization.integration.model
 
 import com.ghost.serialization.InternalGhostApi
 import com.ghost.serialization.contract.GhostSerializer
 import com.ghost.serialization.parser.GhostJsonFlatReader
 import com.ghost.serialization.parser.GhostJsonReader
 import com.ghost.serialization.parser.JsonReaderOptions
 import com.ghost.serialization.parser.beginObject
 import com.ghost.serialization.parser.endObject
 import com.ghost.serialization.parser.nextInt
 import com.ghost.serialization.parser.selectNameAndConsume
 import com.ghost.serialization.parser.skipValue
 import com.ghost.serialization.writer.GhostJsonFlatWriter
 import com.ghost.serialization.writer.GhostJsonWriter
 import okio.ByteString
 import okio.ByteString.Companion.encodeUtf8
 
 /**
  * High-performance serializer for [GodObject].
  * Generated by GhostSerialization. Do not modify manually.
  */
 public object GodObjectSerializer : GhostSerializer<GodObject> {
   override val typeName: String = "GodObject"
 
   private val OPTIONS: JsonReaderOptions =
       JsonReaderOptions.of(15, 125, 128, false, "p0", "p1", "p2", "p3", "p4", "p5", "p6", "p7", "p8", "p9", "p10", "p11", "p12", "p13", "p14", "p15", "p16", "p17", "p18", "p19", "p20", "p21", "p22", "p23", "p24", "p25", "p26", "p27", "p28", "p29", "p30", "p31", "p32", "p33", "p34", "p35", "p36", "p37", "p38", "p39", "p40", "p41", "p42", "p43", "p44", "p45", "p46", "p47", "p48", "p49", "p50", "p51", "p52", "p53", "p54", "p55", "p56", "p57", "p58", "p59")
 
   private val H_P0: ByteString = "\"p0\":".encodeUtf8()
 
   private val H_P1: ByteString = "\"p1\":".encodeUtf8()
 
   private val H_P10: ByteString = "\"p10\":".encodeUtf8()
 
   private val H_P11: ByteString = "\"p11\":".encodeUtf8()
 
   private val H_P12: ByteString = "\"p12\":".encodeUtf8()
 
   private val H_P13: ByteString = "\"p13\":".encodeUtf8()
 
   private val H_P14: ByteString = "\"p14\":".encodeUtf8()
 
   private val H_P15: ByteString = "\"p15\":".encodeUtf8()
 
   private val H_P16: ByteString = "\"p16\":".encodeUtf8()
 
   private val H_P17: ByteString = "\"p17\":".encodeUtf8()
 
   private val H_P18: ByteString = "\"p18\":".encodeUtf8()
 
   private val H_P19: ByteString = "\"p19\":".encodeUtf8()
 
   private val H_P2: ByteString = "\"p2\":".encodeUtf8()
 
   private val H_P20: ByteString = "\"p20\":".encodeUtf8()
 
   private val H_P21: ByteString = "\"p21\":".encodeUtf8()
 
   private val H_P22: ByteString = "\"p22\":".encodeUtf8()
 
   private val H_P23: ByteString = "\"p23\":".encodeUtf8()
 
   private val H_P24: ByteString = "\"p24\":".encodeUtf8()
 
   private val H_P25: ByteString = "\"p25\":".encodeUtf8()
 
   private val H_P26: ByteString = "\"p26\":".encodeUtf8()
 
   private val H_P27: ByteString = "\"p27\":".encodeUtf8()
 
   private val H_P28: ByteString = "\"p28\":".encodeUtf8()
 
   private val H_P29: ByteString = "\"p29\":".encodeUtf8()
 
   private val H_P3: ByteString = "\"p3\":".encodeUtf8()
 
   private val H_P30: ByteString = "\"p30\":".encodeUtf8()
 
   private val H_P31: ByteString = "\"p31\":".encodeUtf8()
 
   private val H_P32: ByteString = "\"p32\":".encodeUtf8()
 
   private val H_P33: ByteString = "\"p33\":".encodeUtf8()
 
   private val H_P34: ByteString = "\"p34\":".encodeUtf8()
 
   private val H_P35: ByteString = "\"p35\":".encodeUtf8()
 
   private val H_P36: ByteString = "\"p36\":".encodeUtf8()
 
   private val H_P37: ByteString = "\"p37\":".encodeUtf8()
 
   private val H_P38: ByteString = "\"p38\":".encodeUtf8()
 
   private val H_P39: ByteString = "\"p39\":".encodeUtf8()
 
   private val H_P4: ByteString = "\"p4\":".encodeUtf8()
 
   private val H_P40: ByteString = "\"p40\":".encodeUtf8()
 
   private val H_P41: ByteString = "\"p41\":".encodeUtf8()
 
   private val H_P42: ByteString = "\"p42\":".encodeUtf8()
 
   private val H_P43: ByteString = "\"p43\":".encodeUtf8()
 
   private val H_P44: ByteString = "\"p44\":".encodeUtf8()
 
   private val H_P45: ByteString = "\"p45\":".encodeUtf8()
 
   private val H_P46: ByteString = "\"p46\":".encodeUtf8()
 
   private val H_P47: ByteString = "\"p47\":".encodeUtf8()
 
   private val H_P48: ByteString = "\"p48\":".encodeUtf8()
 
   private val H_P49: ByteString = "\"p49\":".encodeUtf8()
 
   private val H_P5: ByteString = "\"p5\":".encodeUtf8()
 
   private val H_P50: ByteString = "\"p50\":".encodeUtf8()
 
   private val H_P51: ByteString = "\"p51\":".encodeUtf8()
 
   private val H_P52: ByteString = "\"p52\":".encodeUtf8()
 
   private val H_P53: ByteString = "\"p53\":".encodeUtf8()
 
   private val H_P54: ByteString = "\"p54\":".encodeUtf8()
 
   private val H_P55: ByteString = "\"p55\":".encodeUtf8()
 
   private val H_P56: ByteString = "\"p56\":".encodeUtf8()
 
   private val H_P57: ByteString = "\"p57\":".encodeUtf8()
 
   private val H_P58: ByteString = "\"p58\":".encodeUtf8()
 
   private val H_P59: ByteString = "\"p59\":".encodeUtf8()
 
   private val H_P6: ByteString = "\"p6\":".encodeUtf8()
 
   private val H_P7: ByteString = "\"p7\":".encodeUtf8()
 
   private val H_P8: ByteString = "\"p8\":".encodeUtf8()
 
   private val H_P9: ByteString = "\"p9\":".encodeUtf8()
 
   private const val MASK_P0: Long = 1L
 
   private const val MASK_P1: Long = 2L
 
   private const val MASK_P2: Long = 4L
 
   private const val MASK_P3: Long = 8L
 
   private const val MASK_P4: Long = 16L
 
   private const val MASK_P5: Long = 32L
 
   private const val MASK_P6: Long = 64L
 
   private const val MASK_P7: Long = 128L
 
   private const val MASK_P8: Long = 256L
 
   private const val MASK_P9: Long = 512L
 
   private const val MASK_P10: Long = 1024L
 
   private const val MASK_P11: Long = 2048L
 
   private const val MASK_P12: Long = 4096L
 
   private const val MASK_P13: Long = 8192L
 
   private const val MASK_P14: Long = 16384L
 
   private const val MASK_P15: Long = 32768L
 
   private const val MASK_P16: Long = 65536L
 
   private const val MASK_P17: Long = 131072L
 
   private const val MASK_P18: Long = 262144L
 
   private const val MASK_P19: Long = 524288L
 
   private const val MASK_P20: Long = 1048576L
 
   private const val MASK_P21: Long = 2097152L
 
   private const val MASK_P22: Long = 4194304L
 
   private const val MASK_P23: Long = 8388608L
 
   private const val MASK_P24: Long = 16777216L
 
   private const val MASK_P25: Long = 33554432L
 
   private const val MASK_P26: Long = 67108864L
 
   private const val MASK_P27: Long = 134217728L
 
   private const val MASK_P28: Long = 268435456L
 
   private const val MASK_P29: Long = 536870912L
 
   private const val MASK_P30: Long = 1073741824L
 
   private const val MASK_P31: Long = 2147483648L
 
   private const val MASK_P32: Long = 4294967296L
 
   private const val MASK_P33: Long = 8589934592L
 
   private const val MASK_P34: Long = 17179869184L
 
   private const val MASK_P35: Long = 34359738368L
 
   private const val MASK_P36: Long = 68719476736L
 
   private const val MASK_P37: Long = 137438953472L
 
   private const val MASK_P38: Long = 274877906944L
 
   private const val MASK_P39: Long = 549755813888L
 
   private const val MASK_P40: Long = 1099511627776L
 
   private const val MASK_P41: Long = 2199023255552L
 
   private const val MASK_P42: Long = 4398046511104L
 
   private const val MASK_P43: Long = 8796093022208L
 
   private const val MASK_P44: Long = 17592186044416L
 
   private const val MASK_P45: Long = 35184372088832L
 
   private const val MASK_P46: Long = 70368744177664L
 
   private const val MASK_P47: Long = 140737488355328L
 
   private const val MASK_P48: Long = 281474976710656L
 
   private const val MASK_P49: Long = 562949953421312L
 
   private const val MASK_P50: Long = 1125899906842624L
 
   private const val MASK_P51: Long = 2251799813685248L
 
   private const val MASK_P52: Long = 4503599627370496L
 
   private const val MASK_P53: Long = 9007199254740992L
 
   private const val MASK_P54: Long = 18014398509481984L
 
   private const val MASK_P55: Long = 36028797018963968L
 
   private const val MASK_P56: Long = 72057594037927936L
 
   private const val MASK_P57: Long = 144115188075855872L
 
   private const val MASK_P58: Long = 288230376151711744L
 
   private const val MASK_P59: Long = 576460752303423488L
 
   private const val MASK_DEFAULTS_0: Long = 1152921504606846975L
 
   private fun decodeChunk0(
     reader: GhostJsonReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       0 -> {
         ctx.p0 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P0
       }
       1 -> {
         ctx.p1 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P1
       }
       2 -> {
         ctx.p2 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P2
       }
       3 -> {
         ctx.p3 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P3
       }
       4 -> {
         ctx.p4 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P4
       }
       5 -> {
         ctx.p5 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P5
       }
       6 -> {
         ctx.p6 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P6
       }
       7 -> {
         ctx.p7 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P7
       }
       8 -> {
         ctx.p8 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P8
       }
       9 -> {
         ctx.p9 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P9
       }
       10 -> {
         ctx.p10 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P10
       }
       11 -> {
         ctx.p11 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P11
       }
       12 -> {
         ctx.p12 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P12
       }
       13 -> {
         ctx.p13 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P13
       }
       14 -> {
         ctx.p14 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P14
       }
       15 -> {
         ctx.p15 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P15
       }
       16 -> {
         ctx.p16 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P16
       }
       17 -> {
         ctx.p17 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P17
       }
       18 -> {
         ctx.p18 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P18
       }
       19 -> {
         ctx.p19 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P19
       }
       20 -> {
         ctx.p20 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P20
       }
       21 -> {
         ctx.p21 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P21
       }
       22 -> {
         ctx.p22 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P22
       }
       23 -> {
         ctx.p23 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P23
       }
       24 -> {
         ctx.p24 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P24
       }
       25 -> {
         ctx.p25 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P25
       }
       26 -> {
         ctx.p26 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P26
       }
       27 -> {
         ctx.p27 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P27
       }
       28 -> {
         ctx.p28 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P28
       }
       29 -> {
         ctx.p29 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P29
       }
       30 -> {
         ctx.p30 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P30
       }
       31 -> {
         ctx.p31 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P31
       }
       32 -> {
         ctx.p32 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P32
       }
       33 -> {
         ctx.p33 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P33
       }
       34 -> {
         ctx.p34 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P34
       }
       35 -> {
         ctx.p35 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P35
       }
       36 -> {
         ctx.p36 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P36
       }
       37 -> {
         ctx.p37 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P37
       }
       38 -> {
         ctx.p38 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P38
       }
       39 -> {
         ctx.p39 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P39
       }
     }
   }
 
   private fun decodeChunk1(
     reader: GhostJsonReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       40 -> {
         ctx.p40 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P40
       }
       41 -> {
         ctx.p41 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P41
       }
       42 -> {
         ctx.p42 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P42
       }
       43 -> {
         ctx.p43 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P43
       }
       44 -> {
         ctx.p44 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P44
       }
       45 -> {
         ctx.p45 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P45
       }
       46 -> {
         ctx.p46 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P46
       }
       47 -> {
         ctx.p47 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P47
       }
       48 -> {
         ctx.p48 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P48
       }
       49 -> {
         ctx.p49 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P49
       }
       50 -> {
         ctx.p50 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P50
       }
       51 -> {
         ctx.p51 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P51
       }
       52 -> {
         ctx.p52 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P52
       }
       53 -> {
         ctx.p53 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P53
       }
       54 -> {
         ctx.p54 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P54
       }
       55 -> {
         ctx.p55 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P55
       }
       56 -> {
         ctx.p56 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P56
       }
       57 -> {
         ctx.p57 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P57
       }
       58 -> {
         ctx.p58 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P58
       }
       59 -> {
         ctx.p59 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P59
       }
     }
   }
 
   /**
    * Robust deserialization for [GodObject].
    */
   override fun deserialize(reader: GhostJsonReader): GodObject {
     val ctx = DecodingContext()
     reader.beginObject()
     while (true) {
       val index = reader.selectNameAndConsume(OPTIONS)
       when (index) {
         in 0..39 -> decodeChunk0(reader, ctx, index)
         in 40..59 -> decodeChunk1(reader, ctx, index)
         -1 -> break
         -2 -> {
           reader.skipValue()
         }
       }
     }
     reader.endObject()
     val result = GodObject(
     )
     if ((ctx.mask0 and MASK_DEFAULTS_0) != 0L) {
       return result.copy(
         p0 = if ((ctx.mask0 and MASK_P0) != 0L) ctx.p0 else result.p0,
         p1 = if ((ctx.mask0 and MASK_P1) != 0L) ctx.p1 else result.p1,
         p2 = if ((ctx.mask0 and MASK_P2) != 0L) ctx.p2 else result.p2,
         p3 = if ((ctx.mask0 and MASK_P3) != 0L) ctx.p3 else result.p3,
         p4 = if ((ctx.mask0 and MASK_P4) != 0L) ctx.p4 else result.p4,
         p5 = if ((ctx.mask0 and MASK_P5) != 0L) ctx.p5 else result.p5,
         p6 = if ((ctx.mask0 and MASK_P6) != 0L) ctx.p6 else result.p6,
         p7 = if ((ctx.mask0 and MASK_P7) != 0L) ctx.p7 else result.p7,
         p8 = if ((ctx.mask0 and MASK_P8) != 0L) ctx.p8 else result.p8,
         p9 = if ((ctx.mask0 and MASK_P9) != 0L) ctx.p9 else result.p9,
         p10 = if ((ctx.mask0 and MASK_P10) != 0L) ctx.p10 else result.p10,
         p11 = if ((ctx.mask0 and MASK_P11) != 0L) ctx.p11 else result.p11,
         p12 = if ((ctx.mask0 and MASK_P12) != 0L) ctx.p12 else result.p12,
         p13 = if ((ctx.mask0 and MASK_P13) != 0L) ctx.p13 else result.p13,
         p14 = if ((ctx.mask0 and MASK_P14) != 0L) ctx.p14 else result.p14,
         p15 = if ((ctx.mask0 and MASK_P15) != 0L) ctx.p15 else result.p15,
         p16 = if ((ctx.mask0 and MASK_P16) != 0L) ctx.p16 else result.p16,
         p17 = if ((ctx.mask0 and MASK_P17) != 0L) ctx.p17 else result.p17,
         p18 = if ((ctx.mask0 and MASK_P18) != 0L) ctx.p18 else result.p18,
         p19 = if ((ctx.mask0 and MASK_P19) != 0L) ctx.p19 else result.p19,
         p20 = if ((ctx.mask0 and MASK_P20) != 0L) ctx.p20 else result.p20,
         p21 = if ((ctx.mask0 and MASK_P21) != 0L) ctx.p21 else result.p21,
         p22 = if ((ctx.mask0 and MASK_P22) != 0L) ctx.p22 else result.p22,
         p23 = if ((ctx.mask0 and MASK_P23) != 0L) ctx.p23 else result.p23,
         p24 = if ((ctx.mask0 and MASK_P24) != 0L) ctx.p24 else result.p24,
         p25 = if ((ctx.mask0 and MASK_P25) != 0L) ctx.p25 else result.p25,
         p26 = if ((ctx.mask0 and MASK_P26) != 0L) ctx.p26 else result.p26,
         p27 = if ((ctx.mask0 and MASK_P27) != 0L) ctx.p27 else result.p27,
         p28 = if ((ctx.mask0 and MASK_P28) != 0L) ctx.p28 else result.p28,
         p29 = if ((ctx.mask0 and MASK_P29) != 0L) ctx.p29 else result.p29,
         p30 = if ((ctx.mask0 and MASK_P30) != 0L) ctx.p30 else result.p30,
         p31 = if ((ctx.mask0 and MASK_P31) != 0L) ctx.p31 else result.p31,
         p32 = if ((ctx.mask0 and MASK_P32) != 0L) ctx.p32 else result.p32,
         p33 = if ((ctx.mask0 and MASK_P33) != 0L) ctx.p33 else result.p33,
         p34 = if ((ctx.mask0 and MASK_P34) != 0L) ctx.p34 else result.p34,
         p35 = if ((ctx.mask0 and MASK_P35) != 0L) ctx.p35 else result.p35,
         p36 = if ((ctx.mask0 and MASK_P36) != 0L) ctx.p36 else result.p36,
         p37 = if ((ctx.mask0 and MASK_P37) != 0L) ctx.p37 else result.p37,
         p38 = if ((ctx.mask0 and MASK_P38) != 0L) ctx.p38 else result.p38,
         p39 = if ((ctx.mask0 and MASK_P39) != 0L) ctx.p39 else result.p39,
         p40 = if ((ctx.mask0 and MASK_P40) != 0L) ctx.p40 else result.p40,
         p41 = if ((ctx.mask0 and MASK_P41) != 0L) ctx.p41 else result.p41,
         p42 = if ((ctx.mask0 and MASK_P42) != 0L) ctx.p42 else result.p42,
         p43 = if ((ctx.mask0 and MASK_P43) != 0L) ctx.p43 else result.p43,
         p44 = if ((ctx.mask0 and MASK_P44) != 0L) ctx.p44 else result.p44,
         p45 = if ((ctx.mask0 and MASK_P45) != 0L) ctx.p45 else result.p45,
         p46 = if ((ctx.mask0 and MASK_P46) != 0L) ctx.p46 else result.p46,
         p47 = if ((ctx.mask0 and MASK_P47) != 0L) ctx.p47 else result.p47,
         p48 = if ((ctx.mask0 and MASK_P48) != 0L) ctx.p48 else result.p48,
         p49 = if ((ctx.mask0 and MASK_P49) != 0L) ctx.p49 else result.p49,
         p50 = if ((ctx.mask0 and MASK_P50) != 0L) ctx.p50 else result.p50,
         p51 = if ((ctx.mask0 and MASK_P51) != 0L) ctx.p51 else result.p51,
         p52 = if ((ctx.mask0 and MASK_P52) != 0L) ctx.p52 else result.p52,
         p53 = if ((ctx.mask0 and MASK_P53) != 0L) ctx.p53 else result.p53,
         p54 = if ((ctx.mask0 and MASK_P54) != 0L) ctx.p54 else result.p54,
         p55 = if ((ctx.mask0 and MASK_P55) != 0L) ctx.p55 else result.p55,
         p56 = if ((ctx.mask0 and MASK_P56) != 0L) ctx.p56 else result.p56,
         p57 = if ((ctx.mask0 and MASK_P57) != 0L) ctx.p57 else result.p57,
         p58 = if ((ctx.mask0 and MASK_P58) != 0L) ctx.p58 else result.p58,
         p59 = if ((ctx.mask0 and MASK_P59) != 0L) ctx.p59 else result.p59,
       )
     } else {
       return result
     }
   }
 
   private fun decodeChunk0(
     reader: GhostJsonFlatReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       0 -> {
         ctx.p0 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P0
       }
       1 -> {
         ctx.p1 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P1
       }
       2 -> {
         ctx.p2 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P2
       }
       3 -> {
         ctx.p3 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P3
       }
       4 -> {
         ctx.p4 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P4
       }
       5 -> {
         ctx.p5 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P5
       }
       6 -> {
         ctx.p6 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P6
       }
       7 -> {
         ctx.p7 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P7
       }
       8 -> {
         ctx.p8 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P8
       }
       9 -> {
         ctx.p9 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P9
       }
       10 -> {
         ctx.p10 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P10
       }
       11 -> {
         ctx.p11 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P11
       }
       12 -> {
         ctx.p12 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P12
       }
       13 -> {
         ctx.p13 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P13
       }
       14 -> {
         ctx.p14 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P14
       }
       15 -> {
         ctx.p15 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P15
       }
       16 -> {
         ctx.p16 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P16
       }
       17 -> {
         ctx.p17 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P17
       }
       18 -> {
         ctx.p18 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P18
       }
       19 -> {
         ctx.p19 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P19
       }
       20 -> {
         ctx.p20 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P20
       }
       21 -> {
         ctx.p21 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P21
       }
       22 -> {
         ctx.p22 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P22
       }
       23 -> {
         ctx.p23 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P23
       }
       24 -> {
         ctx.p24 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P24
       }
       25 -> {
         ctx.p25 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P25
       }
       26 -> {
         ctx.p26 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P26
       }
       27 -> {
         ctx.p27 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P27
       }
       28 -> {
         ctx.p28 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P28
       }
       29 -> {
         ctx.p29 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P29
       }
       30 -> {
         ctx.p30 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P30
       }
       31 -> {
         ctx.p31 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P31
       }
       32 -> {
         ctx.p32 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P32
       }
       33 -> {
         ctx.p33 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P33
       }
       34 -> {
         ctx.p34 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P34
       }
       35 -> {
         ctx.p35 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P35
       }
       36 -> {
         ctx.p36 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P36
       }
       37 -> {
         ctx.p37 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P37
       }
       38 -> {
         ctx.p38 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P38
       }
       39 -> {
         ctx.p39 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P39
       }
     }
   }
 
   private fun decodeChunk1(
     reader: GhostJsonFlatReader,
     ctx: DecodingContext,
     index: Int,
   ) {
     when (index) {
       40 -> {
         ctx.p40 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P40
       }
       41 -> {
         ctx.p41 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P41
       }
       42 -> {
         ctx.p42 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P42
       }
       43 -> {
         ctx.p43 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P43
       }
       44 -> {
         ctx.p44 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P44
       }
       45 -> {
         ctx.p45 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P45
       }
       46 -> {
         ctx.p46 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P46
       }
       47 -> {
         ctx.p47 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P47
       }
       48 -> {
         ctx.p48 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P48
       }
       49 -> {
         ctx.p49 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P49
       }
       50 -> {
         ctx.p50 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P50
       }
       51 -> {
         ctx.p51 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P51
       }
       52 -> {
         ctx.p52 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P52
       }
       53 -> {
         ctx.p53 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P53
       }
       54 -> {
         ctx.p54 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P54
       }
       55 -> {
         ctx.p55 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P55
       }
       56 -> {
         ctx.p56 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P56
       }
       57 -> {
         ctx.p57 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P57
       }
       58 -> {
         ctx.p58 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P58
       }
       59 -> {
         ctx.p59 = reader.nextInt()
         ctx.mask0 = ctx.mask0 or MASK_P59
       }
     }
   }
 
   /**
    * Robust deserialization for [GodObject].
    */
   override fun deserialize(reader: GhostJsonFlatReader): GodObject {
     val ctx = DecodingContext()
     reader.beginObject()
     while (true) {
       val index = reader.selectNameAndConsume(OPTIONS)
       when (index) {
         in 0..39 -> decodeChunk0(reader, ctx, index)
         in 40..59 -> decodeChunk1(reader, ctx, index)
         -1 -> break
         -2 -> {
           reader.skipValue()
         }
       }
     }
     reader.endObject()
     val result = GodObject(
     )
     if ((ctx.mask0 and MASK_DEFAULTS_0) != 0L) {
       return result.copy(
         p0 = if ((ctx.mask0 and MASK_P0) != 0L) ctx.p0 else result.p0,
         p1 = if ((ctx.mask0 and MASK_P1) != 0L) ctx.p1 else result.p1,
         p2 = if ((ctx.mask0 and MASK_P2) != 0L) ctx.p2 else result.p2,
         p3 = if ((ctx.mask0 and MASK_P3) != 0L) ctx.p3 else result.p3,
         p4 = if ((ctx.mask0 and MASK_P4) != 0L) ctx.p4 else result.p4,
         p5 = if ((ctx.mask0 and MASK_P5) != 0L) ctx.p5 else result.p5,
         p6 = if ((ctx.mask0 and MASK_P6) != 0L) ctx.p6 else result.p6,
         p7 = if ((ctx.mask0 and MASK_P7) != 0L) ctx.p7 else result.p7,
         p8 = if ((ctx.mask0 and MASK_P8) != 0L) ctx.p8 else result.p8,
         p9 = if ((ctx.mask0 and MASK_P9) != 0L) ctx.p9 else result.p9,
         p10 = if ((ctx.mask0 and MASK_P10) != 0L) ctx.p10 else result.p10,
         p11 = if ((ctx.mask0 and MASK_P11) != 0L) ctx.p11 else result.p11,
         p12 = if ((ctx.mask0 and MASK_P12) != 0L) ctx.p12 else result.p12,
         p13 = if ((ctx.mask0 and MASK_P13) != 0L) ctx.p13 else result.p13,
         p14 = if ((ctx.mask0 and MASK_P14) != 0L) ctx.p14 else result.p14,
         p15 = if ((ctx.mask0 and MASK_P15) != 0L) ctx.p15 else result.p15,
         p16 = if ((ctx.mask0 and MASK_P16) != 0L) ctx.p16 else result.p16,
         p17 = if ((ctx.mask0 and MASK_P17) != 0L) ctx.p17 else result.p17,
         p18 = if ((ctx.mask0 and MASK_P18) != 0L) ctx.p18 else result.p18,
         p19 = if ((ctx.mask0 and MASK_P19) != 0L) ctx.p19 else result.p19,
         p20 = if ((ctx.mask0 and MASK_P20) != 0L) ctx.p20 else result.p20,
         p21 = if ((ctx.mask0 and MASK_P21) != 0L) ctx.p21 else result.p21,
         p22 = if ((ctx.mask0 and MASK_P22) != 0L) ctx.p22 else result.p22,
         p23 = if ((ctx.mask0 and MASK_P23) != 0L) ctx.p23 else result.p23,
         p24 = if ((ctx.mask0 and MASK_P24) != 0L) ctx.p24 else result.p24,
         p25 = if ((ctx.mask0 and MASK_P25) != 0L) ctx.p25 else result.p25,
         p26 = if ((ctx.mask0 and MASK_P26) != 0L) ctx.p26 else result.p26,
         p27 = if ((ctx.mask0 and MASK_P27) != 0L) ctx.p27 else result.p27,
         p28 = if ((ctx.mask0 and MASK_P28) != 0L) ctx.p28 else result.p28,
         p29 = if ((ctx.mask0 and MASK_P29) != 0L) ctx.p29 else result.p29,
         p30 = if ((ctx.mask0 and MASK_P30) != 0L) ctx.p30 else result.p30,
         p31 = if ((ctx.mask0 and MASK_P31) != 0L) ctx.p31 else result.p31,
         p32 = if ((ctx.mask0 and MASK_P32) != 0L) ctx.p32 else result.p32,
         p33 = if ((ctx.mask0 and MASK_P33) != 0L) ctx.p33 else result.p33,
         p34 = if ((ctx.mask0 and MASK_P34) != 0L) ctx.p34 else result.p34,
         p35 = if ((ctx.mask0 and MASK_P35) != 0L) ctx.p35 else result.p35,
         p36 = if ((ctx.mask0 and MASK_P36) != 0L) ctx.p36 else result.p36,
         p37 = if ((ctx.mask0 and MASK_P37) != 0L) ctx.p37 else result.p37,
         p38 = if ((ctx.mask0 and MASK_P38) != 0L) ctx.p38 else result.p38,
         p39 = if ((ctx.mask0 and MASK_P39) != 0L) ctx.p39 else result.p39,
         p40 = if ((ctx.mask0 and MASK_P40) != 0L) ctx.p40 else result.p40,
         p41 = if ((ctx.mask0 and MASK_P41) != 0L) ctx.p41 else result.p41,
         p42 = if ((ctx.mask0 and MASK_P42) != 0L) ctx.p42 else result.p42,
         p43 = if ((ctx.mask0 and MASK_P43) != 0L) ctx.p43 else result.p43,
         p44 = if ((ctx.mask0 and MASK_P44) != 0L) ctx.p44 else result.p44,
         p45 = if ((ctx.mask0 and MASK_P45) != 0L) ctx.p45 else result.p45,
         p46 = if ((ctx.mask0 and MASK_P46) != 0L) ctx.p46 else result.p46,
         p47 = if ((ctx.mask0 and MASK_P47) != 0L) ctx.p47 else result.p47,
         p48 = if ((ctx.mask0 and MASK_P48) != 0L) ctx.p48 else result.p48,
         p49 = if ((ctx.mask0 and MASK_P49) != 0L) ctx.p49 else result.p49,
         p50 = if ((ctx.mask0 and MASK_P50) != 0L) ctx.p50 else result.p50,
         p51 = if ((ctx.mask0 and MASK_P51) != 0L) ctx.p51 else result.p51,
         p52 = if ((ctx.mask0 and MASK_P52) != 0L) ctx.p52 else result.p52,
         p53 = if ((ctx.mask0 and MASK_P53) != 0L) ctx.p53 else result.p53,
         p54 = if ((ctx.mask0 and MASK_P54) != 0L) ctx.p54 else result.p54,
         p55 = if ((ctx.mask0 and MASK_P55) != 0L) ctx.p55 else result.p55,
         p56 = if ((ctx.mask0 and MASK_P56) != 0L) ctx.p56 else result.p56,
         p57 = if ((ctx.mask0 and MASK_P57) != 0L) ctx.p57 else result.p57,
         p58 = if ((ctx.mask0 and MASK_P58) != 0L) ctx.p58 else result.p58,
         p59 = if ((ctx.mask0 and MASK_P59) != 0L) ctx.p59 else result.p59,
       )
     } else {
       return result
     }
   }
 
   private fun serializeChunk0_GhostJsonWriter(writer: GhostJsonWriter, `value`: GodObject) {
     writer.writeField(H_P0, value.p0)
     writer.writeField(H_P1, value.p1)
     writer.writeField(H_P2, value.p2)
     writer.writeField(H_P3, value.p3)
     writer.writeField(H_P4, value.p4)
     writer.writeField(H_P5, value.p5)
     writer.writeField(H_P6, value.p6)
     writer.writeField(H_P7, value.p7)
     writer.writeField(H_P8, value.p8)
     writer.writeField(H_P9, value.p9)
     writer.writeField(H_P10, value.p10)
     writer.writeField(H_P11, value.p11)
     writer.writeField(H_P12, value.p12)
     writer.writeField(H_P13, value.p13)
     writer.writeField(H_P14, value.p14)
     writer.writeField(H_P15, value.p15)
     writer.writeField(H_P16, value.p16)
     writer.writeField(H_P17, value.p17)
     writer.writeField(H_P18, value.p18)
     writer.writeField(H_P19, value.p19)
     writer.writeField(H_P20, value.p20)
     writer.writeField(H_P21, value.p21)
     writer.writeField(H_P22, value.p22)
     writer.writeField(H_P23, value.p23)
     writer.writeField(H_P24, value.p24)
     writer.writeField(H_P25, value.p25)
     writer.writeField(H_P26, value.p26)
     writer.writeField(H_P27, value.p27)
     writer.writeField(H_P28, value.p28)
     writer.writeField(H_P29, value.p29)
     writer.writeField(H_P30, value.p30)
     writer.writeField(H_P31, value.p31)
     writer.writeField(H_P32, value.p32)
     writer.writeField(H_P33, value.p33)
     writer.writeField(H_P34, value.p34)
     writer.writeField(H_P35, value.p35)
     writer.writeField(H_P36, value.p36)
     writer.writeField(H_P37, value.p37)
     writer.writeField(H_P38, value.p38)
     writer.writeField(H_P39, value.p39)
   }
 
   private fun serializeChunk1_GhostJsonWriter(writer: GhostJsonWriter, `value`: GodObject) {
     writer.writeField(H_P40, value.p40)
     writer.writeField(H_P41, value.p41)
     writer.writeField(H_P42, value.p42)
     writer.writeField(H_P43, value.p43)
     writer.writeField(H_P44, value.p44)
     writer.writeField(H_P45, value.p45)
     writer.writeField(H_P46, value.p46)
     writer.writeField(H_P47, value.p47)
     writer.writeField(H_P48, value.p48)
     writer.writeField(H_P49, value.p49)
     writer.writeField(H_P50, value.p50)
     writer.writeField(H_P51, value.p51)
     writer.writeField(H_P52, value.p52)
     writer.writeField(H_P53, value.p53)
     writer.writeField(H_P54, value.p54)
     writer.writeField(H_P55, value.p55)
     writer.writeField(H_P56, value.p56)
     writer.writeField(H_P57, value.p57)
     writer.writeField(H_P58, value.p58)
     writer.writeField(H_P59, value.p59)
   }
 
   override fun serialize(writer: GhostJsonWriter, `value`: GodObject) {
     writer.beginObject()
     serializeChunk0_GhostJsonWriter(writer, value)
     serializeChunk1_GhostJsonWriter(writer, value)
     writer.endObject()
   }
 
   private fun serializeChunk0_GhostJsonFlatWriter(writer: GhostJsonFlatWriter, `value`: GodObject) {
     writer.writeField(H_P0, value.p0)
     writer.writeField(H_P1, value.p1)
     writer.writeField(H_P2, value.p2)
     writer.writeField(H_P3, value.p3)
     writer.writeField(H_P4, value.p4)
     writer.writeField(H_P5, value.p5)
     writer.writeField(H_P6, value.p6)
     writer.writeField(H_P7, value.p7)
     writer.writeField(H_P8, value.p8)
     writer.writeField(H_P9, value.p9)
     writer.writeField(H_P10, value.p10)
     writer.writeField(H_P11, value.p11)
     writer.writeField(H_P12, value.p12)
     writer.writeField(H_P13, value.p13)
     writer.writeField(H_P14, value.p14)
     writer.writeField(H_P15, value.p15)
     writer.writeField(H_P16, value.p16)
     writer.writeField(H_P17, value.p17)
     writer.writeField(H_P18, value.p18)
     writer.writeField(H_P19, value.p19)
     writer.writeField(H_P20, value.p20)
     writer.writeField(H_P21, value.p21)
     writer.writeField(H_P22, value.p22)
     writer.writeField(H_P23, value.p23)
     writer.writeField(H_P24, value.p24)
     writer.writeField(H_P25, value.p25)
     writer.writeField(H_P26, value.p26)
     writer.writeField(H_P27, value.p27)
     writer.writeField(H_P28, value.p28)
     writer.writeField(H_P29, value.p29)
     writer.writeField(H_P30, value.p30)
     writer.writeField(H_P31, value.p31)
     writer.writeField(H_P32, value.p32)
     writer.writeField(H_P33, value.p33)
     writer.writeField(H_P34, value.p34)
     writer.writeField(H_P35, value.p35)
     writer.writeField(H_P36, value.p36)
     writer.writeField(H_P37, value.p37)
     writer.writeField(H_P38, value.p38)
     writer.writeField(H_P39, value.p39)
   }
 
   private fun serializeChunk1_GhostJsonFlatWriter(writer: GhostJsonFlatWriter, `value`: GodObject) {
     writer.writeField(H_P40, value.p40)
     writer.writeField(H_P41, value.p41)
     writer.writeField(H_P42, value.p42)
     writer.writeField(H_P43, value.p43)
     writer.writeField(H_P44, value.p44)
     writer.writeField(H_P45, value.p45)
     writer.writeField(H_P46, value.p46)
     writer.writeField(H_P47, value.p47)
     writer.writeField(H_P48, value.p48)
     writer.writeField(H_P49, value.p49)
     writer.writeField(H_P50, value.p50)
     writer.writeField(H_P51, value.p51)
     writer.writeField(H_P52, value.p52)
     writer.writeField(H_P53, value.p53)
     writer.writeField(H_P54, value.p54)
     writer.writeField(H_P55, value.p55)
     writer.writeField(H_P56, value.p56)
     writer.writeField(H_P57, value.p57)
     writer.writeField(H_P58, value.p58)
     writer.writeField(H_P59, value.p59)
   }
 
   override fun serialize(writer: GhostJsonFlatWriter, `value`: GodObject) {
     writer.beginObject()
     serializeChunk0_GhostJsonFlatWriter(writer, value)
     serializeChunk1_GhostJsonFlatWriter(writer, value)
     writer.endObject()
   }
 
   override fun warmUp() {
     try {
       val reader1 = GhostJsonReader("{}".encodeToByteArray())
       deserialize(reader1)
     } catch (_: Exception) {
     }
     try {
       val reader2 = GhostJsonFlatReader("{}".encodeToByteArray())
       deserialize(reader2)
     } catch (_: Exception) {
     }
   }
 
   private class DecodingContext {
     public var p0: Int = 0
 
     public var p1: Int = 0
 
     public var p2: Int = 0
 
     public var p3: Int = 0
 
     public var p4: Int = 0
 
     public var p5: Int = 0
 
     public var p6: Int = 0
 
     public var p7: Int = 0
 
     public var p8: Int = 0
 
     public var p9: Int = 0
 
     public var p10: Int = 0
 
     public var p11: Int = 0
 
     public var p12: Int = 0
 
     public var p13: Int = 0
 
     public var p14: Int = 0
 
     public var p15: Int = 0
 
     public var p16: Int = 0
 
     public var p17: Int = 0
 
     public var p18: Int = 0
 
     public var p19: Int = 0
 
     public var p20: Int = 0
 
     public var p21: Int = 0
 
     public var p22: Int = 0
 
     public var p23: Int = 0
 
     public var p24: Int = 0
 
     public var p25: Int = 0
 
     public var p26: Int = 0
 
     public var p27: Int = 0
 
     public var p28: Int = 0
 
     public var p29: Int = 0
 
     public var p30: Int = 0
 
     public var p31: Int = 0
 
     public var p32: Int = 0
 
     public var p33: Int = 0
 
     public var p34: Int = 0
 
     public var p35: Int = 0
 
     public var p36: Int = 0
 
     public var p37: Int = 0
 
     public var p38: Int = 0
 
     public var p39: Int = 0
 
     public var p40: Int = 0
 
     public var p41: Int = 0
 
     public var p42: Int = 0
 
     public var p43: Int = 0
 
     public var p44: Int = 0
 
     public var p45: Int = 0
 
     public var p46: Int = 0
 
     public var p47: Int = 0
 
     public var p48: Int = 0
 
     public var p49: Int = 0
 
     public var p50: Int = 0
 
     public var p51: Int = 0
 
     public var p52: Int = 0
 
     public var p53: Int = 0
 
     public var p54: Int = 0
 
     public var p55: Int = 0
 
     public var p56: Int = 0
 
     public var p57: Int = 0
 
     public var p58: Int = 0
 
     public var p59: Int = 0
 
     public var mask0: Long = 0L
   }
 }