record: decode outer