Re: Is there library to convert AST to DAG tree?

2017-07-01 Thread Chris Angelico
On Sun, Jul 2, 2017 at 1:38 PM, Ho Yeung Lee wrote: > Is there library to convert AST to DAG tree? Given that a syntax tree IS a form of directed acyclic graph, I think your question is either trivially true or insufficiently clear. ChrisA --

[issue30817] Abort in PyErr_PrintEx() when no memory

2017-07-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: I tried to set last_type, last_value and last_traceback to None at startup, and this also fixes a crash. But this changes behavior (these attributes became set), and deleting them doesn't guaranties that following setting will be successful, especially with

[issue30826] More details in reference 'Looping through a list in Python and modifying it'

2017-07-01 Thread Anmol Gupta
New submission from Anmol Gupta: Documentation section: https://docs.python.org/3/reference/compound_stmts.html#for The documentation does not explain at all why is there an infinite loop when not using a copy of the list. It leaves the reader in a confused state. Even there are questions

[issue30826] More details in reference 'Looping through a list in Python and modifying it'

2017-07-01 Thread Anmol Gupta
Changes by Anmol Gupta : -- assignee: docs@python components: Documentation nosy: Anmol Gupta, docs@python priority: normal severity: normal status: open title: More details in reference 'Looping through a list in Python and modifying it' type: enhancement

Re: Can we please dump google groups completely?

2017-07-01 Thread pyotr filipivich
breamore...@gmail.com on Sat, 1 Jul 2017 14:19:22 -0700 (PDT) typed in comp.lang.python the following: >Yes I know it's daft that it's where I'm posting from, but I'm still banned >from using the main mailing list. I've reported over 80 posts today alone, >meaning that it's less than useless

Is there library to convert AST to DAG tree?

2017-07-01 Thread Ho Yeung Lee
Is there library to convert AST to DAG tree? -- https://mail.python.org/mailman/listinfo/python-list

[issue30495] IDLE: modernize textview module

2017-07-01 Thread Terry J. Reedy
Terry J. Reedy added the comment: I was trying to think of 2 possible future uses of ViewFrame in addition to current embedding in in ViewWindows: embedded in a tab, and tiled in a panel. With no window close [X] buttom, the button in a frame will be needed, so I left it. Since the button

[issue30823] os.startfile("") craches Python 2.7, 3.4 in Windows 7 32 bit in ConEmu 161002 [32]

2017-07-01 Thread mikeee
mikeee added the comment: Apparently it's a ConEmu bug! -- resolution: -> not a bug title: os.startfile("") craches Python 2.7, 3.4, 3.5 in Windows 7 -> os.startfile("") craches Python 2.7, 3.4 in Windows 7 32 bit in ConEmu 161002 [32] ___ Python

[issue30744] Local variable assignment is broken when combined with threads + tracing + closures

2017-07-01 Thread Nick Coghlan
Nick Coghlan added the comment: Err, s/officially part of the status quo/officially part of the language specification/ :) -- ___ Python tracker ___

[issue30744] Local variable assignment is broken when combined with threads + tracing + closures

2017-07-01 Thread Nick Coghlan
Nick Coghlan added the comment: As per the discussion in issue #17960, I'm going to put together a short PEP about this topic for Python 3.7 that will better specify the expected behaviour of locals() and frame.f_locals. That will be a combination of making the status quo official, proposing

[issue29933] asyncio: set_write_buffer_limits() doc doesn't specify unit of the parameters

2017-07-01 Thread Mariatta Wijaya
Mariatta Wijaya added the comment: New changeset 03af4282423b1c287a194664f90496cfc9cf20c7 by Mariatta (Kojo Idrissa) in branch '3.6': [3.6] bpo-29933: Improve set_write_buffer_limits description (GH-2262) (GH-2532)

[issue29933] asyncio: set_write_buffer_limits() doc doesn't specify unit of the parameters

2017-07-01 Thread Mariatta Wijaya
Mariatta Wijaya added the comment: New changeset 4685e56596f9f332e402c79c913a73b19f4411e1 by Mariatta (Kojo Idrissa) in branch '3.5': [3.5] bpo-29933: Improve set_write_buffer_limits description (GH-2262) (GH-2533)

[issue29933] asyncio: set_write_buffer_limits() doc doesn't specify unit of the parameters

2017-07-01 Thread Kojo Idrissa
Changes by Kojo Idrissa : -- pull_requests: +2599 ___ Python tracker ___ ___

[issue29933] asyncio: set_write_buffer_limits() doc doesn't specify unit of the parameters

2017-07-01 Thread Kojo Idrissa
Changes by Kojo Idrissa : -- pull_requests: +2600 ___ Python tracker ___ ___

[issue30597] Show expected input in custom "print" error message

2017-07-01 Thread Nick Coghlan
Changes by Nick Coghlan : -- pull_requests: +2598 ___ Python tracker ___ ___

[issue30597] Show expected input in custom "print" error message

2017-07-01 Thread Nick Coghlan
Changes by Nick Coghlan : -- assignee: -> ncoghlan ___ Python tracker ___ ___

Re: Can we please dump google groups completely?

2017-07-01 Thread Rick Johnson
On Saturday, July 1, 2017 at 4:19:47 PM UTC-5, bream...@gmail.com wrote: > Yes I know it's daft that it's where I'm posting from, but > I'm still banned from using the main mailing list. Why are you banned from Python-list? What did you do? And is that why you have moved to the "Bream" nym? >

[issue30798] Document that subprocess.Popen does not set PWD

2017-07-01 Thread James Lin
James Lin added the comment: Yes, but the Python docs have scary-looking warnings about using shell=True, so people (rightly) should avoid using shell=True if they don't think that they need it. And in this case, people might not even know that they're invoking some binary that expects PWD

[issue30798] Document that subprocess.Popen does not set PWD

2017-07-01 Thread R. David Murray
R. David Murray added the comment: If you pass shell=True, PWD gests set, because it is a shell variable and the shell sets it. If you don't, it doesn't, just like all the other shell-maintained variables. I'm not sure it is worth calling out specifically in the Popen docs, myself; it is

[issue30822] Python implementation of datetime module is not being tested correctly.

2017-07-01 Thread Utkarsh Upadhyay
Changes by Utkarsh Upadhyay : -- pull_requests: +2597 ___ Python tracker ___ ___

Re: Best way to ensure user calls methods in correct order?

2017-07-01 Thread Jugurtha Hadjar
A few questions: It looks to me you have a problem that looks a lot like plant processes where a process' output is another process' input. Q1: Am I correct in describing your problem as follows? input ---> |process a|---> |process b| ---> |process c| ---> output Q2: Does every process change

[issue30473] defaultdict raises SystemError, __missing__ returned NULL in thread

2017-07-01 Thread STINNER Victor
STINNER Victor added the comment: > It was usual to validate that the bug is now fixed. Crap, I wanted to write: useful, not usual!? -- ___ Python tracker

[issue30825] csv.Sniffer does not detect lineterminator

2017-07-01 Thread Max Vorobev
Changes by Max Vorobev : -- pull_requests: +2595 ___ Python tracker ___ ___

[issue30825] csv.Sniffer does not detect lineterminator

2017-07-01 Thread Max Vorobev
New submission from Max Vorobev: Line terminator defaults to '\r\n' while detecting dialect in csv.Sniffer -- components: Library (Lib) messages: 297497 nosy: Max Vorobev priority: normal severity: normal status: open title: csv.Sniffer does not detect lineterminator type: behavior

[issue30794] Add multiprocessing.Process.kill()

2017-07-01 Thread Vitor Pereira
Changes by Vitor Pereira : -- nosy: +vmsp ___ Python tracker ___ ___

[issue28879] smtplib send_message should add Date header if it is missing, per RFC5322

2017-07-01 Thread Eric Lafontaine
Eric Lafontaine added the comment: Hi All, Should I try to make this a github PR instead to accelerate the review? Regards, Eric Lafontaine -- ___ Python tracker

[issue30794] Add multiprocessing.Process.kill()

2017-07-01 Thread Roundup Robot
Changes by Roundup Robot : -- pull_requests: +2593 ___ Python tracker ___

[issue30817] Abort in PyErr_PrintEx() when no memory

2017-07-01 Thread Xavier de Gaye
Xavier de Gaye added the comment: There are just 6 cases left where the return code of _PySys_SetObjectId() is ignored: Python/pylifecycle.c|689 col 5| _PySys_SetObjectId(_stderr, pstderr); Python/pylifecycle.c|1211 col 9| _PySys_SetObjectId(_stderr, pstderr); Python/pylifecycle.c|1657 col 5|

SLRN score-file suggestion

2017-07-01 Thread Timid
[comp.lang.python] Score: =-1 Path: netfront\.net -- https://mail.python.org/mailman/listinfo/python-list

[issue30824] Add mimetype for extension .json

2017-07-01 Thread Pierre Quentel
New submission from Pierre Quentel: I propose to add a mapping of file extension .json to mime type "application/json". This is registered in https://www.iana.org/assignments/media-types -- components: Library (Lib) messages: 297494 nosy: quentel, r.david.murray priority: normal

[issue29406] asyncio SSL contexts leak sockets after calling close with certain Apache servers

2017-07-01 Thread Ned Deily
Ned Deily added the comment: Yury, based on the most recent comments, can this issue be closed now? -- ___ Python tracker ___

[issue12568] Add functions to get the width in columns of a character

2017-07-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: At least two other issues depend on this: issue17048 and issue24665. If Victor lost interest in this issue I take it. I'm going to push at least imperfect solution which may be improved in time. -- resolution: rejected -> stage: resolved ->

[issue30495] IDLE: modernize textview module

2017-07-01 Thread Cheryl Sabella
Cheryl Sabella added the comment: I have some questions about the final version: 1. `ViewWindow` still has `self.button_ok` defined, but it's not used as far as I can tell. Can that be removed? 2. `def ok` in ViewFrame calls `self.parent.destroy`. I was wondering if it should be

[issue30715] Test_winreg, test_dynamic_key hangs on my Win 10

2017-07-01 Thread Ned Deily
Changes by Ned Deily : -- priority: release blocker -> deferred blocker ___ Python tracker ___

[issue27425] Tests fail because of git's newline preferences on Windows

2017-07-01 Thread Ned Deily
Ned Deily added the comment: OK, based on Steve's response, I am closing this again as it sounds like it should not be an issue going forward with releases and also not for dev builds as long as people do a fresh clone if necessary. Further discussion on hardening the tests can take place

Re: how to make this situation return this result?

2017-07-01 Thread Lee Ho Yeung
My situation is a dictionary with tuple key I think dictionary.values()[index] Is correct On Sun, 2 Jul 2017 at 12:48 AM, Pavol Lisy wrote: > On 7/1/17, Ho Yeung Lee wrote: > > just want to compare tuples like index (0,1), (0,2), (1,2) without > >

[issue30823] os.startfile("") craches Python 2.7, 3.4, 3.5 in Windows 7

2017-07-01 Thread Ned Deily
Changes by Ned Deily : -- components: +Windows nosy: +paul.moore, steve.dower, tim.golden, zach.ware ___ Python tracker ___

[issue12568] Add functions to get the width in columns of a character

2017-07-01 Thread R. David Murray
R. David Murray added the comment: Interestingly, this just came up again in issue 30717. -- nosy: +r.david.murray ___ Python tracker ___

[issue30823] os.startfile("") craches Python 2.7, 3.4, 3.5 in Windows 7

2017-07-01 Thread morris wang
Changes by morris wang : -- title: os.startfile("") craches Python 2.7, 3.4, 3.5 -> os.startfile("") craches Python 2.7, 3.4, 3.5 in Windows 7 ___ Python tracker

[issue30717] str.center() is not unicode aware

2017-07-01 Thread R. David Murray
R. David Murray added the comment: See also issue 12568. -- nosy: +r.david.murray ___ Python tracker ___ ___

Re: how to make this situation return this result?

2017-07-01 Thread Michael Torrie
On 07/01/2017 02:55 AM, Ho Yeung Lee wrote: > expect result as this first case > > ii = 0 > jj = 0 > for ii in range(0,3): > for jj in range(0,3): > if ii < jj: > print (ii, jj) > > > but below is different > as sometimes the situation is not range(0,3), but it a a list

[issue30823] os.startfile("") craches Python 2.7, 3.4, 3.5

2017-07-01 Thread morris wang
New submission from morris wang: try... except... won't catch it. import os try: os.startfile("") except: pass crashes python, resulting in error message "python has stopped working" -- messages: 297487 nosy: morris wang priority: normal severity: normal status: open title:

[issue30441] os.environ raises RuntimeError: dictionary changed size during iteration

2017-07-01 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- stage: -> backport needed ___ Python tracker ___

[issue30441] os.environ raises RuntimeError: dictionary changed size during iteration

2017-07-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: New changeset 8a8d28501fc8ce25926d168f1c657656c809fd4c by Serhiy Storchaka (Osvaldo Santana Neto) in branch 'master': bpo-30441: Fix bug when modifying os.environ while iterating over it (#2409)

[issue30703] Non-reentrant signal handler (test_multiprocessing_forkserver hangs)

2017-07-01 Thread Antoine Pitrou
Changes by Antoine Pitrou : -- stage: backport needed -> resolved status: open -> closed ___ Python tracker ___

[issue30703] Non-reentrant signal handler (test_multiprocessing_forkserver hangs)

2017-07-01 Thread Antoine Pitrou
Antoine Pitrou added the comment: New changeset 3024c0529077f5cff0b32dc84b5923c8fba99a87 by Antoine Pitrou in branch '3.6': [3.6] bpo-30703: Improve signal delivery (GH-2415) (#2527) https://github.com/python/cpython/commit/3024c0529077f5cff0b32dc84b5923c8fba99a87 --

[issue30796] Failures/crashes in test_signal on some buildbots

2017-07-01 Thread Antoine Pitrou
Antoine Pitrou added the comment: New changeset 3024c0529077f5cff0b32dc84b5923c8fba99a87 by Antoine Pitrou in branch '3.6': [3.6] bpo-30703: Improve signal delivery (GH-2415) (#2527) https://github.com/python/cpython/commit/3024c0529077f5cff0b32dc84b5923c8fba99a87 --

[issue30817] Abort in PyErr_PrintEx() when no memory

2017-07-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Is it good to ignore errors of setting sys attributes? Can we prevent these errors? -- nosy: +serhiy.storchaka ___ Python tracker

Re: how to make this situation return this result?

2017-07-01 Thread Pavol Lisy
On 7/1/17, Ho Yeung Lee wrote: > just want to compare tuples like index (0,1), (0,2), (1,2) without > duplicate > such as (2,0), (1,0) etc > > > On Saturday, July 1, 2017 at 7:00:17 PM UTC+8, Peter Otten wrote: >> Ho Yeung Lee wrote: >> >> > finally i searched

[issue30814] Import dotted name as alias breaks with concurrency

2017-07-01 Thread Serhiy Storchaka
Changes by Serhiy Storchaka : -- assignee: -> serhiy.storchaka keywords: +3.6regression versions: +Python 3.7 ___ Python tracker

[issue30814] Import dotted name as alias breaks with concurrency

2017-07-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: On other side, issue23203 fixed just a symptom. The issue is reproduced in master when replace "import foobar.submodule as foo" with "import foobar.submodule; foo = foobar.submodule". The regression may be related to issue22557. Either the optimization

Re: DJANGO cannot import name _compare_digest

2017-07-01 Thread Pavol Lisy
On 7/1/17, Thomas Jollans wrote: > On 30/06/17 13:32, Pavol Lisy wrote: >> [snip] >> >> python 3.6.1 works as I expected >> > import logging as operator > from operator import _compare_digest as compare_digest >> Traceback (most recent call last): >> File "", line 1, in

Re: how to make this situation return this result?

2017-07-01 Thread justin walters
On Sat, Jul 1, 2017 at 5:45 AM, Ho Yeung Lee wrote: > just want to compare tuples like index (0,1), (0,2), (1,2) without > duplicate > such as (2,0), (1,0) etc > > I'm going to assume that the order of values in the tuple is important to you. If so, you can simply use

Re: Python installer

2017-07-01 Thread Debiller 777
Thanks a lot. 1 июля 2017 г. 0:16 пользователь "eryk sun" написал: > On Fri, Jun 30, 2017 at 8:30 PM, Debiller 777 > wrote: > > I just get error that there is no module name 'encodings' > > First make sure that neither PYTHONHOME nor PYTHONPATH are

Re: how to make this situation return this result?

2017-07-01 Thread breamoreboy
On Saturday, July 1, 2017 at 1:46:21 PM UTC+1, Ho Yeung Lee wrote: > just want to compare tuples like index (0,1), (0,2), (1,2) without duplicate > such as (2,0), (1,0) etc > I'm still not entirely sure what you're asking, but can't you just generate what you want with itertools combinations,

[issue30703] Non-reentrant signal handler (test_multiprocessing_forkserver hangs)

2017-07-01 Thread Antoine Pitrou
Changes by Antoine Pitrou : -- pull_requests: +2592 ___ Python tracker ___ ___

Re: Combining 2 data series into one

2017-07-01 Thread Bhaskar Dhariyal
Thanks Albert! I have successfully completed the project. Thanks all for your support. On Sat, Jul 1, 2017 at 1:59 PM, Albert-Jan Roskam wrote: > Hi, > > Does your code run on a sample of the data? > Does your code have categorical data in it? If so: >

[issue30817] Abort in PyErr_PrintEx() when no memory

2017-07-01 Thread Xavier de Gaye
Changes by Xavier de Gaye : -- pull_requests: +2591 ___ Python tracker ___ ___

Re: how to make this situation return this result?

2017-07-01 Thread Peter Otten
Ho Yeung Lee wrote: > just want to compare tuples like index (0,1), (0,2), (1,2) without > duplicate > such as (2,0), (1,0) etc Consider (frozen)sets: >>> {1, 2} == {2, 1} True >>> unique_items = {frozenset((a, b)) for a in range(3) for b in range(3)} >>> unique_items set([frozenset([0]),

Re: how to make this situation return this result?

2017-07-01 Thread Ho Yeung Lee
just want to compare tuples like index (0,1), (0,2), (1,2) without duplicate such as (2,0), (1,0) etc On Saturday, July 1, 2017 at 7:00:17 PM UTC+8, Peter Otten wrote: > Ho Yeung Lee wrote: > > > finally i searched dict.values()[index] solved this > > That doesn't look like a good solution to

[issue30695] add a nomemory_allocator to the _testcapi module

2017-07-01 Thread Xavier de Gaye
Xavier de Gaye added the comment: New changeset 85f643023fed3d4e2fb8e399f9ad57f3a65ef237 by xdegaye in branch 'master': bpo-30695: Add set_nomemory(start, stop) to _testcapi (GH-2406) https://github.com/python/cpython/commit/85f643023fed3d4e2fb8e399f9ad57f3a65ef237 --

Re: Python installer

2017-07-01 Thread Debiller 777
суббота, 1 июля 2017 г., 0:25:19 UTC+3 пользователь eryk sun написал: > On Fri, Jun 30, 2017 at 8:30 PM, Debiller 777 > wrote: > > I just get error that there is no module name 'encodings' > > First make sure that neither PYTHONHOME nor PYTHONPATH are defined in > your

Re: Python installer

2017-07-01 Thread Debiller 777
d -- https://mail.python.org/mailman/listinfo/python-list

Re: how to make this situation return this result?

2017-07-01 Thread Peter Otten
Ho Yeung Lee wrote: > finally i searched dict.values()[index] solved this That doesn't look like a good solution to anything -- including "this", whatever it may be ;) If you make an effort to better explain your problem in plain english rather than with code examples you are likely tho get

Re: DJANGO cannot import name _compare_digest

2017-07-01 Thread Thomas Jollans
On 30/06/17 13:32, Pavol Lisy wrote: > [snip] > > python 3.6.1 works as I expected > import logging as operator from operator import _compare_digest as compare_digest > Traceback (most recent call last): > File "", line 1, in > ImportError: cannot import name '_compare_digest' >

Re: how to make this situation return this result?

2017-07-01 Thread Ho Yeung Lee
finally i searched dict.values()[index] solved this On Saturday, July 1, 2017 at 6:00:41 PM UTC+8, Peter Otten wrote: > Ho Yeung Lee wrote: > > > expect result as this first case > > > > ii = 0 > > jj = 0 > > for ii in range(0,3): > > for jj in range(0,3): > > if ii < jj: > >

[issue26506] [EASY] hex() documentation: mention "%x" % int

2017-07-01 Thread Manvi B
Changes by Manvi B : -- pull_requests: +2590 ___ Python tracker ___ ___

[issue30744] Local variable assignment is broken when combined with threads + tracing + closures

2017-07-01 Thread Xavier de Gaye
Xavier de Gaye added the comment: In msg296758 Nathaniel wrote: > It turns out if you simply delete the LocalsToFast and FastToLocals calls in > call_trampoline, then the test suite still passes. I'm pretty sure that pdb > relies on this as a way to set local variables, though, so I think this

Re: how to make this situation return this result?

2017-07-01 Thread Peter Otten
Ho Yeung Lee wrote: > expect result as this first case > > ii = 0 > jj = 0 > for ii in range(0,3): > for jj in range(0,3): > if ii < jj: > print (ii, jj) > > > but below is different > as sometimes the situation is not range(0,3), but it a a list of tuple > > = 0

Re: how to make this situation return this result?

2017-07-01 Thread Ho Yeung Lee
i got an idea with below, but it can not compile for ii, yy in range(2,5), range(0,3): for jj, zz in range(2,5), range(0,3): if yy < zz: print (ii, jj) real situation groupkey {(0, 1): [[0, 1], [0, 2], [0, 8]], (1, 2): [[1, 5], [1, 9], [2, 6], [2, 10], [8, 9], [8, 10]],

Re: how to make this situation return this result?

2017-07-01 Thread Ho Yeung Lee
sorry for typo, = 0 = 0 for ii in range(0,3): for jj in range(0,3): if < : print (ii, jj) <- correct here = + 1 = + 1 On Saturday, July 1, 2017 at 4:55:59 PM UTC+8, Ho Yeung Lee wrote: > expect result as this first

how to make this situation return this result?

2017-07-01 Thread Ho Yeung Lee
expect result as this first case ii = 0 jj = 0 for ii in range(0,3): for jj in range(0,3): if ii < jj: print (ii, jj) but below is different as sometimes the situation is not range(0,3), but it a a list of tuple = 0 = 0 for ii in range(0,3): for jj in

Re: Combining 2 data series into one

2017-07-01 Thread Albert-Jan Roskam
Hi, Does your code run on a sample of the data? Does your code have categorical data in it? If so: https://pandas.pydata.org/pandas-docs/stable/categorical.html. Also, check out http://www.pytables.org. Albert-Jan From: Python-list

[issue30715] Test_winreg, test_dynamic_key hangs on my Win 10

2017-07-01 Thread Terry J. Reedy
Terry J. Reedy added the comment: I just found -x test_winreg so I can run the test suite while waiting for this to be fixed. -- ___ Python tracker ___

[issue27425] Tests fail because of git's newline preferences on Windows

2017-07-01 Thread Terry J. Reedy
Terry J. Reedy added the comment: There is still the problem with test_winreg freezing CommandPrompt, #30715. For me, this is the worst test bug ever. -- ___ Python tracker

Re: Fwd: ftplib sending data out of order

2017-07-01 Thread dieter
Charles Wilt writes: > ... > First off, I'm not a python guybut I use a set of python scripts > created a few years ago by somebody else to transfer source between the SVN > repo on my PC and an IBM i (aka AS/400) system. > > Recently, multiple developers, including

[issue29926] IDLE: in shell, time.sleep ignores _thread.interrupt_main()

2017-07-01 Thread Martin Panter
Martin Panter added the comment: I doubt the Gnu Readline library nor Python’s readline module are relevant. The input function only uses Readline if sys.stdin is the original stdin terminal; I suspect Idle monkey-patches sys.stdin. The readline method reads directly from the file object; it

[issue23203] Aliasing import of sub-{module, package} from the package raises AttributeError on import.

2017-07-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: Nick's suggestion was implemented in issue30024. -- nosy: +serhiy.storchaka ___ Python tracker ___

[issue30814] Import dotted name as alias breaks with concurrency

2017-07-01 Thread Serhiy Storchaka
Serhiy Storchaka added the comment: See also issue23203. This was fixed in master in issue30024. Maybe it is worth to backport that change to maintained versions? -- ___ Python tracker