'The function for parsing network blocks from ARIN whois data.
Args:
response: The response from the ARIN whois server.
Returns:
List: A of dictionaries containing keys: cidr, start, end.'

def _get_nets_arin(self, response):

    nets = []
    pattern = re.compile('^NetRange:[^\\S\\n]+(.+)$', re.MULTILINE)
    temp = pattern.search(response)
    net_range = None
    net_range_start = None
    if (temp is not None):
        net_range = temp.group(1).strip()
        net_range_start = temp.start()
    for match in re.finditer('^CIDR:[^\\S\\n]+(.+?,[^\\S\\n].+|.+)$', response, re.MULTILINE):
        try:
            net = copy.deepcopy(BASE_NET)
            if (len(nets) > 0):
                temp = pattern.search(response, match.start())
                net_range = None
                net_range_start = None
                if (temp is not None):
                    net_range = temp.group(1).strip()
                    net_range_start = temp.start()
            if (net_range is not None):
                if ((net_range_start < match.start()) or (len(nets) > 0)):
                    net['range'] = net_range
            net['cidr'] = ',    '.join([ip_network(c.strip()).__str__() for c in match.group(1).split(',    ')])
            net['start'] = match.start()
            net['end'] = match.end()
            nets.append(net)
        except ValueError:
            pass
    return nets
