Greboca  

Suport technique et veille technologique

Aujourd’hui, les grandes entreprises et administrations publiques hésitent entre continuer à utiliser des logiciels propriétaires ou basculer vers les Logiciels Libres. Pourtant, la plupart des logiciels libres sont capables de bien traiter les données issues des logiciels propriétaire, et parfois avec une meilleur compatibilité.

C’est alors la barrière de la prise en main qui fait peur, et pourtant...

Les logiciels libres

L’aspect « Logiciel Libre » permet une évolution rapide et une plus grande participation des utilisateurs. Les aides et tutoriels foisonnent sur Internet ou sont directement inclus dans le logiciel lui-même.

Enfin, les concepteurs sont plus proches des utilisateurs, ce qui rend les logiciels libres plus agréable à utiliser et conviviaux.

Grâce à la disponibilité des logiciels libres, vous trouverez facilement des services de support techniques et la licence n’est plus un frein à l’utilisation de ces logiciels par votre personnel.

Notre support technique concerne essentiellement les logiciels libres, que ce soit sous forme de services ponctuels ou de tutoriels.

LinuxFr.org : les journaux  -  Analyse de plage de valeurs dans Pythran

 -  Mai 2020 - 

Sommaire

Demat'iNal,

Il y a quelques semaines, Pythran a gagné une analyse de plage de valeurs un peu plus solide que la précédente implémentation. Rien qui ne révolutionne la recherche, mais l'occasion pour moi d'explorer le sujet avec vous ici.

L'histoire commence en octobre 2018 avec l' issue #1029, alors que j'essayais de convertir des bouts de code de scikit-image à Pythran.

La fonction _integ

La fonction ci-dessous est extraite du fichier _hessian_det_appx.pyx, écrite en cython

# cython: wraparound=False
cdef inline Py_ssize_t _clip(Py_ssize_t x, Py_ssize_t low, Py_ssize_t high) nogil:
    if(x > high):
        return high
    if(x < low):
        return low
    return x

cdef inline cnp.double_t _integ(cnp.double_t[:, ::1] img, Py_ssize_t r, Py_ssize_t c, Py_ssize_t rl, Py_ssize_t cl) nogil:

    r = _clip(r, 0, img.shape[0] - 1)
    c = _clip(c, 0, img.shape[1] - 1)
    r2 = _clip(r + rl, 0, img.shape[0] - 1)
    c2 = _clip(c + cl, 0, img.shape[1] - 1)
    cdef cnp.double_t ans = img[r, c] + img[r2, c2] - img[r, c2] - img[r2, c]

    if (ans < 0):
        return 0
    return ans

On y retrouve les traditionnelles annotations de type, ainsi que des commentaires en début de fichier pour aider la génération de code.

La version Pythran est assez semblable

#pythran export _integ(float64[::], int, int, int, int)
import numpy as np
def _clip(x, low, high):
    assert 0 <= low <= high
    if x > high:
        return high
    if x < low:
        return low
    return x

def _integ(img, r, c, rl, cl):
    r = _clip(r, 0, img.shape[0] - 1)
    c = _clip(c, 0, img.shape[1] - 1)

    r2 = _clip(r + rl, 0, img.shape[0] - 1)
    c2 = _clip(c + cl, 0, img.shape[1] - 1)

    ans = img[r, c] + img[r2, c2] - img[r, c2] - img[r2, c]
    return max(0, ans)

On dégage les annotations de types et les aides à la génération de code. On spécifie la signature de la fonction à traduire (mais pas de la fonction auxiliaire), et on ajoute un assert qui prendra tout son sens plus tard dans le journal. Disons qu'il remplace le # cython: wraparound=False.

C'est le propos de ce journal : comment détecter qu'il n'y aura pas de wraparound sur les accès de tableau dans _integ, autrement dit que r, c et consorts sont positifs ou nuls. Pour cela, on va s'intéresser à l'analyse de plage de valeur.

note : en pythran, le comportement des assert est contrôlable à la compilation, par défaut ils dégagent

Implémentation de base

Depuis la PR #1522, Pythran est capable de calculer que la fonction clip renvoie une valeur toujours prositive ou nulle, et en déduit l'inutilité du wraparound.

L'analyse implémentée par Pythran est assez simple : elle travaille sur des intervalles à bornes numériques (non symboliques quoi); En gros on est capable de modéliser <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNzA1LjI3NzQ4OTAwMjU0MSA0NzgxLjExMTExMTEx%0AMTExMSA4OTAuNTU0OTc4MDA1MDgxOCIgc3R5bGU9IndpZHRoOiAxMS4wODRl%0AeDsgaGVpZ2h0OiAyLjA0OGV4OyB2ZXJ0aWNhbC1hbGlnbjogLTAuNDgyZXg7%0AIG1hcmdpbjogMXB4IDBweDsgcG9zaXRpb246IHN0YXRpYzsiIHhtbG5zPSJo%0AdHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnMgaWQ9Ik1hdGhKYXhf%0AU1ZHX2dseXBocyI+PHBhdGggaWQ9IlNUSVhXRUJNQUlOSS02MSIgc3Ryb2tl%0ALXdpZHRoPSIxMCIgZD0iTTQ2MyAxMTFsMTMgLTExYy03NSAtOTEgLTk5IC0x%0AMTAgLTEzOSAtMTEwYy0yOCAwIC00MCAxMiAtNDAgNDFjMCAyNSAyIDMzIDIz%0AIDExNWMtNzUgLTExMyAtMTMzIC0xNTcgLTIwMyAtMTU3Yy01NiAwIC0xMDAg%0ANDAgLTEwMCAxMTZjMCAxNTUgMTUzIDMzNiAyODYgMzM2YzQzIDAgNzIgLTIx%0AIDgwIC01OGwxMSA0OGwzIDNsNjEgN2w3IC0zYy0yIC05IC0zIC0xMSAtNiAt%0AMjFjLTQ3IC0xNzEgLTg5IC0zNDMgLTg5IC0zNjMgYzAgLTcgNiAtMTMgMTQg%0ALTEzYzkgMCAyMiA4IDUyIDQxek0zNjUgMzYxYzAgMzUgLTIxIDU4IC01NiA1%0AOGMtNDUgMCAtODkgLTMxIC0xMzEgLTkyYy00MiAtNjMgLTc3IC0xNTIgLTc3%0AIC0yMTVjMCAtNTUgMjQgLTc0IDYwIC03NGM1MCAwIDk3IDU1IDEyNyA5OGM0%0ANyA2OCA3NyAxNTQgNzcgMjI1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VC%0ATUFJTi0yMjA4IiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNjI1IC0yN2gtMjkx%0AYy0xNjAgMCAtMjc0IDEzMSAtMjc0IDI3OXMxMTIgMjc5IDI3MSAyNzloMjk0%0Adi02NmgtMjkwYy0xMDMgMCAtMTg5IC04NSAtMjA2IC0xODBoNDk2di02Nmgt%0ANDk3YzE3IC05NSAxMDMgLTE4MCAyMDYgLTE4MGgyOTF2LTY2WiI+PC9wYXRo%0APjxwYXRoIGlkPSJTVElYV0VCTUFJTi01QiIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTI5OSAtMTU2aC0yMTF2ODE4aDIxMXYtMjVoLTgzYy0zNCAwIC01MiAt%0AMTIgLTUyIC00OHYtNjY2YzAgLTQwIDE5IC01NCA1MiAtNTRoODN2LTI1WiI+%0APC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zMSIgc3Ryb2tlLXdpZHRo%0APSIxMCIgZD0iTTM5NCAwaC0yNzZ2MTVjNzQgNCA5NSAyNSA5NSA4MHY0NDlj%0AMCAzNCAtOSA0OSAtMzAgNDljLTEwIDAgLTI3IC01IC00NSAtMTJsLTI3IC0x%0AMHYxNGwxNzkgOTFsOSAtM3YtNTk3YzAgLTQzIDIwIC02MSA5NSAtNjF2LTE1%0AWiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zQSIgc3Ryb2tlLXdp%0AZHRoPSIxMCIgZD0iTTE5MiA0MDNjMCAtMzAgLTI1IC01NSAtNTUgLTU1cy01%0ANiAyNSAtNTYgNTVjMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1NSAt%0ANTZ6TTE5MiA0NGMwIC0zMCAtMjUgLTU1IC01NSAtNTVzLTU2IDI1IC01NiA1%0ANWMwIDMyIDI0IDU2IDU2IDU2YzMwIDAgNTUgLTI2IDU1IC01NloiPjwvcGF0%0AaD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13aWR0aD0iMTAi%0AIGQ9Ik0zOTQgMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2NDQ5YzAgMzQg%0ALTkgNDkgLTMwIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0yNyAtMTB2MTRs%0AMTc5IDkxbDkgLTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYxdi0xNVoiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzAiIHN0cm9rZS13aWR0aD0i%0AMTAiIGQ9Ik00NzYgMzMwYzAgLTE3MiAtNjMgLTM0NCAtMjI2IC0zNDRjLTE3%0AMSAwIC0yMjYgMTg2IC0yMjYgMzUwYzAgMTc3IDY5IDM0MCAyMzAgMzQwYzEz%0AMSAwIDIyMiAtMTQxIDIyMiAtMzQ2ek0zODAgMzI1YzAgMjA4IC00NCAzMjUg%0ALTEzMiAzMjVjLTgzIDAgLTEyOCAtMTE4IC0xMjggLTMyMXM0NCAtMzE3IDEz%0AMCAtMzE3Yzg1IDAgMTMwIDExNSAxMzAgMzEzWiI+PC9wYXRoPjxwYXRoIGlk%0APSJTVElYV0VCTUFJTi01RCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTI0NSAt%0AMTU2aC0yMTF2MjVoODhjMzUgMCA0NyAxNSA0NyA0NnY2NjhjMCAzNSAtMTMg%0ANTQgLTUxIDU0aC04NHYyNWgyMTF2LTgxOFoiPjwvcGF0aD48L2RlZnM+PGcg%0Ac3Ryb2tlPSJibGFjayIgZmlsbD0iYmxhY2siIHN0cm9rZS13aWR0aD0iMCIg%0AdHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAwKSI+PHVzZSB4bGluazpo%0AcmVmPSIjU1RJWFdFQk1BSU5JLTYxIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9%0AIiNTVElYV0VCTUFJTi0yMjA4IiB4PSI3ODMiIHk9IjAiPjwvdXNlPjx1c2Ug%0AeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTVCIiB4PSIxNzUxIiB5PSIwIj48%0AL3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zMSIgeD0iMjA4%0AOSIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4t%0AM0EiIHg9IjI4NzIiIHk9IjAiPjwvdXNlPjxnIHRyYW5zZm9ybT0idHJhbnNs%0AYXRlKDM0MzMsMCkiPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTMx%0AIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zMCIgeD0i%0ANTA1IiB5PSIwIj48L3VzZT48L2c+PHVzZSB4bGluazpocmVmPSIjU1RJWFdF%0AQk1BSU4tNUQiIHg9IjQ0NDMiIHk9IjAiPjwvdXNlPjwvZz48L3N2Zz4=%0A" alt="a \in [1:10]"> mais pas <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNzEyLjI3NzQ4OTAwMjU0MSA0Mjc2LjExMTExMTEx%0AMTExMSA4OTcuNTU0OTc4MDA1MDgxOCIgc3R5bGU9IndpZHRoOiA5Ljg4ZXg7%0AIGhlaWdodDogMi4wNDhleDsgdmVydGljYWwtYWxpZ246IC0wLjQ4MmV4OyBt%0AYXJnaW46IDFweCAwcHg7IHBvc2l0aW9uOiBzdGF0aWM7IiB4bWxucz0iaHR0%0AcDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzIGlkPSJNYXRoSmF4X1NW%0AR19nbHlwaHMiPjxwYXRoIGlkPSJTVElYV0VCTUFJTkktNjEiIHN0cm9rZS13%0AaWR0aD0iMTAiIGQ9Ik00NjMgMTExbDEzIC0xMWMtNzUgLTkxIC05OSAtMTEw%0AIC0xMzkgLTExMGMtMjggMCAtNDAgMTIgLTQwIDQxYzAgMjUgMiAzMyAyMyAx%0AMTVjLTc1IC0xMTMgLTEzMyAtMTU3IC0yMDMgLTE1N2MtNTYgMCAtMTAwIDQw%0AIC0xMDAgMTE2YzAgMTU1IDE1MyAzMzYgMjg2IDMzNmM0MyAwIDcyIC0yMSA4%0AMCAtNThsMTEgNDhsMyAzbDYxIDdsNyAtM2MtMiAtOSAtMyAtMTEgLTYgLTIx%0AYy00NyAtMTcxIC04OSAtMzQzIC04OSAtMzYzIGMwIC03IDYgLTEzIDE0IC0x%0AM2M5IDAgMjIgOCA1MiA0MXpNMzY1IDM2MWMwIDM1IC0yMSA1OCAtNTYgNThj%0ALTQ1IDAgLTg5IC0zMSAtMTMxIC05MmMtNDIgLTYzIC03NyAtMTUyIC03NyAt%0AMjE1YzAgLTU1IDI0IC03NCA2MCAtNzRjNTAgMCA5NyA1NSAxMjcgOThjNDcg%0ANjggNzcgMTU0IDc3IDIyNVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1B%0ASU4tMjIwOCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYyNSAtMjdoLTI5MWMt%0AMTYwIDAgLTI3NCAxMzEgLTI3NCAyNzlzMTEyIDI3OSAyNzEgMjc5aDI5NHYt%0ANjZoLTI5MGMtMTAzIDAgLTE4OSAtODUgLTIwNiAtMTgwaDQ5NnYtNjZoLTQ5%0AN2MxNyAtOTUgMTAzIC0xODAgMjA2IC0xODBoMjkxdi02NloiPjwvcGF0aD48%0AcGF0aCBpZD0iU1RJWFdFQk1BSU4tNUIiIHN0cm9rZS13aWR0aD0iMTAiIGQ9%0AIk0yOTkgLTE1NmgtMjExdjgxOGgyMTF2LTI1aC04M2MtMzQgMCAtNTIgLTEy%0AIC01MiAtNDh2LTY2NmMwIC00MCAxOSAtNTQgNTIgLTU0aDgzdi0yNVoiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13aWR0aD0i%0AMTAiIGQ9Ik0zOTQgMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2NDQ5YzAg%0AMzQgLTkgNDkgLTMwIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0yNyAtMTB2%0AMTRsMTc5IDkxbDkgLTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYxdi0xNVoi%0APjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tM0EiIHN0cm9rZS13aWR0%0AaD0iMTAiIGQ9Ik0xOTIgNDAzYzAgLTMwIC0yNSAtNTUgLTU1IC01NXMtNTYg%0AMjUgLTU2IDU1YzAgMzIgMjQgNTYgNTYgNTZjMzAgMCA1NSAtMjYgNTUgLTU2%0Aek0xOTIgNDRjMCAtMzAgLTI1IC01NSAtNTUgLTU1cy01NiAyNSAtNTYgNTVj%0AMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1NSAtNTZaIj48L3BhdGg+%0APHBhdGggaWQ9IlNUSVhXRUJNQUlOSS02MiIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTE2MyAyOTBoMWM2OCAxMTMgMTIzIDE1MSAxOTMgMTUxYzY3IDAgMTE2%0AIC00MyAxMTYgLTEyMGMwIC0xNTggLTE2NSAtMzMyIC0zMjAgLTMzMmMtNTcg%0AMCAtMTMwIDIzIC0xMzAgNTN2NmwxNDIgNTIzYzYgMjQgOSAzOCA5IDQ3YzAg%0AMjIgLTUgMjMgLTY0IDI1djE3YzY3IDggMTAzIDE0IDE1MyAyM2w1IC01bC0y%0AMSAtODJ6TTM4OCAzMDZjMCA2MSAtMjYgODYgLTcwIDg2Yy00OCAwIC05NCAt%0ANDIgLTEzNyAtMTE1IGMtNDQgLTc0IC03MiAtMTcxIC03MiAtMjMxYzAgLTIz%0AIDE1IC0zNCA0NiAtMzRjNDMgMCA4NiAyMSAxMjMgNTljNjAgNjIgMTEwIDE2%0AMSAxMTAgMjM1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi01RCIg%0Ac3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTI0NSAtMTU2aC0yMTF2MjVoODhjMzUg%0AMCA0NyAxNSA0NyA0NnY2NjhjMCAzNSAtMTMgNTQgLTUxIDU0aC04NHYyNWgy%0AMTF2LTgxOFoiPjwvcGF0aD48L2RlZnM+PGcgc3Ryb2tlPSJibGFjayIgZmls%0AbD0iYmxhY2siIHN0cm9rZS13aWR0aD0iMCIgdHJhbnNmb3JtPSJtYXRyaXgo%0AMSAwIDAgLTEgMCAwKSI+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU5J%0ALTYxIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0yMjA4%0AIiB4PSI3ODMiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhX%0ARUJNQUlOLTVCIiB4PSIxNzUxIiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhy%0AZWY9IiNTVElYV0VCTUFJTi0zMSIgeD0iMjA4OSIgeT0iMCI+PC91c2U+PHVz%0AZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tM0EiIHg9IjI4NzIiIHk9IjAi%0APjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOSS02MiIgeD0i%0AMzQzMyIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU4tNUQiIHg9IjM5MzgiIHk9IjAiPjwvdXNlPjwvZz48L3N2Zz4=%0A" alt="a \in [1: b]">.

L'analyse est interprocédurale, mais indépendante du site d'appel : on ne sait rien sur les arguments en entrée (et c'est pour cela qu'on a besoin d'un assert pour ajouter des préconditions) mais on peut en déduire des informations sur la valeur de retour, par exemple qu'elle est toujours positive ou nulle.

Commençons par un exemple simple :

def foo(a):
    assert a > 0
    b = c = 10
    while a > 0:
        a -= 1
        b += 1
    if b == 9:
        print("wtf")
    if b == 10:
        print("wtf")
    if b == 11:
        print("ok")
    return a, b, c

L'analyse va suivre le flot de contrôle, donc on commence par le début (d'oh) de la fonction, où l'on ne sait rien : <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNzEyLjI3NzQ4OTAwMjU0MSA3MjMxLjQ0NDQ0NDQ0%0ANDQ0NCA4OTcuNTU0OTc4MDA1MDgxOCIgc3R5bGU9IndpZHRoOiAxNi43NDdl%0AeDsgaGVpZ2h0OiAyLjA0OGV4OyB2ZXJ0aWNhbC1hbGlnbjogLTAuNDgyZXg7%0AIG1hcmdpbjogMXB4IDBweDsgcG9zaXRpb246IHN0YXRpYzsiIHhtbG5zPSJo%0AdHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnMgaWQ9Ik1hdGhKYXhf%0AU1ZHX2dseXBocyI+PHBhdGggaWQ9IlNUSVhXRUJNQUlOSS02MSIgc3Ryb2tl%0ALXdpZHRoPSIxMCIgZD0iTTQ2MyAxMTFsMTMgLTExYy03NSAtOTEgLTk5IC0x%0AMTAgLTEzOSAtMTEwYy0yOCAwIC00MCAxMiAtNDAgNDFjMCAyNSAyIDMzIDIz%0AIDExNWMtNzUgLTExMyAtMTMzIC0xNTcgLTIwMyAtMTU3Yy01NiAwIC0xMDAg%0ANDAgLTEwMCAxMTZjMCAxNTUgMTUzIDMzNiAyODYgMzM2YzQzIDAgNzIgLTIx%0AIDgwIC01OGwxMSA0OGwzIDNsNjEgN2w3IC0zYy0yIC05IC0zIC0xMSAtNiAt%0AMjFjLTQ3IC0xNzEgLTg5IC0zNDMgLTg5IC0zNjMgYzAgLTcgNiAtMTMgMTQg%0ALTEzYzkgMCAyMiA4IDUyIDQxek0zNjUgMzYxYzAgMzUgLTIxIDU4IC01NiA1%0AOGMtNDUgMCAtODkgLTMxIC0xMzEgLTkyYy00MiAtNjMgLTc3IC0xNTIgLTc3%0AIC0yMTVjMCAtNTUgMjQgLTc0IDYwIC03NGM1MCAwIDk3IDU1IDEyNyA5OGM0%0ANyA2OCA3NyAxNTQgNzcgMjI1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VC%0ATUFJTi0yMjA4IiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNjI1IC0yN2gtMjkx%0AYy0xNjAgMCAtMjc0IDEzMSAtMjc0IDI3OXMxMTIgMjc5IDI3MSAyNzloMjk0%0Adi02NmgtMjkwYy0xMDMgMCAtMTg5IC04NSAtMjA2IC0xODBoNDk2di02Nmgt%0ANDk3YzE3IC05NSAxMDMgLTE4MCAyMDYgLTE4MGgyOTF2LTY2WiI+PC9wYXRo%0APjxwYXRoIGlkPSJTVElYV0VCTUFJTi01RCIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTI0NSAtMTU2aC0yMTF2MjVoODhjMzUgMCA0NyAxNSA0NyA0NnY2Njhj%0AMCAzNSAtMTMgNTQgLTUxIDU0aC04NHYyNWgyMTF2LTgxOFoiPjwvcGF0aD48%0AcGF0aCBpZD0iU1RJWFdFQk1BSU4tMjIxMiIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTYyMSAyMjBoLTU1N3Y2Nmg1NTd2LTY2WiI+PC9wYXRoPjxwYXRoIGlk%0APSJTVElYV0VCTUFJTi02OSIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTE4MCA2%0AMzJjMCAtMjkgLTIyIC01MSAtNTIgLTUxYy0yOCAwIC01MCAyMiAtNTAgNTFj%0AMCAyOCAyMyA1MSA1MSA1MWMyOSAwIDUxIC0yMyA1MSAtNTF6TTI1MyAwaC0y%0AMzd2MTVjNjkgNCA3OSAxMyA3OSA4OXYyMjdjMCA0NyAtOCA2MyAtMzMgNjNj%0ALTkgMCAtMjQgMCAtNDIgLTV2MTZsMTU1IDU1bDQgLTR2LTM1MWMwIC03NCA4%0AIC04NSA3NCAtOTB2LTE1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJ%0ATi02RSIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTQ4NSAwaC0yMDhsMSAxNWM1%0AMCA0IDYyIDI0IDYyIDkwdjE5OWMwIDcxIC0yNCAxMDEgLTczIDEwMWMtMzMg%0AMCAtNTcgLTEyIC0xMDMgLTU3di0yNzZjMCAtMzkgMTQgLTUzIDY1IC01N3Yt%0AMTVoLTIxMXYxNWM1MSA0IDYyIDIwIDYyIDc5djI0M2MwIDQ5IC03IDY1IC0z%0ANSA2NWMtMTEgMCAtMjIgLTEgLTI5IC00djE3YzU1IDE2IDg4IDI3IDEzNyA0%0ANWw4IC0zdi03OGgxYzUyIDU5IDk4IDgxIDE0NCA4MWM3NiAwIDExOCAtNTUg%0AMTE4IC0xNTQgdi0yMjFjMCAtNTQgMTIgLTY1IDYxIC03MHYtMTVaIj48L3Bh%0AdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTY2IiBzdHJva2Utd2lkdGg9IjEw%0AIiBkPSJNMjEgNDUwaDgyYzEgODAgOSAxMTYgMzUgMTYxczc4IDcyIDE0MSA3%0AMmM2MCAwIDEwNCAtMjYgMTA0IC02MmMwIC0yMyAtMTggLTQxIC00MiAtNDFj%0ALTE3IDAgLTI5IDkgLTQ1IDM2Yy0xOCAyOSAtMzEgMzkgLTUzIDM5Yy0zOCAw%0AIC01NiAtMzAgLTU2IC04OXYtMTE2aDEyMnYtMzJoLTEyMnYtMzE0YzAgLTc1%0AIDExIC04NiA5MyAtODl2LTE1aC0yNjB2MTVjNzIgNCA4MyAxNiA4MyA4OXYz%0AMTRoLTgydjMyWiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zQSIg%0Ac3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTE5MiA0MDNjMCAtMzAgLTI1IC01NSAt%0ANTUgLTU1cy01NiAyNSAtNTYgNTVjMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1%0AIC0yNiA1NSAtNTZ6TTE5MiA0NGMwIC0zMCAtMjUgLTU1IC01NSAtNTVzLTU2%0AIDI1IC01NiA1NWMwIDMyIDI0IDU2IDU2IDU2YzMwIDAgNTUgLTI2IDU1IC01%0ANloiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMkIiIHN0cm9rZS13%0AaWR0aD0iMTAiIGQ9Ik02MzYgMjIwaC0yNjF2LTI2MWgtNjZ2MjYxaC0yNjF2%0ANjZoMjYxdjI2MWg2NnYtMjYxaDI2MXYtNjZaIj48L3BhdGg+PHBhdGggaWQ9%0AIlNUSVhXRUJNQUlOLTY5IiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMTgwIDYz%0AMmMwIC0yOSAtMjIgLTUxIC01MiAtNTFjLTI4IDAgLTUwIDIyIC01MCA1MWMw%0AIDI4IDIzIDUxIDUxIDUxYzI5IDAgNTEgLTIzIDUxIC01MXpNMjUzIDBoLTIz%0AN3YxNWM2OSA0IDc5IDEzIDc5IDg5djIyN2MwIDQ3IC04IDYzIC0zMyA2M2Mt%0AOSAwIC0yNCAwIC00MiAtNXYxNmwxNTUgNTVsNCAtNHYtMzUxYzAgLTc0IDgg%0ALTg1IDc0IC05MHYtMTVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlO%0ALTZFIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNDg1IDBoLTIwOGwxIDE1YzUw%0AIDQgNjIgMjQgNjIgOTB2MTk5YzAgNzEgLTI0IDEwMSAtNzMgMTAxYy0zMyAw%0AIC01NyAtMTIgLTEwMyAtNTd2LTI3NmMwIC0zOSAxNCAtNTMgNjUgLTU3di0x%0ANWgtMjExdjE1YzUxIDQgNjIgMjAgNjIgNzl2MjQzYzAgNDkgLTcgNjUgLTM1%0AIDY1Yy0xMSAwIC0yMiAtMSAtMjkgLTR2MTdjNTUgMTYgODggMjcgMTM3IDQ1%0AbDggLTN2LTc4aDFjNTIgNTkgOTggODEgMTQ0IDgxYzc2IDAgMTE4IC01NSAx%0AMTggLTE1NCB2LTIyMWMwIC01NCAxMiAtNjUgNjEgLTcwdi0xNVoiPjwvcGF0%0AaD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tNjYiIHN0cm9rZS13aWR0aD0iMTAi%0AIGQ9Ik0yMSA0NTBoODJjMSA4MCA5IDExNiAzNSAxNjFzNzggNzIgMTQxIDcy%0AYzYwIDAgMTA0IC0yNiAxMDQgLTYyYzAgLTIzIC0xOCAtNDEgLTQyIC00MWMt%0AMTcgMCAtMjkgOSAtNDUgMzZjLTE4IDI5IC0zMSAzOSAtNTMgMzljLTM4IDAg%0ALTU2IC0zMCAtNTYgLTg5di0xMTZoMTIydi0zMmgtMTIydi0zMTRjMCAtNzUg%0AMTEgLTg2IDkzIC04OXYtMTVoLTI2MHYxNWM3MiA0IDgzIDE2IDgzIDg5djMx%0ANGgtODJ2MzJaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTVCIiBz%0AdHJva2Utd2lkdGg9IjEwIiBkPSJNMjk5IC0xNTZoLTIxMXY4MThoMjExdi0y%0ANWgtODNjLTM0IDAgLTUyIC0xMiAtNTIgLTQ4di02NjZjMCAtNDAgMTkgLTU0%0AIDUyIC01NGg4M3YtMjVaIj48L3BhdGg+PC9kZWZzPjxnIHN0cm9rZT0iYmxh%0AY2siIGZpbGw9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjAiIHRyYW5zZm9ybT0i%0AbWF0cml4KDEgMCAwIC0xIDAgMCkiPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhX%0ARUJNQUlOSS02MSI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU4tMjIwOCIgeD0iNzgzIiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9%0AIiNTVElYV0VCTUFJTi01RCIgeD0iMTQ3MyIgeT0iMCI+PC91c2U+PHVzZSB4%0AbGluazpocmVmPSIjU1RJWFdFQk1BSU4tMjIxMiIgeD0iMjAzNCIgeT0iMCI+%0APC91c2U+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjk0NiwwKSI+PHVzZSB4%0AbGluazpocmVmPSIjU1RJWFdFQk1BSU4tNjkiPjwvdXNlPjx1c2UgeGxpbms6%0AaHJlZj0iI1NUSVhXRUJNQUlOLTZFIiB4PSIyODMiIHk9IjAiPjwvdXNlPjx1%0Ac2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTY2IiB4PSI3ODgiIHk9IjAi%0APjwvdXNlPjwvZz48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zQSIg%0AeD0iNDM1MCIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdF%0AQk1BSU4tMkIiIHg9IjQ5MTAiIHk9IjAiPjwvdXNlPjxnIHRyYW5zZm9ybT0i%0AdHJhbnNsYXRlKDU3NjcsMCkiPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJN%0AQUlOLTY5Ij48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi02%0ARSIgeD0iMjgzIiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElY%0AV0VCTUFJTi02NiIgeD0iNzg4IiB5PSIwIj48L3VzZT48L2c+PHVzZSB4bGlu%0AazpocmVmPSIjU1RJWFdFQk1BSU4tNUIiIHg9IjY4OTMiIHk9IjAiPjwvdXNl%0APjwvZz48L3N2Zz4=%0A" alt="a \in ]-\inf: +\inf[">. Après le assert, on en sait un peu plus : <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNzEyLjI3NzQ4OTAwMjU0MSA1NzUzLjc3Nzc3Nzc3%0ANzc3OCA4OTcuNTU0OTc4MDA1MDgxOCIgc3R5bGU9IndpZHRoOiAxMy4zNzNl%0AeDsgaGVpZ2h0OiAyLjA0OGV4OyB2ZXJ0aWNhbC1hbGlnbjogLTAuNDgyZXg7%0AIG1hcmdpbjogMXB4IDBweDsgcG9zaXRpb246IHN0YXRpYzsiIHhtbG5zPSJo%0AdHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnMgaWQ9Ik1hdGhKYXhf%0AU1ZHX2dseXBocyI+PHBhdGggaWQ9IlNUSVhXRUJNQUlOSS02MSIgc3Ryb2tl%0ALXdpZHRoPSIxMCIgZD0iTTQ2MyAxMTFsMTMgLTExYy03NSAtOTEgLTk5IC0x%0AMTAgLTEzOSAtMTEwYy0yOCAwIC00MCAxMiAtNDAgNDFjMCAyNSAyIDMzIDIz%0AIDExNWMtNzUgLTExMyAtMTMzIC0xNTcgLTIwMyAtMTU3Yy01NiAwIC0xMDAg%0ANDAgLTEwMCAxMTZjMCAxNTUgMTUzIDMzNiAyODYgMzM2YzQzIDAgNzIgLTIx%0AIDgwIC01OGwxMSA0OGwzIDNsNjEgN2w3IC0zYy0yIC05IC0zIC0xMSAtNiAt%0AMjFjLTQ3IC0xNzEgLTg5IC0zNDMgLTg5IC0zNjMgYzAgLTcgNiAtMTMgMTQg%0ALTEzYzkgMCAyMiA4IDUyIDQxek0zNjUgMzYxYzAgMzUgLTIxIDU4IC01NiA1%0AOGMtNDUgMCAtODkgLTMxIC0xMzEgLTkyYy00MiAtNjMgLTc3IC0xNTIgLTc3%0AIC0yMTVjMCAtNTUgMjQgLTc0IDYwIC03NGM1MCAwIDk3IDU1IDEyNyA5OGM0%0ANyA2OCA3NyAxNTQgNzcgMjI1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VC%0ATUFJTi0yMjA4IiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNjI1IC0yN2gtMjkx%0AYy0xNjAgMCAtMjc0IDEzMSAtMjc0IDI3OXMxMTIgMjc5IDI3MSAyNzloMjk0%0Adi02NmgtMjkwYy0xMDMgMCAtMTg5IC04NSAtMjA2IC0xODBoNDk2di02Nmgt%0ANDk3YzE3IC05NSAxMDMgLTE4MCAyMDYgLTE4MGgyOTF2LTY2WiI+PC9wYXRo%0APjxwYXRoIGlkPSJTVElYV0VCTUFJTi01QiIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTI5OSAtMTU2aC0yMTF2ODE4aDIxMXYtMjVoLTgzYy0zNCAwIC01MiAt%0AMTIgLTUyIC00OHYtNjY2YzAgLTQwIDE5IC01NCA1MiAtNTRoODN2LTI1WiI+%0APC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zMSIgc3Ryb2tlLXdpZHRo%0APSIxMCIgZD0iTTM5NCAwaC0yNzZ2MTVjNzQgNCA5NSAyNSA5NSA4MHY0NDlj%0AMCAzNCAtOSA0OSAtMzAgNDljLTEwIDAgLTI3IC01IC00NSAtMTJsLTI3IC0x%0AMHYxNGwxNzkgOTFsOSAtM3YtNTk3YzAgLTQzIDIwIC02MSA5NSAtNjF2LTE1%0AWiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zQSIgc3Ryb2tlLXdp%0AZHRoPSIxMCIgZD0iTTE5MiA0MDNjMCAtMzAgLTI1IC01NSAtNTUgLTU1cy01%0ANiAyNSAtNTYgNTVjMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1NSAt%0ANTZ6TTE5MiA0NGMwIC0zMCAtMjUgLTU1IC01NSAtNTVzLTU2IDI1IC01NiA1%0ANWMwIDMyIDI0IDU2IDU2IDU2YzMwIDAgNTUgLTI2IDU1IC01NloiPjwvcGF0%0AaD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMkIiIHN0cm9rZS13aWR0aD0iMTAi%0AIGQ9Ik02MzYgMjIwaC0yNjF2LTI2MWgtNjZ2MjYxaC0yNjF2NjZoMjYxdjI2%0AMWg2NnYtMjYxaDI2MXYtNjZaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJN%0AQUlOLTY5IiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMTgwIDYzMmMwIC0yOSAt%0AMjIgLTUxIC01MiAtNTFjLTI4IDAgLTUwIDIyIC01MCA1MWMwIDI4IDIzIDUx%0AIDUxIDUxYzI5IDAgNTEgLTIzIDUxIC01MXpNMjUzIDBoLTIzN3YxNWM2OSA0%0AIDc5IDEzIDc5IDg5djIyN2MwIDQ3IC04IDYzIC0zMyA2M2MtOSAwIC0yNCAw%0AIC00MiAtNXYxNmwxNTUgNTVsNCAtNHYtMzUxYzAgLTc0IDggLTg1IDc0IC05%0AMHYtMTVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTZFIiBzdHJv%0Aa2Utd2lkdGg9IjEwIiBkPSJNNDg1IDBoLTIwOGwxIDE1YzUwIDQgNjIgMjQg%0ANjIgOTB2MTk5YzAgNzEgLTI0IDEwMSAtNzMgMTAxYy0zMyAwIC01NyAtMTIg%0ALTEwMyAtNTd2LTI3NmMwIC0zOSAxNCAtNTMgNjUgLTU3di0xNWgtMjExdjE1%0AYzUxIDQgNjIgMjAgNjIgNzl2MjQzYzAgNDkgLTcgNjUgLTM1IDY1Yy0xMSAw%0AIC0yMiAtMSAtMjkgLTR2MTdjNTUgMTYgODggMjcgMTM3IDQ1bDggLTN2LTc4%0AaDFjNTIgNTkgOTggODEgMTQ0IDgxYzc2IDAgMTE4IC01NSAxMTggLTE1NCB2%0ALTIyMWMwIC01NCAxMiAtNjUgNjEgLTcwdi0xNVoiPjwvcGF0aD48cGF0aCBp%0AZD0iU1RJWFdFQk1BSU4tNjYiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0yMSA0%0ANTBoODJjMSA4MCA5IDExNiAzNSAxNjFzNzggNzIgMTQxIDcyYzYwIDAgMTA0%0AIC0yNiAxMDQgLTYyYzAgLTIzIC0xOCAtNDEgLTQyIC00MWMtMTcgMCAtMjkg%0AOSAtNDUgMzZjLTE4IDI5IC0zMSAzOSAtNTMgMzljLTM4IDAgLTU2IC0zMCAt%0ANTYgLTg5di0xMTZoMTIydi0zMmgtMTIydi0zMTRjMCAtNzUgMTEgLTg2IDkz%0AIC04OXYtMTVoLTI2MHYxNWM3MiA0IDgzIDE2IDgzIDg5djMxNGgtODJ2MzJa%0AIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTVCIiBzdHJva2Utd2lk%0AdGg9IjEwIiBkPSJNMjk5IC0xNTZoLTIxMXY4MThoMjExdi0yNWgtODNjLTM0%0AIDAgLTUyIC0xMiAtNTIgLTQ4di02NjZjMCAtNDAgMTkgLTU0IDUyIC01NGg4%0AM3YtMjVaIj48L3BhdGg+PC9kZWZzPjxnIHN0cm9rZT0iYmxhY2siIGZpbGw9%0AImJsYWNrIiBzdHJva2Utd2lkdGg9IjAiIHRyYW5zZm9ybT0ibWF0cml4KDEg%0AMCAwIC0xIDAgMCkiPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOSS02%0AMSI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tMjIwOCIg%0AeD0iNzgzIiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VC%0ATUFJTi01QiIgeD0iMTc1MSIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVm%0APSIjU1RJWFdFQk1BSU4tMzEiIHg9IjIwODkiIHk9IjAiPjwvdXNlPjx1c2Ug%0AeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTNBIiB4PSIyODcyIiB5PSIwIj48%0AL3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0yQiIgeD0iMzQz%0AMyIgeT0iMCI+PC91c2U+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDI4OSww%0AKSI+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tNjkiPjwvdXNlPjx1%0Ac2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTZFIiB4PSIyODMiIHk9IjAi%0APjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTY2IiB4PSI3%0AODgiIHk9IjAiPjwvdXNlPjwvZz48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VC%0ATUFJTi01QiIgeD0iNTQxNSIgeT0iMCI+PC91c2U+PC9nPjwvc3ZnPg==%0A" alt="a \in [1: +\inf[">. Après les affectations, on a en plus <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNzEyLjI3NzQ4OTAwMjU0MSAxMDkzNS44ODg4ODg4%0AODg4ODcgODk3LjU1NDk3ODAwNTA4MTgiIHN0eWxlPSJ3aWR0aDogMjUuNDIy%0AZXg7IGhlaWdodDogMi4wNDhleDsgdmVydGljYWwtYWxpZ246IC0wLjQ4MmV4%0AOyBtYXJnaW46IDFweCAwcHg7IHBvc2l0aW9uOiBzdGF0aWM7IiB4bWxucz0i%0AaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxkZWZzIGlkPSJNYXRoSmF4%0AX1NWR19nbHlwaHMiPjxwYXRoIGlkPSJTVElYV0VCTUFJTkktNjIiIHN0cm9r%0AZS13aWR0aD0iMTAiIGQ9Ik0xNjMgMjkwaDFjNjggMTEzIDEyMyAxNTEgMTkz%0AIDE1MWM2NyAwIDExNiAtNDMgMTE2IC0xMjBjMCAtMTU4IC0xNjUgLTMzMiAt%0AMzIwIC0zMzJjLTU3IDAgLTEzMCAyMyAtMTMwIDUzdjZsMTQyIDUyM2M2IDI0%0AIDkgMzggOSA0N2MwIDIyIC01IDIzIC02NCAyNXYxN2M2NyA4IDEwMyAxNCAx%0ANTMgMjNsNSAtNWwtMjEgLTgyek0zODggMzA2YzAgNjEgLTI2IDg2IC03MCA4%0ANmMtNDggMCAtOTQgLTQyIC0xMzcgLTExNSBjLTQ0IC03NCAtNzIgLTE3MSAt%0ANzIgLTIzMWMwIC0yMyAxNSAtMzQgNDYgLTM0YzQzIDAgODYgMjEgMTIzIDU5%0AYzYwIDYyIDExMCAxNjEgMTEwIDIzNVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJ%0AWFdFQk1BSU4tMjIwOCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYyNSAtMjdo%0ALTI5MWMtMTYwIDAgLTI3NCAxMzEgLTI3NCAyNzlzMTEyIDI3OSAyNzEgMjc5%0AaDI5NHYtNjZoLTI5MGMtMTAzIDAgLTE4OSAtODUgLTIwNiAtMTgwaDQ5NnYt%0ANjZoLTQ5N2MxNyAtOTUgMTAzIC0xODAgMjA2IC0xODBoMjkxdi02NloiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tNUIiIHN0cm9rZS13aWR0aD0i%0AMTAiIGQ9Ik0yOTkgLTE1NmgtMjExdjgxOGgyMTF2LTI1aC04M2MtMzQgMCAt%0ANTIgLTEyIC01MiAtNDh2LTY2NmMwIC00MCAxOSAtNTQgNTIgLTU0aDgzdi0y%0ANVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13%0AaWR0aD0iMTAiIGQ9Ik0zOTQgMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2%0ANDQ5YzAgMzQgLTkgNDkgLTMwIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0y%0ANyAtMTB2MTRsMTc5IDkxbDkgLTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYx%0Adi0xNVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzAiIHN0cm9r%0AZS13aWR0aD0iMTAiIGQ9Ik00NzYgMzMwYzAgLTE3MiAtNjMgLTM0NCAtMjI2%0AIC0zNDRjLTE3MSAwIC0yMjYgMTg2IC0yMjYgMzUwYzAgMTc3IDY5IDM0MCAy%0AMzAgMzQwYzEzMSAwIDIyMiAtMTQxIDIyMiAtMzQ2ek0zODAgMzI1YzAgMjA4%0AIC00NCAzMjUgLTEzMiAzMjVjLTgzIDAgLTEyOCAtMTE4IC0xMjggLTMyMXM0%0ANCAtMzE3IDEzMCAtMzE3Yzg1IDAgMTMwIDExNSAxMzAgMzEzWiI+PC9wYXRo%0APjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zQSIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTE5MiA0MDNjMCAtMzAgLTI1IC01NSAtNTUgLTU1cy01NiAyNSAtNTYg%0ANTVjMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1NSAtNTZ6TTE5MiA0%0ANGMwIC0zMCAtMjUgLTU1IC01NSAtNTVzLTU2IDI1IC01NiA1NWMwIDMyIDI0%0AIDU2IDU2IDU2YzMwIDAgNTUgLTI2IDU1IC01NloiPjwvcGF0aD48cGF0aCBp%0AZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0zOTQg%0AMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2NDQ5YzAgMzQgLTkgNDkgLTMw%0AIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0yNyAtMTB2MTRsMTc5IDkxbDkg%0ALTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYxdi0xNVoiPjwvcGF0aD48cGF0%0AaCBpZD0iU1RJWFdFQk1BSU4tMzAiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik00%0ANzYgMzMwYzAgLTE3MiAtNjMgLTM0NCAtMjI2IC0zNDRjLTE3MSAwIC0yMjYg%0AMTg2IC0yMjYgMzUwYzAgMTc3IDY5IDM0MCAyMzAgMzQwYzEzMSAwIDIyMiAt%0AMTQxIDIyMiAtMzQ2ek0zODAgMzI1YzAgMjA4IC00NCAzMjUgLTEzMiAzMjVj%0ALTgzIDAgLTEyOCAtMTE4IC0xMjggLTMyMXM0NCAtMzE3IDEzMCAtMzE3Yzg1%0AIDAgMTMwIDExNSAxMzAgMzEzWiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VC%0ATUFJTi01RCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTI0NSAtMTU2aC0yMTF2%0AMjVoODhjMzUgMCA0NyAxNSA0NyA0NnY2NjhjMCAzNSAtMTMgNTQgLTUxIDU0%0AaC04NHYyNWgyMTF2LTgxOFoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1B%0ASU4tMkMiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik04MyAtMTQxbC0xMCAxOWM1%0ANSAzNyA4MyA3NCA4MyAxMDdjMCA3IC02IDEzIC0xNCAxM3MtMTggLTQgLTI5%0AIC00Yy0zNyAwIC01OCAxNyAtNTggNTFzMjQgNTcgNjAgNTdjNDUgMCA4MCAt%0AMzUgODAgLTg3YzAgLTYwIC00MyAtMTIzIC0xMTIgLTE1NloiPjwvcGF0aD48%0AcGF0aCBpZD0iU1RJWFdFQk1BSU5JLTYzIiBzdHJva2Utd2lkdGg9IjEwIiBk%0APSJNMzUwIDEwN2wxNiAtMTBjLTYxIC03NyAtMTE0IC0xMDggLTE4OSAtMTA4%0AYy05MyAwIC0xNDcgNTIgLTE0NyAxNTRjMCA5MyA1MiAxODAgMTIzIDIzN2M0%0AOSAzOSAxMDYgNjEgMTY3IDYxczEwNSAtMzQgMTA1IC04MWMwIC0yNyAtMjIg%0ALTQ4IC00OCAtNDhjLTI4IDAgLTM5IDIwIC0zOSA0MGMwIDE4IDE1IDI5IDE1%0AIDQ4YzAgMTIgLTE0IDIwIC0zNyAyMGMtNDAgMCAtODAgLTE4IC0xMDkgLTQ4%0AYy01NiAtNTkgLTkxIC0xNDQgLTkxIC0yMzMgYzAgLTcyIDMyIC0xMTQgODkg%0ALTExNGM1MyAwIDkxIDI1IDE0NSA4MloiPjwvcGF0aD48cGF0aCBpZD0iU1RJ%0AWFdFQk1BSU4tMjIwOCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYyNSAtMjdo%0ALTI5MWMtMTYwIDAgLTI3NCAxMzEgLTI3NCAyNzlzMTEyIDI3OSAyNzEgMjc5%0AaDI5NHYtNjZoLTI5MGMtMTAzIDAgLTE4OSAtODUgLTIwNiAtMTgwaDQ5NnYt%0ANjZoLTQ5N2MxNyAtOTUgMTAzIC0xODAgMjA2IC0xODBoMjkxdi02NloiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tNUIiIHN0cm9rZS13aWR0aD0i%0AMTAiIGQ9Ik0yOTkgLTE1NmgtMjExdjgxOGgyMTF2LTI1aC04M2MtMzQgMCAt%0ANTIgLTEyIC01MiAtNDh2LTY2NmMwIC00MCAxOSAtNTQgNTIgLTU0aDgzdi0y%0ANVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13%0AaWR0aD0iMTAiIGQ9Ik0zOTQgMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2%0ANDQ5YzAgMzQgLTkgNDkgLTMwIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0y%0ANyAtMTB2MTRsMTc5IDkxbDkgLTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYx%0Adi0xNVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzAiIHN0cm9r%0AZS13aWR0aD0iMTAiIGQ9Ik00NzYgMzMwYzAgLTE3MiAtNjMgLTM0NCAtMjI2%0AIC0zNDRjLTE3MSAwIC0yMjYgMTg2IC0yMjYgMzUwYzAgMTc3IDY5IDM0MCAy%0AMzAgMzQwYzEzMSAwIDIyMiAtMTQxIDIyMiAtMzQ2ek0zODAgMzI1YzAgMjA4%0AIC00NCAzMjUgLTEzMiAzMjVjLTgzIDAgLTEyOCAtMTE4IC0xMjggLTMyMXM0%0ANCAtMzE3IDEzMCAtMzE3Yzg1IDAgMTMwIDExNSAxMzAgMzEzWiI+PC9wYXRo%0APjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zQSIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTE5MiA0MDNjMCAtMzAgLTI1IC01NSAtNTUgLTU1cy01NiAyNSAtNTYg%0ANTVjMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1NSAtNTZ6TTE5MiA0%0ANGMwIC0zMCAtMjUgLTU1IC01NSAtNTVzLTU2IDI1IC01NiA1NWMwIDMyIDI0%0AIDU2IDU2IDU2YzMwIDAgNTUgLTI2IDU1IC01NloiPjwvcGF0aD48cGF0aCBp%0AZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0zOTQg%0AMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2NDQ5YzAgMzQgLTkgNDkgLTMw%0AIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0yNyAtMTB2MTRsMTc5IDkxbDkg%0ALTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYxdi0xNVoiPjwvcGF0aD48cGF0%0AaCBpZD0iU1RJWFdFQk1BSU4tMzAiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik00%0ANzYgMzMwYzAgLTE3MiAtNjMgLTM0NCAtMjI2IC0zNDRjLTE3MSAwIC0yMjYg%0AMTg2IC0yMjYgMzUwYzAgMTc3IDY5IDM0MCAyMzAgMzQwYzEzMSAwIDIyMiAt%0AMTQxIDIyMiAtMzQ2ek0zODAgMzI1YzAgMjA4IC00NCAzMjUgLTEzMiAzMjVj%0ALTgzIDAgLTEyOCAtMTE4IC0xMjggLTMyMXM0NCAtMzE3IDEzMCAtMzE3Yzg1%0AIDAgMTMwIDExNSAxMzAgMzEzWiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VC%0ATUFJTi01RCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTI0NSAtMTU2aC0yMTF2%0AMjVoODhjMzUgMCA0NyAxNSA0NyA0NnY2NjhjMCAzNSAtMTMgNTQgLTUxIDU0%0AaC04NHYyNWgyMTF2LTgxOFoiPjwvcGF0aD48L2RlZnM+PGcgc3Ryb2tlPSJi%0AbGFjayIgZmlsbD0iYmxhY2siIHN0cm9rZS13aWR0aD0iMCIgdHJhbnNmb3Jt%0APSJtYXRyaXgoMSAwIDAgLTEgMCAwKSI+PHVzZSB4bGluazpocmVmPSIjU1RJ%0AWFdFQk1BSU5JLTYyIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VC%0ATUFJTi0yMjA4IiB4PSI3ODIiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJl%0AZj0iI1NUSVhXRUJNQUlOLTVCIiB4PSIxNzUwIiB5PSIwIj48L3VzZT48ZyB0%0AcmFuc2Zvcm09InRyYW5zbGF0ZSgyMDg4LDApIj48dXNlIHhsaW5rOmhyZWY9%0AIiNTVElYV0VCTUFJTi0zMSI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJ%0AWFdFQk1BSU4tMzAiIHg9IjUwNSIgeT0iMCI+PC91c2U+PC9nPjx1c2UgeGxp%0Abms6aHJlZj0iI1NUSVhXRUJNQUlOLTNBIiB4PSIzMzc2IiB5PSIwIj48L3Vz%0AZT48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzOTM3LDApIj48dXNlIHhsaW5r%0AOmhyZWY9IiNTVElYV0VCTUFJTi0zMSI+PC91c2U+PHVzZSB4bGluazpocmVm%0APSIjU1RJWFdFQk1BSU4tMzAiIHg9IjUwNSIgeT0iMCI+PC91c2U+PC9nPjx1%0Ac2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTVEIiB4PSI0OTQ3IiB5PSIw%0AIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0yQyIgeD0i%0ANTI4NSIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU5JLTYzIiB4PSI1NzA2IiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9%0AIiNTVElYV0VCTUFJTi0yMjA4IiB4PSI2NDMzIiB5PSIwIj48L3VzZT48dXNl%0AIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi01QiIgeD0iNzQwMSIgeT0iMCI+%0APC91c2U+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNzczOSwwKSI+PHVzZSB4%0AbGluazpocmVmPSIjU1RJWFdFQk1BSU4tMzEiPjwvdXNlPjx1c2UgeGxpbms6%0AaHJlZj0iI1NUSVhXRUJNQUlOLTMwIiB4PSI1MDUiIHk9IjAiPjwvdXNlPjwv%0AZz48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zQSIgeD0iOTAyNyIg%0AeT0iMCI+PC91c2U+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoOTU4NywwKSI+%0APHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tMzEiPjwvdXNlPjx1c2Ug%0AeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTMwIiB4PSI1MDUiIHk9IjAiPjwv%0AdXNlPjwvZz48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi01RCIgeD0i%0AMTA1OTciIHk9IjAiPjwvdXNlPjwvZz48L3N2Zz4=%0A" alt="b \in [10:10] , c \in [10:10]">.

Arrive le while. On sait d'après nos conditions actuelles que le premier test sera vrai, donc on rentre et on exécute les deux assignations pour arriver à <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNzEyLjI3NzQ4OTAwMjU0MSAxNzExMS4zMzMzMzMz%0AMzMzMyA4OTcuNTU0OTc4MDA1MDgxOCIgc3R5bGU9IndpZHRoOiAzOS43NTll%0AeDsgaGVpZ2h0OiAyLjA0OGV4OyB2ZXJ0aWNhbC1hbGlnbjogLTAuNDgyZXg7%0AIG1hcmdpbjogMXB4IDBweDsgcG9zaXRpb246IHN0YXRpYzsiIHhtbG5zPSJo%0AdHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnMgaWQ9Ik1hdGhKYXhf%0AU1ZHX2dseXBocyI+PHBhdGggaWQ9IlNUSVhXRUJNQUlOSS02MSIgc3Ryb2tl%0ALXdpZHRoPSIxMCIgZD0iTTQ2MyAxMTFsMTMgLTExYy03NSAtOTEgLTk5IC0x%0AMTAgLTEzOSAtMTEwYy0yOCAwIC00MCAxMiAtNDAgNDFjMCAyNSAyIDMzIDIz%0AIDExNWMtNzUgLTExMyAtMTMzIC0xNTcgLTIwMyAtMTU3Yy01NiAwIC0xMDAg%0ANDAgLTEwMCAxMTZjMCAxNTUgMTUzIDMzNiAyODYgMzM2YzQzIDAgNzIgLTIx%0AIDgwIC01OGwxMSA0OGwzIDNsNjEgN2w3IC0zYy0yIC05IC0zIC0xMSAtNiAt%0AMjFjLTQ3IC0xNzEgLTg5IC0zNDMgLTg5IC0zNjMgYzAgLTcgNiAtMTMgMTQg%0ALTEzYzkgMCAyMiA4IDUyIDQxek0zNjUgMzYxYzAgMzUgLTIxIDU4IC01NiA1%0AOGMtNDUgMCAtODkgLTMxIC0xMzEgLTkyYy00MiAtNjMgLTc3IC0xNTIgLTc3%0AIC0yMTVjMCAtNTUgMjQgLTc0IDYwIC03NGM1MCAwIDk3IDU1IDEyNyA5OGM0%0ANyA2OCA3NyAxNTQgNzcgMjI1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VC%0ATUFJTi0yMjA4IiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNjI1IC0yN2gtMjkx%0AYy0xNjAgMCAtMjc0IDEzMSAtMjc0IDI3OXMxMTIgMjc5IDI3MSAyNzloMjk0%0Adi02NmgtMjkwYy0xMDMgMCAtMTg5IC04NSAtMjA2IC0xODBoNDk2di02Nmgt%0ANDk3YzE3IC05NSAxMDMgLTE4MCAyMDYgLTE4MGgyOTF2LTY2WiI+PC9wYXRo%0APjxwYXRoIGlkPSJTVElYV0VCTUFJTi01QiIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTI5OSAtMTU2aC0yMTF2ODE4aDIxMXYtMjVoLTgzYy0zNCAwIC01MiAt%0AMTIgLTUyIC00OHYtNjY2YzAgLTQwIDE5IC01NCA1MiAtNTRoODN2LTI1WiI+%0APC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zMCIgc3Ryb2tlLXdpZHRo%0APSIxMCIgZD0iTTQ3NiAzMzBjMCAtMTcyIC02MyAtMzQ0IC0yMjYgLTM0NGMt%0AMTcxIDAgLTIyNiAxODYgLTIyNiAzNTBjMCAxNzcgNjkgMzQwIDIzMCAzNDBj%0AMTMxIDAgMjIyIC0xNDEgMjIyIC0zNDZ6TTM4MCAzMjVjMCAyMDggLTQ0IDMy%0ANSAtMTMyIDMyNWMtODMgMCAtMTI4IC0xMTggLTEyOCAtMzIxczQ0IC0zMTcg%0AMTMwIC0zMTdjODUgMCAxMzAgMTE1IDEzMCAzMTNaIj48L3BhdGg+PHBhdGgg%0AaWQ9IlNUSVhXRUJNQUlOLTNBIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMTky%0AIDQwM2MwIC0zMCAtMjUgLTU1IC01NSAtNTVzLTU2IDI1IC01NiA1NWMwIDMy%0AIDI0IDU2IDU2IDU2YzMwIDAgNTUgLTI2IDU1IC01NnpNMTkyIDQ0YzAgLTMw%0AIC0yNSAtNTUgLTU1IC01NXMtNTYgMjUgLTU2IDU1YzAgMzIgMjQgNTYgNTYg%0ANTZjMzAgMCA1NSAtMjYgNTUgLTU2WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElY%0AV0VCTUFJTi0yQiIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYzNiAyMjBoLTI2%0AMXYtMjYxaC02NnYyNjFoLTI2MXY2NmgyNjF2MjYxaDY2di0yNjFoMjYxdi02%0ANloiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tNjkiIHN0cm9rZS13%0AaWR0aD0iMTAiIGQ9Ik0xODAgNjMyYzAgLTI5IC0yMiAtNTEgLTUyIC01MWMt%0AMjggMCAtNTAgMjIgLTUwIDUxYzAgMjggMjMgNTEgNTEgNTFjMjkgMCA1MSAt%0AMjMgNTEgLTUxek0yNTMgMGgtMjM3djE1YzY5IDQgNzkgMTMgNzkgODl2MjI3%0AYzAgNDcgLTggNjMgLTMzIDYzYy05IDAgLTI0IDAgLTQyIC01djE2bDE1NSA1%0ANWw0IC00di0zNTFjMCAtNzQgOCAtODUgNzQgLTkwdi0xNVoiPjwvcGF0aD48%0AcGF0aCBpZD0iU1RJWFdFQk1BSU4tNkUiIHN0cm9rZS13aWR0aD0iMTAiIGQ9%0AIk00ODUgMGgtMjA4bDEgMTVjNTAgNCA2MiAyNCA2MiA5MHYxOTljMCA3MSAt%0AMjQgMTAxIC03MyAxMDFjLTMzIDAgLTU3IC0xMiAtMTAzIC01N3YtMjc2YzAg%0ALTM5IDE0IC01MyA2NSAtNTd2LTE1aC0yMTF2MTVjNTEgNCA2MiAyMCA2MiA3%0AOXYyNDNjMCA0OSAtNyA2NSAtMzUgNjVjLTExIDAgLTIyIC0xIC0yOSAtNHYx%0AN2M1NSAxNiA4OCAyNyAxMzcgNDVsOCAtM3YtNzhoMWM1MiA1OSA5OCA4MSAx%0ANDQgODFjNzYgMCAxMTggLTU1IDExOCAtMTU0IHYtMjIxYzAgLTU0IDEyIC02%0ANSA2MSAtNzB2LTE1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi02%0ANiIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTIxIDQ1MGg4MmMxIDgwIDkgMTE2%0AIDM1IDE2MXM3OCA3MiAxNDEgNzJjNjAgMCAxMDQgLTI2IDEwNCAtNjJjMCAt%0AMjMgLTE4IC00MSAtNDIgLTQxYy0xNyAwIC0yOSA5IC00NSAzNmMtMTggMjkg%0ALTMxIDM5IC01MyAzOWMtMzggMCAtNTYgLTMwIC01NiAtODl2LTExNmgxMjJ2%0ALTMyaC0xMjJ2LTMxNGMwIC03NSAxMSAtODYgOTMgLTg5di0xNWgtMjYwdjE1%0AYzcyIDQgODMgMTYgODMgODl2MzE0aC04MnYzMloiPjwvcGF0aD48cGF0aCBp%0AZD0iU1RJWFdFQk1BSU4tNUIiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0yOTkg%0ALTE1NmgtMjExdjgxOGgyMTF2LTI1aC04M2MtMzQgMCAtNTIgLTEyIC01MiAt%0ANDh2LTY2NmMwIC00MCAxOSAtNTQgNTIgLTU0aDgzdi0yNVoiPjwvcGF0aD48%0AcGF0aCBpZD0iU1RJWFdFQk1BSU4tMkMiIHN0cm9rZS13aWR0aD0iMTAiIGQ9%0AIk04MyAtMTQxbC0xMCAxOWM1NSAzNyA4MyA3NCA4MyAxMDdjMCA3IC02IDEz%0AIC0xNCAxM3MtMTggLTQgLTI5IC00Yy0zNyAwIC01OCAxNyAtNTggNTFzMjQg%0ANTcgNjAgNTdjNDUgMCA4MCAtMzUgODAgLTg3YzAgLTYwIC00MyAtMTIzIC0x%0AMTIgLTE1NloiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU5JLTYyIiBz%0AdHJva2Utd2lkdGg9IjEwIiBkPSJNMTYzIDI5MGgxYzY4IDExMyAxMjMgMTUx%0AIDE5MyAxNTFjNjcgMCAxMTYgLTQzIDExNiAtMTIwYzAgLTE1OCAtMTY1IC0z%0AMzIgLTMyMCAtMzMyYy01NyAwIC0xMzAgMjMgLTEzMCA1M3Y2bDE0MiA1MjNj%0ANiAyNCA5IDM4IDkgNDdjMCAyMiAtNSAyMyAtNjQgMjV2MTdjNjcgOCAxMDMg%0AMTQgMTUzIDIzbDUgLTVsLTIxIC04MnpNMzg4IDMwNmMwIDYxIC0yNiA4NiAt%0ANzAgODZjLTQ4IDAgLTk0IC00MiAtMTM3IC0xMTUgYy00NCAtNzQgLTcyIC0x%0ANzEgLTcyIC0yMzFjMCAtMjMgMTUgLTM0IDQ2IC0zNGM0MyAwIDg2IDIxIDEy%0AMyA1OWM2MCA2MiAxMTAgMTYxIDExMCAyMzVaIj48L3BhdGg+PHBhdGggaWQ9%0AIlNUSVhXRUJNQUlOLTIyMDgiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik02MjUg%0ALTI3aC0yOTFjLTE2MCAwIC0yNzQgMTMxIC0yNzQgMjc5czExMiAyNzkgMjcx%0AIDI3OWgyOTR2LTY2aC0yOTBjLTEwMyAwIC0xODkgLTg1IC0yMDYgLTE4MGg0%0AOTZ2LTY2aC00OTdjMTcgLTk1IDEwMyAtMTgwIDIwNiAtMTgwaDI5MXYtNjZa%0AIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTVCIiBzdHJva2Utd2lk%0AdGg9IjEwIiBkPSJNMjk5IC0xNTZoLTIxMXY4MThoMjExdi0yNWgtODNjLTM0%0AIDAgLTUyIC0xMiAtNTIgLTQ4di02NjZjMCAtNDAgMTkgLTU0IDUyIC01NGg4%0AM3YtMjVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMxIiBzdHJv%0Aa2Utd2lkdGg9IjEwIiBkPSJNMzk0IDBoLTI3NnYxNWM3NCA0IDk1IDI1IDk1%0AIDgwdjQ0OWMwIDM0IC05IDQ5IC0zMCA0OWMtMTAgMCAtMjcgLTUgLTQ1IC0x%0AMmwtMjcgLTEwdjE0bDE3OSA5MWw5IC0zdi01OTdjMCAtNDMgMjAgLTYxIDk1%0AIC02MXYtMTVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMxIiBz%0AdHJva2Utd2lkdGg9IjEwIiBkPSJNMzk0IDBoLTI3NnYxNWM3NCA0IDk1IDI1%0AIDk1IDgwdjQ0OWMwIDM0IC05IDQ5IC0zMCA0OWMtMTAgMCAtMjcgLTUgLTQ1%0AIC0xMmwtMjcgLTEwdjE0bDE3OSA5MWw5IC0zdi01OTdjMCAtNDMgMjAgLTYx%0AIDk1IC02MXYtMTVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTNB%0AIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMTkyIDQwM2MwIC0zMCAtMjUgLTU1%0AIC01NSAtNTVzLTU2IDI1IC01NiA1NWMwIDMyIDI0IDU2IDU2IDU2YzMwIDAg%0ANTUgLTI2IDU1IC01NnpNMTkyIDQ0YzAgLTMwIC0yNSAtNTUgLTU1IC01NXMt%0ANTYgMjUgLTU2IDU1YzAgMzIgMjQgNTYgNTYgNTZjMzAgMCA1NSAtMjYgNTUg%0ALTU2WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zMSIgc3Ryb2tl%0ALXdpZHRoPSIxMCIgZD0iTTM5NCAwaC0yNzZ2MTVjNzQgNCA5NSAyNSA5NSA4%0AMHY0NDljMCAzNCAtOSA0OSAtMzAgNDljLTEwIDAgLTI3IC01IC00NSAtMTJs%0ALTI3IC0xMHYxNGwxNzkgOTFsOSAtM3YtNTk3YzAgLTQzIDIwIC02MSA5NSAt%0ANjF2LTE1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zMSIgc3Ry%0Ab2tlLXdpZHRoPSIxMCIgZD0iTTM5NCAwaC0yNzZ2MTVjNzQgNCA5NSAyNSA5%0ANSA4MHY0NDljMCAzNCAtOSA0OSAtMzAgNDljLTEwIDAgLTI3IC01IC00NSAt%0AMTJsLTI3IC0xMHYxNGwxNzkgOTFsOSAtM3YtNTk3YzAgLTQzIDIwIC02MSA5%0ANSAtNjF2LTE1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi01RCIg%0Ac3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTI0NSAtMTU2aC0yMTF2MjVoODhjMzUg%0AMCA0NyAxNSA0NyA0NnY2NjhjMCAzNSAtMTMgNTQgLTUxIDU0aC04NHYyNWgy%0AMTF2LTgxOFoiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMkMiIHN0%0Acm9rZS13aWR0aD0iMTAiIGQ9Ik04MyAtMTQxbC0xMCAxOWM1NSAzNyA4MyA3%0ANCA4MyAxMDdjMCA3IC02IDEzIC0xNCAxM3MtMTggLTQgLTI5IC00Yy0zNyAw%0AIC01OCAxNyAtNTggNTFzMjQgNTcgNjAgNTdjNDUgMCA4MCAtMzUgODAgLTg3%0AYzAgLTYwIC00MyAtMTIzIC0xMTIgLTE1NloiPjwvcGF0aD48cGF0aCBpZD0i%0AU1RJWFdFQk1BSU5JLTYzIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMzUwIDEw%0AN2wxNiAtMTBjLTYxIC03NyAtMTE0IC0xMDggLTE4OSAtMTA4Yy05MyAwIC0x%0ANDcgNTIgLTE0NyAxNTRjMCA5MyA1MiAxODAgMTIzIDIzN2M0OSAzOSAxMDYg%0ANjEgMTY3IDYxczEwNSAtMzQgMTA1IC04MWMwIC0yNyAtMjIgLTQ4IC00OCAt%0ANDhjLTI4IDAgLTM5IDIwIC0zOSA0MGMwIDE4IDE1IDI5IDE1IDQ4YzAgMTIg%0ALTE0IDIwIC0zNyAyMGMtNDAgMCAtODAgLTE4IC0xMDkgLTQ4Yy01NiAtNTkg%0ALTkxIC0xNDQgLTkxIC0yMzMgYzAgLTcyIDMyIC0xMTQgODkgLTExNGM1MyAw%0AIDkxIDI1IDE0NSA4MloiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4t%0AMjIwOCIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYyNSAtMjdoLTI5MWMtMTYw%0AIDAgLTI3NCAxMzEgLTI3NCAyNzlzMTEyIDI3OSAyNzEgMjc5aDI5NHYtNjZo%0ALTI5MGMtMTAzIDAgLTE4OSAtODUgLTIwNiAtMTgwaDQ5NnYtNjZoLTQ5N2Mx%0ANyAtOTUgMTAzIC0xODAgMjA2IC0xODBoMjkxdi02NloiPjwvcGF0aD48cGF0%0AaCBpZD0iU1RJWFdFQk1BSU4tNUIiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0y%0AOTkgLTE1NmgtMjExdjgxOGgyMTF2LTI1aC04M2MtMzQgMCAtNTIgLTEyIC01%0AMiAtNDh2LTY2NmMwIC00MCAxOSAtNTQgNTIgLTU0aDgzdi0yNVoiPjwvcGF0%0AaD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzEiIHN0cm9rZS13aWR0aD0iMTAi%0AIGQ9Ik0zOTQgMGgtMjc2djE1Yzc0IDQgOTUgMjUgOTUgODB2NDQ5YzAgMzQg%0ALTkgNDkgLTMwIDQ5Yy0xMCAwIC0yNyAtNSAtNDUgLTEybC0yNyAtMTB2MTRs%0AMTc5IDkxbDkgLTN2LTU5N2MwIC00MyAyMCAtNjEgOTUgLTYxdi0xNVoiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tMzAiIHN0cm9rZS13aWR0aD0i%0AMTAiIGQ9Ik00NzYgMzMwYzAgLTE3MiAtNjMgLTM0NCAtMjI2IC0zNDRjLTE3%0AMSAwIC0yMjYgMTg2IC0yMjYgMzUwYzAgMTc3IDY5IDM0MCAyMzAgMzQwYzEz%0AMSAwIDIyMiAtMTQxIDIyMiAtMzQ2ek0zODAgMzI1YzAgMjA4IC00NCAzMjUg%0ALTEzMiAzMjVjLTgzIDAgLTEyOCAtMTE4IC0xMjggLTMyMXM0NCAtMzE3IDEz%0AMCAtMzE3Yzg1IDAgMTMwIDExNSAxMzAgMzEzWiI+PC9wYXRoPjxwYXRoIGlk%0APSJTVElYV0VCTUFJTi0zQSIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTE5MiA0%0AMDNjMCAtMzAgLTI1IC01NSAtNTUgLTU1cy01NiAyNSAtNTYgNTVjMCAzMiAy%0ANCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1NSAtNTZ6TTE5MiA0NGMwIC0zMCAt%0AMjUgLTU1IC01NSAtNTVzLTU2IDI1IC01NiA1NWMwIDMyIDI0IDU2IDU2IDU2%0AYzMwIDAgNTUgLTI2IDU1IC01NloiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdF%0AQk1BSU4tMzEiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0zOTQgMGgtMjc2djE1%0AYzc0IDQgOTUgMjUgOTUgODB2NDQ5YzAgMzQgLTkgNDkgLTMwIDQ5Yy0xMCAw%0AIC0yNyAtNSAtNDUgLTEybC0yNyAtMTB2MTRsMTc5IDkxbDkgLTN2LTU5N2Mw%0AIC00MyAyMCAtNjEgOTUgLTYxdi0xNVoiPjwvcGF0aD48cGF0aCBpZD0iU1RJ%0AWFdFQk1BSU4tMzAiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik00NzYgMzMwYzAg%0ALTE3MiAtNjMgLTM0NCAtMjI2IC0zNDRjLTE3MSAwIC0yMjYgMTg2IC0yMjYg%0AMzUwYzAgMTc3IDY5IDM0MCAyMzAgMzQwYzEzMSAwIDIyMiAtMTQxIDIyMiAt%0AMzQ2ek0zODAgMzI1YzAgMjA4IC00NCAzMjUgLTEzMiAzMjVjLTgzIDAgLTEy%0AOCAtMTE4IC0xMjggLTMyMXM0NCAtMzE3IDEzMCAtMzE3Yzg1IDAgMTMwIDEx%0ANSAxMzAgMzEzWiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi01RCIg%0Ac3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTI0NSAtMTU2aC0yMTF2MjVoODhjMzUg%0AMCA0NyAxNSA0NyA0NnY2NjhjMCAzNSAtMTMgNTQgLTUxIDU0aC04NHYyNWgy%0AMTF2LTgxOFoiPjwvcGF0aD48L2RlZnM+PGcgc3Ryb2tlPSJibGFjayIgZmls%0AbD0iYmxhY2siIHN0cm9rZS13aWR0aD0iMCIgdHJhbnNmb3JtPSJtYXRyaXgo%0AMSAwIDAgLTEgMCAwKSI+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU5J%0ALTYxIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0yMjA4%0AIiB4PSI3ODMiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhX%0ARUJNQUlOLTVCIiB4PSIxNzUxIiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhy%0AZWY9IiNTVElYV0VCTUFJTi0zMCIgeD0iMjA4OSIgeT0iMCI+PC91c2U+PHVz%0AZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tM0EiIHg9IjI4NzIiIHk9IjAi%0APjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTJCIiB4PSIz%0ANDMzIiB5PSIwIj48L3VzZT48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0Mjg5%0ALDApIj48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi02OSI+PC91c2U+%0APHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tNkUiIHg9IjI4MyIgeT0i%0AMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tNjYiIHg9%0AIjc4OCIgeT0iMCI+PC91c2U+PC9nPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhX%0ARUJNQUlOLTVCIiB4PSI1NDE1IiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhy%0AZWY9IiNTVElYV0VCTUFJTi0yQyIgeD0iNTc1MyIgeT0iMCI+PC91c2U+PHVz%0AZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU5JLTYyIiB4PSI2MTc1IiB5PSIw%0AIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0yMjA4IiB4%0APSI2OTU4IiB5PSIwIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VC%0ATUFJTi01QiIgeD0iNzkyNiIgeT0iMCI+PC91c2U+PGcgdHJhbnNmb3JtPSJ0%0AcmFuc2xhdGUoODI2NCwwKSI+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU4tMzEiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTMx%0AIiB4PSI1MDUiIHk9IjAiPjwvdXNlPjwvZz48dXNlIHhsaW5rOmhyZWY9IiNT%0AVElYV0VCTUFJTi0zQSIgeD0iOTU1MSIgeT0iMCI+PC91c2U+PGcgdHJhbnNm%0Ab3JtPSJ0cmFuc2xhdGUoMTAxMTIsMCkiPjx1c2UgeGxpbms6aHJlZj0iI1NU%0ASVhXRUJNQUlOLTMxIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VC%0ATUFJTi0zMSIgeD0iNTA1IiB5PSIwIj48L3VzZT48L2c+PHVzZSB4bGluazpo%0AcmVmPSIjU1RJWFdFQk1BSU4tNUQiIHg9IjExMTIyIiB5PSIwIj48L3VzZT48%0AdXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0yQyIgeD0iMTE0NjAiIHk9%0AIjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOSS02MyIg%0AeD0iMTE4ODIiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhX%0ARUJNQUlOLTIyMDgiIHg9IjEyNjA4IiB5PSIwIj48L3VzZT48dXNlIHhsaW5r%0AOmhyZWY9IiNTVElYV0VCTUFJTi01QiIgeD0iMTM1NzYiIHk9IjAiPjwvdXNl%0APjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEzOTE0LDApIj48dXNlIHhsaW5r%0AOmhyZWY9IiNTVElYV0VCTUFJTi0zMSI+PC91c2U+PHVzZSB4bGluazpocmVm%0APSIjU1RJWFdFQk1BSU4tMzAiIHg9IjUwNSIgeT0iMCI+PC91c2U+PC9nPjx1%0Ac2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTNBIiB4PSIxNTIwMiIgeT0i%0AMCI+PC91c2U+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTU3NjMsMCkiPjx1%0Ac2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTMxIj48L3VzZT48dXNlIHhs%0AaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zMCIgeD0iNTA1IiB5PSIwIj48L3Vz%0AZT48L2c+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tNUQiIHg9IjE2%0ANzczIiB5PSIwIj48L3VzZT48L2c+PC9zdmc+%0A" alt="a \in [0: +\inf[, b \in [11:11] , c \in [10:10]">. On retombe sur le test, dont on ignore le résultat maintenant que <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNDcwLjI3NzQ4OTAwMjU0MDkgNTA2IDUxMC41NTQ5%0ANzgwMDUwODE4IiBzdHlsZT0id2lkdGg6IDEuMjA1ZXg7IGhlaWdodDogMS4y%0AMDVleDsgdmVydGljYWwtYWxpZ246IC0wLjI0MWV4OyBtYXJnaW46IDFweCAw%0AcHg7IHBvc2l0aW9uOiBzdGF0aWM7IiB4bWxucz0iaHR0cDovL3d3dy53My5v%0AcmcvMjAwMC9zdmciPjxkZWZzIGlkPSJNYXRoSmF4X1NWR19nbHlwaHMiPjxw%0AYXRoIGlkPSJTVElYV0VCTUFJTkktNjEiIHN0cm9rZS13aWR0aD0iMTAiIGQ9%0AIk00NjMgMTExbDEzIC0xMWMtNzUgLTkxIC05OSAtMTEwIC0xMzkgLTExMGMt%0AMjggMCAtNDAgMTIgLTQwIDQxYzAgMjUgMiAzMyAyMyAxMTVjLTc1IC0xMTMg%0ALTEzMyAtMTU3IC0yMDMgLTE1N2MtNTYgMCAtMTAwIDQwIC0xMDAgMTE2YzAg%0AMTU1IDE1MyAzMzYgMjg2IDMzNmM0MyAwIDcyIC0yMSA4MCAtNThsMTEgNDhs%0AMyAzbDYxIDdsNyAtM2MtMiAtOSAtMyAtMTEgLTYgLTIxYy00NyAtMTcxIC04%0AOSAtMzQzIC04OSAtMzYzIGMwIC03IDYgLTEzIDE0IC0xM2M5IDAgMjIgOCA1%0AMiA0MXpNMzY1IDM2MWMwIDM1IC0yMSA1OCAtNTYgNThjLTQ1IDAgLTg5IC0z%0AMSAtMTMxIC05MmMtNDIgLTYzIC03NyAtMTUyIC03NyAtMjE1YzAgLTU1IDI0%0AIC03NCA2MCAtNzRjNTAgMCA5NyA1NSAxMjcgOThjNDcgNjggNzcgMTU0IDc3%0AIDIyNVoiPjwvcGF0aD48L2RlZnM+PGcgc3Ryb2tlPSJibGFjayIgZmlsbD0i%0AYmxhY2siIHN0cm9rZS13aWR0aD0iMCIgdHJhbnNmb3JtPSJtYXRyaXgoMSAw%0AIDAgLTEgMCAwKSI+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU5JLTYx%0AIj48L3VzZT48L2c+PC9zdmc+%0A" alt="a"> est peut-être passé en dessous de 1. L'astuce ici est d'effectuer un tour de boucle, regarder l'évolution des variables et de les prolonger. Dans notre cas, après un tour supplémentaire, on aurait <img style="display: inline; max-height: 1em;" class="mathjax" src="data:image/svg+xml;base64,PHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu%0AayIgdmlld0JveD0iMCAtNzEyLjI3NzQ4OTAwMjU0MSAxNzExMS4zMzMzMzMz%0AMzMzMyA4OTcuNTU0OTc4MDA1MDgxOCIgc3R5bGU9IndpZHRoOiAzOS43NTll%0AeDsgaGVpZ2h0OiAyLjA0OGV4OyB2ZXJ0aWNhbC1hbGlnbjogLTAuNDgyZXg7%0AIG1hcmdpbjogMXB4IDBweDsgcG9zaXRpb246IHN0YXRpYzsiIHhtbG5zPSJo%0AdHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnMgaWQ9Ik1hdGhKYXhf%0AU1ZHX2dseXBocyI+PHBhdGggaWQ9IlNUSVhXRUJNQUlOSS02MSIgc3Ryb2tl%0ALXdpZHRoPSIxMCIgZD0iTTQ2MyAxMTFsMTMgLTExYy03NSAtOTEgLTk5IC0x%0AMTAgLTEzOSAtMTEwYy0yOCAwIC00MCAxMiAtNDAgNDFjMCAyNSAyIDMzIDIz%0AIDExNWMtNzUgLTExMyAtMTMzIC0xNTcgLTIwMyAtMTU3Yy01NiAwIC0xMDAg%0ANDAgLTEwMCAxMTZjMCAxNTUgMTUzIDMzNiAyODYgMzM2YzQzIDAgNzIgLTIx%0AIDgwIC01OGwxMSA0OGwzIDNsNjEgN2w3IC0zYy0yIC05IC0zIC0xMSAtNiAt%0AMjFjLTQ3IC0xNzEgLTg5IC0zNDMgLTg5IC0zNjMgYzAgLTcgNiAtMTMgMTQg%0ALTEzYzkgMCAyMiA4IDUyIDQxek0zNjUgMzYxYzAgMzUgLTIxIDU4IC01NiA1%0AOGMtNDUgMCAtODkgLTMxIC0xMzEgLTkyYy00MiAtNjMgLTc3IC0xNTIgLTc3%0AIC0yMTVjMCAtNTUgMjQgLTc0IDYwIC03NGM1MCAwIDk3IDU1IDEyNyA5OGM0%0ANyA2OCA3NyAxNTQgNzcgMjI1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VC%0ATUFJTi0yMjA4IiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNjI1IC0yN2gtMjkx%0AYy0xNjAgMCAtMjc0IDEzMSAtMjc0IDI3OXMxMTIgMjc5IDI3MSAyNzloMjk0%0Adi02NmgtMjkwYy0xMDMgMCAtMTg5IC04NSAtMjA2IC0xODBoNDk2di02Nmgt%0ANDk3YzE3IC05NSAxMDMgLTE4MCAyMDYgLTE4MGgyOTF2LTY2WiI+PC9wYXRo%0APjxwYXRoIGlkPSJTVElYV0VCTUFJTi01QiIgc3Ryb2tlLXdpZHRoPSIxMCIg%0AZD0iTTI5OSAtMTU2aC0yMTF2ODE4aDIxMXYtMjVoLTgzYy0zNCAwIC01MiAt%0AMTIgLTUyIC00OHYtNjY2YzAgLTQwIDE5IC01NCA1MiAtNTRoODN2LTI1WiI+%0APC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi0zMCIgc3Ryb2tlLXdpZHRo%0APSIxMCIgZD0iTTQ3NiAzMzBjMCAtMTcyIC02MyAtMzQ0IC0yMjYgLTM0NGMt%0AMTcxIDAgLTIyNiAxODYgLTIyNiAzNTBjMCAxNzcgNjkgMzQwIDIzMCAzNDBj%0AMTMxIDAgMjIyIC0xNDEgMjIyIC0zNDZ6TTM4MCAzMjVjMCAyMDggLTQ0IDMy%0ANSAtMTMyIDMyNWMtODMgMCAtMTI4IC0xMTggLTEyOCAtMzIxczQ0IC0zMTcg%0AMTMwIC0zMTdjODUgMCAxMzAgMTE1IDEzMCAzMTNaIj48L3BhdGg+PHBhdGgg%0AaWQ9IlNUSVhXRUJNQUlOLTNBIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMTky%0AIDQwM2MwIC0zMCAtMjUgLTU1IC01NSAtNTVzLTU2IDI1IC01NiA1NWMwIDMy%0AIDI0IDU2IDU2IDU2YzMwIDAgNTUgLTI2IDU1IC01NnpNMTkyIDQ0YzAgLTMw%0AIC0yNSAtNTUgLTU1IC01NXMtNTYgMjUgLTU2IDU1YzAgMzIgMjQgNTYgNTYg%0ANTZjMzAgMCA1NSAtMjYgNTUgLTU2WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElY%0AV0VCTUFJTi0yQiIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTYzNiAyMjBoLTI2%0AMXYtMjYxaC02NnYyNjFoLTI2MXY2NmgyNjF2MjYxaDY2di0yNjFoMjYxdi02%0ANloiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tNjkiIHN0cm9rZS13%0AaWR0aD0iMTAiIGQ9Ik0xODAgNjMyYzAgLTI5IC0yMiAtNTEgLTUyIC01MWMt%0AMjggMCAtNTAgMjIgLTUwIDUxYzAgMjggMjMgNTEgNTEgNTFjMjkgMCA1MSAt%0AMjMgNTEgLTUxek0yNTMgMGgtMjM3djE1YzY5IDQgNzkgMTMgNzkgODl2MjI3%0AYzAgNDcgLTggNjMgLTMzIDYzYy05IDAgLTI0IDAgLTQyIC01djE2bDE1NSA1%0ANWw0IC00di0zNTFjMCAtNzQgOCAtODUgNzQgLTkwdi0xNVoiPjwvcGF0aD48%0AcGF0aCBpZD0iU1RJWFdFQk1BSU4tNkUiIHN0cm9rZS13aWR0aD0iMTAiIGQ9%0AIk00ODUgMGgtMjA4bDEgMTVjNTAgNCA2MiAyNCA2MiA5MHYxOTljMCA3MSAt%0AMjQgMTAxIC03MyAxMDFjLTMzIDAgLTU3IC0xMiAtMTAzIC01N3YtMjc2YzAg%0ALTM5IDE0IC01MyA2NSAtNTd2LTE1aC0yMTF2MTVjNTEgNCA2MiAyMCA2MiA3%0AOXYyNDNjMCA0OSAtNyA2NSAtMzUgNjVjLTExIDAgLTIyIC0xIC0yOSAtNHYx%0AN2M1NSAxNiA4OCAyNyAxMzcgNDVsOCAtM3YtNzhoMWM1MiA1OSA5OCA4MSAx%0ANDQgODFjNzYgMCAxMTggLTU1IDExOCAtMTU0IHYtMjIxYzAgLTU0IDEyIC02%0ANSA2MSAtNzB2LTE1WiI+PC9wYXRoPjxwYXRoIGlkPSJTVElYV0VCTUFJTi02%0ANiIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTIxIDQ1MGg4MmMxIDgwIDkgMTE2%0AIDM1IDE2MXM3OCA3MiAxNDEgNzJjNjAgMCAxMDQgLTI2IDEwNCAtNjJjMCAt%0AMjMgLTE4IC00MSAtNDIgLTQxYy0xNyAwIC0yOSA5IC00NSAzNmMtMTggMjkg%0ALTMxIDM5IC01MyAzOWMtMzggMCAtNTYgLTMwIC01NiAtODl2LTExNmgxMjJ2%0ALTMyaC0xMjJ2LTMxNGMwIC03NSAxMSAtODYgOTMgLTg5di0xNWgtMjYwdjE1%0AYzcyIDQgODMgMTYgODMgODl2MzE0aC04MnYzMloiPjwvcGF0aD48cGF0aCBp%0AZD0iU1RJWFdFQk1BSU4tNUIiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0yOTkg%0ALTE1NmgtMjExdjgxOGgyMTF2LTI1aC04M2MtMzQgMCAtNTIgLTEyIC01MiAt%0ANDh2LTY2NmMwIC00MCAxOSAtNTQgNTIgLTU0aDgzdi0yNVoiPjwvcGF0aD48%0AcGF0aCBpZD0iU1RJWFdFQk1BSU4tMkMiIHN0cm9rZS13aWR0aD0iMTAiIGQ9%0AIk04MyAtMTQxbC0xMCAxOWM1NSAzNyA4MyA3NCA4MyAxMDdjMCA3IC02IDEz%0AIC0xNCAxM3MtMTggLTQgLTI5IC00Yy0zNyAwIC01OCAxNyAtNTggNTFzMjQg%0ANTcgNjAgNTdjNDUgMCA4MCAtMzUgODAgLTg3YzAgLTYwIC00MyAtMTIzIC0x%0AMTIgLTE1NloiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU5JLTYyIiBz%0AdHJva2Utd2lkdGg9IjEwIiBkPSJNMTYzIDI5MGgxYzY4IDExMyAxMjMgMTUx%0AIDE5MyAxNTFjNjcgMCAxMTYgLTQzIDExNiAtMTIwYzAgLTE1OCAtMTY1IC0z%0AMzIgLTMyMCAtMzMyYy01NyAwIC0xMzAgMjMgLTEzMCA1M3Y2bDE0MiA1MjNj%0ANiAyNCA5IDM4IDkgNDdjMCAyMiAtNSAyMyAtNjQgMjV2MTdjNjcgOCAxMDMg%0AMTQgMTUzIDIzbDUgLTVsLTIxIC04MnpNMzg4IDMwNmMwIDYxIC0yNiA4NiAt%0ANzAgODZjLTQ4IDAgLTk0IC00MiAtMTM3IC0xMTUgYy00NCAtNzQgLTcyIC0x%0ANzEgLTcyIC0yMzFjMCAtMjMgMTUgLTM0IDQ2IC0zNGM0MyAwIDg2IDIxIDEy%0AMyA1OWM2MCA2MiAxMTAgMTYxIDExMCAyMzVaIj48L3BhdGg+PHBhdGggaWQ9%0AIlNUSVhXRUJNQUlOLTIyMDgiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik02MjUg%0ALTI3aC0yOTFjLTE2MCAwIC0yNzQgMTMxIC0yNzQgMjc5czExMiAyNzkgMjcx%0AIDI3OWgyOTR2LTY2aC0yOTBjLTEwMyAwIC0xODkgLTg1IC0yMDYgLTE4MGg0%0AOTZ2LTY2aC00OTdjMTcgLTk1IDEwMyAtMTgwIDIwNiAtMTgwaDI5MXYtNjZa%0AIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTVCIiBzdHJva2Utd2lk%0AdGg9IjEwIiBkPSJNMjk5IC0xNTZoLTIxMXY4MThoMjExdi0yNWgtODNjLTM0%0AIDAgLTUyIC0xMiAtNTIgLTQ4di02NjZjMCAtNDAgMTkgLTU0IDUyIC01NGg4%0AM3YtMjVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMxIiBzdHJv%0Aa2Utd2lkdGg9IjEwIiBkPSJNMzk0IDBoLTI3NnYxNWM3NCA0IDk1IDI1IDk1%0AIDgwdjQ0OWMwIDM0IC05IDQ5IC0zMCA0OWMtMTAgMCAtMjcgLTUgLTQ1IC0x%0AMmwtMjcgLTEwdjE0bDE3OSA5MWw5IC0zdi01OTdjMCAtNDMgMjAgLTYxIDk1%0AIC02MXYtMTVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMyIiBz%0AdHJva2Utd2lkdGg9IjEwIiBkPSJNNDc0IDEzN2wtNTQgLTEzN2gtMzkxdjEy%0AbDE3OCAxODljOTQgOTkgMTMwIDE3NSAxMzAgMjYwYzAgOTEgLTU0IDE0MSAt%0AMTM5IDE0MWMtNzIgMCAtMTA3IC0zMiAtMTQ3IC0xMzBsLTIxIDVjMjEgMTE3%0AIDg1IDE5OSAyMDggMTk5YzExMyAwIDE4NSAtNzcgMTg1IC0xNzZjMCAtNzkg%0ALTM5IC0xNTQgLTEyOCAtMjQ4bC0xNjUgLTE3NmgyMzRjNDIgMCA2MyAxMSA5%0ANiA2N1oiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tM0EiIHN0cm9r%0AZS13aWR0aD0iMTAiIGQ9Ik0xOTIgNDAzYzAgLTMwIC0yNSAtNTUgLTU1IC01%0ANXMtNTYgMjUgLTU2IDU1YzAgMzIgMjQgNTYgNTYgNTZjMzAgMCA1NSAtMjYg%0ANTUgLTU2ek0xOTIgNDRjMCAtMzAgLTI1IC01NSAtNTUgLTU1cy01NiAyNSAt%0ANTYgNTVjMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1NSAtNTZaIj48%0AL3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMxIiBzdHJva2Utd2lkdGg9%0AIjEwIiBkPSJNMzk0IDBoLTI3NnYxNWM3NCA0IDk1IDI1IDk1IDgwdjQ0OWMw%0AIDM0IC05IDQ5IC0zMCA0OWMtMTAgMCAtMjcgLTUgLTQ1IC0xMmwtMjcgLTEw%0AdjE0bDE3OSA5MWw5IC0zdi01OTdjMCAtNDMgMjAgLTYxIDk1IC02MXYtMTVa%0AIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMyIiBzdHJva2Utd2lk%0AdGg9IjEwIiBkPSJNNDc0IDEzN2wtNTQgLTEzN2gtMzkxdjEybDE3OCAxODlj%0AOTQgOTkgMTMwIDE3NSAxMzAgMjYwYzAgOTEgLTU0IDE0MSAtMTM5IDE0MWMt%0ANzIgMCAtMTA3IC0zMiAtMTQ3IC0xMzBsLTIxIDVjMjEgMTE3IDg1IDE5OSAy%0AMDggMTk5YzExMyAwIDE4NSAtNzcgMTg1IC0xNzZjMCAtNzkgLTM5IC0xNTQg%0ALTEyOCAtMjQ4bC0xNjUgLTE3NmgyMzRjNDIgMCA2MyAxMSA5NiA2N1oiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tNUQiIHN0cm9rZS13aWR0aD0i%0AMTAiIGQ9Ik0yNDUgLTE1NmgtMjExdjI1aDg4YzM1IDAgNDcgMTUgNDcgNDZ2%0ANjY4YzAgMzUgLTEzIDU0IC01MSA1NGgtODR2MjVoMjExdi04MThaIj48L3Bh%0AdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTJDIiBzdHJva2Utd2lkdGg9IjEw%0AIiBkPSJNODMgLTE0MWwtMTAgMTljNTUgMzcgODMgNzQgODMgMTA3YzAgNyAt%0ANiAxMyAtMTQgMTNzLTE4IC00IC0yOSAtNGMtMzcgMCAtNTggMTcgLTU4IDUx%0AczI0IDU3IDYwIDU3YzQ1IDAgODAgLTM1IDgwIC04N2MwIC02MCAtNDMgLTEy%0AMyAtMTEyIC0xNTZaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOSS02%0AMyIgc3Ryb2tlLXdpZHRoPSIxMCIgZD0iTTM1MCAxMDdsMTYgLTEwYy02MSAt%0ANzcgLTExNCAtMTA4IC0xODkgLTEwOGMtOTMgMCAtMTQ3IDUyIC0xNDcgMTU0%0AYzAgOTMgNTIgMTgwIDEyMyAyMzdjNDkgMzkgMTA2IDYxIDE2NyA2MXMxMDUg%0ALTM0IDEwNSAtODFjMCAtMjcgLTIyIC00OCAtNDggLTQ4Yy0yOCAwIC0zOSAy%0AMCAtMzkgNDBjMCAxOCAxNSAyOSAxNSA0OGMwIDEyIC0xNCAyMCAtMzcgMjBj%0ALTQwIDAgLTgwIC0xOCAtMTA5IC00OGMtNTYgLTU5IC05MSAtMTQ0IC05MSAt%0AMjMzIGMwIC03MiAzMiAtMTE0IDg5IC0xMTRjNTMgMCA5MSAyNSAxNDUgODJa%0AIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTIyMDgiIHN0cm9rZS13%0AaWR0aD0iMTAiIGQ9Ik02MjUgLTI3aC0yOTFjLTE2MCAwIC0yNzQgMTMxIC0y%0ANzQgMjc5czExMiAyNzkgMjcxIDI3OWgyOTR2LTY2aC0yOTBjLTEwMyAwIC0x%0AODkgLTg1IC0yMDYgLTE4MGg0OTZ2LTY2aC00OTdjMTcgLTk1IDEwMyAtMTgw%0AIDIwNiAtMTgwaDI5MXYtNjZaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJN%0AQUlOLTVCIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMjk5IC0xNTZoLTIxMXY4%0AMThoMjExdi0yNWgtODNjLTM0IDAgLTUyIC0xMiAtNTIgLTQ4di02NjZjMCAt%0ANDAgMTkgLTU0IDUyIC01NGg4M3YtMjVaIj48L3BhdGg+PHBhdGggaWQ9IlNU%0ASVhXRUJNQUlOLTMxIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNMzk0IDBoLTI3%0ANnYxNWM3NCA0IDk1IDI1IDk1IDgwdjQ0OWMwIDM0IC05IDQ5IC0zMCA0OWMt%0AMTAgMCAtMjcgLTUgLTQ1IC0xMmwtMjcgLTEwdjE0bDE3OSA5MWw5IC0zdi01%0AOTdjMCAtNDMgMjAgLTYxIDk1IC02MXYtMTVaIj48L3BhdGg+PHBhdGggaWQ9%0AIlNUSVhXRUJNQUlOLTMwIiBzdHJva2Utd2lkdGg9IjEwIiBkPSJNNDc2IDMz%0AMGMwIC0xNzIgLTYzIC0zNDQgLTIyNiAtMzQ0Yy0xNzEgMCAtMjI2IDE4NiAt%0AMjI2IDM1MGMwIDE3NyA2OSAzNDAgMjMwIDM0MGMxMzEgMCAyMjIgLTE0MSAy%0AMjIgLTM0NnpNMzgwIDMyNWMwIDIwOCAtNDQgMzI1IC0xMzIgMzI1Yy04MyAw%0AIC0xMjggLTExOCAtMTI4IC0zMjFzNDQgLTMxNyAxMzAgLTMxN2M4NSAwIDEz%0AMCAxMTUgMTMwIDMxM1oiPjwvcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4t%0AM0EiIHN0cm9rZS13aWR0aD0iMTAiIGQ9Ik0xOTIgNDAzYzAgLTMwIC0yNSAt%0ANTUgLTU1IC01NXMtNTYgMjUgLTU2IDU1YzAgMzIgMjQgNTYgNTYgNTZjMzAg%0AMCA1NSAtMjYgNTUgLTU2ek0xOTIgNDRjMCAtMzAgLTI1IC01NSAtNTUgLTU1%0Acy01NiAyNSAtNTYgNTVjMCAzMiAyNCA1NiA1NiA1NmMzMCAwIDU1IC0yNiA1%0ANSAtNTZaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMxIiBzdHJv%0Aa2Utd2lkdGg9IjEwIiBkPSJNMzk0IDBoLTI3NnYxNWM3NCA0IDk1IDI1IDk1%0AIDgwdjQ0OWMwIDM0IC05IDQ5IC0zMCA0OWMtMTAgMCAtMjcgLTUgLTQ1IC0x%0AMmwtMjcgLTEwdjE0bDE3OSA5MWw5IC0zdi01OTdjMCAtNDMgMjAgLTYxIDk1%0AIC02MXYtMTVaIj48L3BhdGg+PHBhdGggaWQ9IlNUSVhXRUJNQUlOLTMwIiBz%0AdHJva2Utd2lkdGg9IjEwIiBkPSJNNDc2IDMzMGMwIC0xNzIgLTYzIC0zNDQg%0ALTIyNiAtMzQ0Yy0xNzEgMCAtMjI2IDE4NiAtMjI2IDM1MGMwIDE3NyA2OSAz%0ANDAgMjMwIDM0MGMxMzEgMCAyMjIgLTE0MSAyMjIgLTM0NnpNMzgwIDMyNWMw%0AIDIwOCAtNDQgMzI1IC0xMzIgMzI1Yy04MyAwIC0xMjggLTExOCAtMTI4IC0z%0AMjFzNDQgLTMxNyAxMzAgLTMxN2M4NSAwIDEzMCAxMTUgMTMwIDMxM1oiPjwv%0AcGF0aD48cGF0aCBpZD0iU1RJWFdFQk1BSU4tNUQiIHN0cm9rZS13aWR0aD0i%0AMTAiIGQ9Ik0yNDUgLTE1NmgtMjExdjI1aDg4YzM1IDAgNDcgMTUgNDcgNDZ2%0ANjY4YzAgMzUgLTEzIDU0IC01MSA1NGgtODR2MjVoMjExdi04MThaIj48L3Bh%0AdGg+PC9kZWZzPjxnIHN0cm9rZT0iYmxhY2siIGZpbGw9ImJsYWNrIiBzdHJv%0Aa2Utd2lkdGg9IjAiIHRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMCki%0APjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOSS02MSI+PC91c2U+PHVz%0AZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tMjIwOCIgeD0iNzgzIiB5PSIw%0AIj48L3VzZT48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi01QiIgeD0i%0AMTc1MSIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU4tMzAiIHg9IjIwODkiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0i%0AI1NUSVhXRUJNQUlOLTNBIiB4PSIyODcyIiB5PSIwIj48L3VzZT48dXNlIHhs%0AaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0yQiIgeD0iMzQzMyIgeT0iMCI+PC91%0Ac2U+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDI4OSwwKSI+PHVzZSB4bGlu%0AazpocmVmPSIjU1RJWFdFQk1BSU4tNjkiPjwvdXNlPjx1c2UgeGxpbms6aHJl%0AZj0iI1NUSVhXRUJNQUlOLTZFIiB4PSIyODMiIHk9IjAiPjwvdXNlPjx1c2Ug%0AeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTY2IiB4PSI3ODgiIHk9IjAiPjwv%0AdXNlPjwvZz48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi01QiIgeD0i%0ANTQxNSIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1B%0ASU4tMkMiIHg9IjU3NTMiIHk9IjAiPjwvdXNlPjx1c2UgeGxpbms6aHJlZj0i%0AI1NUSVhXRUJNQUlOSS02MiIgeD0iNjE3NSIgeT0iMCI+PC91c2U+PHVzZSB4%0AbGluazpocmVmPSIjU1RJWFdFQk1BSU4tMjIwOCIgeD0iNjk1OCIgeT0iMCI+%0APC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tNUIiIHg9Ijc5%0AMjYiIHk9IjAiPjwvdXNlPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDgyNjQs%0AMCkiPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJNQUlOLTMxIj48L3VzZT48%0AdXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zMiIgeD0iNTA1IiB5PSIw%0AIj48L3VzZT48L2c+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tM0Ei%0AIHg9Ijk1NTEiIHk9IjAiPjwvdXNlPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRl%0AKDEwMTEyLDApIj48dXNlIHhsaW5rOmhyZWY9IiNTVElYV0VCTUFJTi0zMSI+%0APC91c2U+PHVzZSB4bGluazpocmVmPSIjU1RJWFdFQk1BSU4tMzIiIHg9IjUw%0ANSIgeT0iMCI+PC91c2U+PC9nPjx1c2UgeGxpbms6aHJlZj0iI1NUSVhXRUJN%0AQUlOLTVEIiB4PSIxMTEyMiIgeT0iMCI+PC91c2U+PHVzZSB4bGluazpocmVm%0APSIjU1RJWFdFQk1BSU4tMkMiIHg9IjExNDYwIiB5PSIwIj48L3VzZT4

par serge_sans_paille

LinuxFr.org : les journaux

LinuxFr.org : Journaux

antistress adventure in Flatpak land

 -  30 avril - 

Hello nal, ça faisait un bail !Certain (il se reconnaîtra) m'a demandé de le tenir au courant lorsque j'aurai basculé sur un usage de Firefox (...)


Téléphone sous Linux ?

 -  25 avril - 

Aujourd'hui, avoir un téléphone avec un Android libéré, c'est possible, on pense en particulier à Murena.Avoir un téléphone sous GNU/Linux, c'est (...)


Quand votre voiture vous espionne… et vous le fait payer

 -  23 avril - 

Ceci se passe aux États-Unis, pour l’instant, aucune preuve qu’une telle fuite existe en Europe. Mais… si votre assurance augmente brutalement, (...)


firefox, nouvelle fenêtre dans une session isolée

 -  15 avril - 

Les fenêtres de navigation privées de firefox partagent leurs cookies de session or je souhaitais avoir des fenêtres de navigation isolées, (qui ne (...)


Pretendo tente de déprogrammer l'obsolescence des consoles Nintendo

 -  9 avril - 

Ah Nal,Gros N vient de faire un gros doigt aux utilisateurs de ses consoles 3DS et Wii U en annonçant la fermeture des services en ligne pour (...)