'Parse Meta-Data and store in Markdown.Meta.'

def run(self, lines):

    meta = {}
    key = None
    if (lines and BEGIN_RE.match(lines[0])):
        lines.pop(0)
    while lines:
        line = lines.pop(0)
        m1 = META_RE.match(line)
        if ((line.strip() == u'') or END_RE.match(line)):
            break
        if m1:
            key = m1.group(u'key').lower().strip()
            value = m1.group(u'value').strip()
            try:
                meta[key].append(value)
            except KeyError:
                meta[key] = [value]
        else:
            m2 = META_MORE_RE.match(line)
            if (m2 and key):
                meta[key].append(m2.group(u'value').strip())
            else:
                lines.insert(0, line)
                break
    self.markdown.Meta = meta
    return lines
