]> git.madduck.net Git - etc/vim.git/blob - tests/data/simple_cases/expression.diff

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

Fix CI with latest flake8-bugbear (#3412)
[etc/vim.git] / tests / data / simple_cases / expression.diff
1 --- [Deterministic header]
2 +++ [Deterministic header]
3 @@ -1,8 +1,8 @@
4  ...
5 -'some_string'
6 -b'\\xa3'
7 +"some_string"
8 +b"\\xa3"
9  Name
10  None
11  True
12  False
13  1
14 @@ -21,99 +21,135 @@
15  Name1 or (Name2 and Name3) or Name4
16  Name1 or Name2 and Name3 or Name4
17  v1 << 2
18  1 >> v2
19  1 % finished
20 -1 + v2 - v3 * 4 ^ 5 ** v6 / 7 // 8
21 -((1 + v2) - (v3 * 4)) ^ (((5 ** v6) / 7) // 8)
22 +1 + v2 - v3 * 4 ^ 5**v6 / 7 // 8
23 +((1 + v2) - (v3 * 4)) ^ (((5**v6) / 7) // 8)
24  not great
25  ~great
26  +value
27  -1
28  ~int and not v1 ^ 123 + v2 | True
29  (~int) and (not ((v1 ^ (123 + v2)) | True))
30 -+really ** -confusing ** ~operator ** -precedence
31 -flags & ~ select.EPOLLIN and waiters.write_task is not None
32 ++(really ** -(confusing ** ~(operator**-precedence)))
33 +flags & ~select.EPOLLIN and waiters.write_task is not None
34  lambda arg: None
35  lambda a=True: a
36  lambda a, b, c=True: a
37 -lambda a, b, c=True, *, d=(1 << v2), e='str': a
38 -lambda a, b, c=True, *vararg, d=(v1 << 2), e='str', **kwargs: a + b
39 +lambda a, b, c=True, *, d=(1 << v2), e="str": a
40 +lambda a, b, c=True, *vararg, d=(v1 << 2), e="str", **kwargs: a + b
41  manylambdas = lambda x=lambda y=lambda z=1: z: y(): x()
42 -foo = (lambda port_id, ignore_missing: {"port1": port1_resource, "port2": port2_resource}[port_id])
43 +foo = lambda port_id, ignore_missing: {
44 +    "port1": port1_resource,
45 +    "port2": port2_resource,
46 +}[port_id]
47  1 if True else 2
48  str or None if True else str or bytes or None
49  (str or None) if True else (str or bytes or None)
50  str or None if (1 if True else 2) else str or bytes or None
51  (str or None) if (1 if True else 2) else (str or bytes or None)
52 -((super_long_variable_name or None) if (1 if super_long_test_name else 2) else (str or bytes or None))
53 -{'2.7': dead, '3.7': (long_live or die_hard)}
54 -{'2.7': dead, '3.7': (long_live or die_hard), **{'3.6': verygood}}
55 +(
56 +    (super_long_variable_name or None)
57 +    if (1 if super_long_test_name else 2)
58 +    else (str or bytes or None)
59 +)
60 +{"2.7": dead, "3.7": (long_live or die_hard)}
61 +{"2.7": dead, "3.7": (long_live or die_hard), **{"3.6": verygood}}
62  {**a, **b, **c}
63 -{'2.7', '3.6', '3.7', '3.8', '3.9', ('4.0' if gilectomy else '3.10')}
64 -({'a': 'b'}, (True or False), (+value), 'string', b'bytes') or None
65 +{"2.7", "3.6", "3.7", "3.8", "3.9", ("4.0" if gilectomy else "3.10")}
66 +({"a": "b"}, (True or False), (+value), "string", b"bytes") or None
67  ()
68  (1,)
69  (1, 2)
70  (1, 2, 3)
71  []
72  [1, 2, 3, 4, 5, 6, 7, 8, 9, (10 or A), (11 or B), (12 or C)]
73 -[1, 2, 3,]
74 +[
75 +    1,
76 +    2,
77 +    3,
78 +]
79  [*a]
80  [*range(10)]
81 -[*a, 4, 5,]
82 -[4, *a, 5,]
83 -[this_is_a_very_long_variable_which_will_force_a_delimiter_split, element, another, *more]
84 +[
85 +    *a,
86 +    4,
87 +    5,
88 +]
89 +[
90 +    4,
91 +    *a,
92 +    5,
93 +]
94 +[
95 +    this_is_a_very_long_variable_which_will_force_a_delimiter_split,
96 +    element,
97 +    another,
98 +    *more,
99 +]
100  {i for i in (1, 2, 3)}
101 -{(i ** 2) for i in (1, 2, 3)}
102 -{(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))}
103 -{((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
104 +{(i**2) for i in (1, 2, 3)}
105 +{(i**2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))}
106 +{((i**2) + j) for i in (1, 2, 3) for j in (1, 2, 3)}
107  [i for i in (1, 2, 3)]
108 -[(i ** 2) for i in (1, 2, 3)]
109 -[(i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c'))]
110 -[((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
111 +[(i**2) for i in (1, 2, 3)]
112 +[(i**2) for i, _ in ((1, "a"), (2, "b"), (3, "c"))]
113 +[((i**2) + j) for i in (1, 2, 3) for j in (1, 2, 3)]
114  {i: 0 for i in (1, 2, 3)}
115 -{i: j for i, j in ((1, 'a'), (2, 'b'), (3, 'c'))}
116 +{i: j for i, j in ((1, "a"), (2, "b"), (3, "c"))}
117  {a: b * 2 for a, b in dictionary.items()}
118  {a: b * -2 for a, b in dictionary.items()}
119 -{k: v for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension}
120 +{
121 +    k: v
122 +    for k, v in this_is_a_very_long_variable_which_will_cause_a_trailing_comma_which_breaks_the_comprehension
123 +}
124  Python3 > Python2 > COBOL
125  Life is Life
126  call()
127  call(arg)
128 -call(kwarg='hey')
129 -call(arg, kwarg='hey')
130 -call(arg, another, kwarg='hey', **kwargs)
131 -call(this_is_a_very_long_variable_which_will_force_a_delimiter_split, arg, another, kwarg='hey', **kwargs)  # note: no trailing comma pre-3.6
132 +call(kwarg="hey")
133 +call(arg, kwarg="hey")
134 +call(arg, another, kwarg="hey", **kwargs)
135 +call(
136 +    this_is_a_very_long_variable_which_will_force_a_delimiter_split,
137 +    arg,
138 +    another,
139 +    kwarg="hey",
140 +    **kwargs
141 +)  # note: no trailing comma pre-3.6
142  call(*gidgets[:2])
143  call(a, *gidgets[:2])
144  call(**self.screen_kwargs)
145  call(b, **self.screen_kwargs)
146  lukasz.langa.pl
147  call.me(maybe)
148 -1 .real
149 -1.0 .real
150 +(1).real
151 +(1.0).real
152  ....__class__
153  list[str]
154  dict[str, int]
155  tuple[str, ...]
156 +tuple[str, int, float, dict[str, int]]
157  tuple[
158 -    str, int, float, dict[str, int]
159 -]
160 -tuple[str, int, float, dict[str, int],]
161 +    str,
162 +    int,
163 +    float,
164 +    dict[str, int],
165 +]
166  very_long_variable_name_filters: t.List[
167      t.Tuple[str, t.Union[str, t.List[t.Optional[str]]]],
168  ]
169  xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
170      sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
171  )
172  xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(  # type: ignore
173      sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
174  )
175 -xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[
176 -    ..., List[SomeClass]
177 -] = classmethod(sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__))  # type: ignore
178 +xxxx_xxx_xxxx_xxxxx_xxxx_xxx: Callable[..., List[SomeClass]] = classmethod(
179 +    sync(async_xxxx_xxx_xxxx_xxxxx_xxxx_xxx.__func__)
180 +)  # type: ignore
181  slice[0]
182  slice[0:1]
183  slice[0:1:2]
184  slice[:]
185  slice[:-1]
186 @@ -137,118 +173,199 @@
187  numpy[-(c + 1) :, d]
188  numpy[:, l[-2]]
189  numpy[:, ::-1]
190  numpy[np.newaxis, :]
191  (str or None) if (sys.version_info[0] > (3,)) else (str or bytes or None)
192 -{'2.7': dead, '3.7': long_live or die_hard}
193 -{'2.7', '3.6', '3.7', '3.8', '3.9', '4.0' if gilectomy else '3.10'}
194 +{"2.7": dead, "3.7": long_live or die_hard}
195 +{"2.7", "3.6", "3.7", "3.8", "3.9", "4.0" if gilectomy else "3.10"}
196  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10 or A, 11 or B, 12 or C]
197  (SomeName)
198  SomeName
199  (Good, Bad, Ugly)
200  (i for i in (1, 2, 3))
201 -((i ** 2) for i in (1, 2, 3))
202 -((i ** 2) for i, _ in ((1, 'a'), (2, 'b'), (3, 'c')))
203 -(((i ** 2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
204 +((i**2) for i in (1, 2, 3))
205 +((i**2) for i, _ in ((1, "a"), (2, "b"), (3, "c")))
206 +(((i**2) + j) for i in (1, 2, 3) for j in (1, 2, 3))
207  (*starred,)
208 -{"id": "1","type": "type","started_at": now(),"ended_at": now() + timedelta(days=10),"priority": 1,"import_session_id": 1,**kwargs}
209 +{
210 +    "id": "1",
211 +    "type": "type",
212 +    "started_at": now(),
213 +    "ended_at": now() + timedelta(days=10),
214 +    "priority": 1,
215 +    "import_session_id": 1,
216 +    **kwargs,
217 +}
218  a = (1,)
219 -b = 1,
220 +b = (1,)
221  c = 1
222  d = (1,) + a + (2,)
223  e = (1,).count(1)
224  f = 1, *range(10)
225  g = 1, *"ten"
226 -what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(vars_to_remove)
227 -what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(vars_to_remove)
228 -result = session.query(models.Customer.id).filter(models.Customer.account_id == account_id, models.Customer.email == email_address).order_by(models.Customer.id.asc()).all()
229 -result = session.query(models.Customer.id).filter(models.Customer.account_id == account_id, models.Customer.email == email_address).order_by(models.Customer.id.asc(),).all()
230 +what_is_up_with_those_new_coord_names = (coord_names + set(vars_to_create)) + set(
231 +    vars_to_remove
232 +)
233 +what_is_up_with_those_new_coord_names = (coord_names | set(vars_to_create)) - set(
234 +    vars_to_remove
235 +)
236 +result = (
237 +    session.query(models.Customer.id)
238 +    .filter(
239 +        models.Customer.account_id == account_id, models.Customer.email == email_address
240 +    )
241 +    .order_by(models.Customer.id.asc())
242 +    .all()
243 +)
244 +result = (
245 +    session.query(models.Customer.id)
246 +    .filter(
247 +        models.Customer.account_id == account_id, models.Customer.email == email_address
248 +    )
249 +    .order_by(
250 +        models.Customer.id.asc(),
251 +    )
252 +    .all()
253 +)
254  Ø = set()
255  authors.łukasz.say_thanks()
256  mapping = {
257      A: 0.25 * (10.0 / 12),
258      B: 0.1 * (10.0 / 12),
259      C: 0.1 * (10.0 / 12),
260      D: 0.1 * (10.0 / 12),
261  }
262  
263 +
264  def gen():
265      yield from outside_of_generator
266 -    a = (yield)
267 -    b = ((yield))
268 -    c = (((yield)))
269 +    a = yield
270 +    b = yield
271 +    c = yield
272 +
273  
274  async def f():
275      await some.complicated[0].call(with_args=(True or (1 is not 1)))
276 -print(* [] or [1])
277 +
278 +
279 +print(*[] or [1])
280  print(**{1: 3} if False else {x: x for x in range(3)})
281 -print(* lambda x: x)
282 -assert(not Test),("Short message")
283 -assert this is ComplexTest and not requirements.fit_in_a_single_line(force=False), "Short message"
284 -assert(((parens is TooMany)))
285 -for x, in (1,), (2,), (3,): ...
286 -for y in (): ...
287 -for z in (i for i in (1, 2, 3)): ...
288 -for i in (call()): ...
289 -for j in (1 + (2 + 3)): ...
290 -while(this and that): ...
291 -for addr_family, addr_type, addr_proto, addr_canonname, addr_sockaddr in socket.getaddrinfo('google.com', 'http'):
292 +print(*lambda x: x)
293 +assert not Test, "Short message"
294 +assert this is ComplexTest and not requirements.fit_in_a_single_line(
295 +    force=False
296 +), "Short message"
297 +assert parens is TooMany
298 +for (x,) in (1,), (2,), (3,):
299 +    ...
300 +for y in ():
301 +    ...
302 +for z in (i for i in (1, 2, 3)):
303 +    ...
304 +for i in call():
305 +    ...
306 +for j in 1 + (2 + 3):
307 +    ...
308 +while this and that:
309 +    ...
310 +for (
311 +    addr_family,
312 +    addr_type,
313 +    addr_proto,
314 +    addr_canonname,
315 +    addr_sockaddr,
316 +) in socket.getaddrinfo("google.com", "http"):
317      pass
318 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
319 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
320 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
321 -a = aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
322 -if (
323 -    threading.current_thread() != threading.main_thread() and
324 -    threading.current_thread() != threading.main_thread() or
325 -    signal.getsignal(signal.SIGINT) != signal.default_int_handler
326 -):
327 -    return True
328 -if (
329 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa |
330 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
331 -):
332 -    return True
333 -if (
334 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa &
335 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
336 -):
337 -    return True
338 -if (
339 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +
340 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
341 -):
342 -    return True
343 -if (
344 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa -
345 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
346 -):
347 -    return True
348 -if (
349 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa *
350 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
351 -):
352 -    return True
353 -if (
354 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa /
355 -    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
356 -):
357 -    return True
358 -if (
359 -    ~ aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l ** aaaa.m // aaaa.n
360 -):
361 -    return True
362 -if (
363 -    ~ aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l ** aaaaaaaa.m // aaaaaaaa.n
364 -):
365 -    return True
366 -if (
367 -    ~ aaaaaaaaaaaaaaaa.a + aaaaaaaaaaaaaaaa.b - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h ^ aaaaaaaaaaaaaaaa.i << aaaaaaaaaaaaaaaa.k >> aaaaaaaaaaaaaaaa.l ** aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
368 -):
369 -    return True
370 -aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa - aaaaaaaaaaaaaaaa * (aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa) / (aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa)
371 +a = (
372 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
373 +    in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
374 +)
375 +a = (
376 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
377 +    not in qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
378 +)
379 +a = (
380 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
381 +    is qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
382 +)
383 +a = (
384 +    aaaa.bbbb.cccc.dddd.eeee.ffff.gggg.hhhh.iiii.jjjj.kkkk.llll.mmmm.nnnn.oooo.pppp
385 +    is not qqqq.rrrr.ssss.tttt.uuuu.vvvv.xxxx.yyyy.zzzz
386 +)
387 +if (
388 +    threading.current_thread() != threading.main_thread()
389 +    and threading.current_thread() != threading.main_thread()
390 +    or signal.getsignal(signal.SIGINT) != signal.default_int_handler
391 +):
392 +    return True
393 +if (
394 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
395 +    | aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
396 +):
397 +    return True
398 +if (
399 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
400 +    & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
401 +):
402 +    return True
403 +if (
404 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
405 +    + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
406 +):
407 +    return True
408 +if (
409 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
410 +    - aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
411 +):
412 +    return True
413 +if (
414 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
415 +    * aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
416 +):
417 +    return True
418 +if (
419 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
420 +    / aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
421 +):
422 +    return True
423 +if (
424 +    ~aaaa.a + aaaa.b - aaaa.c * aaaa.d / aaaa.e
425 +    | aaaa.f & aaaa.g % aaaa.h ^ aaaa.i << aaaa.k >> aaaa.l**aaaa.m // aaaa.n
426 +):
427 +    return True
428 +if (
429 +    ~aaaaaaaa.a + aaaaaaaa.b - aaaaaaaa.c @ aaaaaaaa.d / aaaaaaaa.e
430 +    | aaaaaaaa.f & aaaaaaaa.g % aaaaaaaa.h
431 +    ^ aaaaaaaa.i << aaaaaaaa.k >> aaaaaaaa.l**aaaaaaaa.m // aaaaaaaa.n
432 +):
433 +    return True
434 +if (
435 +    ~aaaaaaaaaaaaaaaa.a
436 +    + aaaaaaaaaaaaaaaa.b
437 +    - aaaaaaaaaaaaaaaa.c * aaaaaaaaaaaaaaaa.d @ aaaaaaaaaaaaaaaa.e
438 +    | aaaaaaaaaaaaaaaa.f & aaaaaaaaaaaaaaaa.g % aaaaaaaaaaaaaaaa.h
439 +    ^ aaaaaaaaaaaaaaaa.i
440 +    << aaaaaaaaaaaaaaaa.k
441 +    >> aaaaaaaaaaaaaaaa.l**aaaaaaaaaaaaaaaa.m // aaaaaaaaaaaaaaaa.n
442 +):
443 +    return True
444 +(
445 +    aaaaaaaaaaaaaaaa
446 +    + aaaaaaaaaaaaaaaa
447 +    - aaaaaaaaaaaaaaaa
448 +    * (aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa)
449 +    / (aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa)
450 +)
451  aaaaaaaaaaaaaaaa + aaaaaaaaaaaaaaaa
452 -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa >> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa << aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
453 +(
454 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
455 +    >> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
456 +    << aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
457 +)
458  bbbb >> bbbb * bbbb
459 -aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa ^bbbb.a & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa^aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
460 +(
461 +    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
462 +    ^ bbbb.a & aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
463 +    ^ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
464 +)
465  last_call()
466  # standalone comment at ENDMARKER