'Match and store Fenced Code Blocks in the HtmlStash.'

def run(self, lines):

    text = '\n'.join(lines)
    while 1:
        m = FENCED_BLOCK_RE.search(text)
        if m:
            lang = ''
            if m.group('lang'):
                lang = (LANG_TAG % m.group('lang'))
            code = (CODE_WRAP % (lang, self._escape(m.group('code'))))
            placeholder = self.markdown.htmlStash.store(code, safe=True)
            text = ('%s\n%s\n%s' % (text[:m.start()], placeholder, text[m.end():]))
        else:
            break
    return text.split('\n')
