code: def unzip(zip_file_path, output_dir, permission=None):
      
  
      with zipfile.ZipFile(zip_file_path, 'r') as zip_ref:
  
          # For each item in the zip file, extract the file and set permissions if available
          for file_info in zip_ref.infolist():
              name = file_info.filename
              extracted_path = os.path.join(output_dir, name)
  
              zip_ref.extract(name, output_dir)
              _set_permissions(file_info, extracted_path)
  
              _override_permissions(extracted_path, permission)
  
      _override_permissions(output_dir, permission)
docs: Unzip the given file into the given directory while preserving file permissions in the process.
  
      Parameters
      ----------
      zip_file_path : str
          Path to the zip file
  
      output_dir : str
          Path to the directory where the it should be unzipped to
  
      permission : octal int
          Permission to set