Maybe this is the time for me to pick up my work
on the four main composition conjunctions.
Actually, I don’t remember why we didn’t go on
from where we got in May.
@Henry, Ian, Art:
Do you remember why we didn’t go on here?
Is anything missing? I don’t remember
there was anything we couldn’t agree on
other than Henry’s suggestions from
midnight, 2020-05-04 (my local time?).
I’d like to see this published as a
supplemental resource for people
new to J, but not without agreement.
@Sean
in this case, look at the left side,
where ranks do not excede natural ranks
we don’t have both left and right rank
in your case, since we apply the verb
monadically.
Hauke
Am 08.12.20 um 20:36 schrieb Henry Rich:
> Do you know about NuVoc and the ancillary pages pointed to below the
> primitive table? There is a lot written about rank.
>
> Henry Rich
>
> On 12/8/2020 2:27 PM, emacstheviking wrote:
>> Hauke,
>> PERFECT!
>>
>> ,.psz &.> pqfname@(res&;)"0 i.ncols
>> ┌───────────────────┐
>> │id │
>> ├───────────────────┤
>> │invoice_id │
>> ├───────────────────┤
>> │created │
>> ├───────────────────┤
>> │status │
>> ├───────────────────┤
>> │ce_survey_id │
>> ├───────────────────┤
>> │organisation_id │
>> ├───────────────────┤
>> │payment_provider_id│
>> └───────────────────┘
>>
>> I just have to go through it step at a time until I fully understand the
>> magic! I have a vague understanding of rank and shape and that you
>> can use
>> "0 "1 etc which affects the frame/k-cell metrics but could you explain
>> what
>> it is doing here please?
>>
>> Thanks
>> Sean
>>
>>
>> On Tue, 8 Dec 2020 at 17:15, Hauke Rehr <[email protected]> wrote:
>>
>>> Did I miss something or didn’t anyone answer the looping question yet?
>>>
>>> Without knowing much about what the names involved are doing,
>>> I think it ought to be
>>> pqfname@(res&;)"0 i. ncols
>>> which will have the shape
>>> (shape of i. ncols)×(shape of whatever pqfname res;0 returns)
>>>
>>> Am 08.12.20 um 14:34 schrieb emacstheviking:
>>>> Apologies for the length of this email but my brain has thrown one
>>> again...
>>>> I am currently working on a wrapper for Postgres using libpq-fe. It's
>>>> working but in need of some higher level functions to make result sets
>>>> easier to work with and feel more J-like.
>>>>
>>>> Once the query is executed, all results have been stored in RAM by the
>>>> library (not my first choice!) and then a value is obtained like so
>>>>
>>>> pqgetvalue result_set;row;col
>>>>
>>>> I've seen the source code for the library and the above translate
>>> directly
>>>> into an array read;
>>>>
>>>> char * PQgetvalue(const PGresult *res, int tup_num, int field_num)
>>>> {
>>>> if (!check_tuple_field_number(res, tup_num, field_num))
>>>> return NULL;
>>>> return res->tuples[tup_num][field_num].value;
>>>> }
>>>>
>>>>
>>>> *# mema and management.*
>>>>
>>>> My plan was to write a 'pgquery' verb that takes the connection handle
>>> and
>>>> a SQL query (details to be settled) and then creates and executes the
>>> query
>>>> and returns back a table of boxed strings. My first question then is
>>>> how
>>> is
>>>> the memory managed? I know from the documentation that memf is the
>>> natural
>>>> (obverse?) way to release memory but I wanted to know what happens if I
>>>> allocate a string with mema then return it and assign it into a boxed
>>>> structure. I have an ffi helper I wrote, I call it psz:
>>>>
>>>> psz=: 3 : 'memr (>y),0,_1'
>>>>
>>>> If I assign the return value to a variable:
>>>>
>>>> name =. psz a-mem-address-of-a-C-String
>>>>
>>>> is the pointer aliased or can I now memf the original address and still
>>>> have a viable copy of the string later. I ask this because, for the
>>>> lifetime of the result set object, the internally allocated memory is
>>>> always around until a pqclear is executed. In this particular case I am
>>>> hopefully correct in thinking that my returned box list of strings is
>>>> stable up until that time.
>>>>
>>>> (In --this case-- I don't need to release anything as the library
>>>> does it
>>>> but I wanted a general asnwer about what memr actually does)
>>>>
>>>> I am more interested in the general case of using 'memr' though;
>>>> does it
>>>> allocate a copy or, as I suspect, is it merely re-typing the memory
>>> address
>>>> as a string, in the same manner that 'ic' can be used to process
>>>> integers
>>>> and floats. Some insights would be appreciated.
>>>>
>>>>
>>>> *# looping*
>>>>
>>>> This brings me to how best to extract the data from the internal result
>>>> set? My basic flow so far is this:
>>>>
>>>> conn=. pqconnectdb<'dbname=foo'
>>>> res=.pqexec conn;'select * from some_table'
>>>> nrows=. pqtuples res
>>>> ncols=. pqfields res
>>>>
>>>> So I might have 7 rows and 12 columns per row. Obtaining the name of
>>>> the
>>>> columns is done using the pqfname call. I've been playing around and
>>>> the
>>>> basic loop I have is awful!
>>>>
>>>> pgtest =: 3 : 0
>>>> nrows=. pqntuples y
>>>> ncols=. pqnfields y
>>>> NB. get the column names as the first row
>>>> for_j. i. ncols do.
>>>> c =. pqfname y;j
>>>> smoutput psz c
>>>> end.
>>>> ''
>>>> )
>>>>
>>>> I know I can do this 'looplessly' but have so far failed. It's going to
>>> be
>>>> a combination of bonding and maybe a hook or something but as I say,
>>> total
>>>> quagmire at the moment! The thing I require to be looped is this:
>>>>
>>>> pqfname res;col. NB. where col is i. ncols
>>>>
>>>> My thought process was along the lines of, produce an array of res;i
>>> pairs
>>>> but that feels ugly, then I thought about and played with trying to
>>>> just
>>>> pass the i. ncols list into a bonded call to ; but somehow got stuck...
>>>>
>>>> So..I am after some nice solutions to how best to iterate ncols to
>>>> obtain
>>>> the initial row of column names and then extract each row of data from
>>> the
>>>> result set...I know this can be done very succinctly, I continue to
>>>> work
>>> on
>>>> it...
>>>>
>>>> Loving the challenge of thinking so differently!
>>>>
>>>> Thanks all,
>>>> Sean
>>>> ----------------------------------------------------------------------
>>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>>
>>> --
>>> ----------------------
>>> mail written using NEO
>>> neo-layout.org
>>>
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>>>
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
>
>
--
----------------------
mail written using NEO
neo-layout.org
%PDF-1.5
%ÐÔÅØ
6 0 obj
<</Length 10411 /Filter/FlateDecode>>
stream
xÚÕ][¯$¹m~_Ñ
*º_ÅÙ]ÉÓ$ûføiÛH¼ìüýðSDªºªë2}Îé1¼ÛgÕlUQ¢(RüH©Û_nêöOjçSÓ¿ÕMß|ô£µæÓ¿ýöû§Üè·BùI6'û¿éÿzj9*Vt¢Fû?ì~=G¥b¼
é]Ò7íÃèTÈþéW*{ûçß>ýtûôuîozKúC²ôôzD¯Ó?òïß~ï~Ý~µ.å×_¹½{Ò×Ûüÿt
þÔ£ÎÞ[0ûÇsJôÛúù§òZÿuzÐqtÙæp³ôƪoÖUÌö¦Ã¡Q\(íFíÍ&5jÏÖuÚ,Ò¦©£?ÙO¿~ú_½å1Üí×?ßTÍäú×ßoüA)Ò>Ýúõß>ýü+a
¡ñù&ºs235®¾2çý¸®4ñxG½wb<㨼1ÓdOæÄp¦Qý`8óHÏl´cz4ÑF³RÏ£©ÍÖ(nWFQ0³ÅBµzD&Ù9ïI
-+£üí÷®9Ç1
2IöôNÓ,GGjÆi
Ù#Ú~£Óxø¨]¤ÉÎ]r[{:~ÎÍyã.§ÑIÙȧs~Þ^T2CÜå
ïôó¿Rܱ{é£i¤Y'ÕÌ¥¬GHø¦ì)KohÀ!yw)Ïäz>kRþñôþþòã`
Xê"üû<Úi£iÂ[~ñ;ú'-~AG/á°M¤öÄ@¿ÌOÄ?ïÄ_é1Ð^&â_s£¹%ü÷-<+8b¬Í
i=!ÆÖtX笤ÖÖ± eÙä.[?½cCRDÃHÃ¥n
q['ÅÙl=®p¾ânL¶XùѧtJSN
Ø6Húc_=6Åx_ͪ[^C/u\m ÊÙó",øºaË&Â
Ú2þB;úmhþÛíÓî91å?COoÖY°?¶'©ÛÿÜèµ#+-¿Ó¿û61êfUÇT¾þ[ûzàïÿzûéöõV.~õꫝÎÍG^]ð¿ºÐ,ÓÜurk!ÓĬ¦ïÆèl·`ISºèIh÷do'´r½ÙÒ£JþÌâ¢6³½ºö#© úÃåáwVW¥«uòóXJeÍl^VK0ýûoò¿þ½½t^ô¨~Þ{0x|rþæ
¦Vå¼¢?)oã¡ê÷(§§ÕæYnkµºtRÖþONmW49Цõ=õòs}}
àhuÚ¾yè¥ 7Ïø
¦ük/ÿüËn\µí´²t4¡,-M$Ú§bÉxg´käÜÒA4[ѹÛüÁíÞ>$Ó¯ÓèM~{5QÅáâèg#iàÚ$²*¹_æø
Ýx¯±Ybm¦2Ó'14&9R67mí/=
´«x§lÙßÈm°¶BÐZÃ)2}7¤²èßY{KO?çf@&¯Ä4x&óñÃ@pI/çR StÁe
¡!7+-¹ÌmqI~[r9>Ë&ÑVµÏÎ/$ÚÒ¢Îý½DA~ Ñ6ilxV'V¶uÜ#:&Ìcŵ©À´¦íÄ
wgt×QðyÁý0A¿÷ídu*0chõ9v KÊÑd<»ª5þVçÈ
1ë8Ñ(ëE¥=½üº5Ó6lu %w¨h¼HèB÷ôÖX~ϯ*%îu
ýÙ#}ËY;MäÞÉpg
'r,í¶Ým§Iv&»ÉíØMz&íc&¡Z°Éò¥³6 sÊÕ#¬~ô?Ì&ÆgLsG_©Ñ:
GbÅæiJ±mpJçîÝ Û-2PkW¨«}ó¯õÍvÅsh'å¡é]§
Ä4»f"ùç_nÕl¬f +ÅÿÆè¶+N÷p
{ã%U°Øé[R
õ¿Ñá!\äÞêd´}ßåÿ×n½ëଢhäiûeE2#ÎëðF&¸'SÞ,ç|½èÍBOÓ%æïÁDRä^ùüzüñ±´£ÍXPÎÂuÖææõsPä¬/Âmù~Îc2PIÆÏKÇ7õö°lÐ;´Ê®ãWÉ+õêT¦Ãìs
·tÔM¤¡t/:éE¡H¦BæOh¡iLÔ®UÙð²1q¹
[j·Ï±eic&CM¥ðQ˲F´ÊçàmÖ´ò,©b§i¢IH]ºAE{ì+ùóHzKªØÅbcºxæÀÚêb[,Äò ä=#
Ò×nï0{¦®Ä»òBái>DçB\*¿`x0|ßh¡QPuúä\´Ðà<ȧçGMJ°
F+õáh¡è~-ÎÅ\]W8*ëÂÉ`¡&ËJeûô`¡QpaÓÁ`a¥Þ
nWQ0ó~ÁBC&ÐÜ>Êb,¢^G/\"»
GÔ¦.ÆÂ7áþ¸=º±è«4¬±CM:Ím]E6nD+ßYälYÙd*=?RY'#
új¤Ðd;âáHGé½þa5)yï¨{ø/ÞK¼¿ïÍ·£Þ;ðÌæ²
L¸aØ»0Í+JMù
b¿´#59Mb iòÓ#Ÿ6uK y]pÜVܯ «¨b¥Ì4
´¯jñäÖÔ&dN¸¿{«GÆÆâièR|züyPVâ«Js¾|,ÈNæ«"&È4îÛFzµ·¥£èL×»¥#æò\t±ñ´0ck>fd%þÒ~½×7oG^Ï
Gµ#í
§Ã£1¬7@3õÁøh¥~btÑåNÔÐE¾%Bj,YÜAc[[Rá[C¤bø×b¤bÞ¿5F:-é`õ"Ä@ºvtAk)FC*çÒÇvÆvP¨5âÚ{G#åCÏô£.¤äÒ)»Nß#:
yÊÊéGNaN6§KÐ:-|hqKÈD8]øP
*AÐp«üM "º Y"%yû
¡ÒÊ«¶S>óJ®KJÁÇ^x%Î*²í^!8·&g0hEÝB¼ÐFéñ^Þw¤´³¯1-=ýïNï@*Ó]Âê<ûE¦ek
}kShÛ6¤àeÈÔ(7,ÜØL%qÊ^[[{.htú,ÎLëS[ç¥âD´àÆ>j*/ÑíÊ Ü
M»ñÙêd¤x~Ø´lèAVêkÓb
ätà´B^Âä9|KäTÎZèTÌʱÐ)lN¿¹iøì享±SRû£&(¾P|±_ú;åöc±S±z^7r\PÞ-'Ò#pCûÏÕØ):
5Ì+ÇNµ§õ
)Læ\Sqg{ûÚÎ&£ý)tÞBï÷TòJ½:µÄÙø(yÞÀm£wðqÇOÔô2p«zb<ßýtø(H{Xw½<8EÕa£-~¡ÃñgF·p÷ÈíÓ'óÚ#Ý¥îc1«÷c!KÇ"ƽ2âñ1eÄãRF[ãrDp×"ÆØd3íY#Æeë:wöê»1&±±0;QWâÇ
(À0Kâü
¤-¸½~¢)ûX> {ÀÝk?X> qѼüû²8a&wÖ;+ä°~À\«ªÚb9Òú;
Ô,.>]D|¸ÿv|êýùóa=-m!iùYÎì?¿$æÎRtP§y2ýø¯VFàˬàëø6÷c´4
'\á5\XVK $ ×úl3ÇJÐä@ç¢*õaTè~-¹1u
0ÐN¤"Ï¡rÿüf²Bb&ÚýôåÚåýð1ïFpl(µÀ"ÐʳÑjGä²f¶¦.Ê-:Êݵ¦úØ>Õ.`DÆqë-Ð§í¢·µ¥
¡62´¾îX]ÆOÅlOQÈÁ½A²&e¦õÑ$åJ}z
õãã èÖz4Ê< z°ìmz@LÏÓáS1®wáSË+Àau½
,mM${Ѥì6g¶Dܶºd^[ÜáÊZºÅÊ/ɤÌwyÏörí
û\K|6öÀ#v09z¦½3¹tx@FöI¸ûÎö`ä©t~Ùð.W
Oá9ÈA·Zjؾ6Ú7¹{G°Á°úÖÃ×Þソ®Û¼Ï7W
ôxPs|¥µ"Ääi]ÚÖ,@6ª<ðuÊq©+ò¥MÉ)*!Ç{lmõÙå×5Ó
¢p82å£kSùm}G¦kpow,Ïúûc±bE¸$åSVzè~£ÍàõJi¯ÄN%¯Ôg
d5! Hd¶ætVÎäÎâýÛ<n¸ ¶¤<æÀÃyb
ç¹Öåwài¯²1¬ÑÐIQ7AÚ¤RôÈmë<Yç>×ÖÏÐ/
öªY½Þ³'ËÃ!ap<ã9i~´¡C<s¦Çû´ënUêøì^eM§í Y&×Öù
²ÌL2åØX@\T5y±8¬¡E"à¸ùo]ó0·çÒνtíÝøÉºH ãc W%s4жsµl¢I¬f»1Óz&~MÇâÃõ}nÙ
ò}#9X h,ú¬HZH
.âÏl"ÆóúË:Ð!¼Ûy¾ðà3h>²Qu7Ð8e ÿÙ%ÁU»è^Ñ:DÒ3ò7ÄMÏXx¤mÌ¿tm
÷ṟU(RÀ¢OF¤¦yïÁ91NÛ
Ó'1ô>ñIÛµïß<;´EÌgÓÐJÊSä?`ßêÀäV®pgå¿)#L±þc>vÆ3§iÁiaûä=«ÃMVgNÍKp:Iõ°!Öö\
qÞëáE[h±aC
³3+zL¨¯m=6ÌÌ¿ðÄØEkÝüpÙ¢Q}Ö¢{fJ@8gÌ.ïd³¦ uà¶÷r~ÔÀAêCE!ºlmÅ®À/[Ë
ÈZwÃÚ£þÙí5%qãGvÛ±]AfÛy,Vàe. ˧J61vàe6ÙÏÚ;«Ô3ñIp%+Ç¥
Ø2c3lwrÐÃ"1°flº,3©DÌx`$°lç㮬 SLnÉ ·1i[Ç}H
¨|(9zBL±~ò7HâMÉÓT#øÞõxrÊË6kÿ¿N 5ÂjM_a3¿²¡ÌYÔyeΦ©²uîìê
Ó¤å÷Ä>³¶ÚåßûQÎ)Á̦¥BjõlÊâ{[$g04Ú 3?¦o
ÖÚyØ8нIeý]ä~ ÀAÈó@hÓÛådµñSSm<í¡çOþèPNÛA.¿ä-G±(pBT}æ
m|~rgKUµé¿Á eìtP
$ó:)ïXn³ú:VV
zØj!ÌR=¼X³ú6ô×ð@5ÅõH
ßÓØÁÈò±åÑ8ã¿«@g¢õnuO(B¼ç<9Ñíéú¹!»I¡"N¤~Ì
äö0£Ã:§ÃÄj\átæÐßêç§ÃÄj9§ýXVáËX_ä6[gì¾ùÜ
JV½»ùuÀ[¤%K¦WHÌWk!ó,9cÜ*¤AAY¤]úCÆCð-7Áa³(x¢J22%T
1î±µUg[AÖºV<ôn/)hÑkÏôì+¶^7]EØ¢`8æHOKDª âϤ3Ó§X©gâs"jÏdèm0Eäla1@Ø£g¡¯G¹xÅQ4pëd
<Ž28ú4û(úq8o>ÂõRQŤ¦}) Ópþàv5Ù¨LÌFrÅÜÇ;WM^ÎxÉ) ¾£§b_Ú×p'Ãú
¦§jsʳsYFå\¥S9Fäûôü#£díÁ£øóÂøéXzQO{1»hñÀýä¢þçsÜO-ê°Yij¹R²
У´"ìÖdj¶8¡hOÑp*ÑÇD+IDCI¯MÊN"¢ÝG¥÷Í!Â~¸°gÚCD=íµ¢ÅóvózúóéCçífõôËä!Mry¤Ó~îPMÒz3aDIá3ð
éB)´ïw+[ÈØ:ï°,MÅ7ÈbQ]Mjç«@MþýÖCÙã|7áàm¯,k
(PLê:iÔáoÇtr[wEF¨¹î©ª¦$nq;'A|+Ã$óÓñ¸¾6Ò;ò5^ædÆèJ)WqÛfÑÔ±ÃéI<*UìY-¾ï&]Q+rMÄV²®c×Ò®ÏÔNus{ý´´«2B%صëÙÑËVo|3ûª¤èxe$Cïå½Ah^T³ôØê\Á;´|
ßÉ=ÕR0¸K+¤-[DtÉmíé]bÇ]*Á-Ñ%Y/&óU~zkëK)3Ä]®ð¾Ì,éFe=µD!«n*tr.5kYÓÀR¹}5v×t¥¯äg±Õ}
É\& «é'× =KiñÃTzÛXRCsTU²Û
^Ér$eÑzyvÉ âäe¨d°bD6^kë/CeRN"l=rS{v'ÍÉÛô3÷H¯A&r·¸fAÊìp+ßåÊ1ÙfGÖjÏ+ÓJó
ðòjɼǶ+Í}%?®nÒìÉÇËÆfoôCº ͹iz.yi¡k"7É
îSK°e^µæC¹W,Í/X2Õ%ò<
òJÏLÅ6F»}©Dx¢dª{p²NîûXþ}&Ót÷fJ^©WÏY£já²Sõ˺ß;Ýl3«"N Ö3ÉÐ`Ò
Õt³÷@LÎû4rµ±³õ\&þ&Fÿ®b*Löo:-ꤲÁ Æ^ªJ{
ùÝ9wJzWàyzq§¤Ç½Îçzïô¥¯1ỸSÒ; YÞ)éBKÜ¿SÒ%2sööuît³£É
.±Ç+B<§¤GRUò9½Îe<ݸh
*±6
«wJzr<µ&½j¦lìÞp¯¾`O§`ü¥©gýÑ¿
P½õ´s¢¾Bª·S¾R½ôµ×ÝµÜØWHĵì©ìµµµ7è*¤Ò.9ÚÒã¢OqÎ
ÃkñÜØWHÄ/ÙíÊ
ÜUHíÆg»BjÙH½; LØ>GKÄr)Vý;ìYO3u%>LÀ=V5ì}ÈÀTÅêñ~§!Âãæ
0!ùé¼PÌZmT1Çj£â,Õzï\Qg6(¸u±0*ÊUôªW*Ú¯x.ÊíÇ
£Eó2¼Á
XÑý,:d×W뢢Cý~Ä}?5\bKÊ8ǾYÏ))z±uߝܨ® ýJéó³×elg*oO¾!í
7÷NX*y¥~ï31³ìt#f=ÊBØb·?q`3ùmnò ¥>ÐIW®¤y#
Q:PËÇü²u³aôç}s"!]³,B6íÕ î·2fÇÔ ä åS'@AZ8ÌÞiª
*Tû$·pA(]R&ÃçLhÒâJÒ`X"3ÏÓaô¯°J^©OÝÛ
X%°ÝÅ[iF§@¡ç=T½¨KbGÔñ¸
PÓm1ËGn.ÓÓ¢3Oå æòmaÉyR&Ùåq
Pò.îCwȲÊ
=¡DV$)ûb&G»
Ü1¾Rq q}bÇAêöic ï
PÉÒýbܼR·G*d÷S¸54GQXx/ü@§[¦ÓOdMä$Ùø çPýGü8@@<`,+3v
`J9ÔC90°
£y-ÎTò}èxíÚ]fèý 6¡§Q¾¨kOnÉ"R©áç»ÔET[[QeÒ']r[{zRµÂ%h]SAðyütnëBªâ.Wx_T»QÙ
©Ú<%!< à
1TòË +´;Ruô¹RÌTÅ ^²àtXÊ3È¢òlmá¦om<RRî«
·§÷Åq$ä»\MT¨tÐ-&nëÄY2ÇÎï®@c²-ÍärøÞ `£'Å*ùe%Ï=¹SÒTĶí
iÌI3ê9ÀB/×(;7²÷ ÅlwÁ¶æCwÁ²4¿@ ãF¾q©àJ°^3 Ix
ȦÁ߸("kf{Kqhè¹Þß#|ÀL^©F¼èt À6í(!ÎÉÏàp Âj
Óí+÷ðäjcKm;g¯PÇ0óÛnöAÌû 3´/£"Ð$péBÞZnÇZI
Ú°Õ+$Î*É5ñÌ<[Ü·J^©#n&êe[Y(}æÒõý^b*×ßÁ4w`ÉñðK9ìÁ¥éçXÐulfh¸pY¯°8&éÔúâiQÆ1"6©E/G7
»Y¸Ùí
MB5©:Q4fDNSAÀùèjGýº¶?Þ#Po6¨Aÿá¹®${ùNJºQ!Õy~¸ÿ±gNÏþµA;SÜ25¢©qÄBQ
lîCFÉ3vP>ù |f`væûÀ.ÙýìÚ0ñã"ô0ÊÀ8ú»Ç³$Üh®c
nÇ(&å1ºÈKñ:Ð%LY²Ø¶¦A ÁAõB«Q¼ pYã,tªÔ]>ù
"\o£ýhuz¸KcU]RhÈÊj.»'X
jýÉ"@Âè¢r@1. =³Ho6
]Dãë`ïa²´Ðe¨äs+ºL¨°ºL%`ý_ÆCøTZn^ÜTIp-/ü²Pª9C1»9/è¨EãTF]' QÛ:å&ÞÐK>vk7´HÊ]è¢O0An)Ó
´ÆÒ¿-®Z¯k#PªpßrpÖp Hmîø¼[#BÓ1Í6÷î
¼RC1á×aXÁö)ÒXX±|cØ1áqѨF_A2ET?v718]<~ALÊÃ+ÈéYãÀ8#ÒGFP(Ûí:FÑÑDÕå.é¿xÚ/é×
`ÌYaN;cÜd2Ò
n>fÓr8²zcyCEMîgÑT^feÅômÏ£Ñ@ô¾ÿþ|eaQ.Jç|da]OEa,j¥}cQ©/a,
ÒÁ_ÆX¸r¤c3ìÍ=#ÁØ¥ð
´£åÓvÑb8×Ð<k
Ðhk^+c+)ÆV|ØÂVÐÁ"{ì,¶Â|SWËaä¬MÛ¢Ô!ªäºÃVÌ[y^b,¶ñâ¡kø
Áíâ+HtqÄê¾¥Õ©Gñ¥¦XÈGñü8¾B<`
À]ÃWhÀ¬ìéúºÜ1äÞ ^è³Uþ(¼¢ïÃ+DÇ+)z?xJ£øÿâROÌTr:8ÌK©\×9rÛÚºp´
ܶ.¹=½GkòoFQ6îRÃÏW(¡ÄOç¶.-HC¢ËÞïÒrT6Òä±Ê>ÏW{Ñ¢+fêËà
Cvb>FþEò¢ÑÌÙJ0ZèhÝ}PR"Ú!·
0y!!䩾ôBkê Y8¹?n«OîŸÛAÂ*4®±[DÜÖ123Üå=ÛK)ã±)ĸ.øT£
£üwéF_É/*Èÿ!É:%źòW¤y[cÒs
.n¸Ö|ÀJí!ýÒ«oÞZ¼8ñÇà)ìErmÉyI.pªnØ1H~\¦¸
Â8åâ&\³²
Âð®Tµ!cþH{¸éJ^©G~ãn¡020Rþú~9gÆ ±¼[;Oüü¥díÆ*db£§µz
b~.ð©Pý´d
=ݶðdɰFgJF¥~ªd,:Ý%õ¶d äß§H§5ÉósµÒFÝáb.çáõNa f§'9_XÈY{¹4î¦øsj"V{S~îc²ñu:ÚÇmϨ&S(Æ
.2{ý÷Oöí\Æ@Y/Ni <þe¢ec§ÿ-8ãæc1ý÷ 10¼@\/Ò%çc^é*ËD~¬{
[hÚÚÅí#
4zFiñÞ56±»&Ú?4ý¼ÃVbaás»-Ñe ¶|Ife*¸±/Â!ke
ÙkkëN\Z³ÎW£,¡#y!C¾öÜØáÄ/ÙíÊ ÜáØ9w©U
ÙJ^ǧá@h1t¬G%¾V£Ø|¿Çù*ÅÚíïüØ®ÂaÑÌ·Ôác³VCLÉ£ÎäfW,éòÑ&j`*[$j
¹lýÂÄMÚE¯Máp+Ò:µ/¶.³FíEkëW
eD÷üßǧ8upéo°$4q.øÚ(õ-6D1óc:¶$tô%ú-KÇfmI)yèØ;IêR_&Ï0Ô+!-Iû£1´¯ÑË¿R2·ú).ÿ¢ÅléESé
Ú?qpz+¹Õ´ÚqägLÒÿ1ÿ±(n3ÿÐïÌ|ví
¸\.H$t+&ôÖuwSÆöãð3tàmʯTäÈhÔ¼éÕYýj[ès)Ú¶Í,: ·ú@ÙÞKj=µÛ%¼¡
ô`Ï¿¯Ä¢Æp
{%@*ª®î¬¹¶U~NzÚÆ×ÙDúy)tõz¤GÕ2=ü¬ü&%p×¢>\²©R?µdÓ¢ÓMÀ¡o,Ùhàp¬mÃrär>àVж¸ÄÒ
áM%NsÆQĬìA}/»¥ÄÜvBsñ«>õ.²
ÁR+Æã$¸«éÎwO JNí`-Zd
f¤²áãïm¬öX°êêࢽgUp¸Íª£ÙÈÚWFbjRG!`Q6(&Ê9µ
kª8>¬DÆÄ1±3ñ%(¦5ñMPL£zw
éÑ.=Yì\ÓìOÜEcòx®1Å,+uUâIe³crû18&Ó¿S8ì¸ë,SÒîÍd l/U#¶6â
mo%Ìäzc£N?¦¦Uñ¹¯e÷ê_×XÃg
ö?¶þSÁ+
ý7 gâúyõQpf%?ÎX+~UÙºÍ<
ÃîI»Ã{õll&®V2á(4s¦ÞGfr·÷ȼ¼,ô²7jÊô´µö,U5õÕ:
ò-W;¾*h~l_($íGÛ@){Ç𹩥G°U2\¶¾îX½»5`û,ÚPãà/µA>
À¬ä¨¸YP`×p¯`×ok×_Õ½ÀVÅvàIo1ÜKÐ E¨I6yýqÛªä,âÜáʺ5Ã/ɤÌ
wyÏöR#2<jõ!¿EY+DàÍáªVõeü¥±¨¯p
~I¬5WJZ5Æî%Góø²ÝvgÔÜxèÆ¨*ï»Vßz8óÚÃû½÷{Á.M&%zw[G;=Ù=o +WÌ»£Ðºú¹Ðº¾Ó=hÝú´8÷,hÓ´§çærð¦;=(Øü)Cã(7£ËQ0îDü\,n×ç·'~
Ø#ó¸mVDçå[±y~@ô¸CÛ/JÆÒ¯]¦ß¿Vk°(î[ÝM¡%[6\ã?'ÏÑÚïgY¶;Ô§ëÀõ±¿
ÈrXçk8ÉØð*«ã´*Τù öðUY¬ÚUÝ4<PNØ>J;íV$O-ÐzåE¥+öëXvBò7JT¿Ð8ÍIÁ>/hp*Iät«èvÁPõLüýÕ¤èûÜ3¤`ÊaYr#®*\
.«Fê¾öhò±\ÓJ¡;û`£´díµ]W:$/VUP£aÓàØµZÕýpù¢Ä!ªáÝzmTñ6dHB(H\rò¦]áöl²ô"§
U"Dy`Yþf£N)Ï÷""±Qpè7.,n>LÑLõÐG´òÁí(JfÍ%«û;Áu»¤Q£w'ëQÿM@pFI1d!>ù
Ò°õCüðû Ð%'ÿÁúbÒtºû´q.P&Ý0ÎôÉß`qøÓBEëd_n4¬óúUÁá6«¯ÈéXÛr-ÄyK®lÉè
è0Ö]:lø%v¦îáôpÙÚYï,â>ZÀºeQÀÚ¶(xȤ¡è²µk©+u8²Öݰöè¡v{MAÌün{¶ïÊÎc±]àP[ÜLýüú0¨L>XÞp&¾VÝv°óN7ŦßNmCØPlä](mÈã²VÙgãqaCä³8Tâ$
Áõ
E
W©Å
(Ú:WmM¥@ñôÉßXEëPY ÉØÀájÿÍò®
§þ2d~F)̪í9>fÒÎAç
ß®@òtÎ@ßÎÓU÷ÏÎÍ.Û1àÜ¿;Ó®ÜIÜZÚ lç&/¯'vöh.|Éâi» 9ËUÐ\¿C
ërg¬ÜÞrgÜ»/÷-|Ü,SM3Ãã0²ôûcxÜS²òø ±']pùÌnÅÎz&^îÈá 6nÇo°«L!пwýõùÿÏ{æå
endstream
endobj
11 0 obj
<</Length 26 /Filter/FlateDecode>>
stream
xÚË¿-¤À À p¥ið T]I
endstream
endobj
12 0 obj
<</Subtype/CIDFontType0C/Length 2850 /Filter/FlateDecode>>
stream
xÚ
W Tç © â¾êâÜ@QvdBÕV,
u+Êæ\(È"."¬2Öbm«}îçN¼´çM´}}=ï½Óü9ÉÌ?÷Þ?ßw¿{ÿüÂØrç
ËW.v¸,)6Xµ>.v²[hxRt`áÙn8÷Îá#à3SqVBNnl
Åo?&ú
_>à?óB°ÙHþÊ,ßÌÚ01Ûl4!æøhthÒgÿg!qA¡KCBcUëU)
ãâSÖG¨¬Æ·²f3Í*(Åja`B\ôúØP«%!룣ãbã¦X-¶zgh
òGp«ßÿqÏÿDB@Æ$!!LSÂLH¡91° >$h!F¶ÄBb ±p&+ Âð'
"¸I´ßùPük1Æ¿2&ìpâñH°P Ô)\N=®>2^b¬1.3¾$2Õ£IÒ
ÜNÖIIæI"%?L1ñ7):¨Ãt>f䫹öi,
å¬ì-ày±êQß+úÄþHOå Ír4ù&üæ4Û+W0ݯͤä«õ6Ï?õ
⪩ê>®ó¨¤ÒҤؤ¤XFêË[6â¹VOqÝ]ªL9¢Ù²ûA{{U2KîP²5MÂ
ðñYÈ'³2öïúrgnú-GÔMKBÛ¢Ï%R¼·G¿ÃGë²úfê×Ydλ,>Ñ´ãy[§ÎÉݤÜ|@WzT¡EJáªá·
Ys`á=l¸0À|A^<{§÷çÃ|7ÑÚûâ?qËz
ȧ;º¯òfîm
-w g,òtóVÊjþi7PMþNß_¸k¸ôðî³ÿÍÝw>¦¶sÚ
,Ü`
PLa:?L;!BÑôñÃôcc8ÆgÚ¯rp°o[Ñ}««Û§2ÒøM
÷¹)÷÷Y¸Í/?Ppô¿r3ºQß \a´ÈQ¡´ÉXäç¿Jòxίu$Tè©vmåä1
¤WÙÛz;©YÍy²öVï+-Ïò?x\ê[{xÒdgØw fá)Ù\R{·
®>S^»"Òù]é¾&Þ5µuÒ1ïquõ@d¦qã©Jj*Sâ
zQEÈòãi/ªPaÝÃ&(SnªÝ.1sƲS1WùÉçW?ë¥>!\d[¤\ç~¨Z!Å@>üÜv
Vrjª;Å£J³7jUU2>5¢ÄM´·îú%t¼å°ÚW;ñyJej¸o4æmLñù÷i£¢SËm7@#ÊýÐß_Ûx}=kÏIY²×ôyãhé\j
gªEwÄ:Ppa÷Xf8v&û£vVÍÞqX£¸y"©ú½KÁÅ"|Ðã¶Z¾õ
úú&Äù1úAÙÅ[0Üò÷ZoNCýp8¬Kmp·Zߪ4ñØ¿$tjJ|¢ÊRNLYÿ¼l×¥Ý
õu5
-ǯC,w2·¨¸H2I¼Ñ×.Ây8³KËS
1ø÷*Ù½úNÛ~þRSVô>¶K
rçüÛ:
ÞÑ5n®E4²Aºâè{8¤Ze¯±SöºÏ@_ëî¯o ó¼Ì 3å³ÔfÄéÀX4UÃ
L5TÔ±Är&m]RxlxUü|}á˪ò¨DU#Åçi|r¿¡à[
Û.QÇÊN;^v*ñXdDBb$Æÿ5'ÅýÖ.pÂ-N°E,}¯Ü.ÎWD³~
g~Ý'úQürEpZüsù<£ß'Z;JÈQé7X!Â$ñ¨ÈÜqØRZÊêYÁGBîÞÒ¹¾ÆY8'áh,Åh¾çØÓ
ØqíñBËríÒ©h¡D³Ì10ì æ\üXÇHs·ôèÍz,<4Töpªeô}.t&À\&åÊ
ö%]
³¿Ëûî8¿!¨BÙT'ºáå|j<íãbÐyr'2 pÉã86~²bâ¿Ì]ËÏz³)NcõÌÙ,dón?
'Â8÷ ºsîzÓºâjxazùö]U¯]Ëä nÛvoÍ
:á]Wvµ´õTë²òWg¤·s«SïeÉúÇ*`(cÙcÑ8ºwk^¢Ýä5ÇeT°ºº¢{fçüuëÜ¢fk%kqðþº®óJXQ®sxo÷ÆrE÷£MM-*{FÊEßÞĹ4°GÐÐ{¸k=Bnöaª[Û^Y_%ñÞòUX#Ý
Wá8à,ÅJÌÃ͸á!Ø^û÷
³¾×EhÖoµ¦q®æ[c<?VC(lm
À%8K¹q£ßç{$Ù/8_3/O¤Û®ÚÎÜZç³ßF!ÎÁÉÂùO´Jp¥ÀL`H÷ù['eÂÐ>9~Rh´Ë2xׯ
]|Êâ{îÛ\^o½mäõÖ'¼Ä¤xÓÔoj|5ºoôA8º_Éi¡eU4ÃåPÕÌàÉ
Kô+)°ô;E8TC¢±-×29N"ð8R
/a´¬}C÷¼£«T%_F`ÒÀWDéýÿ¦öÐÁâïSÞl2o ;^Vm=%àm.¸eÀì·bYÿ4dY;à;ê9èßr
fMï¬Þ|ç#ñ½{q ±võ
ÁHiAqïÁÕìjÆ
LÜöÉV ÎKµsT ,·t´Õ]döDºÜP+÷(Ì8¥²>å
|êLhÂíÎÓË´'øÚá±·MQu°{˲Ks$8
ö¿Æ)["ÚÃÙòªãssk¤¬²Á`ö¦îJNo·Ò»Vä¾2<-îö#_Ïz¿mcO»èjE:÷ïQÄHFrejÈÖèVþ-ÕR¿¨ÚÁôù¦vó}
ë²§°B¯ d½Íû/~C·>wÒ)ëêD:$ûG!éç`ÍLttº= êãT 1|Uã
Rº;!£¯¶µ$v7>pf!ÝÜ##ÉÉ©ûlimm_̳|}íY©õGSÙ+bMDDvºd"ç9x~ÿ
%N>îfT6º´Ýâ¢Gôü|m-{½å>(NÂôÊuÅʽÇJré¼;Ó÷+¿jåhÔYÉ´[RXRö
¨ÊÔÐsöÁ¡Ó+ÖTmPGEE(
ïRüÚsª®=(;^]¢,*Ô¦ø©(æº8"ÍH7¤v@LÐKnYÀ·¯´çzÒaÈ3Ã~>ÖaYf,=½,²i
¸âSÄ@´8-°úéô\÷=J<)¾[PÕÔAK1ì=ïí}Âw|7gdñl×ßöÏö¤{$ÿBö¬väÿ*ÎC8Úláan8V3×é¸cb<M¤OÆ=£þÀ=À
endstream
endobj
14 0 obj
<</Length 498 /Filter/FlateDecode>>
stream
xÚ}SMo£0½ó+¼Héb m!%Ь²UÛ¨V½{"òï×FZm
¬÷æëÍ0üØîü¥ªàÏî9û¶î?{-o2ÉkÙW
»7 j´¶Olkj¹M³M¾Ñewg7Z{£×¿Vp*õÕÅÕaÓ=|ú/ÙëögîÿêµìÊZûpêÏ
ñ¹ÚÝÙzÿßY+»aeæ7ÖO,¼ç[âY«¬®\*Y0ê>ZA*;8á^(*e7
üÊÊÊï.mÕFko±`\¶¹ ê;/x7
L©OlzC£õÙõMs§q/M£MmgôVTÀ×þFYkÙ]nÍ᳿4ÀâËZAÛL¡Oà-ìxÊkû¤hõ=¦¨ÃñêZw{<ÉÈG"WD®\ã1HRøÂ³QöLá1*k
>j_
ÁT-(cHdæfKB$Aä("$!! YãBäÉ QbMh¨@DÔxD»É
RõTÇ"1*:'e
'DZAY(g²$[b_b²ù05ûn)¿GöÆØÁÍÅÕpKQjø^î¦n\¾x+ÆêÐûÚû%
*
endstream
endobj
17 0 obj
<</Producer (LuaTeX-0.80.0)/Creator (TeX)/CreationDate
(D:20200524145422+02'00')/ModDate
(D:20200524145422+02'00')/Trapped/False/PTEX.Fullbanner (This is LuaTeX,
Version beta-0.80.0 (TeX Live 2015/Debian) (rev 5238))>>
endobj
9 0 obj
<</Type/ObjStm/N 11/First 67/Length 634 /Filter/FlateDecode>>
stream
xÚ
SÉnÛ0½÷+æ p¸¤b;NÜ a§@ð È*ÀI.â¿ï£¶R3|÷fÓÄ)¡ &$qf¤Hd
NRÁ¡(Ñ,BµRÊñAÊlúáüÝv-ó2°iS÷¡î;2¼b«Ð5û¶H¢}6U>i)ÊÎ81òÑG?#<°ã1"nv½Ë Yp@}ÚZóò©¿Z÷yÂàC4Í¥è![¶M±½cËÙÝ
§ÞÑß"¶+vmyOîͯª««' p£DVøÄið
:p^2Rz!\¢
i.Ieéñ)ºÓ©$-Üy)䨰Ö^Z§Ä+î,O½JI¤×ÔëÒ4ñV:Á
'¥¥·Ú)e¼µÃr§,®Ä)m}j+@#}fFÄ,ö À®jk¡QyÿÚÁX¹Yè¶ÚõM;óÇÀn¦·Ë«ÙÇOûºè«¦B¹ßæ lóØÕ@9FÒj
7ñH=»èØT«9æ»ëP?aYÎ"U|I<-ú|[u¹
ÄÙºßȤìÇ3^iæÕ6`<Þ³éb®b^çå-¶Þß÷ÑÎ.ë¢ÙTuÉPVýatÍ&yèßò;
Üä ¬s~yv×|+ÄÃÈ%ÿ¢¾hüíÏêǽ9~{øì¡C]õC:üVu}{ MsNÙvZ¤H'/9BÉn·
±Ê|<~§3.k·k'ÁnªMçÙ½Ms4¥)Á/[ùÎ2¾
endstream
endobj
18 0 obj
<</Type/XRef/Index[0 19]/Size 19/W[1 2 1]/Root 16 0 R/Info 17 0
R/ID[<DD396132163B4B71DA08ACC57C027C19>
<DD396132163B4B71DA08ACC57C027C19>]/Length 66 /Filter/FlateDecode>>
stream
xÚÆ1@0á}!Fë
)tfWrø)yñÍ.ð%J²ÁF!6ÜÙî=>«fTßøIg.¶ê:ÐÓù£
endstream
endobj
startxref
15095
%%EOF
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm