Implement a key-value store class with the following operations: put/set(key: str, value: str), get(key: str), shutdown() (persist data to file storage), and restore() (recover data from file storage on startup). Keys and values are strings that may contain arbitrary characters including newlines. You must serialize/deserialize the KV data to/from raw…