[ "class", "'File'", "implements", "'Namespace'", "{", "'related'", ":", "{", "'parents'", ":", "'File'", "[", "]", "'viewers'", ":", "'User'", "[", "]", "'owners'", ":", "'User'", "[", "]", "'siblings'", ":", "'File'", "[", "]", "}", "'permits'", "=", "{", "'view'", ":", "(", "ctx", ":", "'Context'", ")", ":", "'boolean'", "=\u003e", "this", ".", "'related'", ".", "'parents'", ".", "'some'", "(", "'p'", "=\u003e", "'p'", ".", "'permits'", ".", "'view'", "(", "ctx", ")", ")", "||", "this", ".", "'related'", ".", "'viewers'", ".", "'includes'", "(", "ctx", ".", "'subject'", ")", "||", "!", "this", ".", "'related'", ".", "'owners'", ".", "'includes'", "(", "ctx", ".", "'subject'", ")", ",", "'edit'", ":", "(", "ctx", ":", "'Context'", ")", "=\u003e", "this", ".", "'related'", ".", "'owners'", ".", "'includes'", "(", "ctx", ".", "'subject'", ")", ",", "'rename'", ":", "(", "ctx", ":", "'Context'", ")", "=\u003e", "this", ".", "'related'", ".", "'siblings'", ".", "'some'", "(", "'s'", "=\u003e", "'s'", ".", "'permits'", ".", "'edit'", "(", "ctx", ")", ")", "}", "}", "EOF" ]