python39-3.9.2-1.module_el8.5.0+738+dc19af12 >  A `afU]sC4=`Aunk{^< Uml +:Ștx#%: 2 z&߳K7't4Dgd^<v' ◨.]Qnc(,ŠYU'Z 4nCc׾#B? f.Iŀ*n6\X8^ro"*Vwc #:on=$(2(#,w4К($yKrxj77 Ad1بT^^.Ec;owЉrŒ9,㌠ghYMCzolTeKa6.se@]c8a(7݀C0:TkT\ބܱ'"_a@K+Xǐ:.% AHs4pU7Lb'5 6&Zg(McܖO|HbY^3mCsxYab1985de6a17ee6a83d71572fbf49b118b8f8188038bae1778720bdd5b36b42a5c34179454e7f2792a0eb93fb2dc956ea1e15af4j`afU] (*f )3ʄ yN-?q@3)  8i5I(t$ .0XlI"n`Emtq3Y ըT8J+4hR/b{>f/x|!.Lp{sji YYK#婾{U"&zzh.o\/[(5|HG:=t&" 6Tot+[Td82Fdۙ{ha k)*x'#dj2Y%ZIP)->A2Nsjěӿ8=% I}vύ$\/H\VFen?Xj7 qޝY 8,>R!RGJ2_R}=rumqq]&7K!Y=9ٲ>\ܵD#I*YC"pOH-%IPPd U>pG.r?.bd  / U ?Kciq        , : h,dL(N8X191:1>&@&B&G'H'LI'X'Y'Z(D[(L\(](^)yb)d+"e+'f+*l+,t+Hu+v+w-$x-\y- ------.4.8Cpython393.9.21.module_el8.5.0+738+dc19af12Version 3.9 of the Python interpreterPython 3.9 is an accessible, high-level, dynamically typed, interpreted programming language, designed with an emphasis on code readability. It includes an extensive standard library, and has a vast ecosystem of third-party libraries. The python39 package provides the "python3.9" executable: the reference interpreter for the Python language, version 3. The majority of its standard library is provided in the python39-libs package, which should be installed automatically along with python39. The remaining parts of the Python standard library are broken out into the python39-tkinter and python39-test packages, which may need to be installed separately. Documentation for Python is provided in the python39-docs package. Packages containing additional libraries for Python are generally named with the "python39-" prefix. For the unversioned "python" executable, see manual page "unversioned-python".`a,aarch64-05.mbox.centos.orgPCentOSCentOSPythonCentOS Buildsys Unspecifiedhttps://www.python.org/linuxaarch64# Alternative for /usr/bin/python -> /usr/bin/python3 + man page alternatives --install /usr/bin/unversioned-python \ python \ /usr/bin/python3 \ 300 \ --slave /usr/bin/python \ unversioned-python \ /usr/bin/python3 \ --slave /usr/share/man/man1/python.1.gz \ unversioned-python-man \ /usr/share/man/man1/python3.1.gz # Alternative for /usr/bin/python -> /usr/bin/python3.9 + man page alternatives --install /usr/bin/unversioned-python \ python \ /usr/bin/python3.9 \ 209 \ --slave /usr/bin/python \ unversioned-python \ /usr/bin/python3.9 \ --slave /usr/share/man/man1/python.1.gz \ unversioned-python-man \ /usr/share/man/man1/python3.9.1.gz # Alternative for /usr/bin/python3 -> /usr/bin/python3.8 + related files # Create only if it doesn't exist already EXISTS=`alternatives --display python3 | \ grep -c "^/usr/bin/python3.9 - priority [0-9]*"` if [ $EXISTS -eq 0 ]; then alternatives --install /usr/bin/python3 \ python3 \ /usr/bin/python3.9 \ 3900 \ --slave /usr/share/man/man1/python3.1.gz \ python3-man \ /usr/share/man/man1/python3.9.1.gz \ --slave /usr/bin/pydoc3 \ pydoc3 \ /usr/bin/pydoc3.9 \ --slave /usr/bin/pydoc-3 \ pydoc-3 \ /usr/bin/pydoc3.9 fi# Do this only during uninstall process (not during update) if [ $1 -eq 0 ]; then alternatives --remove python \ /usr/bin/python3.9 alternatives --remove python3 \ /usr/bin/python3.9 # Remove link python → python3 if no other python3.* exists if ! alternatives --display python3 > /dev/null; then alternatives --remove python \ /usr/bin/python3 fi fiN '~큤큤AAA큤`a`a`a`a`a`a`a`a`a`a`/`a`a`/ba32364207e920e96827a1945c99d6d6fa7c8762a1bcb97f8322f8cc6c69ad43809bcd463f084b1fba971d4883dfcef49415a6842adbf27b3dd81737b851e03c610f9a165cba3a4a89ea788696f2dca53a28b653b35197ccbcde95cc225c031085bbe5bd482473389142f8245d3f90d6e617076079944c07327165a0b680f312../../../../usr/bin/python3.9@@@@BBrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython39-3.9.2-1.module_el8.5.0+738+dc19af12.src.rpmalternative-for(python)python(abi)python3.9python3.9(aarch-64)python39python39(aarch-64)@@@@@@@@@    @/bin/sh/bin/sh/usr/sbin/alternatives/usr/sbin/alternatives/usr/sbin/alternativeslibc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libcrypt.so.1()(64bit)libcrypto.so.1.1()(64bit)libdl.so.2()(64bit)libm.so.6()(64bit)libpthread.so.0()(64bit)libpython3.9.so.1.0()(64bit)libutil.so.1()(64bit)python39-libs(aarch-64)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)rtld(GNU_HASH)3.9.2-1.module_el8.5.0+738+dc19af123.0.4-14.6.0-14.0-15.2-14.14.3`?z@`#`3@`U_@_j_@_|\@_m_cO_3_2@_'@_"@_!d_@_@_A@_o@^@^y^@^m@^m@^@^@^^y@^W@^B@^.]f@]]߶]*]c@]?]ja@]>]:@];\\ޢ@\s@\@\s\j@\iL\YzLumír Balhar - 3.9.2-1Charalampos Stratakis - 3.9.1-5Charalampos Stratakis - 3.9.1-4Tomas Orsava - 3.9.1-3Tomas Orsava - 3.9.1-2Tomas Hrnciar - 3.9.1-1Tomas Hrnciar - 3.9.1~rc1-1Miro Hrončok - 3.9.0-1Miro Hrončok - 3.9.0~rc2-2Miro Hrončok - 3.9.0~rc2-1Petr Viktorin - 3.9.0~rc1-2Miro Hrončok - 3.9.0~rc1-1Lumír Balhar - 3.9.0~b5-5Miro Hrončok - 3.9.0~b5-4Fedora Release Engineering - 3.9.0~b5-3Lumír Balhar - 3.9.0~b5-2Miro Hrončok - 3.9.0~b5-1Marcel Plch - 3.9.0~b4-2Tomas Hrnciar - 3.9.0~b4-1Miro Hrončok - 3.9.0~b3-1Miro Hrončok - 3.9.0~b2-1Petr Viktorin - 3.9.0~b1-4Miro Hrončok - 3.9.0~b1-3Miro Hrončok - 3.9.0~b1-2Miro Hrončok - 3.9.0~b1-1Tomas Orsava - 3.9.0~a6-2Miro Hrončok - 3.9.0~a6-1Miro Hrončok - 3.9.0~a5-1Marcel Plch - 3.9.0~a4-1Miro Hrončok - 3.9.0~a3-2Victor Stinner - 3.9.0~a3-1Miro Hrončok - 3.9.0~a2-1Miro Hrončok - 3.9.0~a1-3Miro Hrončok - 3.9.0~a1-2Miro Hrončok - 3.9.0~a1-1Miro Hrončok - 3.8.0-1Miro Hrončok - 3.8.0~rc1-1Miro Hrončok - 3.8.0~b4-1Miro Hrončok - 3.8.0~b3-1Fedora Release Engineering - 3.8.0~b2-2Miro Hrončok - 3.8.0~b2-1Miro Hrončok - 3.8.0~b1-1Miro Hrončok - 3.8.0~a4-2Miro Hrončok - 3.8.0~a4-1Miro Hrončok - 3.8.0~a3-1Miro Hrončok - 3.8.0~a2-1Miro Hrončok - 3.8.0~a1-3Igor Gnatenko - 3.8.0~a1-2Miro Hrončok - 3.8.0~a1-1- Update to 3.9.2 to fix CVE-2021-23336 Resolves: rhbz#1928904- Compile the debug build with -O0 instead of -Og Resolves: rhbz#1926283- Add support for FIPS mode Resolves: rhbz#1877430- Security fix for CVE-2021-3177 - Resolves: rhbz#1918168, rhbz#1877430- Convert from Fedora to the python39 module in RHEL8 - Resolves: rhbz#1877430- Update to 3.9.1- Update to 3.9.1rc1- Update to 3.9.0 final- Use upstream architecture names on Fedora 34+ - https://fedoraproject.org/wiki/Changes/Python_Upstream_Architecture_Names- Update to 3.9.0rc2- In sys.version and initial REPL message, list the source commit as "default"- Update to 3.9.0rc1- Add support for upstream architectures' names (patch 353)- Make python3-libs installable without python3 Resolves: rhbz#1862082- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild- Add versioned pathfix%{pybasever}.py to main and non-main RPMs- Update to 3.9.0b5- Remove large, autogenerated Python sources and redundant pycache levels to reduce filesystem footprint- Update to 3.9.0b4- Update to 3.9.0b3- Update to 3.9.0b2- Add cherry-picks for bugs found in 3.9.0b1- Rebuilt for https://fedoraproject.org/wiki/Changes/Python3.9- Bootstrap for https://fedoraproject.org/wiki/Changes/Python3.9- Update to Python 3.9.0b1- Rename from python39 to python3.9- Update to Python 3.9.0a6- Update to Python 3.9.0a5- Update to Python 3.9.0a4- Update the ensurepip module to work with setuptools >= 45- Update to Python 3.9.0a3- Rebased to Python 3.9.0a2- Build Python with -fno-semantic-interposition for better performance - https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup- Don't remove the test.test_tools module- Rebased to Python 3.9.0a1- Update to Python 3.8.0 final- Rebased to Python 3.8.0rc1- Rebased to Python 3.8.0b4 - Enable Profile-guided optimization for all arches, not just x86 (#1741015)- Update to 3.8.0b3- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild- Update to 3.8.0b2- Update to 3.8.0b1- Remove a faulty patch that resulted in invalid value of distutils.sysconfig.get_config_var('LIBPL') (#1710767)- Update to 3.8.0a4- Update to 3.8.0a3- Update to 3.8.0a2- Reduced default build flags used to build extension modules https://fedoraproject.org/wiki/Changes/Python_Extension_Flags- Rebuild for readline 8.0- Update to 3.8.0a1/bin/sh/bin/shpython3.9python39 3.93.9.2-1.module_el8.5.0+738+dc19af123.9.2-1.module_el8.5.0+738+dc19af123.9.2-1.module_el8.5.0+738+dc19af123.9.2-1.module_el8.5.0+738+dc19af123.9.2-1.module_el8.5.0+738+dc19af123.9.2-1.module_el8.5.0+738+dc19af12pydoc-3pydoc3pydoc3.9python3python3.9unversioned-python.build-id273619d0d047961fb594336028518dcc884ce0b9python39README.rstpython.1.gzpython3.1.gzpython3.9.1.gz/usr/bin//usr/lib//usr/lib/.build-id//usr/lib/.build-id/27//usr/share/doc//usr/share/doc/python39//usr/share/man/man1/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2aarch64-redhat-linux-gnuemptyPython script, ASCII text executableELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=273619d0d047961fb594336028518dcc884ce0b9, strippeddirectoryASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRR RR R R R RRpython39-pippython39-setuptoolsutf-8d5e92320fa5c5be9f50f3304cc4ae04bbb87ee7631b25a254979097b8be33169python39:3.9:8050020210329133313:d428a79b?7zXZ !#,U7] b2q l!BrMR﭂bnzej=f{ Ky'2$͠=MS|3R[y9h4Ft &(kH4Aׂ&qMCN7ZД M˗^rw%m"4 UB:d䩓~2uVȳLV*@_5y*%vIMSx !O)>@w( S"y|HЀ"wa([3Hq{=lcOF# Ĺyl zar-.>/N+w0٬ @i%jF3Dy]5#욹Ƕe'툵S}pdhsGosKsr8\"0`*pz,R@>מ@kaW5 M`B8'@1=Ė@7y. C?@ULf u䙾mif<^xpY͎;_L w% P}_8D=]yY^G m%=3n:؄;/r^C:妻a֠GEa̭e(.s֊PdZпy@Ư xa0 IАrdNRec٭ Z4Ezv k#"1 @yU:vB:y/pKZJe" W7p%GK?hH -x8 #y\Ѯ kj(q˭E5u+BHW+VX}=z' SE;𲘾"e9O'#{uaJl:2cbS+"^9y>KXNaWg}/FN>pz,`Iȩx~3˫TgLg (nҠ>a:BmUڊR5QNjgI|{FvF*_z=U9îs9:MFwOŐsVtM~N KȴA/`J&LZ*{0(,m űs-*`s긘8г0KrOJs`TnǤIYR[59Dh#[Od&fhl:E=~%C3Z%q.q?F).x9l3(_c3R5"@E0$)E'<ߡj-bs=,:oqi(2?:Njfc!4OeN I13UW֡OߏE(Xщ͊꧊#u*44exSUtIt?9,vӮQw2f@,|=m WH.߱,mUa/D^x-T<5'g^d3I; C+ .<hS:<9DDɠ| {[-nDZ`﵉ {xz^9N{%?kEZs!$J;~A=v66 S ]H77"Zb0z%*fl"Bɧ{%苮YRqW]n[YO K,e˅uV#Ay XeIo>߷ȡԶQkwRq`nB.CxmVݪhgd#ᖗhMqG o#7GkO4~uc[Z| wMg[eJ+j(7n 7!OvaZdʇ="Y8eYL*2*oq0%2siq" mJT^Ĉ4ԝ vEkƹ(3Ʀn߸O lZCTQ-bt=CP!uN<9A%J}՛'b=pZ*@&CP:7 WU1`VE`wxՅ}kmg(ExW2&;gFKnZ PL2awuІVo F䶔eb*CI*nx1[ &Utc[ƀu*yģ)X D7ǒL?%v')Y:qylʈ41AtKXwS5k[٘ srHGW^x )scx5pԢ}duj'hZ dA{_g[֘PAN~wg2CQv =uov;*<*3_/eޛjD-0%xZ4R 1&sش F8tǃ*!UmD񩴪gv\a2Q7nC#Fz;g;0*B*lKF * [JHwOi-8kEXiPbwFq^+*UoZكZI!>J#&:9g qJHvAb3 A[)vV&Ŋ)#̓fxTv69Jуjs |:̷*6m`+L8͙%l* c4Z7}d:Z~ZaJmu-3.W김oثo6|'?`\LNlY)7b-&~/B'萚SJo?^e$* .iq Gn@O >W. MydY(ҺB7  ZBXU mkuV x0U/1ğ."+gWNo,s3Itxo5Q}\ULz{UArY) m5Бۓ"]Q,Yn 7n%&u.]:Zx-4E T7Z",*g5֜~jU:ӧaf!Q1YT kt1-D/@4ȚuN>| Q$;5 R3# 8 r_uO&KZjʝ~G+yAft-Sӌ]ɵd9V=.Tk LaTjCl9nF4Rt$KUM.h'|/38 oA=՜ӯEP>ȫ>ƍrkTu8-B*6hȡW}0 C,`@±c DQko v̝Upr1;l:,;xJ|{AnlD냩w]5odpYEh(uzh-7[YPF;FZ]J$h*]0 ֣?̦U柲aY^S[^u۔Nϖ '@N 6dI_=)h5Qc|ktq~a ccA}ͳD{bK{hwJύ% %#s?~sup Fx+&\!oϰ'cO~K.R)ȿTfnX6!k%CRIn*ҥͳJ d;F\"NĴՆ.r6"S@S!j)*4/n/ ݲ 󋁲]ӪasB*+Ӯ2ڲL6 c/p6h6#fivgv6C+@"0_s 5R:&^`aa^ρQDJ)Z9x1F=D\) NNDy $=жIH8_.>% -kqE)@qz0F{bUlm.?:4`>`_bL|ʈhVn?AFzA|[BX[x3LС Z5=UgVXR,A0=YyӌAɟ"EUG9)_RJڀ_P [OSLG}mhRsqp5E"`t?l]]sKu?^#=+&nB?Ƽoϟ !a^sT^¡n] Ob$„b:j2K Mu3A="eM& azyGPM÷,7 (!D(*2'`ot~b.k{T!sߣzW-DJ9P^%6ĄL’RtGjٌfc]P 1BFf7UtdxwU ˲%ȚuU6t.N=oƷ=*N~N98`P/1}_N=&h h#,Yr]#.츦Kan%*άb14juNEhƦql)dm=LIiCw>5su95,^DgQ{_;Jk D<i@&Ň3 SqIMZ@ER{Dɢ}bYx[9 qUg`l3QO`Hr> O]ޕ)pY- WbD X>,}4xnA6NqI8?Q&&v9>3s6lo_Iצ+YGs!b>Fnkoʰk1cs,,ߍ,(++VNoow'FEfj~wJ @XjmoZ}(ViC] <Ł! ?;ڊmVMTK ճ r^wM lD.KsVpNA ğIA43I5;6'/lC)bQl|4PEwsW=Ƙ&njľ1)7fe4\@؝& 0Uk{1?}:*c>hY M>gu43Rb4~ ǝP4)a:c|Jϸ ly;%+ Dm!ƘϛZrItzFNZ7zlNhۃ`MTyuGLA<.ѿ_ xP-FwX5l 1pd# hڇ_mꀂtz`.#7cK(~13Pl, p.gy2Ůi=_o1S~lDjL@y=Y$tն~2iiҘm4KH2!nSotLRӥـi(=Q*'ʹ7X?,}̴fXI@]،vɕ3FHt;)Rc$ъZH$ l9[s]Bbx@Wk< ^? Vی<@\>RzsD,xD_{o=<\DN1~GUK<rvГUdJ8@9[bdc{Dʋ&bGՂ$%]^Ypѣ S1:M^8/Hn՛AHP,WHݧgI*Vr0W.dg|UVq,?I_&&_6k]N[FEҴxzv)J ^rKoF;azQ Los<`:U*Fģ,ZY0㘷_Aqբ; _i_C3 [IhE9j}:KSV0<&DG t LӁt=-ŵM$?UmUfDkŶbRET<ѳUx5Z,vv/3Xty"xPo6P퀜{\bhy'mMiW  qZLSi G(>Ae54L5kφe$Ȳ>b C+}f̬Ɩk6wKyL.v~:nAHEITҎ{6qjUkv#/} ߢΧ 0!'cf7!;{fm<dzTLR!?W=9J,Ľ<A:g.>y{v^'6Ӂa iU gķ YbK h5] 䕩ľ}H5h3Qk\X!AQd>oxW7Kt잼ۏ2@a e,* f[kX_ E"iZ5RNP׭xP>"+T?mHgcɗdxCb#\8!~rP\kU䏨X-ȯ6ʙZyY/9ߨڟNˠaJ3d fP;(aVmj_`"fw!ny`t!}1.%IJS^t|IB7nߠK /"لNMQ{Ց Y-8w< ez8/zfc:4!o8(]<$@AOd9WfD*M!F\+v9t܁zKtE 3SmVzR;{1r\3GtlE n쵋yJaគf9[ &I||>VTDZʹl h^z"U|֞\b˕>г2jwQ)GyMf;&P"o}OJs^Cu›{eubk/12zY]w`,oPkfY}/ۮUzwۃ`jNk..V2cztrLNOpI+ uE,dD @xTa3ߡc4EaMb5nO63ht;VjR"isMɚD] E|B4h.tTBRĻXPtʡC*dHz4/ZBm y @O".2wvbIJZnq!;gLtXu>VnFe:>LZs7?+y\SWX HEG#Ʉ8C4B->`WMRDl>΃Y5Ë1Ju!JH(NWJ|D_أv@M ddD?$ 8F0kp3{,3 E#X@şTga îr#r+2WiݶN"s|-Pi&7r]Շa1g^zq#5n$RD):  f%XfGx^S16טּ}8Ȣ-leҎds#Ar:iJ։ MFi",gHO&Jې5EAiYݭM&'!Q$&̞U_.?F}"%.'ViV}W,n^@Vaz? xvCEMLU K) 8/U{u d?@#VZZa qBT'8쟌(>(bʿXg|,a0 Yv0E6pQvO tD|UI3Τwޗ #Y[IWPT5hG]شܝKdEz$gQ{U&>Cj*m'Cx?%rqX܇&@" 8kvۯ"c,?=]LD|8Z$W1V-:Dj7޿q$E™ w^nko+fIey+^jGoq~$Ա MY#o=T?uB%|R&ϖO!"$Tyv͏8Y+$@9gF&/QE>a -. Y&pN\n=N|]eN65N >\[W[`悜OfӼG:oD}}Bڝ;K"ql BZb u^<] f2#W6 ;4BxyhŤ*$ -]9 2P)£jf;g>wɖ7|=iꇙZV%cxUQa i Mm \:Xl?{8%]\eV dJT7 aIs.jY'1^,m_<ICmEhcҊ'T|EKg3D"??±4H_,kt= XM'&fȃuݭ(,H 쬒|UoS>6~5>@o]Pp4F+j_3cw@;,M(9 u ܦFmgC&o}U*$+(1_BN pAA NyeX637sDNpL2.LUz{);R'6|\  0kpM+S|4EfnG@_dU^1T" 2i'5P)9"A|1d7= }4=MwWcJ-Gi2АcvM4mW 6=kvSu ˼(JO^0TVrxy ri$ڠ[h)۴lU[$$dObhgI15`@\ ODV\X*)eWr<|1\q#¤ /}-AXÉn#=Vщ۟^4uE3(Ҷ+gv ux $jٕ/25ۥm֪Rdx 9́:>@2zxI 'Z˷8*옙v˪lzH ڐ8n]pJTz~;X%h1JeH08g 7A@驡3ѦJ.lۭicHg?07hTת#sٔfR'殸OA*EPB߇wf~ c>X0̐0eF w?Mx-Ngi^vxy s}A{lq[I3#hI!me~Al/Ry]/[vf+4jC= ~Z@xχ5_Pnť{0| Prb"b#O:RLI F5L6g0sU[ZZ،|쥐/$ <7{\؍Hnײ<t} y@ $jM˾(,}?{lMRnҋ:m*Mo)EJ~CmK AuuaDQc0;dV Z=`=k,mˁ23wO*0]_MNқ"~ 0M4SכSz2D^DܛQ( 0eb3Ű2GQ\ʂ^lYH?N7G;F1o}z3[Ah@^` s! Oȼ`$U9*4{(Z}gpɧ^Ӑ>_WjE-d{E}:w 6S=| *aTʂ+KR)簣xۈM },ѕ#s +n(gayڗ1aM 16/2Spf0@ȺpHP/"N! 5)v80j |"/驧sCetkOhr&*J@S%uwIWh;T+@94`YGNyFjBz֊Ym_BjHLE j2]i퍺 &pQÝIg.Qp(^KeBH0pQ5^Ū[28dŇ|uڭn. ect;ciYkJK.-)w`pxp$I7\fY9|b }E4~%Mx}'+7 t"HZZڈq >z w㯲_PWN3ڂ$uՅcgǠ1N(rӸ FF5/}#QNJaI{LqyLu7q