input: from typing import List
  
  
  def basic_version_control(lines: List[str]) -> VersionControl:
      """ Implement a basic version control system in Python that keeps track of changes in the code.
      The class should initialize with a list of lines, commit a snapshot of the current lines,
      and restore the lines to a previous snapshot using a simple file-based logging system.
      >>> basic_version_control(['#include <iostream>', 'int main() {']).commit()
      >>> basic_version_control(['#include <iostream>', 'int main() {', '    std::cout << "Hello, World!" << std::endl;']).commit()
      >>> vc = basic_version_control(['#include <iostream>', 'int main() {'])
      >>> vc.restore()
      """
output:     
      class VersionControl:
          def __init__(self, lines: List[str]):
              self.lines = lines
              self.snapshots = []
          
          def commit(self):
              self.snapshots.append(self.lines[:])
          
          def restore(self):
              if self.snapshots:
                  self.lines = self.snapshots.pop()
              else:
                  raise ValueError("No snapshots available to restore.")
  