Coverage for fastapi/dependencies/models.py: 100%

115 statements  

« prev     ^ index     » next       coverage.py v7.6.1, created at 2025-12-04 08:29 +0000

1import inspect 1abcdefg

2import sys 1abcdefg

3from dataclasses import dataclass, field 1abcdefg

4from functools import cached_property, partial 1abcdefg

5from typing import Any, Callable, List, Optional, Sequence, Union 1abcdefg

6 

7from fastapi._compat import ModelField 1abcdefg

8from fastapi.security.base import SecurityBase 1abcdefg

9from fastapi.types import DependencyCacheKey 1abcdefg

10from typing_extensions import Literal 1abcdefg

11 

12if sys.version_info >= (3, 13): # pragma: no cover 1abcdefg

13 from inspect import iscoroutinefunction 1fg

14else: # pragma: no cover 

15 from asyncio import iscoroutinefunction 1abcde

16 

17 

18def _unwrapped_call(call: Optional[Callable[..., Any]]) -> Any: 1abcdefg

19 if call is None: 2a ldmdndodpdIkJkKkLkMkNkOkPkQk`b}f~fagbgcgdg%i'i(iCb{b|bm }b~bn aco bcccp dcChDhEhXb)i2 3 vb4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cng*i+iRkqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i?i.m/m@iQdRdSd[iSkTkUkog:m]i;m^i=mYlZl?m6 O VkWkDbecfcEbgchcTdUd_i`i{ihbP ib7 b VdWdXdYdZdXkYkZk0k1k2k3k4k5kicpgqgrgsgtgug|i}i~iFbjckcq lcmcr ncs ocpct qcUhVhWh2baj8 9 wb! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEgbjcj6k0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjkjgnhnlj?d@d[dmj7k8k9kFginnjjnojkn0l1lln$ Q !k#kGbrcscHbtcuc]d^dpjqjrjjbR kb% c _d`d{d|d}d$k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgsjtjujIbwcxcu yczcv Acw BcCcx Dc$h%h'h7bvj' ( xb) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVgwjxj.k~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEjFjh CnDnGjzeAeBeHj/k:k;kWgEnIjFnJjGn2l3lHn+ S =k?kJbEcFcKbGcHcCeDeEeKjLjMjlbT mb, d FeGeHeIeJe@k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gNjOjPjLbJcKcy LcMcz NcA OcPcB Qc^h_h`h$bQj- . yb/ : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$gRjSj~kKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZj0ji YnZn1j!e#e$e2jalblcl%g0n3j1n4j2n4l5l3n; U dlelMbRcScNbTcUc%e'e(e5j6j7jnbV ob= e )e*e+e,e-eflglhliljlklllmlnlVc'g(g)g*g+g,g8j9j!jObWcXcC YcZcD 0cE 1c2cF 3climini*b#j? @ zb[ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]g$j%jol.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-j.jj -n.n/jkflfmf:jplqlrl^g/n;j:n=j;n6l7l=n^ W sltlPb4c5cQb6c7cnfofpf?j@j[jpbX qb_ f qfrfsftfufulvlwlxlylzlAlBlCl8c_g`g{g|g}g~g]j^j_jRb9c!cG #c$cH %cI 'c(cJ )cDiEiFi/b`j` { Ab| } :bahbh;bchdhehfhgh=bhhhd?bihidjh{j|jDlvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiekfkk fogogkVfWfXfhkElFlGlkhhoikiojkjo8l9lko~ Y HlIlSb*c+cTb,c-cYfZf0fkklkmkrbZ sbabg 1f2f3f4fJlKlLlMlNlOlPlQlRl.clhmhnhohphqhnkokpkUb/c:cK ;c=cL ?cM @c[cN ]cViWiXi@bqkbbcbBbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhrkskSl5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkAkl BoCoBk]f^f_fCkTlUlVlBhDoDkEoEkFo!l#lGofb0 WlXlVb^c_cWb`c{c`f{f|fFkGkHktb1 ubgb

20 return call # pragma: no cover 

21 unwrapped = inspect.unwrap(_impartial(call)) 2a ldmdndodpdIkJkKkLkMkNkOkPkQk`b}f~fagbgcgdg%i'i(iCb{b|bm }b~bn aco bcccp dcChDhEhXb)i2 3 vb4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cng*i+iRkqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i?i.m/m@iQdRdSd[iSkTkUkog:m]i;m^i=mYlZl?m6 O VkWkDbecfcEbgchcTdUd_i`i{ihbP ib7 b VdWdXdYdZdXkYkZk0k1k2k3k4k5kicpgqgrgsgtgug|i}i~iFbjckcq lcmcr ncs ocpct qcUhVhWh2baj8 9 wb! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEgbjcj6k0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjkjgnhnlj?d@d[dmj7k8k9kFginnjjnojkn0l1lln$ Q !k#kGbrcscHbtcuc]d^dpjqjrjjbR kb% c _d`d{d|d}d$k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgsjtjujIbwcxcu yczcv Acw BcCcx Dc$h%h'h7bvj' ( xb) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVgwjxj.k~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEjFjh CnDnGjzeAeBeHj/k:k;kWgEnIjFnJjGn2l3lHn+ S =k?kJbEcFcKbGcHcCeDeEeKjLjMjlbT mb, d FeGeHeIeJe@k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gNjOjPjLbJcKcy LcMcz NcA OcPcB Qc^h_h`h$bQj- . yb/ : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$gRjSj~kKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZj0ji YnZn1j!e#e$e2jalblcl%g0n3j1n4j2n4l5l3n; U dlelMbRcScNbTcUc%e'e(e5j6j7jnbV ob= e )e*e+e,e-eflglhliljlklllmlnlVc'g(g)g*g+g,g8j9j!jObWcXcC YcZcD 0cE 1c2cF 3climini*b#j? @ zb[ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]g$j%jol.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-j.jj -n.n/jkflfmf:jplqlrl^g/n;j:n=j;n6l7l=n^ W sltlPb4c5cQb6c7cnfofpf?j@j[jpbX qb_ f qfrfsftfufulvlwlxlylzlAlBlCl8c_g`g{g|g}g~g]j^j_jRb9c!cG #c$cH %cI 'c(cJ )cDiEiFi/b`j` { Ab| } :bahbh;bchdhehfhgh=bhhhd?bihidjh{j|jDlvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiekfkk fogogkVfWfXfhkElFlGlkhhoikiojkjo8l9lko~ Y HlIlSb*c+cTb,c-cYfZf0fkklkmkrbZ sbabg 1f2f3f4fJlKlLlMlNlOlPlQlRl.clhmhnhohphqhnkokpkUb/c:cK ;c=cL ?cM @c[cN ]cViWiXi@bqkbbcbBbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhrkskSl5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkAkl BoCoBk]f^f_fCkTlUlVlBhDoDkEoEkFo!l#lGofb0 WlXlVb^c_cWb`c{c`f{f|fFkGkHktb1 ubgb

22 return unwrapped 2a ldmdndodpdIkJkKkLkMkNkOkPkQk`b}f~fagbgcgdg%i'i(iCb{b|bm }b~bn aco bcccp dcChDhEhXb)i2 3 vb4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cng*i+iRkqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i?i.m/m@iQdRdSd[iSkTkUkog:m]i;m^i=mYlZl?m6 O VkWkDbecfcEbgchcTdUd_i`i{ihbP ib7 b VdWdXdYdZdXkYkZk0k1k2k3k4k5kicpgqgrgsgtgug|i}i~iFbjckcq lcmcr ncs ocpct qcUhVhWh2baj8 9 wb! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEgbjcj6k0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjkjgnhnlj?d@d[dmj7k8k9kFginnjjnojkn0l1lln$ Q !k#kGbrcscHbtcuc]d^dpjqjrjjbR kb% c _d`d{d|d}d$k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgsjtjujIbwcxcu yczcv Acw BcCcx Dc$h%h'h7bvj' ( xb) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVgwjxj.k~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEjFjh CnDnGjzeAeBeHj/k:k;kWgEnIjFnJjGn2l3lHn+ S =k?kJbEcFcKbGcHcCeDeEeKjLjMjlbT mb, d FeGeHeIeJe@k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gNjOjPjLbJcKcy LcMcz NcA OcPcB Qc^h_h`h$bQj- . yb/ : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$gRjSj~kKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZj0ji YnZn1j!e#e$e2jalblcl%g0n3j1n4j2n4l5l3n; U dlelMbRcScNbTcUc%e'e(e5j6j7jnbV ob= e )e*e+e,e-eflglhliljlklllmlnlVc'g(g)g*g+g,g8j9j!jObWcXcC YcZcD 0cE 1c2cF 3climini*b#j? @ zb[ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]g$j%jol.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-j.jj -n.n/jkflfmf:jplqlrl^g/n;j:n=j;n6l7l=n^ W sltlPb4c5cQb6c7cnfofpf?j@j[jpbX qb_ f qfrfsftfufulvlwlxlylzlAlBlCl8c_g`g{g|g}g~g]j^j_jRb9c!cG #c$cH %cI 'c(cJ )cDiEiFi/b`j` { Ab| } :bahbh;bchdhehfhgh=bhhhd?bihidjh{j|jDlvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiekfkk fogogkVfWfXfhkElFlGlkhhoikiojkjo8l9lko~ Y HlIlSb*c+cTb,c-cYfZf0fkklkmkrbZ sbabg 1f2f3f4fJlKlLlMlNlOlPlQlRl.clhmhnhohphqhnkokpkUb/c:cK ;c=cL ?cM @c[cN ]cViWiXi@bqkbbcbBbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhrkskSl5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkAkl BoCoBk]f^f_fCkTlUlVlBhDoDkEoEkFo!l#lGofb0 WlXlVb^c_cWb`c{c`f{f|fFkGkHktb1 ubgb

23 

24 

25def _impartial(func: Callable[..., Any]) -> Callable[..., Any]: 1abcdefg

26 while isinstance(func, partial): 2a $l%l'lldmdndodpdIkJkKkLkMkNkOkPkQkHoIoJoKo`bLoMoNoOoPoQoRoSoToUoVoWo}f~fagbgcgdg%i'i(iXoYoCb{b|bm }b~bn aco bcccp dcZo0oChDhEhXb)i2 3 vb4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cng*i+iRk1o2o3oqdrdsdtdudvdwdxd,i4o5o6o7o8o9oydzd(lAdBdCdDdEdFd!oGdHd-i.i#oIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i$o?i.m/m@i%o'o(o)o*o+o,o-o.oQdRdSd/o[i:o;oSkTkUkog=o?o@o[o:m]i;m]o^i=mYlZl^o?m6 O VkWk)l*l_oDbecfcEbgchc`oTdUd_i`i{ihbP ib{o7 b +l,l-lVdWdXdYdZdXkYkZk0k1k2k3k4k5k|o}o~oapicbpcpdpepfpgphpipjpkplpmppgqgrgsgtgug|i}i~inpopFbjckcq lcmcr ncs ocpct qcppqpUhVhWh2baj8 9 wb! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEgbjcj6krpsptp0d1d2d3d4d5d6d7ddjupvpwpxpypzp8d9d.l!d#d$d%d'd(dAp)d*dejfjBp+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjCpkjgnhnljDpEpFpGpHpIpJpKpLp?d@d[dMpmjNpOp7k8k9kFgPpQpRpSpinnjjnTpojkn0l1lUpln$ Q !k#k/l:lVpGbrcscHbtcucWp]d^dpjqjrjjbR kbXp% c ;l=l?l_d`d{d|d}d$k%k'k(k)k*k+k,k-kYpZp0p1pvc2p3p4p5p6p7p8p9p!p#p$p%pGgHgIgJgKgLgsjtjuj'p(pIbwcxcu yczcv Acw BcCcx Dc)p*p$h%h'h7bvj' ( xb) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVgwjxj.k+p,p-p~daebecedeeefegeyj.p/p:p;p=p?pheie@ljekelemeneoe@ppeqe[l]l^l_l`l{l|l}lzjAj[preseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEj]pFjh CnDnGj^p_p`p{p|p}p~paqbqzeAeBecqHjdqeq/k:k;kWgfqgqhqiqEnIjFnjqJjGn2l3lkqHn+ S =k?k~lamlqJbEcFcKbGcHcmqCeDeEeKjLjMjlbT mbnq, d bmcmdmFeGeHeIeJe@k[k]k^k_k`k{k|k}koqpqqqrqIcsqtquqvqwqxqyqzqAqBqCqDqXgYgZg0g1g2gNjOjPjEqFqLbJcKcy LcMcz NcA OcPcB QcGqHq^h_h`h$bQj- . yb/ : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$gRjSj~kIqJqKqKeLeMeNeOePeQeReTjLqMqNqOqPqQqSeTeemUeVeWeXeYeZeRq0e1efmgmhmimjmkmlmmmUjVjSq2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZjTq0ji YnZn1jUqVqWqXqYqZq0q1q2q!e#e$e3q2j4q5qalblcl%g6q7q8q9q0n3j1n!q4j2n4l5l#q3n; U dlelnmom$qMbRcScNbTcUc%q%e'e(e5j6j7jnbV ob'q= e pmqmrm)e*e+e,e-eflglhliljlklllmlnl(q)q*q+qVc,q-q.q/q:q;q=q?q@q[q]q^q'g(g)g*g+g,g8j9j!j_q`qObWcXcC YcZcD 0cE 1c2cF 3c{q|qlimini*b#j? @ zb[ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]g$j%jol}q~qar.e/e:e;e=e?e@e[e'jbrcrdrerfrgr]e^esm_e`e{e|e}e~ehrafbftmumvmwmxmymzmAm(j)jircfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-jjr.jj -n.n/jkrlrmrnrorprqrrrsrkflfmftr:jurvrplqlrl^gwrxryrzr/n;j:nAr=j;n6l7lBr=n^ W sltlBmCmCrPb4c5cQb6c7cDrnfofpf?j@j[jpbX qbEr_ f DmEmFmqfrfsftfufulvlwlxlylzlAlBlClFrGrHrIr8cJrKrLrMrNrOrPrQrRrSrTrUr_g`g{g|g}g~g]j^j_jVrWrRb9c!cG #c$cH %cI 'c(cJ )cXrYrDiEiFi/b`j` { Ab| } :bahbh;bchdhehfhgh=bhhhd?bihidjh{j|jDlZr0r1rvfwfxfyfzfAfBfCf}j2r3r4r5r6r7rDfEfGmFfGfHfIfJfKf8rLfMfHmImJmKmLmMmNmOm~jak9rNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiek!rfkk fogogk#r$r%r'r(r)r*r+r,rVfWfXf-rhk.r/rElFlGlkh:r;r=r?rhoikio@rjkjo8l9l[rko~ Y HlIlPmQm]rSb*c+cTb,c-c^rYfZf0fkklkmkrbZ sb_rabg RmSmTm1f2f3f4fJlKlLlMlNlOlPlQlRl`r{r|r}r.c~rasbscsdsesfsgshsisjskslhmhnhohphqhnkokpklsmsUb/c:cK ;c=cL ?cM @c[cN ]cnsosViWiXi@bqkbbcbBbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhrkskSlpsqs5f6f7f8f9f!f#f$ftkrssstsusvsws%fUm'f(f)f*f+f,fxs-fVmWmXmYmZm0m1m2mukvkys.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkzsAkl BoCoBkAsBsCsDsEsFsGsHsIs]f^f_fJsCkKsLsTlUlVlBhMsNsOsPsDoDkEoQsEkFo!l#lRsGofb0 WlXl3m4mSsVb^c_cWb`c{cTs`f{f|fFkGkHktb1 ubUsgb

27 func = func.func 2a Xbb 2bc 7bd $be *bf /bg @b

28 return func 2a $l%l'lldmdndodpdIkJkKkLkMkNkOkPkQkHoIoJoKo`bLoMoNoOoPoQoRoSoToUoVoWo}f~fagbgcgdg%i'i(iXoYoCb{b|bm }b~bn aco bcccp dcZo0oChDhEhXb)i2 3 vb4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cng*i+iRk1o2o3oqdrdsdtdudvdwdxd,i4o5o6o7o8o9oydzd(lAdBdCdDdEdFd!oGdHd-i.i#oIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i$o?i.m/m@i%o'o(o)o*o+o,o-o.oQdRdSd/o[i:o;oSkTkUkog=o?o@o[o:m]i;m]o^i=mYlZl^o?m6 O VkWk)l*l_oDbecfcEbgchc`oTdUd_i`i{ihbP ib{o7 b +l,l-lVdWdXdYdZdXkYkZk0k1k2k3k4k5k|o}o~oapicbpcpdpepfpgphpipjpkplpmppgqgrgsgtgug|i}i~inpopFbjckcq lcmcr ncs ocpct qcppqpUhVhWh2baj8 9 wb! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEgbjcj6krpsptp0d1d2d3d4d5d6d7ddjupvpwpxpypzp8d9d.l!d#d$d%d'd(dAp)d*dejfjBp+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjCpkjgnhnljDpEpFpGpHpIpJpKpLp?d@d[dMpmjNpOp7k8k9kFgPpQpRpSpinnjjnTpojkn0l1lUpln$ Q !k#k/l:lVpGbrcscHbtcucWp]d^dpjqjrjjbR kbXp% c ;l=l?l_d`d{d|d}d$k%k'k(k)k*k+k,k-kYpZp0p1pvc2p3p4p5p6p7p8p9p!p#p$p%pGgHgIgJgKgLgsjtjuj'p(pIbwcxcu yczcv Acw BcCcx Dc)p*p$h%h'h7bvj' ( xb) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVgwjxj.k+p,p-p~daebecedeeefegeyj.p/p:p;p=p?pheie@ljekelemeneoe@ppeqe[l]l^l_l`l{l|l}lzjAj[preseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEj]pFjh CnDnGj^p_p`p{p|p}p~paqbqzeAeBecqHjdqeq/k:k;kWgfqgqhqiqEnIjFnjqJjGn2l3lkqHn+ S =k?k~lamlqJbEcFcKbGcHcmqCeDeEeKjLjMjlbT mbnq, d bmcmdmFeGeHeIeJe@k[k]k^k_k`k{k|k}koqpqqqrqIcsqtquqvqwqxqyqzqAqBqCqDqXgYgZg0g1g2gNjOjPjEqFqLbJcKcy LcMcz NcA OcPcB QcGqHq^h_h`h$bQj- . yb/ : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$gRjSj~kIqJqKqKeLeMeNeOePeQeReTjLqMqNqOqPqQqSeTeemUeVeWeXeYeZeRq0e1efmgmhmimjmkmlmmmUjVjSq2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZjTq0ji YnZn1jUqVqWqXqYqZq0q1q2q!e#e$e3q2j4q5qalblcl%g6q7q8q9q0n3j1n!q4j2n4l5l#q3n; U dlelnmom$qMbRcScNbTcUc%q%e'e(e5j6j7jnbV ob'q= e pmqmrm)e*e+e,e-eflglhliljlklllmlnl(q)q*q+qVc,q-q.q/q:q;q=q?q@q[q]q^q'g(g)g*g+g,g8j9j!j_q`qObWcXcC YcZcD 0cE 1c2cF 3c{q|qlimini*b#j? @ zb[ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]g$j%jol}q~qar.e/e:e;e=e?e@e[e'jbrcrdrerfrgr]e^esm_e`e{e|e}e~ehrafbftmumvmwmxmymzmAm(j)jircfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-jjr.jj -n.n/jkrlrmrnrorprqrrrsrkflfmftr:jurvrplqlrl^gwrxryrzr/n;j:nAr=j;n6l7lBr=n^ W sltlBmCmCrPb4c5cQb6c7cDrnfofpf?j@j[jpbX qbEr_ f DmEmFmqfrfsftfufulvlwlxlylzlAlBlClFrGrHrIr8cJrKrLrMrNrOrPrQrRrSrTrUr_g`g{g|g}g~g]j^j_jVrWrRb9c!cG #c$cH %cI 'c(cJ )cXrYrDiEiFi/b`j` { Ab| } :bahbh;bchdhehfhgh=bhhhd?bihidjh{j|jDlZr0r1rvfwfxfyfzfAfBfCf}j2r3r4r5r6r7rDfEfGmFfGfHfIfJfKf8rLfMfHmImJmKmLmMmNmOm~jak9rNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiek!rfkk fogogk#r$r%r'r(r)r*r+r,rVfWfXf-rhk.r/rElFlGlkh:r;r=r?rhoikio@rjkjo8l9l[rko~ Y HlIlPmQm]rSb*c+cTb,c-c^rYfZf0fkklkmkrbZ sb_rabg RmSmTm1f2f3f4fJlKlLlMlNlOlPlQlRl`r{r|r}r.c~rasbscsdsesfsgshsisjskslhmhnhohphqhnkokpklsmsUb/c:cK ;c=cL ?cM @c[cN ]cnsosViWiXi@bqkbbcbBbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhrkskSlpsqs5f6f7f8f9f!f#f$ftkrssstsusvsws%fUm'f(f)f*f+f,fxs-fVmWmXmYmZm0m1m2mukvkys.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkzsAkl BoCoBkAsBsCsDsEsFsGsHsIs]f^f_fJsCkKsLsTlUlVlBhMsNsOsPsDoDkEoQsEkFo!l#lRsGofb0 WlXl3m4mSsVb^c_cWb`c{cTs`f{f|fFkGkHktb1 ubUsgb

29 

30 

31@dataclass 1abcdefg

32class SecurityRequirement: 1abcdefg

33 security_scheme: SecurityBase 1abcdefg

34 scopes: Optional[Sequence[str]] = None 1abcdefg

35 

36 

37@dataclass 1abcdefg

38class Dependant: 1abcdefg

39 path_params: List[ModelField] = field(default_factory=list) 1abcdefg

40 query_params: List[ModelField] = field(default_factory=list) 1abcdefg

41 header_params: List[ModelField] = field(default_factory=list) 1abcdefg

42 cookie_params: List[ModelField] = field(default_factory=list) 1abcdefg

43 body_params: List[ModelField] = field(default_factory=list) 1abcdefg

44 dependencies: List["Dependant"] = field(default_factory=list) 1abcdefg

45 security_requirements: List[SecurityRequirement] = field(default_factory=list) 1abcdefg

46 name: Optional[str] = None 1abcdefg

47 call: Optional[Callable[..., Any]] = None 1abcdefg

48 request_param_name: Optional[str] = None 1abcdefg

49 websocket_param_name: Optional[str] = None 1abcdefg

50 http_connection_param_name: Optional[str] = None 1abcdefg

51 response_param_name: Optional[str] = None 1abcdefg

52 background_tasks_param_name: Optional[str] = None 1abcdefg

53 security_scopes_param_name: Optional[str] = None 1abcdefg

54 own_oauth_scopes: Optional[List[str]] = None 1abcdefg

55 parent_oauth_scopes: Optional[List[str]] = None 1abcdefg

56 use_cache: bool = True 1abcdefg

57 path: Optional[str] = None 1abcdefg

58 scope: Union[Literal["function", "request"], None] = None 1abcdefg

59 

60 @cached_property 1abcdefg

61 def oauth_scopes(self) -> List[str]: 1abcdefg

62 scopes = self.parent_oauth_scopes.copy() if self.parent_oauth_scopes else [] 2a Cb{b|bm }b~bn aco bcccp dc2 3 6 DbEb7 b Fbjckcq lcmcr ncs ocpct qc8 9 $ GbHb% c Ibwcxcu yczcv Acw BcCcx Dc' ( + JbKb, d LbJcKcy LcMcz NcA OcPcB Qc- . ; MbNb= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ ^ PbQb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { ~ SbTbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcbfbVbWbgb

63 # This doesn't use a set to preserve order, just in case 

64 for scope in self.own_oauth_scopes or []: 2a Cb{b|bm }b~bn aco bcccp dc2 3 6 DbEb7 b Fbjckcq lcmcr ncs ocpct qc8 9 $ GbHb% c Ibwcxcu yczcv Acw BcCcx Dc' ( + JbKb, d LbJcKcy LcMcz NcA OcPcB Qc- . ; MbNb= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ ^ PbQb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { ~ SbTbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcbfbVbWbgb

65 if scope not in scopes: 1abcdefg

66 scopes.append(scope) 1abcdefg

67 return scopes 2a Cb{b|bm }b~bn aco bcccp dc2 3 6 DbEb7 b Fbjckcq lcmcr ncs ocpct qc8 9 $ GbHb% c Ibwcxcu yczcv Acw BcCcx Dc' ( + JbKb, d LbJcKcy LcMcz NcA OcPcB Qc- . ; MbNb= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ ^ PbQb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { ~ SbTbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcbfbVbWbgb

68 

69 @cached_property 1abcdefg

70 def cache_key(self) -> DependencyCacheKey: 1abcdefg

71 scopes_for_cache = ( 2a $l%l'lldmdndodpdm n o p 4 5 qdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZdq r s t ! # 0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}du v w x ) * ~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJey z A B / : KeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-eC D E F [ ] .e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfufG H I J | } vfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fK L M N dbeb5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

72 tuple(sorted(set(self.oauth_scopes or []))) if self._uses_scopes else () 

73 ) 

74 return ( 2a $l%l'lldmdndodpdm n o p 4 5 qdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZdq r s t ! # 0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}du v w x ) * ~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJey z A B / : KeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-eC D E F [ ] .e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfufG H I J | } vfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fK L M N dbeb5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

75 self.call, 

76 scopes_for_cache, 

77 self.computed_scope or "", 

78 ) 

79 

80 @cached_property 1abcdefg

81 def _uses_scopes(self) -> bool: 1abcdefg

82 if self.own_oauth_scopes: 2a $l%l'lldmdndodpdm n o p 4 5 qdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZdq r s t ! # 0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}du v w x ) * ~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJey z A B / : KeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-eC D E F [ ] .e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfufG H I J | } vfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fK L M N dbeb5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

83 return True 1abcdefg

84 if self.security_scopes_param_name is not None: 2a $l%l'lldmdndodpdm n o p 4 5 qdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZdq r s t ! # 0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}du v w x ) * ~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJey z A B / : KeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-eC D E F [ ] .e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfufG H I J | } vfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fK L M N dbeb5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

85 return True 1abcdefg

86 for sub_dep in self.dependencies: 2a $l%l'lldmdndodpdm n o p 4 5 qdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZdq r s t ! # 0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}du v w x ) * ~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJey z A B / : KeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-eC D E F [ ] .e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfufG H I J | } vfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fK L M N dbeb5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

87 if sub_dep._uses_scopes: 2a 4 5 O hbP ibb ! # Q jbR kbc ) * h S lbT mbd / : i U nbV obe [ ] j W pbX qbf | } k Y rbZ sbg dbebl 0 tb1 ub

88 return True 1abcdefg

89 return False 2a $l%l'lldmdndodpdm n o p 4 5 qdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZdq r s t ! # 0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}du v w x ) * ~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJey z A B / : KeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-eC D E F [ ] .e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfufG H I J | } vfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fK L M N dbeb5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

90 

91 @cached_property 1abcdefg

92 def is_gen_callable(self) -> bool: 1abcdefg

93 if self.call is None: 2a Cb{b|bm }b~bn aco bcccp dc2 3 4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cngog6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 ! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEgFg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( ) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVgh Wg+ S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . / : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$gi %g; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ [ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]gj ^g^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { | } :bahbh;bchdhehfhgh=bhhhd?bihidjhk kh~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhl Bhfb0 Vb^c_cWb`c{ctb1 ubgb

94 return False # pragma: no cover 

95 if inspect.isgeneratorfunction( 2a Cb{b|bm }b~bn aco bcccp dc2 3 4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cngog6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 ! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEgFg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( ) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVgh Wg+ S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . / : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$gi %g; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ [ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]gj ^g^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { | } :bahbh;bchdhehfhgh=bhhhd?bihidjhk kh~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhl Bhfb0 Vb^c_cWb`c{ctb1 ubgb

96 _impartial(self.call) 

97 ) or inspect.isgeneratorfunction(_unwrapped_call(self.call)): 

98 return True 2a 4 5 YbegfgZbgghgigjgkg0bogb ! # 3bvgwg4bxgygzgAgBg5bFgc ) * 8bMgNg9bOgPgQgRgSg!bWgd / : %b3g4g'b5g6g7g8g9g(b%ge [ ] +b-g.g,b/g:g;g=g?g-b^gf | } :bahbh;bchdhehfhgh=bkhg dbeb[brhsh]bthuhvhwhxh^bBh

99 dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004 2a Cb{b|bm }b~bn aco bcccp dc2 3 Yb0blg|c1bmg}cng6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 3b5bCg~c6bDgadEg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( 8b!bTgbd#bUgcdVgh + S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . %b(b!gdd)b#ged$gi ; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ +b-b@gfd.b[ggd]gj ^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { :b=bhhhd?bihidjhk ~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcb[b^byhjd_bzhkdAhl fb0 Vb^c_cWb`c{ctb1 ubgb

100 if dunder_call is None: 2a Cb{b|bm }b~bn aco bcccp dc2 3 Yb0blg|c1bmg}cng6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 3b5bCg~c6bDgadEg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( 8b!bTgbd#bUgcdVgh + S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . %b(b!gdd)b#ged$gi ; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ +b-b@gfd.b[ggd]gj ^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { :b=bhhhd?bihidjhk ~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcb[b^byhjd_bzhkdAhl fb0 Vb^c_cWb`c{ctb1 ubgb

101 return False # pragma: no cover 

102 if inspect.isgeneratorfunction( 2a Cb{b|bm }b~bn aco bcccp dc2 3 Yb0blg|c1bmg}cng6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 3b5bCg~c6bDgadEg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( 8b!bTgbd#bUgcdVgh + S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . %b(b!gdd)b#ged$gi ; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ +b-b@gfd.b[ggd]gj ^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { :b=bhhhd?bihidjhk ~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcb[b^byhjd_bzhkdAhl fb0 Vb^c_cWb`c{ctb1 ubgb

103 _impartial(dunder_call) 

104 ) or inspect.isgeneratorfunction(_unwrapped_call(dunder_call)): 

105 return True 1abcdefg

106 dunder_unwrapped_call = getattr(_unwrapped_call(self.call), "__call__", None) # noqa: B004 2a Cb{b|bm }b~bn aco bcccp dc2 3 Yb0blg|c1bmg}cng6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 3b5bCg~c6bDgadEg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( 8b!bTgbd#bUgcdVgh + S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . %b(b!gdd)b#ged$gi ; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ +b-b@gfd.b[ggd]gj ^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { :b=bhhhd?bihidjhk ~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcb[b^byhjd_bzhkdAhl fb0 Vb^c_cWb`c{ctb1 ubgb

107 if dunder_unwrapped_call is None: 2a Cb{b|bm }b~bn aco bcccp dc2 3 Yb0blg|c1bmg}cng6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 3b5bCg~c6bDgadEg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( 8b!bTgbd#bUgcdVgh + S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . %b(b!gdd)b#ged$gi ; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ +b-b@gfd.b[ggd]gj ^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { :b=bhhhd?bihidjhk ~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcb[b^byhjd_bzhkdAhl fb0 Vb^c_cWb`c{ctb1 ubgb

108 return False # pragma: no cover 

109 if inspect.isgeneratorfunction( 2a Cb{b|bm }b~bn aco bcccp dc2 3 Yb0blg|c1bmg}cng6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 3b5bCg~c6bDgadEg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( 8b!bTgbd#bUgcdVgh + S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . %b(b!gdd)b#ged$gi ; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ +b-b@gfd.b[ggd]gj ^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { :b=bhhhd?bihidjhk ~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcb[b^byhjd_bzhkdAhl fb0 Vb^c_cWb`c{ctb1 ubgb

110 _impartial(dunder_unwrapped_call) 

111 ) or inspect.isgeneratorfunction(_unwrapped_call(dunder_unwrapped_call)): 

112 return True 1abcdefg

113 return False 2a Cb{b|bm }b~bn aco bcccp dc2 3 Yb0blg|c1bmg}cng6 O DbecfcEbgchchbP ib7 b Fbjckcq lcmcr ncs ocpct qc8 9 3b5bCg~c6bDgadEg$ Q GbrcscHbtcucjbR kb% c Ibwcxcu yczcv Acw BcCcx Dc' ( 8b!bTgbd#bUgcdVgh + S JbEcFcKbGcHclbT mb, d LbJcKcy LcMcz NcA OcPcB Qc- . %b(b!gdd)b#ged$gi ; U MbRcScNbTcUcnbV ob= e ObWcXcC YcZcD 0cE 1c2cF 3c? @ +b-b@gfd.b[ggd]gj ^ W Pb4c5cQb6c7cpbX qb_ f Rb9c!cG #c$cH %cI 'c(cJ )c` { :b=bhhhd?bihidjhk ~ Y Sb*c+cTb,c-crbZ sbabg Ub/c:cK ;c=cL ?cM @c[cN ]cbbcb[b^byhjd_bzhkdAhl fb0 Vb^c_cWb`c{ctb1 ubgb

114 

115 @cached_property 1abcdefg

116 def is_async_gen_callable(self) -> bool: 1abcdefg

117 if self.call is None: 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cngRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEg6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVg.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$g~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]golj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhhhd?bihidjhDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

118 return False # pragma: no cover 

119 if inspect.isasyncgenfunction( 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0blg|c1bmg}cngRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5bCg~c6bDgadEg6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bTgbd#bUgcdVg.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(b!gdd)b#ged$g~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-b@gfd.b[ggd]golj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhhhd?bihidjhDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^byhjd_bzhkdAhSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

120 _impartial(self.call) 

121 ) or inspect.isasyncgenfunction(_unwrapped_call(self.call)): 

122 return True 2a vblg|c1bmg}cngb wbCg~c6bDgadEgc xbTgbd#bUgcdVgd yb!gdd)b#ged$ge zb@gfd.b[ggd]gf Abhhhd?bihidjhg Bbyhjd_bzhkdAh

123 dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0b|c}cRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5b~cad6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bbdcd.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(bdded~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-bfdgdolj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhdidDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^bjdkdSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

124 if dunder_call is None: 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0b|c}cRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5b~cad6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bbdcd.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(bdded~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-bfdgdolj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhdidDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^bjdkdSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

125 return False # pragma: no cover 

126 if inspect.isasyncgenfunction( 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0b|c}cRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5b~cad6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bbdcd.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(bdded~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-bfdgdolj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhdidDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^bjdkdSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

127 _impartial(dunder_call) 

128 ) or inspect.isasyncgenfunction(_unwrapped_call(dunder_call)): 

129 return True 2a vbb wbc xbd ybe zbf Abg Bb

130 dunder_unwrapped_call = getattr(_unwrapped_call(self.call), "__call__", None) # noqa: B004 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0b|c}cRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5b~cad6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bbdcd.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(bdded~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-bfdgdolj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhdidDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^bjdkdSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

131 if dunder_unwrapped_call is None: 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0b|c}cRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5b~cad6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bbdcd.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(bdded~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-bfdgdolj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhdidDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^bjdkdSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

132 return False # pragma: no cover 

133 if inspect.isasyncgenfunction( 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0b|c}cRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5b~cad6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bbdcd.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(bdded~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-bfdgdolj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhdidDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^bjdkdSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

134 _impartial(dunder_unwrapped_call) 

135 ) or inspect.isasyncgenfunction(_unwrapped_call(dunder_unwrapped_call)): 

136 return True 1abcdefg

137 return False 2a IkJkKkLkMkNkOkPkQk`b}f~fagbgcgdgCb{b|bm }b~bn aco bcccp dcXb2 3 vb4 5 YbegfgZbgghgigjgkg0b|c}cRkSkTkUkog6 O VkWkDbecfcEbgchchbP ib7 b XkYkZk0k1k2k3k4k5kicpgqgrgsgtgugFbjckcq lcmcr ncs ocpct qc2b8 9 wb! # 3bvgwg4bxgygzgAgBg5b~cad6k7k8k9kFg$ Q !k#kGbrcscHbtcucjbR kb% c $k%k'k(k)k*k+k,k-kvcGgHgIgJgKgLgIbwcxcu yczcv Acw BcCcx Dc7b' ( xb) * 8bMgNg9bOgPgQgRgSg!bbdcd.kh /k:k;kWg+ S =k?kJbEcFcKbGcHclbT mb, d @k[k]k^k_k`k{k|k}kIcXgYgZg0g1g2gLbJcKcy LcMcz NcA OcPcB Qc$b- . yb/ : %b3g4g'b5g6g7g8g9g(bdded~ki alblcl%g; U dlelMbRcScNbTcUcnbV ob= e flglhliljlklllmlnlVc'g(g)g*g+g,gObWcXcC YcZcD 0cE 1c2cF 3c*b? @ zb[ ] +b-g.g,b/g:g;g=g?g-bfdgdolj plqlrl^g^ W sltlPb4c5cQb6c7cpbX qb_ f ulvlwlxlylzlAlBlCl8c_g`g{g|g}g~gRb9c!cG #c$cH %cI 'c(cJ )c/b` { Ab| } :bahbh;bchdhehfhgh=bhdidDlk ElFlGlkh~ Y HlIlSb*c+cTb,c-crbZ sbabg JlKlLlMlNlOlPlQlRl.clhmhnhohphqhUb/c:cK ;c=cL ?cM @c[cN ]c@bbbcbBbdbeb[brhsh]bthuhvhwhxh^bjdkdSll TlUlVlBhfb0 WlXlVb^c_cWb`c{ctb1 ubgb

138 

139 @cached_property 1abcdefg

140 def is_coroutine_callable(self) -> bool: 1abcdefg

141 if self.call is None: 2a $l%l'lldmdndodpdHoIoJoKo`bLoMoNoOoPoQoRoSoToUoVoWo}f~fagbgcgdg%i'i(iXoYoCbm n o p Zo0oChDhEhXb)i2 3 vb4 5 Zb1b*i+i1o2o3oqdrdsdtdudvdwdxd,i4o5o6o7o8o9oydzd(lAdBdCdDdEdFd!oGdHd-i.i#oIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i$o?i.m/m@i%o'o(o)o*o+o,o-o.oQdRdSd/o[i:o;o=o?o@o[o:m]i;m]o^i=mYlZl^o?m6 O )l*l_oDbecfcEbgchc`oTdUd_i`i{iP {o7 b +l,l-lVdWdXdYdZd|o}o~oapicbpcpdpepfpgphpipjpkplpmppgqgrgsgtgug|i}i~inpopFbq r s t ppqpUhVhWh2baj8 9 wb! # 4b6bbjcjrpsptp0d1d2d3d4d5d6d7ddjupvpwpxpypzp8d9d.l!d#d$d%d'd(dAp)d*dejfjBp+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjCpkjgnhnljDpEpFpGpHpIpJpKpLp?d@d[dMpmjNpOpPpQpRpSpinnjjnTpojkn0l1lUpln$ Q /l:lVpGbrcscHbtcucWp]d^dpjqjrjR Xp% c ;l=l?l_d`d{d|d}dYpZp0p1pvc2p3p4p5p6p7p8p9p!p#p$p%pGgHgIgJgKgLgsjtjuj'p(pIbu v w x )p*p$h%h'h7bvj' ( xb) * 9b#bwjxj+p,p-p~daebecedeeefegeyj.p/p:p;p=p?pheie@ljekelemeneoe@ppeqe[l]l^l_l`l{l|l}lzjAj[preseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEj]pFjh CnDnGj^p_p`p{p|p}p~paqbqzeAeBecqHjdqeqfqgqhqiqEnIjFnjqJjGn2l3lkqHn+ S ~lamlqJbEcFcKbGcHcmqCeDeEeKjLjMjT nq, d bmcmdmFeGeHeIeJeoqpqqqrqIcsqtquqvqwqxqyqzqAqBqCqDqXgYgZg0g1g2gNjOjPjEqFqLby z A B GqHq^h_h`h$bQj- . yb/ : 'b)bRjSjIqJqKqKeLeMeNeOePeQeReTjLqMqNqOqPqQqSeTeemUeVeWeXeYeZeRq0e1efmgmhmimjmkmlmmmUjVjSq2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZjTq0ji YnZn1jUqVqWqXqYqZq0q1q2q!e#e$e3q2j4q5q6q7q8q9q0n3j1n!q4j2n4l5l#q3n; U nmom$qMbRcScNbTcUc%q%e'e(e5j6j7jV 'q= e pmqmrm)e*e+e,e-e(q)q*q+qVc,q-q.q/q:q;q=q?q@q[q]q^q'g(g)g*g+g,g8j9j!j_q`qObC D E F {q|qlimini*b#j? @ zb[ ] ,b.b$j%j}q~qar.e/e:e;e=e?e@e[e'jbrcrdrerfrgr]e^esm_e`e{e|e}e~ehrafbftmumvmwmxmymzmAm(j)jircfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-jjr.jj -n.n/jkrlrmrnrorprqrrrsrkflfmftr:jurvrwrxryrzr/n;j:nAr=j;n6l7lBr=n^ W BmCmCrPb4c5cQb6c7cDrnfofpf?j@j[jX Er_ f DmEmFmqfrfsftfufFrGrHrIr8cJrKrLrMrNrOrPrQrRrSrTrUr_g`g{g|g}g~g]j^j_jVrWrRbG H I J XrYrDiEiFi/b`j` { Ab| } ;b?b{j|jZr0r1rvfwfxfyfzfAfBfCf}j2r3r4r5r6r7rDfEfGmFfGfHfIfJfKf8rLfMfHmImJmKmLmMmNmOm~jak9rNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiek!rfkk fogogk#r$r%r'r(r)r*r+r,rVfWfXf-rhk.r/r:r;r=r?rhoikio@rjkjo8l9l[rko~ Y PmQm]rSb*c+cTb,c-c^rYfZf0fkklkmkZ _rabg RmSmTm1f2f3f4f`r{r|r}r.c~rasbscsdsesfsgshsisjskslhmhnhohphqhnkokpklsmsUbK L M N nsosViWiXi@bqkbbcbBbdbeb]b_brkskpsqs5f6f7f8f9f!f#f$ftkrssstsusvsws%fUm'f(f)f*f+f,fxs-fVmWmXmYmZm0m1m2mukvkys.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkzsAkl BoCoBkAsBsCsDsEsFsGsHsIs]f^f_fJsCkKsLsMsNsOsPsDoDkEoQsEkFo!l#lRsGofb0 3m4mSsVb^c_cWb`c{cTs`f{f|fFkGkHk1 Usgb

142 return False # pragma: no cover 

143 if inspect.isroutine(_impartial(self.call)) and iscoroutinefunction( 2a $l%l'lldmdndodpdHoIoJoKo`bLoMoNoOoPoQoRoSoToUoVoWo}f~fagbgcgdg%i'i(iXoYoCbm n o p Zo0oChDhEhXb)i2 3 vb4 5 Zb1b*i+i1o2o3oqdrdsdtdudvdwdxd,i4o5o6o7o8o9oydzd(lAdBdCdDdEdFd!oGdHd-i.i#oIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i$o?i.m/m@i%o'o(o)o*o+o,o-o.oQdRdSd/o[i:o;o=o?o@o[o:m]i;m]o^i=mYlZl^o?m6 O )l*l_oDbecfcEbgchc`oTdUd_i`i{iP {o7 b +l,l-lVdWdXdYdZd|o}o~oapicbpcpdpepfpgphpipjpkplpmppgqgrgsgtgug|i}i~inpopFbq r s t ppqpUhVhWh2baj8 9 wb! # 4b6bbjcjrpsptp0d1d2d3d4d5d6d7ddjupvpwpxpypzp8d9d.l!d#d$d%d'd(dAp)d*dejfjBp+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjCpkjgnhnljDpEpFpGpHpIpJpKpLp?d@d[dMpmjNpOpPpQpRpSpinnjjnTpojkn0l1lUpln$ Q /l:lVpGbrcscHbtcucWp]d^dpjqjrjR Xp% c ;l=l?l_d`d{d|d}dYpZp0p1pvc2p3p4p5p6p7p8p9p!p#p$p%pGgHgIgJgKgLgsjtjuj'p(pIbu v w x )p*p$h%h'h7bvj' ( xb) * 9b#bwjxj+p,p-p~daebecedeeefegeyj.p/p:p;p=p?pheie@ljekelemeneoe@ppeqe[l]l^l_l`l{l|l}lzjAj[preseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEj]pFjh CnDnGj^p_p`p{p|p}p~paqbqzeAeBecqHjdqeqfqgqhqiqEnIjFnjqJjGn2l3lkqHn+ S ~lamlqJbEcFcKbGcHcmqCeDeEeKjLjMjT nq, d bmcmdmFeGeHeIeJeoqpqqqrqIcsqtquqvqwqxqyqzqAqBqCqDqXgYgZg0g1g2gNjOjPjEqFqLby z A B GqHq^h_h`h$bQj- . yb/ : 'b)bRjSjIqJqKqKeLeMeNeOePeQeReTjLqMqNqOqPqQqSeTeemUeVeWeXeYeZeRq0e1efmgmhmimjmkmlmmmUjVjSq2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZjTq0ji YnZn1jUqVqWqXqYqZq0q1q2q!e#e$e3q2j4q5q6q7q8q9q0n3j1n!q4j2n4l5l#q3n; U nmom$qMbRcScNbTcUc%q%e'e(e5j6j7jV 'q= e pmqmrm)e*e+e,e-e(q)q*q+qVc,q-q.q/q:q;q=q?q@q[q]q^q'g(g)g*g+g,g8j9j!j_q`qObC D E F {q|qlimini*b#j? @ zb[ ] ,b.b$j%j}q~qar.e/e:e;e=e?e@e[e'jbrcrdrerfrgr]e^esm_e`e{e|e}e~ehrafbftmumvmwmxmymzmAm(j)jircfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-jjr.jj -n.n/jkrlrmrnrorprqrrrsrkflfmftr:jurvrwrxryrzr/n;j:nAr=j;n6l7lBr=n^ W BmCmCrPb4c5cQb6c7cDrnfofpf?j@j[jX Er_ f DmEmFmqfrfsftfufFrGrHrIr8cJrKrLrMrNrOrPrQrRrSrTrUr_g`g{g|g}g~g]j^j_jVrWrRbG H I J XrYrDiEiFi/b`j` { Ab| } ;b?b{j|jZr0r1rvfwfxfyfzfAfBfCf}j2r3r4r5r6r7rDfEfGmFfGfHfIfJfKf8rLfMfHmImJmKmLmMmNmOm~jak9rNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiek!rfkk fogogk#r$r%r'r(r)r*r+r,rVfWfXf-rhk.r/r:r;r=r?rhoikio@rjkjo8l9l[rko~ Y PmQm]rSb*c+cTb,c-c^rYfZf0fkklkmkZ _rabg RmSmTm1f2f3f4f`r{r|r}r.c~rasbscsdsesfsgshsisjskslhmhnhohphqhnkokpklsmsUbK L M N nsosViWiXi@bqkbbcbBbdbeb]b_brkskpsqs5f6f7f8f9f!f#f$ftkrssstsusvsws%fUm'f(f)f*f+f,fxs-fVmWmXmYmZm0m1m2mukvkys.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkzsAkl BoCoBkAsBsCsDsEsFsGsHsIs]f^f_fJsCkKsLsMsNsOsPsDoDkEoQsEkFo!l#lRsGofb0 3m4mSsVb^c_cWb`c{cTs`f{f|fFkGkHk1 Usgb

144 _impartial(self.call) 

145 ): 

146 return True 2a $l%l'lHoIoJoKo`bLoMoNoOoPoQoRoSoToUoVoWo}f~fagbgcgdgXoYoCbm n o p Zo0oXbvb1o2o3o4o5o6o7o8o9o(l!o#o$o%o'o(o)o*o+o,o-o.o/o:o;o=o?o@o[o]oYlZl^oO )l*l_oDbecfcEbgchc`oP {ob +l,l-l|o}o~oapicbpcpdpepfpgphpipjpkplpmppgqgrgsgtgugnpopFbq r s t ppqp2bwbrpsptpupvpwpxpypzp.lApBpCpDpEpFpGpHpIpJpKpLpMpNpOpPpQpRpSpTp0l1lUpQ /l:lVpGbrcscHbtcucWpR Xpc ;l=l?lYpZp0p1pvc2p3p4p5p6p7p8p9p!p#p$p%pGgHgIgJgKgLg'p(pIbu v w x )p*p7bxb+p,p-p.p/p:p;p=p?p@l@p[l]l^l_l`l{l|l}l[p]p^p_p`p{p|p}p~paqbqcqdqeqfqgqhqiqjq2l3lkqS ~lamlqJbEcFcKbGcHcmqT nqd bmcmdmoqpqqqrqIcsqtquqvqwqxqyqzqAqBqCqDqXgYgZg0g1g2gEqFqLby z A B GqHq$bybIqJqKqLqMqNqOqPqQqemRqfmgmhmimjmkmlmmmSqTqUqVqWqXqYqZq0q1q2q3q4q5q6q7q8q9q!q4l5l#qU nmom$qMbRcScNbTcUc%qV 'qe pmqmrm(q)q*q+qVc,q-q.q/q:q;q=q?q@q[q]q^q'g(g)g*g+g,g_q`qObC D E F {q|q*bzb}q~qarbrcrdrerfrgrsmhrtmumvmwmxmymzmAmirjrkrlrmrnrorprqrrrsrtrurvrwrxryrzrAr6l7lBrW BmCmCrPb4c5cQb6c7cDrX Erf DmEmFmFrGrHrIr8cJrKrLrMrNrOrPrQrRrSrTrUr_g`g{g|g}g~gVrWrRbG H I J XrYr/bAbZr0r1r2r3r4r5r6r7rGm8rHmImJmKmLmMmNmOm9r!r#r$r%r'r(r)r*r+r,r-r.r/r:r;r=r?r@r8l9l[rY PmQm]rSb*c+cTb,c-c^rZ _rg RmSmTm`r{r|r}r.c~rasbscsdsesfsgshsisjskslhmhnhohphqhlsmsUbK L M N nsos@bBbpsqsrssstsusvswsUmxsVmWmXmYmZm0m1m2myszsAsBsCsDsEsFsGsHsIsJsKsLsMsNsOsPsQs!l#lRs0 3m4mSsVb^c_cWb`c{cTs1 Us

147 if inspect.isroutine(_unwrapped_call(self.call)) and iscoroutinefunction( 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i?i.m/m@iQdRdSd[i:m]i;m^i=mYlZl?m6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjkjgnhnlj?d@d[dmjinnjjnojkn0l1lln$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEjFjh CnDnGjzeAeBeHjEnIjFnJjGn2l3lHn+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZj0ji YnZn1j!e#e$e2j0n3j1n4j2n4l5l3n; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-j.jj -n.n/jkflfmf:j/n;j:n=j;n6l7l=n^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiekfkk fogogkVfWfXfhkhoikiojkjo8l9lko~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkAkl BoCoBk]f^f_fCkDoDkEoEkFo!l#lGofb`f{f|fFkGkHkgb

148 _unwrapped_call(self.call) 

149 ): 

150 return True 2a vbb wbc xbd ybe zbf Abg Bb

151 dunder_call = getattr(_impartial(self.call), "__call__", None) # noqa: B004 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i?i.m/m@iQdRdSd[i:m]i;m^i=mYlZl?m6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjkjgnhnlj?d@d[dmjinnjjnojkn0l1lln$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEjFjh CnDnGjzeAeBeHjEnIjFnJjGn2l3lHn+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZj0ji YnZn1j!e#e$e2j0n3j1n4j2n4l5l3n; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-j.jj -n.n/jkflfmf:j/n;j:n=j;n6l7l=n^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiekfkk fogogkVfWfXfhkhoikiojkjo8l9lko~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkAkl BoCoBk]f^f_fCkDoDkEoEkFo!l#lGofb`f{f|fFkGkHkgb

152 if dunder_call is None: 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i?i.m/m@iQdRdSd[i:m]i;m^i=mYlZl?m6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjkjgnhnlj?d@d[dmjinnjjnojkn0l1lln$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEjFjh CnDnGjzeAeBeHjEnIjFnJjGn2l3lHn+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZj0ji YnZn1j!e#e$e2j0n3j1n4j2n4l5l3n; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-j.jj -n.n/jkflfmf:j/n;j:n=j;n6l7l=n^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiekfkk fogogkVfWfXfhkhoikiojkjo8l9lko~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkAkl BoCoBk]f^f_fCkDoDkEoEkFo!l#lGofb`f{f|fFkGkHkgb

153 return False # pragma: no cover 

154 if iscoroutinefunction(_impartial(dunder_call)) or iscoroutinefunction( 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh/i*m+mPh:iQh;i,m-mRhShTh=i?i.m/m@iQdRdSd[i:m]i;m^i=mYlZl?m6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hgjcndn7hhj8hijenfn9h!h#hjjkjgnhnlj?d@d[dmjinnjjnojkn0l1lln$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hBjynzn=hCj?hDjAnBn@h[h]hEjFjh CnDnGjzeAeBeHjEnIjFnJjGn2l3lHn+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiWjUnVngiXjhiYjWnXniijikiZj0ji YnZn1j!e#e$e2j0n3j1n4j2n4l5l3n; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi*j)n*nyi+jzi,j+n,nAiBiCi-j.jj -n.n/jkflfmf:j/n;j:n=j;n6l7l=n^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibkbocoQickRidkdoeoSiTiUiekfkk fogogkVfWfXfhkhoikiojkjo8l9lko~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7iwkxoyo8ixk9iykzoAo!i#i$izkAkl BoCoBk]f^f_fCkDoDkEoEkFo!l#lGofb`f{f|fFkGkHkgb

155 _unwrapped_call(dunder_call) 

156 ): 

157 return True 2`bChDhEhXbvbFhGhHhIhJhKhLhMhNh5m6m7m8m9m!m#m$m%m'm(m)mOh*m+mPhQh,m-mRhShTh.m/m:m;m=mYlZl?micUhVhWh2bwbXhYhZh0h1h2h3h4h5h@m[m]m^m_m`m{m|m}m~manbn6hcndn7h8henfn9h!h#hgnhninjnkn0l1llnvc$h%h'h7bxb(h)h*h+h,h-h.h/h:hmnnnonpnqnrnsntnunvnwnxn;hynzn=h?hAnBn@h[h]hCnDnEnFnGn2l3lHnIc^h_h`h$byb{h|h}h~haibicidieiInJnKnLnMnNnOnPnQnRnSnTnfiUnVngihiWnXniijikiYnZn0n1n2n4l5l3nVclimini*bzboipiqirisitiuiviwi4n5n6n7n8n9n!n#n$n%n'n(nxi)n*nyizi+n,nAiBiCi-n.n/n:n;n6l7l=n8cDiEiFi/bAbGiHiIiJiKiLiMiNiOi?n@n[n]n^n_n`n{n|n}n~naoPibocoQiRidoeoSiTiUifogohoiojo8l9lko.cViWiXi@bBbYiZi0i1i2i3i4i5i6ilomonooopoqorosotouovowo7ixoyo8i9izoAo!i#i$iBoCoDoEoFo!l#lGo

158 dunder_unwrapped_call = getattr(_unwrapped_call(self.call), "__call__", None) # noqa: B004 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNhOh/iPh:iQh;iRhShTh=i?i@iQdRdSd[i]i^i6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h6hgj7hhj8hij9h!h#hjjkjlj?d@d[dmjnjoj$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:h;hBj=hCj?hDj@h[h]hEjFjh GjzeAeBeHjIjJj+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieifiWjgiXjhiYjiijikiZj0ji 1j!e#e$e2j3j4j; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwixi*jyi+jzi,jAiBiCi-j.jj /jkflfmf:j;j=j^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOiPibkQickRidkSiTiUiekfkk gkVfWfXfhkikjk~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6i7iwk8ixk9iyk!i#i$izkAkl Bk]f^f_fCkDkEkfb`f{f|fFkGkHkgb

159 if dunder_unwrapped_call is None: 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNhOh/iPh:iQh;iRhShTh=i?i@iQdRdSd[i]i^i6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h6hgj7hhj8hij9h!h#hjjkjlj?d@d[dmjnjoj$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:h;hBj=hCj?hDj@h[h]hEjFjh GjzeAeBeHjIjJj+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieifiWjgiXjhiYjiijikiZj0ji 1j!e#e$e2j3j4j; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwixi*jyi+jzi,jAiBiCi-j.jj /jkflfmf:j;j=j^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOiPibkQickRidkSiTiUiekfkk gkVfWfXfhkikjk~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6i7iwk8ixk9iyk!i#i$izkAkl Bk]f^f_fCkDkEkfb`f{f|fFkGkHkgb

160 return False # pragma: no cover 

161 if iscoroutinefunction( 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNhOh/iPh:iQh;iRhShTh=i?i@iQdRdSd[i]i^i6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h6hgj7hhj8hij9h!h#hjjkjlj?d@d[dmjnjoj$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:h;hBj=hCj?hDj@h[h]hEjFjh GjzeAeBeHjIjJj+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieifiWjgiXjhiYjiijikiZj0ji 1j!e#e$e2j3j4j; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwixi*jyi+jzi,jAiBiCi-j.jj /jkflfmf:j;j=j^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOiPibkQickRidkSiTiUiekfkk gkVfWfXfhkikjk~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6i7iwk8ixk9iyk!i#i$izkAkl Bk]f^f_fCkDkEkfb`f{f|fFkGkHkgb

162 _impartial(dunder_unwrapped_call) 

163 ) or iscoroutinefunction(_unwrapped_call(dunder_unwrapped_call)): 

164 return True 2vbwbxbybzbAbBb

165 # if inspect.isclass(self.call): False, covered by default return 

166 return False 2a ldmdndodpd`b%i'i(iChDhEhXb)i2 3 vb4 5 Zb1b*i+iqdrdsdtdudvdwdxd,iydzdAdBdCdDdEdFdGdHd-i.iIdJdKdLdMdNdOdPdFhGhHhIhJhKhLhMhNhOh/iPh:iQh;iRhShTh=i?i@iQdRdSd[i]i^i6 TdUd_i`i{i7 b VdWdXdYdZdic|i}i~iUhVhWh2baj8 9 wb! # 4b6bbjcj0d1d2d3d4d5d6d7ddj8d9d!d#d$d%d'd(d)d*dejfj+d,d-d.d/d:d;d=dXhYhZh0h1h2h3h4h5h6hgj7hhj8hij9h!h#hjjkjlj?d@d[dmjnjoj$ ]d^dpjqjrj% c _d`d{d|d}dvcsjtjuj$h%h'h7bvj' ( xb) * 9b#bwjxj~daebecedeeefegeyjheiejekelemeneoepeqezjAjreseteuevewexeye(h)h*h+h,h-h.h/h:h;hBj=hCj?hDj@h[h]hEjFjh GjzeAeBeHjIjJj+ CeDeEeKjLjMj, d FeGeHeIeJeIcNjOjPj^h_h`h$bQj- . yb/ : 'b)bRjSjKeLeMeNeOePeQeReTjSeTeUeVeWeXeYeZe0e1eUjVj2e3e4e5e6e7e8e9e{h|h}h~haibicidieifiWjgiXjhiYjiijikiZj0ji 1j!e#e$e2j3j4j; %e'e(e5j6j7j= e )e*e+e,e-eVc8j9j!jlimini*b#j? @ zb[ ] ,b.b$j%j.e/e:e;e=e?e@e[e'j]e^e_e`e{e|e}e~eafbf(j)jcfdfefffgfhfifjfoipiqirisitiuiviwixi*jyi+jzi,jAiBiCi-j.jj /jkflfmf:j;j=j^ nfofpf?j@j[j_ f qfrfsftfuf8c]j^j_jDiEiFi/b`j` { Ab| } ;b?b{j|jvfwfxfyfzfAfBfCf}jDfEfFfGfHfIfJfKfLfMf~jakNfOfPfQfRfSfTfUfGiHiIiJiKiLiMiNiOiPibkQickRidkSiTiUiekfkk gkVfWfXfhkikjk~ YfZf0fkklkmkabg 1f2f3f4f.cnkokpkViWiXi@bqkbbcbBbdbeb]b_brksk5f6f7f8f9f!f#f$ftk%f'f(f)f*f+f,f-fukvk.f/f:f;f=f?f@f[fYiZi0i1i2i3i4i5i6i7iwk8ixk9iyk!i#i$izkAkl Bk]f^f_fCkDkEkfb`f{f|fFkGkHkgb

167 

168 @cached_property 1abcdefg

169 def computed_scope(self) -> Union[str, None]: 1abcdefg

170 if self.scope: 2a $l%l'lldmdndodpdm n o p 4 5 Yb0bqdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZdq r s t ! # 3b5b0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}du v w x ) * 8b!b~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJey z A B / : %b(bKeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-eC D E F [ ] +b-b.e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfufG H I J | } :b=bvfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fK L M N dbeb[b^b5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

171 return self.scope 2a $l%l'lldmdndodpd4 5 qdrdsdtdudvdwdxdydzd(lAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdO )l*lTdUdhbP ibb +l,l-lVdWdXdYdZd! # 0d1d2d3d4d5d6d7d8d9d.l!d#d$d%d'd(d)d*d+d,d-d.d/d:d;d=d?d@d[dQ /l:l]d^djbR kbc ;l=l?l_d`d{d|d}d) * ~daebecedeeefegeheie@ljekelemeneoepeqe[l]l^l_l`l{l|l}lreseteuevewexeyeh zeAeBeS ~lamCeDeEelbT mbd bmcmdmFeGeHeIeJe/ : KeLeMeNeOePeQeReSeTeemUeVeWeXeYeZe0e1efmgmhmimjmkmlmmm2e3e4e5e6e7e8e9ei !e#e$eU nmom%e'e(enbV obe pmqmrm)e*e+e,e-e[ ] .e/e:e;e=e?e@e[e]e^esm_e`e{e|e}e~eafbftmumvmwmxmymzmAmcfdfefffgfhfifjfj kflfmfW BmCmnfofpfpbX qbf DmEmFmqfrfsftfuf| } vfwfxfyfzfAfBfCfDfEfGmFfGfHfIfJfKfLfMfHmImJmKmLmMmNmOmNfOfPfQfRfSfTfUfk VfWfXfY PmQmYfZf0frbZ sbg RmSmTm1f2f3f4fdbeb5f6f7f8f9f!f#f$f%fUm'f(f)f*f+f,f-fVmWmXmYmZm0m1m2m.f/f:f;f=f?f@f[fl ]f^f_f0 3m4m`f{f|ftb1 ub

172 if self.is_gen_callable or self.is_async_gen_callable: 2a m n o p Yb0bO hbP ibb q r s t 3b5bQ jbR kbc u v w x 8b!bh S lbT mbd y z A B %b(bi U nbV obe C D E F +b-bj W pbX qbf G H I J :b=bk Y rbZ sbg K L M N [b^bl 0 tb1 ub

173 return "request" 2a Yb0bb 3b5bc 8b!bd %b(be +b-bf :b=bg [b^b

174 return None 2a m n o p O hbP ibb q r s t Q jbR kbc u v w x h S lbT mbd y z A B i U nbV obe C D E F j W pbX qbf G H I J k Y rbZ sbg K L M N l 0 tb1 ub