For example.yaml:
key: value
child1:
    key1: value1
    key2:
        value2: subvalue2
        value3: subvalue3
    list:
      - item1
      - item2
child2:
    - item1
    - item2
    - item3
boolKey: true
intKey: 10

Need write simple YAML parser for this file in golang without using third-party libraries. Return map[string]interface{}. Use recursion for nested values. Consider the situation where the key can have a value with a list or map on the next line.