ELF#4Ģ4 (444444hh  T   HHHDDPtdEQtd/lib/ld-linux.so.2GNU GNUc&6#cj Y1#$#"$%)8K@nj rd' ,rZ1lTv96 J &! !libm.so.6_ITM_deregisterTMCloneTable__gmon_start___Jv_RegisterClasses_ITM_registerTMCloneTablesqrtflogcossinsqrtlibrt.so.1libc.so.6_IO_stdin_usedsocketfflushexitsignalstrncpytime__assert_failmemsetreadstdoutfputcstrnlenlseekmemcpymallocstderrcreat__fxstatusleepcloseopenfprintfsendto__ctype_toupper_locfcntl__libc_start_mainwritefreeGLIBC_2.0GLIBC_2.3 ii wii wii !!%!$!!! !$!(!,!0! 4! 8! 9؀=P. ƄHE9؃jhE9=P. i@]Ƀj]]*XZjh| Ejj$'Y_jhIEEE"U?=!"~=B# 5' 5!FH11ۍH1&:Ã@9tDŽt@9uF!="!ząV9UEmٞz ~s؃$]E ً"1҉UEm]!FsN]Ƀ]$^1҉UEmE]E EEɀ=P. FFF!D8^ u ٞv2 5!ۃ$S>P! ؈^ 65!+X# T"("P("ƉEX# 9= "5T"҉ut{u9uwnu="u4 Éu#f@#AAYY;MuM)"50"EuRP# H"1@"ljE$"]E"D"]w"E"E,"|EEEEwMu 4E0FF@@9uԀ}tHEMvٞa[؋E|@# D# %EE;E`# EH"=P# ң$"xIu)9v )uP@# hABPRyP# =("9Ɖ}vf9]T"E)أ("P QR&jXZjh1 jjwY_jhݜ؋EEEmE|v |v7i@]j_XjhkE jj%|$XZjh2i@jYXjhXZjWYXjhlP. Ei@ 8ل ,؃j?XZjhYXjh"XZjw Y_jh YEȃEKi@]jYXjh3E jj%|$XZjhj YXj hXZjw wY_jh  8^ =j)%j$XZjhevYXjw XZjh LEF؃jh36 jj5!Y[j h: jj5!_XjhC!!VSurU9 UDx Ix)؍ ؃D9LuP# @#  d# x P) j|PPhpj Phh@# 5`# ("Eq""u{69vH ]uM9MxuE΋tЉt9׉"wӋ]E54"EV9U4"34""9w j"@tP BZ9uvU1M)9\t49r)C I X8"}Em |ztjjRR$9)9v9"9ˋDȃ9DuE)ʍBEmٞz t ٞzx=l"9ˉE؍B1<"1(E|9r_E1EEv9u9us4,ɿ19'ta%,ɿy<"333?UPP"5<"58"0X# ET"E("E<"뷋85"9ˍ6l$ȃ9lu1]E)ʍBEmٞ,*>1^PTRhh0QVh|fffff$ffffff!-!vtUh!ЃÐt&!-!ttUPh!҃Ít&'=!uU|!f u듍vtUP҃uffUWVS$D$D$8L$D$#ƉŃt}ú4$|$9ډ\$vU4$)9w4$; $\$t?9v%\t@ɉp\\\$9ډw; $uD$D$ D$ D$'4D$|$#"T$t\$؅tDD$|$ t&B(hZ@X9wՃ|$D$ D$D$D$$D$ ɉD$ \$D$$T$ 9s>vB(hZ@X9wŃ$;|$tv'؋D$|$9tt$ D$D$$[^_]fffffj hĘXZjt$dYXjh?fSӃ D$RD$PXZjhИmYXSt$aXZjhؘS$fffUWVS)׉É1҃$ $D$,$T$ɉtnpiS11T$ $ &Ƀ9^ك#@#BB9T$D$$$D$ \$ t|$D$D$l$%| - $zt3ِt&D$ L$ tvQt& t&؍D$<D$8L$$[^_]t$%|xD$=pxvW h D$PL$yǁ1) D$ T# ' "@@ǀǀǀ,٘4ǀ0' _úfffUWVS1ہ-H#  t&9)PhD$P5\# :Ӏ=D#  5\# h 5\# $3XZhh# \# 19xH# tY1t&DTΉT9w߁[^_]Í&1[^_]1Ҁ=C# L$|$ tDt&fL<ƃ%fL$fLD$9fL$D$_rˋ|$ 넍v| ƃ%ǀ|$|D$ǀ9ډ|$D$Yr뼋1Ґ DT%DT9YwfffffUWVS1$D$T$L$hD$PL$1҃Ɓw9:t\XЀ wv1ۉ֍v'<1\P1PЀ vw89:t<.u?w7|$D$؉$t!눍t&t(vݍv1ۃ Q,[^_]À9:t(t$D$؉?:uȁw$띋D$ffffffUWVSL " "D$8D$<$@0""$@H"* d# `# L# X# L. # H# * P.  * D. "@# A#  * * T# D# @* "D$0血' T# C# @. D$ D$D$1\$D$$$@߉$@<-;$A+$Bh]XjFhXZjDhDY[j-h^_j[h]XjWhXZj[hlY[jThȨ^_jNh]XjihlXZjNhةY[jNh(w^_jqhxi]XjXh[XZj/hDMY[jSht?^_j6hȫ1]Xjlh#XZjghlY[j}hԬ^_jYhT]XjshXZjdh$Y[jth^_jRh]Xj}hPXZj~hЯY[jOhP^_jkh]Xjh {XZj;h mY[johH_^_jhQ]Xhh@XZj&h`2Y[hh!^_jhɚ]XjphXZj>hY[jh^_hhij]XjbhXXZjh Y[jGh^_jh]XjhXZj5hY[jh"v^_j h0h]Xj!h<ZXZj"h`LY[j h<>^_j(h0]Xj-h"XZj2hܵ$XPPj D$DPjt$H PPhSF hSP\PPhStF hSP2FFv ^^؋D$8L""L"fhS$@+|$D$0ٞz* @1҉T$$,$ٞz=ٞ8"ٞz =X# u4ٞ9ٞX# @X# v'9rX#  jj$[,"`# x X# 3D$<ٞztfD$0ٞztW <ٞ+jjPP$ "ءH# "  "=* ""t =X# t D$0ٞztHL"D$8t?X# 1ɉL$$,$@X@XuD$8f=@. u=* Ѓ@. ' t&ƃ8'؍ك,ٞ؅u L$u D$ك0D$=* ؋4$,$ٛ4'`s Pǃ  s fPǃXs fPǃCtF* D$@$,$ٞz=ƃ8'<$hS D$8PhS% D$41)ʃ  H |$ ' $>rT$i'hh# n# <-,4,&hS:$P(jh WWj$h\t&D$D$ٛ,A $D$,$ ٛ0QvD$B J0vJ7L$A P0vP7T$@hD$LPh7jPt&v؋4t&L [^_]Ðt&j h'\$PPjhoZYhS[^j h$X# ="1ز!PPhS& hSD$HPPPhS hShD"詼PPhS hSh@"~"wWWhS'  hS0PAF VVhSH' ǂvD9tQ>tLT$ 蟻T$ HЀ vHYD9u|$T# PPj)hH"(PQQhS~'  PhS觺t' x1PPhS5XZhSd# P' @RRhS hShL. 跺 ǙmRhhh# PPhS'  hS4PZ<$uh' ـ4"C"A# (=F$B6mH# X#  $' ƀ<NH# C# PPhS h0"hS膸"QQj hy[^j5X# r_]jh jj58"rD$< =L"tsPPj hL"D$HtUjha jjD$Dp_]jh@ jjD$DpD$HD$HuPPjh @# ' ƀ;yD. * f ٞX# ' ƀ>PPj h~ jjt$H.XZjh%` * * P. ' * ƀ@' ƀ?QD# ' \WWhS' XTx D$Dغ` H& ;PPhS h@. hSõ@. $@VVhSB# '  PhSkp !WWhStXZj D$8PD$<HPxhD$,* D$*  _4t&C1҃PPممvlؐممwًٕٕ6ɋt&ٝ؋1҃PPمم>مnjjٝ$Dž߭ممqjjٝ$豷Dž߭م؃$[ ɋE$UWVSփ< X# D$@T$$1D$TD$D$ "XBBtt&@9uD$PL$D$ l$|\$ jj\$$$訶D$ÉD$X# l$D$$ʼnD$$9D$ r]١ "9ˋ0@ʉD$P"<t&9\t%҉yD$9\u &ɋ|$T)\D$$O)ڍ|$$D$ |$|eمɉDȃʍHXȃɍHXt& t&؍9w׍D 9vBvBܞ3-"L$D$ l$t$P|v؋@TD$)\f؋\$9w jT$5 "T$(0 F9iFɉ>nYt%t&<Ћl@ɉ8h\9uߋD$D$ D$l$ٞzt0\$D$1x6t&l$D$l$L$$%l ع$ 8@\$,D$,C[K[9uD$й1۽|$t& "01҉؉5X# )T$@ɍPvt&;\$uɋ|$ٞzOuMt$AɍAYtt&X@X9u؍t&<[^_]=l믐&=T$$ h%l ع$詥oٞȹ\t&D$Dȃ_vʋD$ ȍHXȃ\ɋD$$W&ȋ5L"L$ ǃD$(P"ÉD$<1ۍ&\$D$Y&t&B |v & fɍt&u%ȹ Թwl$D$&t&B |v & fɍt&u%ȹ Թw9؀=* L$ D$(1NjT$\$T vM)?|vډۅ jh迲jSN X# P"ˋ또&BvR |fBvB |;:fڋx&ڋ \$$ŢD$D$ɋjh貱D$TT$1\$Tt&9t`P"X# |vمu%jhVjW밃jh1مD$T X# \$jh  X# D$11T$IffffUWVS<$p<$D$k|$Dut,$t,$V"D$dD$@|$Dǀ|ƀ ǀǀǀx$P$TP$XP$\P $`P$dP$hP$lP<1[^_]ÉljD$ x$PP9T$@$TH$XH$\H $`H$dH$hH$lHx}T$@9LJtjD$jD$j1D$hjj G$ jjP脬1ft9uŋ$DŽ$1DŽ$DŽ$D$1t&|PjS聬t1҉4$9u9\$뱋|$ $| D$R$|$ Ѓ|$/$|$ |$$|$ |$$|$ |$$|$ |$$|$ |$$|$ |$tm$|$ |$tP$|$ |$ t3$|$ |$ t$|$ D$ D$hx|$k T$DD$ ҋt 9D$DD$DD$ tD$D||$htD$D9D$ D$|$<$|$1Ft$$3jjCP覩 9s2;,$,+u|9s1҃L)1*18+|$L$kL$1$ t&,T<x$09D$u΃D$|D$ |$De8,\D$ D$D$$+$h$P̦D$ 5 $&<[^_]ÍH|$ 1$1ǐ&<+#jjU轧Ńf!t9VjS9uƒjjUu;<$t닅7(|$ ՋD$@D$D$iD$XT$LD$8D$<@D$4D$`ܹD$P$D$\$,\$(D$T$$D$\D$|$l$\$0RT$$)NjD$ |$ 1D$HŐ1;|$$#D$ jj4D$D$ jjPd1f|\$EٞED$,E|$8ٞz ɐt&\$,D$(ڞv\$(|$<vEE vEڞzt X# ƃ9rpD$$09t$\$ <"8"4C9sD2vD2۞tnٞ$؋L$j$PjW4j$PhU߅D$0 9|$ X# "D$ <$+ <~9 @G|>@O|>@G|>@9vD>ua[^_]ÐӍ,> &jD$P衉9tÃM L$t ^vЃjhq΍t&jh/V |$̃)֍F0D$jW[^_]É.'|>@эG|>@ȍO|>@G|>@뱐D$1jW谈bffffUWVS$,RP膈;$(wh$ X9wZ &9wJ/D$Ѓ< H0vHWL$ B0vBW$hV9$(s [^_]fffUWVS$,$0RP߇$ 9ލhs Zt&9rO9wD$Ѓ< H0vHWЈL$ P0vPW$hD$ Py9s [^_]fffUWVStE,](u EPD|hhٝE$^م hhE$7ۉu#u VWsM9~u~~1<31҉&9| uve[^_]Ð&=* tكjh#؅ōvkj3ƅƅTWjuD0r1t&uHPpƄ ƄV=&j3WjP rt#)򐍴&32uFƄ5 ƄSFj3WjmPqt&)& D u񉍰j3Wju Ƅ ƄAp=qt+&3D2uj3FWju$Ƅ5 Ƅ5Qpt&)vΈ D2u퉵Ƅ pƄ5:vUPL0< w7&0 v9Evw Jw߃„}} 9E1ҍ< v9v΃Y9]w8wjPhQu ux uƅf VS5 *  Nt&v'j3Wjpۍvj3Wjۍvj3WjjƄ5Xpnt+t&3D7uƄ5 =* tjh$WPk^_h̍$WPlD$\$\$\D$\$3D$<L$8l$8l$()‰Ѓ0\$H[)lj0\\$\D$\$~MbƄ_.)ljȍW0Q]Љ)ʼnȍU0^Љ)‰Ѓ0`D)0a\$HD$\$0D$NR$xS\$\$\D$\$}D$<L$8l$8l$ЉD$H)ʼnȍU0dЉ)‰Љʃ0eD)‰Ѓ0f\$\D$\$a}MbƄi.Љ)ʼnȍU0g)ljȍW0h)Ɖs0j)0kD$D$0ل$D$HɃE\$x@]ل$,$q|Q)04[Ƅq/ȉ)Ɖ0o)ōE0kp$x8/ل$ 4|${ƸQل$ɉ)0,K)‰Ѓ0c)ƍF0sd(ل$F@ل$Dل$|ل$bƄ4K!Ƅ4LwQjj.t$ t$ xjjD$(D$,l$0l$ L\$0$xkd)э !4m jjt$t$[xjjD$D$l$l$ D$($2xل$Ƅ4o!Ƅ4pkd)э !4n vhjhAh$WPYfh\$jSj$h hSh$WP&fjhFh$gP f $t$th$WPeXZh$WPfY[T$,L$(Rj$$$$$Ph$wPT$LD$H$$lzj\[^_]Í&x_ل$ 0'ل$>Ƅ4K/Ƅ4LAƄ4]=ل$^ H$Yxل$Z| Ѻ)0YшK̉ Mb)É04OQ)É04P)É04Q)ȃ04R)ǍG04S kvƄ4Kbل$ |$2wYщǹ Mb)É04\Q)É04])É04^)ȃ04_)ǍG04`pv'Ƅ4Khnل$|$Mvd))щ؃00,K4Mل$~ 8<\$ |$uƄ4[tù-D$w$غQѺ)0ƒ JW L$= PWt T$D$?]D$@늍v'j h޼hS?D$  D$$ D$ Qt&jPMXZjhS8&jh_S jj$vMXZjhFSEjP5MY^jhtS &jj$&M_]jhXSj hhS>D.D..=v )ȉ$D.$ XD.ٜ$D.=v )ȉ$D.$L. \ȍMĀ$L$ ٜ$# jj t$ P‰D$ 1u@JtEp,uupt$$ƍt&>,tjVhS=uߋt$$L$ rD$: sD$;jhhS=L$%t$$D$ <v$L. $ |ʃ?ٜ$ v @)‰Ѐv$D. $ `ih$(E ;D$ ٜ$kD. ˆ$1?1€<$vjdWjT$ D$ ȹ$>jdWhS< jhhS<9l$ .1ɉЃ jdWhS"<jhhS< xj h'hS;9l$ wD$?]D$@jhhSZ;L.D..D.=v )L.$D.$ XD.ٜ$=v )ȉ$ET$ $$ \ٜ$j hChS:T$ + @ VLjhhSU:j hhS;:D.D..=v )ȉ$D.$ XD.ٜ$D.=v )ȉ$\QL.$fD$:D. \ȉ$%$$ٜ$jdWjP:jdWhSx9 jhhSc9L.ʃ?v @)‰ЀvD$ D$ `ٔ$jdWj$X;jdWhS 9 jhFhS8D. <vD$ D$ |ٔ$ jdWj$:jdWhS8 jhhS8D. ih$8jdWjP9 jdWhSj8jhthSX8jj t$ 8JjhȽhS18𺫪 jdWkj2PR9jdWhS8 jhhS7WjhhS7P0J0iJ0IJ0)J0 J0J0J0P0J0J0J0sJ0PJ0-PWAWj hGhS;7 .ED$1u &QtB,uuꍨ#&jUhS6t},ujhhS6D$ 1u v6tA,uuꍰ#&jVhSg6t>,ujhhSE6j hhS+6^$j"hhS6$/_T$ fD$:j!hhS5T$DȉD$D$ `lٔ$0jdWj$7 jdWhS5jhhS5 T$ /_T$ fD$:j hhSS5l$.fD$D$ hٔ$,jdWj$e7 jdWhS5jhhS5D$ T$ a/_T$ fD$:jhnhS4l$.ih$8jdWjP5 jdWhS4jhthS4D. T$ <vD$ T$D$ dٔ$ jdWj$6jdWhS84 j hyhS#4D$T$D<vD$ T$D$ dٔ$jdWj$6jdWhS3 jhhS3D$T$T$/_fT$:j h^hS3D$ML$ffD$D$ |ٔ$(jdWj$5 jdWhSC3jhkhS13 T$$jhhS3$j hνhS2Y1jhdhS2jhdhS2jh׽hS2D.D..=v )ȉ$D.$ XD.ٜ$D.=v )ȉ$D.$ \ٜ$jjPCƉ1uv=t@,uu荨!t&jUhS1t},u6D$:6D$;jhhSo1.U<=A jh6hS1jh hS1$jhhS0$jhhS0T.D$N D$O< H0vHWЈL$= P0vPWT$+ jh:hU)+hWjT$/D$tDPM, hWhU*j hBhU* hWjD$DP,hWhU* jhMhU** 1҉T$LD$Hl$HٞU O hWj$,hWhUK* jhhU6*hWjt$Pe+ hWhU*jhThU) hWjt$<++hWhU) j h[hU)hWjt$D* hWhU)j hfhU) hWjt$P*hWhUi) j hshUT)hWjt$@+ hWhU/)jh}hU) hWjt$(I*hWhU( jhhU(hWjt$\+ hWhU(jhhU( hWjt$8)hWhU( j hhUr(hWjt$h* hWhUM(j hhU;( hWjt$Tg*hWhU( jhhU(hWjt$<0* hWhU'jhhU' hWjt$$(hWhU' j hhU'$ $ hUw' jhhUb'j hʿhUP' $ t$lhU7'jhhU%' L.   jhhU&j hhU& $h D$ 1v';$h D$ R)ƒuΉƄ$t?A$p ?A$q?A?$raA$shWhU &1;$h I'$h R$h )tƄ$r=Ƅ$s=Ƅ$t?J 3G$p ? A$qu!?PAv 3P$rhWhU1%jhhU%=@* t0H.  hU%PhU5H. 9 tt&^6u t$t)|$]$h N|$XC|$PD$ ? |$4D$n=* +$h $` jh8$t p$XƄ$ZЃ< H0NЈ$Y P0vPW$XhU8Y_jh8- n jh7  ?!!{ j h7]XjP81XZj h7Y_jP1ٺj j $p D ٺ jj$p % ٺ jj$p  $l ٺPj'$p ޮ[^jh6t&|$ v'=D. t2=* t)= * t|$t|$Xtjh h6 $l 'Y$ &L [^_]Ív$ |$Y$ t!|$|$X|$Z $ $ $| $x 5 * Q6 '|$X=* D$P$h $X$h 1$` _tyv0Ƅ$ZЃ< H0vHWЈ$Y P0vPW$XhU!5@. th9:@. $` u0PP^$XƄ$Yj U4@. uF9vjh4zv=t&3D$,)1&~hU <$SPU5 * 4 6t&3G&3Gc&3G0&3?G=* u @. jh 39j h3D$$Ƅ$l؉ƒ J7wJ0$[ƒ J7wJ0$Zƒ J7wJ0$Y P7wP0$Xh$dU3jhþ2Y[jt$<,^_jhȾ2XZj$t e,|$Z jhؾ2|$ |$X)jh޾2jhn2 jjt$0,XZjhP2 jj$| +Y[jhv/2 jj$ +^_j h2 jjt$,+XZjhv1 jj$ +Y[jh1 jjt$X+^_jh1 jj$ ^+XZjhv1 jjt$T@+Y[j hr1^_jt$4+XZjh W1Y[jt$P*^_jh <1XZjt$8*Y[jhv!1^_j$ *XZjh1$ L$jh?0^_jt$(i*XZjh%0Y[jh0 jjt$L]*^_jhߛ0L. =P. $ 1t$ j h20^_jS)jh 0^_jh{0XZ$ $ /Y[jh/@. t$h D=* Ov=@* ~=&=&=&=7Ƅ$X[ JWwJ0$Y< PWwP0$ZƄ$[]Ƅ$dj U.3'j hֿhUnphWjL. $ hWhU;*v ,E.‰h\$xi€QS)Q ^_hSW.]XjhI.XZjt$@'|$8;jh/.j$ 'Y[jhd-$ Njh-D$$Ƅ$j P0D$$Y P0P7{'j h-D$$Ƅ$j P0ND$$Y P09$Xh$dU*-XZjh  -t&>+G> +`>+>+L$XHA11ۀ|$$ |$Z$ $` 8< |$  L$`t$(t$ +> +|$ WD$_Pt$8t$$t$Ƅ$ZЃ< H0vHWЈ$Y P0vPW$XhU$t;|$vjh#Y_jPwD$  jh#XZjPHY_jh#]XjP(XZj hz#؃jPXZj h%V#\$(Y_jUXZjh03#Y_jFFP$h z1jh?"]XjD> P~$x 9w  PWG$p $l P$p P$p Qܙt&xx|$  t& jj$p 艙 jj$p j j j$p K j j $p , j j $p $h " jj $p ݘ8D9<\$pF9ÍD$t91=u$l$h $m1t9ˆmu$h v =* u0$ À|$Y!1=u녃ojh $D$v0$^Xh$|PXZjD$rPY $1Ƀ v9rmtȺ%I$)))уtWj2h\ $|$ L$lÀ|$Y!7j h<뻃jh$pY[jh$1T$pP jh.K|$4މ%&98jh$Ŕ$8yu<xjh$덻D$44@ЈL$HD$@jhL$PɀD/ D$@yY/9Cc= Ƅ$ZA0vA7$Y F0vF7$Xh$dPD$8DŽ$Xv^-+aYD$@T$8jЍdP9l$4jh V19ݍ$Xw3L$X ^wHjV69$p uÄtjh 1˃jh벃jh$t$D0Ƅ$jЃ< H0vH7Ј$Y P0vP7$Xh$dPu`jh FIjh?jh(YjhBjh+jhjhjhjh0D$wXZjT$sRT$T0D$wY^jT$PRdjhM0D$wXZjD$sP3djh̓jhv|$4P [t$4Mjh7$h $h 1ۍxv'9jh C;D$wRTƄ$ZЃ< H0vHWЈ$Y PWwP0$Xh$dPN9u>j h.]XjPXZjhY_jP]Xj hoSƄ$ZЃ< H0vHWЈ$Y P0vPW$Xh$dUSƄ$ZЃ< H0vHWЈ$Y P0vPW$XhUNSƄ$ZЃ< H0vHWЈ$Y P0vPW$XhUHWj h\$ j h^$ 1tT$l9u=* L$lj h}oL$|j hdSƄ$ZЃ< H0vHWЈ$Y P0vPW$XhUSƄ$ZЃ< H0vHWЈ$Y P0vPW$XhUSƄ$ZЃ< H0vHWЈ$Y P0vPW$XhUSƄ$ZЃ< H0vHWЈ$Y P0vPW$XhU7XZjh) CS Ƅ$ZЃ< H0vHWЈ$Y P0vPW$XhUS Ƅ$ZЃ< H0vHWЈ$Y P0vPW$XhUS Ƅ$ZЃ< H0vHWЈ$Y P0vPW$XhUBSƄ$ZЃ< H0vHWЈ$Y P0vPW$XhU1' tÍ ' H.  fffffUW1VS D$D$0l$$ $D$D$4uD$D$8D$D$(0:D$!:D$!:D$Ät<<-t8%@v 4$Epuu 1[^_]Ít) $@uuD$(0<-t&1L$<<$Ɉ  [^_]ÍFED$(D0HЀ w;|$(1ɍ uLH7XЀ v|$t뗍vvF1ɀ|$uzUWVS|$D$l$?XtG1 xt9v[^_]É1Ґt&Ett$ Bt*)LɈ tƃ)9w 9s[^_]9w[^_]fUWVSȻ̉D$C0D$jD$PD$WV7)ՍM0L$"jD$PWV t$,t$,WV $[^_]ÐD$L$P19u t&<t9vÉ'fffffffUWVSD$(L$t$$D$ɉ$D$(D$gfffftJÉ))‰Ѓ0D؉…uńt|$tCD-<$;|$ v T$ T$(9vR @ 9ut$9r)эt&9s[^_]Ív'D$3UWVSD$0t$8|$<-jj\$$D$D$D$\$WVjP >OD$1 <t9vT$4t{|$4.xvRD$4,>v jj\$$bD$0D$ED$9u؋D$4| ؉'> v'؃[^_]ÍX~&HH9u-E&jj\$$ D$D$D$\$WVjP >OD$1ffVSL$ \$t$PЀ wI0t7Q  L 9tHЀ v[^É'[^1ffUW1VSt$|$ \$-9؉$w4jЉ wM1jЉ w* ;$LJЉv1-u[^_]Ðt&!1fUWVS|$D$ t$/X< G1ŃH u"9v<-q1[^_]Ð͉<-P1퐍& A< j& A< v 0 $$ &ك9vظuB_9ڸT<H ؍&[^_]1'붐&ظ.u9w  $0 w $` A< wdʃ0 $9$vى^wt&9T 1ىu 1HUWE.VS$\$8t$jhUV &D$0sD$0fffUWE.VSЃd$(|$,D$sm$jhtj iµl$U)iuD$ 1D$9v)D59r$Qjh JՋT$8kdL$jhT$@)jhT$HljhًT$PX ųd$(jhdѺ RT$8)d$0jhdىk<k<)ыT$@L$8jh T$H),[^_]ffffffUWVSl$t$xM<.( ' Vtf22( 9' u؈L..[^_]Ðt&11.L.[^_]UWVS\$@l$0t$DD$j0jjj>t$DU|$0Wt$XL$X+ t$D$|>t#[^_]Ív[^_]fډD$jpjj,j:t$DUWt$XL$X tËL$4$D$ D &<,L$j0j*j,j:t$DUWt$XL$XD$ p ]l$RL$D <*uL$vZC¸%I$T$D$)‹D$8Dt0D$8؉D$))\$8D$&@9uD ;<:D$8DT$8PT$8DQT$L te|$49<$wW|$<9p|$t&;$w/;D$QI|$8 LủT$3t$@t$@9 fffffff' tÐt&S' Q. 1ɍ&غ)t&5t uu( Ј' u[Ã5!j 0X5!S\$t$SSPh5!i[ffS\$t$SSPh5!9[S\$t$SSPh5! [ff t$t$h5!Ð t$t$h5!ÐD$ $t$$t$,h5!,fffffVS \$t$SV9rt$D$[^&[^ffffffVS \$t$SV9rt$D$[^&[^ffffffVS \$t$SVL9rt$D$[^&[^ffffffKfffffST$D$L$\$ 9vЉD$\$ L$[gfffST$D$L$\$ 9vЉD$\$ L$[Gfffjt$t$~fffffpD$ Pt$xjD$(%-|S) ) 9D$[Í) Zt$4t$) [fffffff) uD$) D$) ÐWVSt$|$ VtV7Pg[^_fffffffD$ D$(wpD$,ٞwe|$D$ fD$ l$ T$l$L$ɉL$ٞD$vvȃÍv'vhhhh?fffffff$|$D$D$(D$ fD$l$|$l$D$$,$vЃ$ffft$ tT$ fj6fVSL$t$ t ~19[^Ðt&D$ [^!Ív19~ދD$ މ[!^fffL$1;L$sD$ ffUWVS|$ D$$l$t$\TtX$UWTt7$\G$LADC; $u[^_]ÐWVSt$|$ POt%Vt$D$PS6Xt$ ,t [^_Ðt& Sfffff (kD$ٞr#&؍ȃ Ív'1sjj$ȃ fffffkffffffffffffffffffff+fffffKfffffkfffff+fffffffffft$Tá) u ) fffffS jjjXZjSE PjS6[ffffffff$D$,ffD$D$0D$D$ȉD$ jRjt$-f u8|i8|i16|f32-s [-]5..[-]12-a (0.06)-c 4..8-b 0..9-l 2..255-g -r -w 2..4096-o -S -o 0..1 (-1)-M -P -n -U or -L ip:port number-T -u ip:port number-J out of memory-J ip:port number-j -Y d|f iq-filename create-Y b -Y d|f|b iq-filename -h thislorawan all modulations:Tianqi-Sats 400.260MHz: mknod iqpipe pimport json, base64, socketIP=("0.0.0.0",5100)sock.bind(IP)while True: print(obj)cannot open udp socket-o shift outside iq bandFIR length= ratio= offset= notches:..bw= cr=from header sf= id=Off optimize= drpll= drc=ppm squelch= inverted-X < use -h : df=,manual notches at:b~^- n=Header: dlen= crc=head crc erroropen iq file jump: found first syn nibble wrong first syn nibble state=SYN 1 OK state=SYN state=NETID wrong second syn nibble state=REVERS1 state=REVERS2 jump/4:rev chirp timeout state=DATA dcd-lost-count=noise=dB peak=dBWarning: only one bw = input samplerate!-Z (0.01 0.9999)-W (0 = off) Decode lora sf5..12 +reverse, 7.8..500khz out of IQ-File/Pipe, 8 16 32bit, shift and downsample (samplerate must be exact +/-0.00001) output data in raw udp, axudp or json, view (and if possible generate aprs axudp) aprs, pr, lorawan, fanet, meshcore, meshtastic... -A (*) enable frame chaining for ax25 longframes -a (*)follow frequency drift, 0 off (0.06), try other on hard to decode frame from iq-file -b kHz 0:7.8 1:10.4 2:15.6 3:20.8 4:31.25 5:41.7 6:62.5 7:125 8:250 9:500 (7) -C (*)use crc on implicit header -c (*)coding rate and enable implicit header (4..8) (else from header) -D (*)if dcd lost go on decoding until frame length limit (for external FEC or monitoring) -d (*)switch off collision detection (less cpu but loose stronger frames starting inside weaker in rare cases 2 overlapping frames are both decoded or strong echoed frames may be seen twice -E switch off using crc to repair 1 chirp (stresses crc, does not repair much) (on) -F max. block energy FEC off (hamming code fec remains on) (on), try on/off for best decode iq file -f u8|i8|i16|f32 IQ data format -g add this to measured signal level for absolute values (no autogain in sdr) (0.0) -H show payload in ascii if printable else in [hex] same as -H 1 0:show no payload, 2:in hex, 3:hex with commas 4:tries decoding payload, 5:with ascii/hex, 6:with hex, 7:with hex and commas -i IQ-filename or pipe, "-" for /dev/sdtin -J send demodulated data(base64) with metadata in json, may be repeated -j write demodulated data(base64) with metadata in json to file or (unbreakable) pipe -K do not exit on broken iq pipe -L (*)same as -U but AXUDPv2 with metadata for igate individual destinations per sf: -L 127.0.0.1:9012 -s 12 -L 127.0.0.1:9010 -s 10 -l (*)fixed data length for implicit header else guess from dcd -M pass through rx frequency to json metadata -M 433.775 -N if verbose add empty line after data line -n <[-]Hz> <[-]Hz> notchfilter baseband from to Hz (may be repeatet) -O <0..1> (*)optimize on off else automatic on sf/bw (-1) -o shift input iq band +-Hz -P <+/-ppm> (*)tune datarate (chirp samplerate) or preset for auto (-a) in ppm (0) -Q verbose and -u sending only for frames with crc and crc ok, see -v reduce out of noise decoded with higher -S squelch or filter with -X -q (*)invers chirps or swapped I/Q (prefer negative spread factor) -r downsample input, give exact input samplerate in Hz (off) -S (*)modifiy squelch level critical for implicit header frame length guess (automatic) -s [-] (*)spread factor (5..12) (12) and start a new demodulator negativ value (-s -12) for invers chirps or swapped I/Q -T send json udp with DCD-state+sf valid for this sf and every send noisefloor and peak -t (*)send raw frame bytes in udp frame only if has crc and crc ok -U (*)send frame in AXUDP -u (*)send raw frame bytes in udp frame, -Q for CRC ok frames -V very verbose for debugging frames -v verbose ====: cr=4(no fec), +++++: hamming ok, -:hamming error, h:by hamming corrected, ~:weakest chirp replaced, b:noisy chirp replaced, c/C:tried until crc ok/not ok, ^:bins with decending power sum tried until hamming ok, x:ok but same sf/bw chirps seen, sets -H 5 too 8:0:id:12 = sf8 decoded by task 0, network id 12 (not part of crc) -W every n*firlen samples update notch filter 0=off, ok:50 (0), less for pulsing narrowband noise -w downsample fir length (higher is sharper/more cpu) else automatic (4..4096) (0) -X (*)filter network-id (sync), 1xx stops decode on wrong id so fast ready for new frame if set -d 0 is wildcard, 20 will pass 2*, 03 for *3, 00 pass all (00) -Y d|f|b iq debug output in float32-iq (d)echirped or only (f)iltered, view spectrum, or bins , sets -d -y (*)not view decoded protocols and for aprs needs 3c,ff,01 header else all junk removed until first letter -Z add pulse noise filter (noise blanker) (0.05 0.999)(*) may be repeated for more demodulators, to start next demodulator apply -s before other pramaetersexamples: aprs with autonotch for narrowband interference: rtl_sdr -f 433.775m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -r 1000000 -W 50 -v -H 1 -N -b 7 -s 12 -w 64 rtl_sdr -f 869.525m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -r 1000000 -Q -v -H 6 -b 7 -s 12 -s 11 -s 10 -s 9 -s 8 -s 7 -s -12 -s -11 -s -10 -s -9 -s -8 -s -7fanet with plutosdr axudp to aprsmap: rx_sdr -f 868.2 -s 1000000 -d driver=plutosdr -F CS16 - | ./lorarx -i /dev/stdin -f i16 -r 1000000 -Q -v -H 6 -L 127.0.0.1:9002 -b 8 -s 7 rtl_sdr -f 400.0m -s 1000000 - | ./lorarx -i /dev/stdin -f u8 -r 1000000 -o 260000 -v -b 7 -s 10 -O 1 -N -H 2meshtastic + meshcore and frames in json via udp to decypter: rtl_sdr -f 869.5m -s 1000000 - | tee iqpipe | ./lorarx -i /dev/stdin -f u8 -r 1000000 -o 118000 -b 6 -s 8 -v -N -Q -M 869.618 -J 127.0.0.1:7001 ./lorarx -i iqpipe -K -f u8 -r 1000000 -o 25000 -b 8 -s 11 -v -N -Q -M 869.525 -J 127.0.0.1:7002example: decode payload from udp json with python3: -J 127.0.0.1:5100sock=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) data, addr=sock.recvfrom(1500) obj = json.loads(data.decode()) if "payload" in obj and "crc" in obj: payload=base64.b64decode(obj["payload"]) print("payload=",payload, "crc=", obj["crc"])enable FIR (-r) for notches (-n)no FIR (-w) set so no filtert outputwarning: sf<7 needs implizit header… /^xƍ4hР@#G8qĉ%K.\p 2dɒ$I&M7nܹrȐ A +V[mڵk֬Ye˖,XaÇ>}۷o޽z׮]tѢD!C 6lرcǏ|?z$@? #>$Hu=@@AKGOzBq=J0A75$tI@>>'7?I@=HCg@@zDzĕ38>pA A:?`@_p0y #<333?L=q= ףp?HzG?rϥwwSkytraxxBitBroker.euAirWhereWindlineBurnair.chSoftRFGXAircomAirtribunealfapilotFANET+FLARMXC TracerOGN Tracker4aviationVariousEspressif based base stationUnregistered Devices[Multicast]fw:[] axudp: beacon encode error:!Clb=m/s Meshcore:TRANSPORT_FLOODTRANSPORT_DIRECT/RESPONSETXT_MSGACKADVERTGRP_TXTGRP_DATAANON_REQPATHTRACEMULTIPARTCONTROLRAW_CUSTOMUNDEF TRANS: Trace[ Path[ Hash: Time: App: pos:\gChatNode/lRepeater/rRoomServer/BSensordB afc:MSHCOR Dst: Src: Mac: Tag: Auth: Flags: Path: [dB MHz Ext Header Forward FNTACK none requested requested via forward unknown unicast broadcast Signature:no payload tracking:Online Tracking deg/s QNE:Message:Message subheader:Service:Internet Gateway Temperature:C Wind:deg km/h Gusts:km/h Humidity:% hPa State of Charge Extended Header Thermal:qual:HW-Info Ground Track:online Remote configuration:Acknowledge configuration Request alt:Geofence Broadcast Reply Landmarks FANETFanet:Clb:geobased fwd ///g/g/O/g/'/X/n///[/>/b/s/e\o/'/a\!\!{"dcd":,"sf":,"nf":,"nfpk": ill-id: cr: len: dcd-lost crc:okerrno lev:()dB snr:dB nf:)dB txd: t: q:% fc: fec: dre:MHz notch at:"net":,"crc":,"invers":,"bw":,"cr":,"preamb":,"duration":,"level":,"afc":,"dre":,"eye":,"nfloor":,"pknfloor":,"snr":,"fec":,"notches":[,"chirps":","rxmhz":,"ver":"lorarx","payload":""} cannot write json-fileJoin-requestJoin-acceptUnconfirmed Data UpUnconfirmed Data DownConfirmed Data UpConfirmed Data DownRejoin-requestProprietary RFU: Major: AppEUI: DevEUI: DevNonce: NetID: DevAddr: DLSettings: RxDelay: CFList: ADR: ACK: FPending: ADRACKReq: ClassB: FOptsLen: FCnt: FOpts: FPort: Payload: MIC:ax25 part 2ax25 chain hash missmatchax25 part 1AX25::fm to * ctl RRRNRREJUIDMSABMDISCUAFRMRv1 pid Meshtastic: Dest: SRC: MID: HopLim: HopStart: WantAck viaMQTT NextHop: RelayNode: Msg:[ viaaxudp encode: too much junk in data (-y for prefilter aprs)Other,Paraglider,Hangglider,Balloon,Glider,Powered Aircraft,Helicopter,UAVBarometric pressure normailized Support for Remote Configuration Other,Walking,Vehicle,Bike,Boot,Need a ride,Landed well,Need technical support,Need medical help,Distress call,Distress call automaticallyText,Line,Arrow,Area,Area Filled,Circle,Circle Filled,3D Line,3D Area,3D CylinderInfo,Warning,Keep out,Touch down,No airspace warn zoneframe deleted, wrong sync word no ax.25 (no address end mark) no ax.25 (address field size not multiples of 7)0%$%% %%$$$$$$$<%<%<%">CQ83303232332323 #|A@AAB=pC<4E.؂;E.;5<.eB%.*s%*lu%*d%*.*f%*Xosic.c0*aX2C_TRUNCI(kN(k(knO;P (x@x (Xx CP(G HXIIl8P[8r$/H1hCCPDDE8$E8dEEHFTFF8|GG8@HH(IHHAA AAFSHHEEHOZEEMHBEHKLMEEMHI EI B EB BEEHHAEEHHHEHHMHEHHG EE B EE BEEHHO EE B EE B EE B EE B EE B EE B EE B EE B EE B EM C HEHGEEHHEHBXSHEHHBEI BEEHHNEEH`MGHF AA AAF B EI UEHFAEHFABEFAEAFAEDHQEJHHLDEHHTEEH[pKEHGEEHOEAdJAEHXBEEH^qAEHH#EEHJABGSEAEAGEEAHEABOMAEAHrEEEHeEEHH(HBGGEEAHEABGJAEAHBEEAJHEAHBEEAJHEAHELEAHLGGGBGEEEEGEBBBDDDDEHEAEHBEVJEEH[rHEHHLEEH[rHEHGEEH\pAEHGEEHajDEHHOEEHHF EE NEELQ@AHAHlEEHJHEHxEEHJAEH\oHEHJAEHHBEEHHeEHHHEAEHHPEEHHhAHHHqEEHHEEEHEEHHEEEHKEEDHHEEHHEEEHdIELH_EELJ8 ("MAA AAHAEBGGEEHHBAEAGEEAHMABGGEEAHBAEAGEEAHBABGGEEAHBAEAGEEANEBH`MBHXkEAH AA AAA _BEFABHFABE[kBAOWEAHF AA AAH eHBCJHBAHBEBAGHBGKBHBAGEBAHJEEAHQEEAJ]EEAHNEEAQKEEALEBA\MBAGAEAH@EEAkAEAHNEEAHMEEAHMABCJAEAHBEEAHMNGGGFGGGGGGGNkJIHEABHBEVGEEAVlAHAHnEEAQuBAFABEHOBEHBBGFABEHHBAFABEHOBBCIABEHGEEAMBBDS{AHAHjEEALABGTAEAHBEEAHpEEAGABGOBAEAGEEAHGEEAHfAHAHQEEAHEEAHNEEAHGEEAMABAGAEAHBEEAMuABCJAEAHBEEAMaABCJAEAHBEEA\ABAHBAEAGEEAHBBDGHEAQDAEFGAEAHBEEAHGEEAHEEASAHAHPEEALAHAHOEEAHGEEAHJEEAHYEEAvABCKBAEAGEEAHZEEAeABCKBAEAGEEAQZEEA_ABAHBAEAGEEAMjABCJAEAHBEEALoABCJAEAHBEEAMZEEAmABCKBAEAGEEAHOEEAHKEEAHNEEAHGEEAHGEEAMBBAK|AHAHmEEALyEEAHGEEAHJEEAHKEEA\dAEAHGEEAHOEEALUEHAJHBAHBHEAGEEAHiEEAGHBFHBHEAGEEAHBABOGAEAHBEEAHJ EEAR Xd-$^AA AAFxEBATABAQAAFH^DECKEBAHBABFGABAHBEBAGABAHBABANTEBAGABGHBABAGEBAHBABGGABAHNAA AA.h^+AA AAFHFAGHQhVEHEEHGEEAHEHBDJAEAHBEEAJABOHEAEAGEEAHEABFJAEAHBEEAbdABCMAEAHBEEAJABDHEAEAGEEAHEABDJAEAHBEEAJABDHEAEAGEEAHEABDJAEAHBEEAJABDHEAEAGEEAHEABDJAEAHBEEAJABDHEAEAGEEAHEABDJAEAHBEEAJABDHEAEAGEEAHEABDJAEAHBEEAJABDHEAEAGEEAHEABDJAEAHBEEALGEAHBEEAGEEAHGDEAGEEAJYEEAGEEAHDEAHAEAHBEEAHYEAFEAFH\DH|BEO]EAFABEHdBEHbBEKADDFABEFCEAHXIBLHIBLHIBLHRBLFABEHIBEHCGFGHF AA AAD PGGGGFHEAMXBAHWBEH{HAIAAFH}BEHMEEThEHHCBEFABDFABEFABGHNBEHYBEHCBEHBBDFABEHBBGFABEHBBGFABEHBBDFABEHBBGFABEHBBDFABEHBBGFABEHBBDFABEFABDFABEFABDFABEFABDFABEFABGFABEOWBEFABDFABEFABEHBBDFABEJLBEFABAHCBEFABEFAGGFABEMJAHPEEAPABIKEAEAHWGNCFAEAFABEFABDHNBEHCBGFABEOKBET@BETvEHFABEHIDDDDDGGAVUBEHjEEHPBAMKBEHHBEHFDDDDDDDFGG]HEEH[KEHVBEHtAHHBEFAGGHHBEHBBFFABEHHBEFABDHHBEFABAHHBEHHBEHHKBDDDDDGGAVcBEHCBEFABJFABEFABGHtBEHHBEHHBEHHBEHHBEHHBEHHBEHNGGAHFH[GGDLgBELHDEOQHAHLGEHEHAHLGEHEEAH^KEVEHAHNBEFCEAHNBEFCEDFABEFADGFABEHEEDFABEKABGFABEFABPH[BEFABIOJHALHCRKGMtIBLHIBLHIBLHIBLHIBLHQIBLHEEYAEHFABEQyBEHCGHbBEHEBEWABEV`LEHyBE]VBEOeQEOEHHkBSHMBEHeBAHgBEHGBEHJBE_pEHHPBEHHBEHHBEHHBEHHBEHHBEHHBEHHBEHHBERABEXABEHHBERABEHH BEB C BEB ^BEHqBEHFEHHQBEFADGFABEHDEAFABEHAEHH|EAH|EAHPBEHMBEH{BELHBEHAEAH|EAH|EAH|EAFABEHEEAH|EAH|EAH|EAHXAw5SaTpAwPAA CAC  CA AAG H AF AAG XAxAA AAo A AAA E A AAA IA AA`$BxoAA CCN(S,E0E4A8U pF((NoN[oPj TTs Bll |ll#w 8-@EHL     !!! @0@ԡ