#include <metal_stdlib>
using namespace metal;

struct main_outputs {
  float4 tint_symbol [[color(0)]];
};

float4 main_inner() {
  return float4(0.10000000149011611938f, 0.20000000298023223877f, 0.30000001192092895508f, 0.40000000596046447754f);
}

fragment main_outputs v() {
  main_outputs tint_wrapper_result = {};
  tint_wrapper_result.tint_symbol = main_inner();
  return tint_wrapper_result;
}
