parameters: (path: str)
return_statement: return ret
docstring: {file_name}: {
              'url': {url},
              'version': {version_string},
              'md5': {md5}
          }
docstring_summary: {file_name}: {
              'url': {url},
              'version': {version_string},
              'md5': {md5}
          }
docstring_tokens: { file_name } : { url : { url } version : { version_string } md5 : { md5 } }
function: def load_offline_json(path: str):
      import json
      '''
          {file_name}: {
              'url': {url},
              'version': {version_string},
              'md5': {md5}
          }
      '''
      with open(path, "r") as f:
          ret = json.load(f)
      assert isinstance(ret, dict)
      need_key = ['url', 'version', 'md5']
      md5_pat = re.compile(r'^[0-9a-f]{32}$')
      for k in ret:
          assert isinstance(k, str) \
              and '\x00' not in k \
              and '\\' not in k \
              and '/' not in k
          for need_k in need_key:
              assert need_k in ret[k] \
                  and isinstance(ret[k][need_k], str)
          assert md5_pat.match(ret[k]['md5']) is not None
      return ret
function_tokens: def load_offline_json ( path : str ) : import json with open ( path , "r" ) as f : ret = json . load ( f ) assert isinstance ( ret , dict ) need_key = [ 'url' , 'version' , 'md5' ] md5_pat = re . compile ( r'^[0-9a-f]{32}$' ) for k in ret : assert isinstance ( k , str ) and '\x00' not in k and '\\' not in k and '/' not in k for need_k in need_key : assert need_k in ret [ k ] and isinstance ( ret [ k ] [ need_k ] , str ) assert md5_pat . match ( ret [ k ] [ 'md5' ] ) is not None return ret