Le scénario d'erreur qui m'a fait perdre 3 jours

Il y a six mois, je travaillais sur un modèle de détection d'anomalies pour notre système de market-making crypto. Je recevais cette erreur toutes les 5 minutes :

ConnectionError: HTTPSConnectionPool(host='api.binance.com', port=443): 
Max retries exceeded with url: /api/v3/orders (Caused by 
NewConnectionError(': Failed to establish a new connection: 
[Errno 110] Connection timed out'))

RateLimitError: 429 Too Many Requests - Please make sure you 
have access to this endpoint. Retry after 1000ms

Le problème ? L'API REST de Binance impose des limites de rate strictes (1200 requests/minute) et ne fournit pas de données order flow granulares. J'ai perdu 72 heures à胭友 (bāng wǒ) — pardon, à chercher une solution viable.

La révélation : TardisQoq (anciennement Tardis Exchange) offre des données tick-by-tick historiques pour 30+ exchanges avec une latence moyenne de 47ms et une disponibilité de 99.97%. Combiné à l'analyse par HolySheep AI, j'ai pu construire un pipeline complet en moins d'une journée.

Pourquoi le order flow est crucial pour le market-making

Dans le trading haute fréquence, le order flow représente le flux net des ordres d'achat et de vente. Un imbalance tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells tells