SQLite format 3 @   % B8VacSsCMse6k g w B 8s$=tabledb_varsdb_vars%CREATE TABLE db_vars ( domain not null, -- scope of application of a var name not null, -- var key value not null, -- var value unique(domain, name) )-%Aindexsqlite_autoindex_db_vars_1db_vars& !''Ytablebranch_epochsbranch_epochs"CREATE TABLE branch_epochs ( hash not null unique, -- hash of remaining fields separated by ":" branch not null unique, -- joins with revision_certs.value epoch not null -- random hex-encoded id )9#M'indexsqlite_autoindex_branch_epochs_2branch_epochs$9"M'indexsqlite_autoindex_branch_epochs_1branch_epochs#| A)indexrevision_certs__name_valuerevision_certs!CREATE INDEX revision_certs__name_value ON revision_certs (name, value)b1)yindexrevision_certs__idrevision_certs CREATE INDEX revision_certs__id ON revision_certs (id)J))Otablerevision_certsrevision_certsCREATE TABLE revision_certs ( hash not null unique, -- hash of remaining fields separated by ":" id not null, -- joins with revisions.id name not null, -- opaque string chosen by user value not null, -- opaque blob keypair not null, -- joins with public_keys.id signature not null, -- RSA/SHA1 signature of "[name@id:val]" unique(name, id, value, keypair, signature) );O)indexsqlite_autoindex_revision_certs_2revision_certs;O)indexsqlite_autoindex_revision_certs_1revision_certs`)){tablemanifest_certsmanifest_certsCREATE TABLE manifest_certs ( hash not null unique, -- hash of remaining fields separated by ":" id not null, -- joins with manifests.id or manifest_deltas.id name not null, -- opaque string chosen by user value not null, -- opaque blob keypair not null, -- joins with public_keys.id signature not null, -- RSA/SHA1 signature of "[name@id:val]" unique(name, id, value, keypair, signature) );O)indexsqlite_autoindex_manifest_certs_2manifest_certs;O)indexsqlite_autoindex_manifest_certs_1manifest_certso##%tablepublic_keyspublic_keysCREATE TABLE public_keys ( hash not null unique, -- hash of remaining fields separated by ":" id primary key, -- key identifier chosen by user keydata not null -- RSA public params )5I#indexsqlite_autoindex_public_keys_2public_keys5I#indexsqlite_autoindex_public_keys_1public_keysx=/indexrevision_ancestry__childrevision_ancestryCREATE INDEX revision_ancestry__child ON revision_ancestry (child)$;;_tablenext_roster_node_numbernext_roster_node_numberCREATE TABLE next_roster_node_number ( node primary key -- only one entry in this table, ever )Ma;indexsqlite_autoindex_next_roster_node_number_1next_roster_node_numberN++Stablerevision_rosterrevision_rosterCREATE TABLE revision_roster ( rev_id primary key, -- joins with revisions.id roster_id not null -- joins with either rosters.id or roster_deltas.id )=Q+indexsqlite_autoindex_revision_roster_1revision_roster''ytableroster_deltasroster_deltasCREATE TABLE roster_deltas ( id not null, -- strong hash of the roster base not null, -- joins with either rosters.id or roster_deltas.id delta not null, -- rdiff to construct current from base unique(id, base) )9M'indexsqlite_autoindex_roster_deltas_1roster_deltas2 ;tablerostersrostersCREATE TABLE rosters ( id primary key, -- strong hash of the roster data not null -- compressed, encoded contents of the roster )-Aindexsqlite_autoindex_rosters_1rostersL //Gtablerevision_ancestryrevision_ancestry CREATE TABLE revision_ancestry ( parent not null, -- joins with revisions.id child not null, -- joins with revisions.id unique(parent, child) )A U/indexsqlite_autoindex_revision_ancestry_1revision_ancestry / -tablerevisionsrevisions CREATE TABLE revisions ( id primary key, -- SHA1(text of revision) data not null -- compressed, encoded contents of a revision )1 Eindexsqlite_autoindex_revisions_1revisions 0++tablemanifest_deltasmanifest_deltasCREATE TABLE manifest_deltas ( id not null, -- strong hash of all the entries in a manifest base not null, -- joins with either manifest.id or manifest_deltas.id delta not null, -- rdiff to construct current from base unique(id, base) )=Q+indexsqlite_autoindex_manifest_deltas_1manifest_deltas EYtablemanifestsmanifestsCREATE TABLE manifests ( id primary key, -- strong hash of all the entries in a manifest data not null -- compressed, encoded contents of a manifest )1Eindexsqlite_autoindex_manifests_1manifests##Wtablefile_deltasfile_deltasCREATE TABLE file_deltas ( id not null, -- strong hash of file contents base not null, -- joins with files.id or file_deltas.id delta not null, -- compressed rdiff to construct current from base unique(id, base) )5I#indexsqlite_autoindex_file_deltas_1file_deltas tablefilesfilesCREATE TABLE files ( id primary key, -- strong hash of file contents data not null -- compressed contents of a file ))=indexsqlite_autoindex_files_1files-0xqjc\UNG@92+$gÈbZ/(W3+s=*uކHU|8%vOpHjuqdDž^_0Y&Sj_N(H!B<ʄw6섩1W+E%ph1k]7J YH~X{xesen:ޥd` S/)h5].]d9398f1c7ffff943857d824c01b0ce446aa763328b.]ada644546a77a35f726274afdb17e43d0e5c0f18B .]81b738d08bad4dfa52426ec097aa0f7cac2a2683|.]57382d4eff9048f3bda5526195263c426d1cd57c-]2c299f827e14a7f8e71f2970df3ef69f9e66bc05Qu*{tmf_XQJC<5.'  =اW1+4!7%?"Q;&G -Y 2 {:qtcmiwNe2am%]Y@YIU; PJG{FaB6=N9c>56Z1,刡S(#">慴: DW]]8113c0b644b9bfe28202eed140b40f66616d5f11bbdb031f31892e8d37857d0aa3fe140598404a63-  / 3LQ̕fNDžsh5+F[h#r%Ai6ihG.]bfdcd5a6e337dccdc2ee454f439c44d3500444d8T8m.]7f4e6042ead4d22fb4fcba335853135f90ed649a֤E.]207fb32fb5a9d83b919804f7cb8bfd025eea56be-]a016995f2894ca9f2b51708c6efa4375ca03eecd`rF-]41d0ab0895fbc0a029380648a12208e60c573727z6.]e0c484c0d2d6fd08cc03c4bff7c60cc6e544431fM,2-]bfa6ff116ba620418aa439631fe7bc954636e54f:A.]5e4e7e240ac445f2da7392ac3b0a35682f09698b.އF݃XPB{cVgx30 =W]]4d196f821aa6d6b9f1352e40c424bff5b4289584e62d24eb3dc041ee37a9ce2346aa4c4ec55722c6-yW]]455d7ee5b93cb3f1850588ba42a8ed0b385efc5e118baaff3e71c433490f21dfe458321f73e8cc40̲W]]0a1b23a18749fe59a6fd3413fb93460cdbd8775d28fa1c5ff30d4d68d4c2318d6b90813da4abd8da7W]]bb5d70a7c0673708852d2ab8a62741a777811e4521086935c747041e288a71b230b2de02c0ba82fcV]]5f71f7413a3ede8eaed2223aa4a439744c17d2eec755fe456579a50d694dbb09e77c137be92deecd5LW]]565f85252ee8953327da14d452f5c5b22aa8c0d72e975f2c69d822e1a48d9b61bc3c35b00b9392f2n W]]9f7e5630a314a8a99d677743afa32428a1c31f7474a52cbd6d0115ba9aa5c2f134e83ec9f37f5ec4p#jW]]963328d573d06ba070ef721a9b69ad97a81886cc1ffd70e0d411ffafa3a14eb4e2f6233572689446 yV]]b2e0a49520b1860610524caaf417524da9ae87833019c727334d1ae622cd46c2b6da34e105dba60b7ΈV]]8cb3c164622d962dbc79d66cbb70d4b310dd137cc158928fe523d0eaa36651be3003fe623c277711*;V]]d74577c80924f497eb325a378571d96a417468b82d5af8d4201d176b1c1c883cd102eb455c004ff6V]]2891004b827b671bba595b48b8dabef83fc1f27179dbd07ee501d1df2f24a7aacba1874a3e6157f3W]]3c007d7f36525597e754d1b39057ff99d7e5130bf2152e5220742243717af0709ee72469ff8dcbafXGݯW]]1e8306d9ea9b6895b641821f7a52d4f6e190c4df4cf0290c35460510b734f0f61705c716d798baec ̳W]]1418701f63a5cc328bfcd36921c8de948a1ca56df092c306b37dfc8fa39e5324a3027cd9d183dbea3W]]a9437a92b796b1704ff3292ea0b2a9566f7060827a905259a3cd58c43670021ce4a1a03b2abcf27fcW]]7adafceed2f3f0ba57b62a23a4955200c1463ae997ee310d4e01a559c643d7888a52e7f437357ede4YV]]521efd439689e29ce9d111a8e72f21862d853e24a5b31b889dec492bea744c1b5f0b313ebbc339b28W]]e1c8bcf61161522a05585c5c55336bd8fdf7ffce4e2c027ca01bd9648b4186f13fe6fd5082f13eaaBoMW]]845a388e5e4c06a98da0e787d003dbe648fc0c472db6ea4f2d7ad0aab9942d401ab774bde316534ekW]]c50abfaa33c558be608101084d531933855290df0d589a5c664e03d58fb956d03c33e46767a413b9,3W]]ebbee92766580d021be39d06b08b972415f6bc7585bfd44f8d3f7b5a006e2832f235b3062a70c87d`W]]32b4dcdace9629cabb43a2c6f0449619d3f3c57313650d434c515ce1aceddb1c70356313eb27d995/G\W]]e0e65d2feb45931bccd905f1d06ea5736f355cadf5db0d83c24236179f1a86e12f33a773cf4fa6c7W]]ce9eaf18897b0e5bee0f1c1e6ec2391bf551a0531370e933924183a11d85404465547601eaba41a9 W]]f5f344d21663f502b8e944c86b7871dc836d566a9309e96608e78099d383879b6ef19cc00773a50b?`W]]67518ce4893477d7577f8931e6f7d507973a13375fa81f132ae88593bdfebc2cd7dd537cc5a22992#\W]]28fab76d2c13234072c1fac40f6c2ab4ba95d2f578024a02e1ee449f286a66736e915c623f9bf54dbXW]]7142103d1d477928a8688398a59fc80a07335c1ea55728de7ddbff40170bbe8e88613c7aa75cdd0e5~AS~ytoje`[VQLGB=83.)$ ysmga[UOIC=71+% }wqke_YSMGAQ{ O N% "p !ʂ  MFPi{y@xwЁvtrqjifeca_\"ZYyWV UTRQPgOwN_LKKPJρHŁGSFJDBց?ü;:[75 1L0 /;-,+([&݁#!s slC~|{zxwvotrnke`s_p[xXFW3VU PLIDCB@z?T<J6b4C2502-V,$* %"M   ron,]9712678cfe245f7216243dc60493157bb6ba43d2B/+