csv = [
    "tlvtype,tlv_payload,amt_to_forward,2",
    "tlvdata,tlv_payload,amt_to_forward,amt_to_forward,tu64,",
    "tlvtype,tlv_payload,outgoing_cltv_value,4",
    "tlvdata,tlv_payload,outgoing_cltv_value,outgoing_cltv_value,tu32,",
    "tlvtype,tlv_payload,short_channel_id,6",
    "tlvdata,tlv_payload,short_channel_id,short_channel_id,short_channel_id,",
    "tlvtype,tlv_payload,payment_data,8",
    "tlvdata,tlv_payload,payment_data,payment_secret,byte,32",
    "tlvdata,tlv_payload,payment_data,total_msat,tu64,",
    "msgtype,invalid_realm,PERM|1",
    "msgtype,temporary_node_failure,NODE|2",
    "msgtype,permanent_node_failure,PERM|NODE|2",
    "msgtype,required_node_feature_missing,PERM|NODE|3",
    "msgtype,invalid_onion_version,BADONION|PERM|4",
    "msgdata,invalid_onion_version,sha256_of_onion,sha256,",
    "msgtype,invalid_onion_hmac,BADONION|PERM|5",
    "msgdata,invalid_onion_hmac,sha256_of_onion,sha256,",
    "msgtype,invalid_onion_key,BADONION|PERM|6",
    "msgdata,invalid_onion_key,sha256_of_onion,sha256,",
    "msgtype,temporary_channel_failure,UPDATE|7",
    "msgdata,temporary_channel_failure,len,u16,",
    "msgdata,temporary_channel_failure,channel_update,byte,len",
    "msgtype,permanent_channel_failure,PERM|8",
    "msgtype,required_channel_feature_missing,PERM|9",
    "msgtype,unknown_next_peer,PERM|10",
    "msgtype,amount_below_minimum,UPDATE|11",
    "msgdata,amount_below_minimum,htlc_msat,u64,",
    "msgdata,amount_below_minimum,len,u16,",
    "msgdata,amount_below_minimum,channel_update,byte,len",
    "msgtype,fee_insufficient,UPDATE|12",
    "msgdata,fee_insufficient,htlc_msat,u64,",
    "msgdata,fee_insufficient,len,u16,",
    "msgdata,fee_insufficient,channel_update,byte,len",
    "msgtype,incorrect_cltv_expiry,UPDATE|13",
    "msgdata,incorrect_cltv_expiry,cltv_expiry,u32,",
    "msgdata,incorrect_cltv_expiry,len,u16,",
    "msgdata,incorrect_cltv_expiry,channel_update,byte,len",
    "msgtype,expiry_too_soon,UPDATE|14",
    "msgdata,expiry_too_soon,len,u16,",
    "msgdata,expiry_too_soon,channel_update,byte,len",
    "msgtype,incorrect_or_unknown_payment_details,PERM|15",
    "msgdata,incorrect_or_unknown_payment_details,htlc_msat,u64,",
    "msgdata,incorrect_or_unknown_payment_details,height,u32,",
    "msgtype,final_incorrect_cltv_expiry,18",
    "msgdata,final_incorrect_cltv_expiry,cltv_expiry,u32,",
    "msgtype,final_incorrect_htlc_amount,19",
    "msgdata,final_incorrect_htlc_amount,incoming_htlc_amt,u64,",
    "msgtype,channel_disabled,UPDATE|20",
    "msgtype,expiry_too_far,21",
    "msgtype,invalid_onion_payload,PERM|22",
    "msgdata,invalid_onion_payload,type,bigsize,",
    "msgdata,invalid_onion_payload,offset,u16,",
    "msgtype,mpp_timeout,23",
]
