#version 450
layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in;

struct B2
{
    vec4 elem2;
};

struct C
{
    vec4 c;
    B2 b2;
    B2 b2_array[4];
};

struct B1
{
    vec4 elem1;
};

struct A
{
    vec4 a;
    B1 b1;
    B1 b1_array[4];
};

layout(binding = 0, std430) buffer _8_3
{
    A a_block;
    C c_block;
} _3;

void main()
{
    A _27;
    _27.a = _3.c_block.c;
    _27.b1.elem1 = _3.c_block.b2.elem2;
    _27.b1_array[0].elem1 = _3.c_block.b2_array[0].elem2;
    _27.b1_array[1].elem1 = _3.c_block.b2_array[1].elem2;
    _27.b1_array[2].elem1 = _3.c_block.b2_array[2].elem2;
    _27.b1_array[3].elem1 = _3.c_block.b2_array[3].elem2;
    _3.a_block = _27;
}

