)]}'
{
  "log": [
    {
      "commit": "9e902df6be2cb7444e5a0f7e2e72bcbf3b978f3e",
      "tree": "18097b73e7dff21688f4c9fee8bc785c63a19766",
      "parents": [
        "78e917d59c30c3d5a4cda7f47e0f40f1c98f9b02"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Mon Apr 28 02:16:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 28 08:58:46 2008 -0700"
      },
      "message": "reiserfs: le*_add_cpu conversion\n\nreplace all:\nlittle_endian_variable \u003d cpu_to_leX(leX_to_cpu(little_endian_variable) +\n\t\t\t\t\texpression_in_cpu_byteorder);\nwith:\n\tleX_add_cpu(\u0026little_endian_variable, expression_in_cpu_byteorder);\ngenerated with semantic patch\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c06a018fa5362fa9ed0768bd747c0fab26bc8849",
      "tree": "0917dcb33dd42162076d163f12d1ebc4c7f75c2e",
      "parents": [
        "7bb67c14fd3778504fb77da30ce11582336dfced"
      ],
      "author": {
        "name": "Fengguang Wu",
        "email": "wfg@mail.ustc.edu.cn",
        "time": "Wed Nov 14 16:59:54 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Nov 14 18:45:41 2007 -0800"
      },
      "message": "reiserfs: don\u0027t drop PG_dirty when releasing sub-page-sized dirty file\n\nThis is not a new problem in 2.6.23-git17.  2.6.22/2.6.23 is buggy in the\nsame way.\n\nReiserfs could accumulate dirty sub-page-size files until umount time.\nThey cannot be synced to disk by pdflush routines or explicit `sync\u0027\ncommands.  Only `umount\u0027 can do the trick.\n\nThe direct cause is: the dirty page\u0027s PG_dirty is wrongly _cleared_.\nCall trace:\n\t [\u003cffffffff8027e920\u003e] cancel_dirty_page+0xd0/0xf0\n\t [\u003cffffffff8816d470\u003e] :reiserfs:reiserfs_cut_from_item+0x660/0x710\n\t [\u003cffffffff8816d791\u003e] :reiserfs:reiserfs_do_truncate+0x271/0x530\n\t [\u003cffffffff8815872d\u003e] :reiserfs:reiserfs_truncate_file+0xfd/0x3b0\n\t [\u003cffffffff8815d3d0\u003e] :reiserfs:reiserfs_file_release+0x1e0/0x340\n\t [\u003cffffffff802a187c\u003e] __fput+0xcc/0x1b0\n\t [\u003cffffffff802a1ba6\u003e] fput+0x16/0x20\n\t [\u003cffffffff8029e676\u003e] filp_close+0x56/0x90\n\t [\u003cffffffff8029fe0d\u003e] sys_close+0xad/0x110\n\t [\u003cffffffff8020c41e\u003e] system_call+0x7e/0x83\n\nFix the bug by removing the cancel_dirty_page() call. Tests show that\nit causes no bad behaviors on various write sizes.\n\n\u003d\u003d\u003d for the patient \u003d\u003d\u003d\nHere are more detailed demonstrations of the problem.\n\n1) the page has both PG_dirty(D)/PAGECACHE_TAG_DIRTY(d) after being written to;\n   and then only PAGECACHE_TAG_DIRTY(d) remains after the file is closed.\n\n------------------------------ screen 0 ------------------------------\n[T0] root /home/wfg# cat \u003e /test/tiny\n[T1] hi\n[T2] root /home/wfg#\n\n------------------------------ screen 1 ------------------------------\n[T1] root /home/wfg# echo /test/tiny \u003e /proc/filecache\n[T1] root /home/wfg# cat /proc/filecache\n     # file /test/tiny\n     # flags R:referenced A:active M:mmap U:uptodate D:dirty W:writeback O:owner B:buffer d:dirty w:writeback\n     # idx   len     state   refcnt\n     0       1       ___UD__Bd_      2\n[T2] root /home/wfg# cat /proc/filecache\n     # file /test/tiny\n     # flags R:referenced A:active M:mmap U:uptodate D:dirty W:writeback O:owner B:buffer d:dirty w:writeback\n     # idx   len     state   refcnt\n     0       1       ___U___Bd_      2\n\n2) note the non-zero \u0027cancelled_write_bytes\u0027 after /tmp/hi is copied.\n\n------------------------------ screen 0 ------------------------------\n[T0] root /home/wfg# echo hi \u003e /tmp/hi\n[T1] root /home/wfg# cp /tmp/hi /dev/stdin /test\n[T2] hi\n[T3] root /home/wfg#\n\n------------------------------ screen 1 ------------------------------\n[T1] root /proc/4397# cd /proc/`pidof cp`\n[T1] root /proc/4713# cat io\n     rchar: 8396\n     wchar: 3\n     syscr: 20\n     syscw: 1\n     read_bytes: 0\n     write_bytes: 20480\n     cancelled_write_bytes: 4096\n[T2] root /proc/4713# cat io\n     rchar: 8399\n     wchar: 6\n     syscr: 21\n     syscw: 2\n     read_bytes: 0\n     write_bytes: 24576\n     cancelled_write_bytes: 4096\n\n//Question: the \u0027write_bytes\u0027 is a bit more than expected ;-)\n\nTested-by: Maxim Levitsky \u003cmaximlevitsky@gmail.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Fengguang Wu \u003cwfg@mail.ustc.edu.cn\u003e\nReviewed-by: Chris Mason \u003cchris.mason@oracle.com\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ee1667042c350003b9d3f35e5666cc8c43ce8aa",
      "tree": "331217461b684c298397d7347431c500c5969148",
      "parents": [
        "6c57c2c8d3862c8d5b908669654f6565da74ec19"
      ],
      "author": {
        "name": "Jeff Mahoney",
        "email": "jeffm@suse.com",
        "time": "Thu Oct 18 23:39:25 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Oct 19 11:53:35 2007 -0700"
      },
      "message": "reiserfs: fix usage of signed ints for block numbers\n\nDo a quick signedness check for block numbers.  There are a number of places\nwhere signed integers are used for block numbers, which limits the usable file\nsystem size to 8 TiB.  The disk format, excepting a problem which will be\nfixed in the following patch, supports file systems up to 16 TiB in size.\nThis patch cleans up those sites so that we can enable the full usable size.\n\nSigned-off-by: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87588dd6663b6f306f03f2deaec0d0fd3f0cb26e",
      "tree": "85fd6c0107ec527087ea285766cec4bf2f07bffa",
      "parents": [
        "60262e58e305f27d05eefeda172117521514f364"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:47:03 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:58 2007 -0700"
      },
      "message": "more reiserfs endianness annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e63340ae6b6205fef26b40a75673d1c9c0c8bb90",
      "tree": "8d3212705515edec73c3936bb9e23c71d34a7b41",
      "parents": [
        "04c9167f91e309c9c4ea982992aa08e83b2eb42e"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Tue May 08 00:28:08 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:07 2007 -0700"
      },
      "message": "header cleaning: don\u0027t include smp_lock.h when not used\n\nRemove includes of \u003clinux/smp_lock.h\u003e where it is not used/needed.\nSuggested by Al Viro.\n\nBuilds cleanly on x86_64, i386, alpha, ia64, powerpc, sparc,\nsparc64, and arm (all 59 defconfigs).\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ffaa82008f1aad52a6d3979f49d2a76c2928b60f",
      "tree": "82ababcc23d02c48d59a52ca9f5c75c23bc7f108",
      "parents": [
        "8368e328dfe1c534957051333a87b3210a12743b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 23 09:32:45 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Sat Dec 23 09:32:45 2006 -0800"
      },
      "message": "Fix reiserfs after \"test_clear_page_dirty()\" removal\n\nThanks to Len Brown for testing this fix, since while they have in the\npast, none of my machines run reiserfs at the moment.\n\nCc: Vladimir V. Saveliev \u003cvs@namesys.com\u003e\nAcked-by: Len Brown \u003clenb@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "fec6d055da71fb02a76f9c2c12427fa79974018b",
      "tree": "d6fb2e5fea74ab83280389ef8a16564bf284ebc5",
      "parents": [
        "0cc72dc7f050188d8d7344b1dd688cbc68d3cd30"
      ],
      "author": {
        "name": "Josef \"Jeff\" Sipek",
        "email": "jsipek@cs.sunysb.edu",
        "time": "Fri Dec 08 02:36:32 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.osdl.org",
        "time": "Fri Dec 08 08:28:40 2006 -0800"
      },
      "message": "[PATCH] struct path: rename Reiserfs\u0027s struct path\n\nRename Reiserfs\u0027s struct path to struct treepath to prevent name collision\nbetween it and struct path from fs/namei.c.\n\nSigned-off-by: Josef \"Jeff\" Sipek \u003cjsipek@cs.sunysb.edu\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "14a61442c2203d2a49f2f954bfa9259c0ddac1aa",
      "tree": "c146effc3dbaa41dd6fdd01e6f3f8fcdd63ad705",
      "parents": [
        "8d8f3cbe777e014123bfa63f2cebd6eb29032225"
      ],
      "author": {
        "name": "Eric Sesterhenn",
        "email": "snakebyte@gmx.de",
        "time": "Tue Oct 03 23:36:38 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Tue Oct 03 23:36:38 2006 +0200"
      },
      "message": "BUG_ON conversion for fs/reiserfs\n\nThis patch converts several if () BUG(); construct to BUG_ON();\nwhich occupies less space, uses unlikely and is safer when\nBUG() is disabled. S_ISREG() has no side effects, so the\nconversion is safe.\n\nSigned-off-by: Eric Sesterhenn \u003csnakebyte@gmx.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "6ab3d5624e172c553004ecc862bfeac16d9d68b7",
      "tree": "6d98881fe91fd9583c109208d5c27131b93fa248",
      "parents": [
        "e02169b682bc448ccdc819dc8639ed34a23cedd8"
      ],
      "author": {
        "name": "Jörn Engel",
        "email": "joern@wohnheim.fh-wedel.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "committer": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Fri Jun 30 19:25:36 2006 +0200"
      },
      "message": "Remove obsolete #include \u003clinux/config.h\u003e\n\nSigned-off-by: Jörn Engel \u003cjoern@wohnheim.fh-wedel.de\u003e\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\n"
    },
    {
      "commit": "23f9e0f891c9b159a199629d4426f6ae0c383508",
      "tree": "bc34ab7abe6de4d7b3a7741c1ab5d97ddc29f133",
      "parents": [
        "bdfc326614b90e7bc47ee4a8fed05988555f0169"
      ],
      "author": {
        "name": "Alexander Zarochentzev",
        "email": "zam@namesys.com",
        "time": "Sat Mar 25 03:06:57 2006 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sat Mar 25 08:22:51 2006 -0800"
      },
      "message": "[PATCH] reiserfs: fix transaction overflowing\n\nThis patch fixes a bug in reiserfs truncate.  A transaction might overflow\nwhen truncating long highly fragmented file.  The fix is to split\ntruncation into several transactions to avoid overflowing.\n\nSigned-off-by: Vladimir V. Saveliev \u003cvs@namesys.com\u003e\nCc; Charles McColgan \u003ccm@chuck.net\u003e\nCc: Alexander Zarochentsev \u003czam@namesys.com\u003e\nCc: Hans Reiser \u003creiser@namesys.com\u003e\nCc: Chris Mason \u003cmason@suse.com\u003e\nCc: Jeff Mahoney \u003cjeffm@suse.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "bd4c625c061c2a38568d0add3478f59172455159",
      "tree": "1c44a17c55bce2ee7ad5ea3d15a208ecc0955f74",
      "parents": [
        "7fa94c8868edfef8cb6a201fcc9a5078b7b961da"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:21:28 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Jul 12 20:21:28 2005 -0700"
      },
      "message": "reiserfs: run scripts/Lindent on reiserfs code\n\nThis was a pure indentation change, using:\n\n\tscripts/Lindent fs/reiserfs/*.c include/linux/reiserfs_*.h\n\nto make reiserfs match the regular Linux indentation style.  As Jeff\nMahoney \u003cjeffm@suse.com\u003e writes:\n\n The ReiserFS code is a mix of a number of different coding styles, sometimes\n different even from line-to-line. Since the code has been relatively stable\n for quite some time and there are few outstanding patches to be applied, it\n is time to reformat the code to conform to the Linux style standard outlined\n in Documentation/CodingStyle.\n\n This patch contains the result of running scripts/Lindent against\n fs/reiserfs/*.c and include/linux/reiserfs_*.h. There are places where the\n code can be made to look better, but I\u0027d rather keep those patches separate\n so that there isn\u0027t a subtle by-hand hand accident in the middle of a huge\n patch. To be clear: This patch is reformatting *only*.\n\n A number of patches may follow that continue to make the code more consistent\n with the Linux coding style.\n\n Hans wasn\u0027t particularly enthusiastic about these patches, but said he\n wouldn\u0027t really oppose them either.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "52c1da39534fb382c061de58b65f678ad74b59f5",
      "tree": "92b18695f23afbc99374f844445f555a198978f2",
      "parents": [
        "d763b7a4736e219528f77bf6bc75dd78b1d75c03"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Thu Jun 23 22:05:33 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Fri Jun 24 00:06:43 2005 -0700"
      },
      "message": "[PATCH] make various thing static\n\nAnother rollup of patches which give various symbols static scope\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f359b74c80bc76c1f6c2cb8f2837882f2335ba0c",
      "tree": "b1f1814337146dc0eb45620825ffe583c6303f59",
      "parents": [
        "1808caffaf448f0ad42ba04b25825fc170cf8e44"
      ],
      "author": {
        "name": "Vladimir Saveliev",
        "email": "vs@namesys.com",
        "time": "Sat May 21 16:33:34 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat May 21 16:45:24 2005 -0700"
      },
      "message": "[PATCH] reiserfs: max_key fix\n\nThis patch fixes a bug introduced by Al Viro\u0027s patch: [patch 136/174]\nreiserfs endianness: clone struct reiserfs_key\n\nThe problem is MAX_KEY and MAX_IN_CORE_KEY defined in this patch do not\nlook equal from reiserfs comp_key\u0027s point of view.  This caused reiserfs\u0027\nsanity check to complain.\n\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6b9f5829e6e3af44f20c681e26524c637d4f82ff",
      "tree": "2694220606477b9afc5a98d73f6980e334048c1f",
      "parents": [
        "b8cc936f6295bba23513a49d858ea82f64982faf"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Sun May 01 08:59:19 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:19 2005 -0700"
      },
      "message": "[PATCH] reiserfs endianness: comp_short_keys() cleanup\n\ncomp_short_keys() massaged into sane form, which kills the last place where\npointer to in_core_key (or any object containing such) would be cast to or\nfrom something else.  At that point we are free to change layout of\nin_core_key - nothing depends on it anymore.\n\nSo we drop the mess with union in there and simply use (unconditional) __u64\nk_offset and __u8 k_type instead; places using in_core_key switched to those.\nThat gives _far_ better code than current mess - on all platforms.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "3e8962be915bacc1d70e4849a075041838d60a3f",
      "tree": "e2ef686fa0a18a429456b252ed9352cdc1ae65de",
      "parents": [
        "6a3a16f2ef6f335286e2b2bf8284b0ab4ff38ec0"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Sun May 01 08:59:18 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:18 2005 -0700"
      },
      "message": "[PATCH] reiserfs endianness: annotate little-endian objects\n\nlittle-endian objects annotated as such; again, obviously no changes of\nresulting code, we only replace __u16 with __le16, etc.  in relevant places.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "6a3a16f2ef6f335286e2b2bf8284b0ab4ff38ec0",
      "tree": "ae559ba5915bf0ca29d6d5dfbd9f44e666f388ea",
      "parents": [
        "d46aa455dd5457fdbebad17db4ff4df655cbfbae"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Sun May 01 08:59:17 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sun May 01 08:59:17 2005 -0700"
      },
      "message": "[PATCH] reiserfs endianness: clone struct reiserfs_key\n\nstruct reiserfs_key cloned; (currently) identical struct in_core_key added.\nPlaces that expect host-endian data in reiserfs_key switched to in_core_key.\nBasically, we get annotation of reiserfs_key users and keep the resulting tree\nobviously equivalent to original.\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nCc: \u003creiserfs-dev@namesys.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
