Unfortunately, this terrible hack was needed to cope with matching around folded lines.

Previously, line unfolding was performed in a separate pre-processing step. But unfortunately, this conflicted with the vcard 2.1 specification regarding quoted-printable encoding's soft line breaks.

I suppose this is where the major performance impact stems from (still requiring some more in-depth profiling though). I'll elaborate on this further down.

Any other alternative suggestions so far?