0..33 @22 InterfaceTypeDefinition {
    description: None,
    name: "Pet",
    implements_interfaces: [],
    directives: [],
    fields: [
        18..31 @22 FieldDefinition {
            description: None,
            name: "name",
            arguments: [],
            ty: NonNullNamed(
                "String",
            ),
            directives: [],
        },
    ],
}
35..67 @22 EnumTypeDefinition {
    description: None,
    name: "DogCommand",
    directives: [],
    values: [
        55..58 @22 EnumValueDefinition {
            description: None,
            value: "SIT",
            directives: [],
        },
        61..65 @22 EnumValueDefinition {
            description: None,
            value: "HEEL",
            directives: [],
        },
    ],
}
69..95 @22 EnumTypeDefinition {
    description: None,
    name: "CatCommand",
    directives: [],
    values: [
        89..93 @22 EnumValueDefinition {
            description: None,
            value: "JUMP",
            directives: [],
        },
    ],
}
97..122 @22 ObjectTypeDefinition {
    description: None,
    name: "Query",
    implements_interfaces: [],
    directives: [],
    fields: [
        112..120 @22 FieldDefinition {
            description: None,
            name: "pet",
            arguments: [],
            ty: Named(
                "Pet",
            ),
            directives: [],
        },
    ],
}
124..300 @22 ObjectTypeDefinition {
    description: None,
    name: "Dog",
    implements_interfaces: [
        "Pet",
    ],
    directives: [],
    fields: [
        152..165 @22 FieldDefinition {
            description: None,
            name: "name",
            arguments: [],
            ty: NonNullNamed(
                "String",
            ),
            directives: [],
        },
        168..185 @22 FieldDefinition {
            description: None,
            name: "nickname",
            arguments: [],
            ty: NonNullNamed(
                "String",
            ),
            directives: [],
        },
        188..204 @22 FieldDefinition {
            description: None,
            name: "barkVolume",
            arguments: [],
            ty: NonNullNamed(
                "Int",
            ),
            directives: [],
        },
        207..257 @22 FieldDefinition {
            description: None,
            name: "doesKnowCommand",
            arguments: [
                223..246 @22 InputValueDefinition {
                    description: None,
                    name: "dogCommand",
                    ty: 235..246 @22 NonNullNamed(
                        "DogCommand",
                    ),
                    default_value: None,
                    directives: [],
                },
            ],
            ty: NonNullNamed(
                "Boolean",
            ),
            directives: [],
        },
        260..298 @22 FieldDefinition {
            description: None,
            name: "isAtLocation",
            arguments: [
                273..279 @22 InputValueDefinition {
                    description: None,
                    name: "x",
                    ty: 276..279 @22 Named(
                        "Int",
                    ),
                    default_value: None,
                    directives: [],
                },
                281..287 @22 InputValueDefinition {
                    description: None,
                    name: "y",
                    ty: 284..287 @22 Named(
                        "Int",
                    ),
                    default_value: None,
                    directives: [],
                },
            ],
            ty: NonNullNamed(
                "Boolean",
            ),
            directives: [],
        },
    ],
}
302..417 @22 ObjectTypeDefinition {
    description: None,
    name: "Cat",
    implements_interfaces: [
        "Pet",
    ],
    directives: [],
    fields: [
        330..343 @22 FieldDefinition {
            description: None,
            name: "name",
            arguments: [],
            ty: NonNullNamed(
                "String",
            ),
            directives: [],
        },
        346..362 @22 FieldDefinition {
            description: None,
            name: "meowVolume",
            arguments: [],
            ty: NonNullNamed(
                "Int",
            ),
            directives: [],
        },
        365..415 @22 FieldDefinition {
            description: None,
            name: "doesKnowCommand",
            arguments: [
                381..404 @22 InputValueDefinition {
                    description: None,
                    name: "catCommand",
                    ty: 393..404 @22 NonNullNamed(
                        "CatCommand",
                    ),
                    default_value: None,
                    directives: [],
                },
            ],
            ty: NonNullNamed(
                "Boolean",
            ),
            directives: [],
        },
    ],
}
419..478 @22 OperationDefinition {
    operation_type: Query,
    name: Some(
        "barkVolume",
    ),
    variables: [],
    directives: [],
    selection_set: [
        Field(
            440..476 @22 Field {
                alias: None,
                name: "pet",
                arguments: [],
                directives: [],
                selection_set: [
                    FragmentSpread(
                        450..472 @22 FragmentSpread {
                            fragment_name: "safeDifferingFields",
                            directives: [],
                        },
                    ),
                ],
            },
        ),
    ],
}
480..542 @22 OperationDefinition {
    operation_type: Query,
    name: Some(
        "doesKnowCommand",
    ),
    variables: [],
    directives: [],
    selection_set: [
        Field(
            506..540 @22 Field {
                alias: None,
                name: "pet",
                arguments: [],
                directives: [],
                selection_set: [
                    FragmentSpread(
                        516..536 @22 FragmentSpread {
                            fragment_name: "safeDifferingArgs",
                            directives: [],
                        },
                    ),
                ],
            },
        ),
    ],
}
544..607 @22 OperationDefinition {
    operation_type: Query,
    name: Some(
        "isAtLocation",
    ),
    variables: [],
    directives: [],
    selection_set: [
        Field(
            567..605 @22 Field {
                alias: None,
                name: "pet",
                arguments: [],
                directives: [],
                selection_set: [
                    FragmentSpread(
                        577..601 @22 FragmentSpread {
                            fragment_name: "safeDifferingArgOrder",
                            directives: [],
                        },
                    ),
                ],
            },
        ),
    ],
}
609..732 @22 FragmentDefinition {
    name: "safeDifferingFields",
    type_condition: "Pet",
    directives: [],
    selection_set: [
        InlineFragment(
            649..688 @22 InlineFragment {
                type_condition: Some(
                    "Dog",
                ),
                directives: [],
                selection_set: [
                    Field(
                        666..684 @22 Field {
                            alias: Some(
                                "volume",
                            ),
                            name: "barkVolume",
                            arguments: [],
                            directives: [],
                            selection_set: [],
                        },
                    ),
                ],
            },
        ),
        InlineFragment(
            691..730 @22 InlineFragment {
                type_condition: Some(
                    "Cat",
                ),
                directives: [],
                selection_set: [
                    Field(
                        708..726 @22 Field {
                            alias: Some(
                                "volume",
                            ),
                            name: "meowVolume",
                            arguments: [],
                            directives: [],
                            selection_set: [],
                        },
                    ),
                ],
            },
        ),
    ],
}
734..884 @22 FragmentDefinition {
    name: "safeDifferingArgs",
    type_condition: "Pet",
    directives: [],
    selection_set: [
        InlineFragment(
            772..825 @22 InlineFragment {
                type_condition: Some(
                    "Dog",
                ),
                directives: [],
                selection_set: [
                    Field(
                        789..821 @22 Field {
                            alias: None,
                            name: "doesKnowCommand",
                            arguments: [
                                805..820 @22 Argument {
                                    name: "dogCommand",
                                    value: 817..820 @22 Enum(
                                        "SIT",
                                    ),
                                },
                            ],
                            directives: [],
                            selection_set: [],
                        },
                    ),
                ],
            },
        ),
        InlineFragment(
            828..882 @22 InlineFragment {
                type_condition: Some(
                    "Cat",
                ),
                directives: [],
                selection_set: [
                    Field(
                        845..878 @22 Field {
                            alias: None,
                            name: "doesKnowCommand",
                            arguments: [
                                861..877 @22 Argument {
                                    name: "catCommand",
                                    value: 873..877 @22 Enum(
                                        "JUMP",
                                    ),
                                },
                            ],
                            directives: [],
                            selection_set: [],
                        },
                    ),
                ],
            },
        ),
    ],
}
886..981 @22 FragmentDefinition {
    name: "safeDifferingArgOrder",
    type_condition: "Dog",
    directives: [],
    selection_set: [
        Field(
            928..952 @22 Field {
                alias: None,
                name: "isAtLocation",
                arguments: [
                    941..945 @22 Argument {
                        name: "x",
                        value: 944..945 @22 Int(
                            0,
                        ),
                    },
                    947..951 @22 Argument {
                        name: "y",
                        value: 950..951 @22 Int(
                            0,
                        ),
                    },
                ],
                directives: [],
                selection_set: [],
            },
        ),
        Field(
            955..979 @22 Field {
                alias: None,
                name: "isAtLocation",
                arguments: [
                    968..972 @22 Argument {
                        name: "y",
                        value: 971..972 @22 Int(
                            0,
                        ),
                    },
                    974..978 @22 Argument {
                        name: "x",
                        value: 977..978 @22 Int(
                            0,
                        ),
                    },
                ],
                directives: [],
                selection_set: [],
            },
        ),
    ],
}

