restart;
JSFH
Shamir's Secret Sharing Algorithm
We want to share a secret in such a way that at least K=3 persons come together to reconstruct it, so we need polynoms of degree 2 (=3-1)
p:=101; # any prime number larger than the largest possible secret value
IiQsIg==
a0:=12; # the secret
IiM3
a1:=3; a2:=5; # random but fixed coefficients
IiIk
IiIm
x:=[1,2,3]; # random but fixed x-values
NyUiIiIiIiMiIiQ=
f:=[0,0,0];
for i from 1 to nops(x) do f[i]:=a0+a1*x[i]+a2*x[i]*x[i] mod p; od;
NyUiIiFGI0Yj
IiM/
IiNR
IiNt
The pieces (x[i],f[i]) are the shares of the secret and can be handed to different persons
Look whether we can reconstruct the secret if we have all pieces:
secret:=0:
for i from 1 to nops(x) do
s:=f[i]:
for j from 1 to nops(x) do
if (j<>i) then s:=modp(s*(-x[j]/(x[i]-x[j])),p): fi: # Lagrange interpolation formula
od:
secret := secret + s mod p:
od;
IiM/
IiNn
IiNR
IiNa
IiNt
IiM3
Which equations are possible to deduce if we do know f[2] and f[3], but do not know f[1] (=F1)?
secret:=0: F1:='F1':
for i from 1 to nops(x) do
if (i=1) then s:=F1; else s:=f[i]: fi:
for j from 1 to nops(x) do
if (j<>i) then s:=modp(s*(-x[j]/(x[i]-x[j])),p): fi: # Lagrange interpolation formula
od:
secret := secret + s mod p:
od;
LCRJI0YxRzYiIiIk
LCZJI0YxRzYiIiIkIiMpKSIiIg==
LCZJI0YxRzYiIiIkIiNgIiIi
So we know an equation connecting the unknown F1 and the unknown secret. Does it tell anything about the secret? Cut out coefficient c1=3 and c0=53 for later use:
c1:=op(1,op(1,secret));
c0:=op(2,secret);
IiIk
IiNg
S:=34; # try any number S (for secret) from Z_p
F1:=(S-c0)/c1 mod p; # '/c1' means: multiply with the (multiplicative) inverse of c1
if (S = F1*c1+c0 mod p) then print('true'); else print('false'); fi;
IiNN
IiNo
SSV0cnVlRyUqcHJvdGVjdGVkRw==
Try other numbers for S and see that the equation for F1 is solvable for any secret S \342\207\222 we do not know anything about the secret if person 1 is missing
The same thing done if we 'forget' mod p:
f:=[0,0,0,0];
for i from 1 to nops(x) do f[i]:=a0+a1*x[i]+a2*x[i]*x[i]; od;
NyYiIiFGI0YjRiM=
IiM/
IiNR
IiNt
secret:=0: F1:='F1':
for i from 1 to nops(x) do
if (i=1) then s:=F1; else s:=f[i]: fi:
for j from 1 to nops(x) do
if (j<>i) then s:=s*(-x[j]/(x[i]-x[j])): fi:
od:
secret := secret + s:
od;
LCRJI0YxRzYiIiIk
LCZJI0YxRzYiIiIkISQ5IiIiIg==
LCZJI0YxRzYiIiIkISNbIiIi
Since we know that by construction F1 must be integer and that 48 is divisible, we can immediately conclude that only secrets divisible by 3 are possible. This cuts the secret space by a factor of 3!
c1:=op(1,op(1,secret));
c0:=op(2,secret);
IiIk
ISNb
S:=35; # try any number S (for secret) from Z_p
F1:=(S-c0)/c1;
if (F1=trunc(F1)) then print('true'); else print('false'); fi;
IiNO
IyIjJCkiIiQ=
SSZmYWxzZUclKnByb3RlY3RlZEc=
So even if person 1 is missing, many numbers like S=35, -, 37, 38, -, 40, 41, ... can be excluded!
And things can get much worse if we choose other (random) numbers x[2] and x[3]. (Try e.g. x[2]=20 or 22, then it will become quite hard just by 'guessing' to find ANY number S which leads to an integer F1 >> see Exercise 1.)
Exercises :
Find out for x = [1,20,3] and the 'wrong' algorithm w/o mod p (and its corresponding f[1], f[2], f[3]): Which are some of the secret numbers S which remain possible when we know f[2] and f[3] ?
Try other ranges for the graph in the addendum and describe what you see.
Write a variant of this worksheet which performs the same analysis for K=4 persons.
Write a variant of this worksheet which performs the same analysis for K=2 persons.
Addendum:
How does a polynom of degree 2 "look like" in the "mod p"-world?
p:=1001;
IiUsNQ==
F:=seq([i,a0+a1*i+a2*i*i mod p], i=0..p-1):
i:='i': plot([F(i)],i=0..p-1,style=point);
NictJSdDVVJWRVNHNiQ3ZWluNyQkIiIhISIiJCIkPyIhIiI3JCQiIzUhIiIkIiQrIyEiIjckJCIjPyEiIiQiJCFRISIiNyQkIiNJISIiJCIkZychIiI3JCQiI1MhIiIkIiVTNSEiIjckJCIjXSEiIiQiJT86ISIiNyQkIiNnISIiJCIlK0AhIiI3JCQiI3EhIiIkIiUheSMhIiI3JCQiIyEpISIiJCIlZ04hIiI3JCQiIyEqISIiJCIlU1chIiI3JCQiJCsiISIiJCIlP2EhIiI3JCQiJDUiISIiJCIlK2whIiI3JCQiJD8iISIiJCIlIW8oISIiNyQkIiRJIiEiIiQiJWcqKSEiIjckJCIkUyIhIiIkIiRJJCEiIjckJCIkXSIhIiIkIiU1PSEiIjckJCIkZyIhIiIkIiUhUiQhIiI3JCQiJHEiISIiJCIlcV0hIiI3JCQiJCE9ISIiJCIlXW8hIiI3JCQiJCE+ISIiJCIlSSgpISIiNyQkIiQrIyEiIiQiJCsoISIiNyQkIiQ1IyEiIiQiJSF5IyEiIjckJCIkPyMhIiIkIiVnXCEiIjckJCIkSSMhIiIkIiVTcyEiIjckJCIkUyMhIiIkIiU/JyohIiI3JCQiJF0jISIiJCIlITQjISIiNyQkIiRnIyEiIiQiJXFZISIiNyQkIiRxIyEiIiQiJV10ISIiNyQkIiQhRyEiIiQiJD8iISIiNyQkIiQhSCEiIiQiJStJISIiNyQkIiQrJCEiIiQiJSEpZiEiIjckJCIkNSQhIiIkIiVnISohIiI3JCQiJD8kISIiJCIlSUEhIiI3JCQiJEkkISIiJCIlNWIhIiI3JCQiJFMkISIiJCIlISopKSEiIjckJCIkXSQhIiIkIiVnQiEiIjckJCIkZyQhIiIkIiVTZiEiIjckJCIkcSQhIiIkIiU/JyohIiI3JCQiJCFRISIiJCIlIVIkISIiNyQkIiQhUiEiIiQiJXFzISIiNyQkIiQrJSEiIiQiJVM3ISIiNyQkIiQ1JSEiIiQiJT9gISIiNyQkIiQ/JSEiIiQiJSsmKiEiIjckJCIkSSUhIiIkIiVxUCEiIjckJCIkUyUhIiIkIiVdIikhIiI3JCQiJF0lISIiJCIlP0UhIiI3JCQiJGclISIiJCIlK3MhIiI3JCQiJHElISIiJCIlcT0hIiI3JCQiJCFbISIiJCIlXW0hIiI3JCQiJCFcISIiJCIlPzohIiI3JCQiJCsmISIiJCIlK2whIiI3JCQiJDUmISIiJCIlcTohIiI3JCQiJD8mISIiJCIlXW4hIiI3JCQiJEkmISIiJCIlPz8hIiI3JCQiJFMmISIiJCIlK3UhIiI3JCQiJF0mISIiJCIlcUchIiI3JCQiJGcmISIiJCIlXSUpISIiNyQkIiRxJiEiIiQiJT9UISIiNyQkIiQhZSEiIiQiJSsqKiEiIjckJCIkIWYhIiIkIiVxZCEiIjckJCIkKychIiIkIiVTPCEiIjckJCIkNSchIiIkIiU/eSEiIjckJCIkPychIiIkIiUhKlIhIiI3JCQiJEknISIiJCIkZyMhIiI3JCQiJFMnISIiJCIlU20hIiI3JCQiJF0nISIiJCIlNUohIiI3JCQiJGcnISIiJCIlIXAqISIiNyQkIiRxJyEiIiQiJWdqISIiNyQkIiQhbyEiIiQiJUlKISIiNyQkIiQhcCEiIiQiIiEhIiI3JCQiJCsoISIiJCIlISlwISIiNyQkIiQ1KCEiIiQiJV1TISIiNyQkIiQ/KCEiIiQiJT83ISIiNyQkIiRJKCEiIiQiJSsmKSEiIjckJCIkUyghIiIkIiVxZSEiIjckJCIkXSghIiIkIiVTTCEiIjckJCIkZyghIiIkIiQ1KiEiIjckJCIkcSghIiIkIiUhZikhIiI3JCQiJCF5ISIiJCIlZ2ohIiI3JCQiJCF6ISIiJCIlSVUhIiI3JCQiJCspISIiJCIlK0EhIiI3JCQiJDUpISIiJCIkcSMhIiI3JCQiJD8pISIiJCIlXSUpISIiNyQkIiRJKSEiIiQiJT9uISIiNyQkIiRTKSEiIiQiJSE0JiEiIjckJCIkXSkhIiIkIiVnTiEiIjckJCIkZykhIiIkIiVJQCEiIjckJCIkcSkhIiIkIiQrKSEiIjckJCIkISkpISIiJCIlIWUqISIiNyQkIiQhKikhIiIkIiVdJSkhIiI3JCQiJCsqISIiJCIlP3UhIiI3JCQiJDUqISIiJCIlIVwnISIiNyQkIiQ/KiEiIiQiJWdjISIiNyQkIiRJKiEiIiQiJUlcISIiNyQkIiRTKiEiIiQiJStWISIiNyQkIiRdKiEiIiQiJXFQISIiNyQkIiRnKiEiIiQiJVNMISIiNyQkIiRxKiEiIiQiJTVJISIiNyQkIiQhKSohIiIkIiUheSMhIiI3JCQiJCEqKiEiIiQiJV1FISIiNyQkIiUrNSEiIiQiJT9FISIiNyQkIiU1NSEiIiQiJSFwIyEiIjckJCIlPzUhIiIkIiVnRyEiIjckJCIlSTUhIiIkIiVJSiEiIjckJCIlUzUhIiIkIiUrTiEiIjckJCIlXTUhIiIkIiVxUiEiIjckJCIlZzUhIiIkIiVTWCEiIjckJCIlcTUhIiIkIiU1XyEiIjckJCIlITMiISIiJCIlISlmISIiNyQkIiUhNCIhIiIkIiVdbyEiIjckJCIlKzYhIiIkIiU/eSEiIjckJCIlNTYhIiIkIiUhKikpISIiNyQkIiU/NiEiIiQiI10hIiI3JCQiJUk2ISIiJCIlPzghIiI3JCQiJVM2ISIiJCIlIXAjISIiNyQkIiVdNiEiIiQiJWdUISIiNyQkIiVnNiEiIiQiJUlkISIiNyQkIiVxNiEiIiQiJSt1ISIiNyQkIiUhPSIhIiIkIiVxIiohIiI3JCQiJSE+IiEiIiQiJUk1ISIiNyQkIiUrNyEiIiQiJStJISIiNyQkIiU1NyEiIiQiJXFdISIiNyQkIiU/NyEiIiQiJVNzISIiNyQkIiVJNyEiIiQiJTUmKiEiIjckJCIlUzchIiIkIiVxPSEiIjckJCIlXTchIiIkIiVTViEiIjckJCIlZzchIiIkIiU1cCEiIjckJCIlcTchIiIkIiUhZSohIiI3JCQiJSFHIiEiIiQiJVNCISIiNyQkIiUhSCIhIiIkIiU1XyEiIjckJCIlKzghIiIkIiUhPSkhIiI3JCQiJTU4ISIiJCIlUzchIiI3JCQiJT84ISIiJCIlNVchIiI3JCQiJUk4ISIiJCIlIW8oISIiNyQkIiVTOCEiIiQiJVM1ISIiNyQkIiVdOCEiIiQiJTVYISIiNyQkIiVnOCEiIiQiJSEzKSEiIjckJCIlcTghIiIkIiVTPCEiIjckJCIlIVEiISIiJCIlNWIhIiI3JCQiJSFSIiEiIiQiJSFRKiEiIjckJCIlKzkhIiIkIiVTTCEiIjckJCIlNTkhIiIkIiU1dSEiIjckJCIlPzkhIiIkIiVxOiEiIjckJCIlSTkhIiIkIiVTZSEiIjckJCIlUzkhIiIkIiQrIyEiIjckJCIlXTkhIiIkIiVxWSEiIjckJCIlZzkhIiIkIiVTIyohIiI3JCQiJXE5ISIiJCIlK1IhIiI3JCQiJSFbIiEiIiQiJXEnKSEiIjckJCIlIVwiISIiJCIlSU4hIiI3JCQiJSs6ISIiJCIlKyYpISIiNyQkIiU1OiEiIiQiJWdOISIiNyQkIiU/OiEiIiQiJUkoKSEiIjckJCIlSTohIiIkIiUhKlIhIiI3JCQiJVM6ISIiJCIlZyQqISIiNyQkIiVdOiEiIiQiJT9bISIiNyQkIiVnOiEiIiQiJCFRISIiNyQkIiVxOiEiIiQiJV1nISIiNyQkIiUhZSIhIiIkIiU1PSEiIjckJCIlIWYiISIiJCIlIW8oISIiNyQkIiUrOyEiIiQiJVNPISIiNyQkIiU1OyEiIiQiJTUoKiEiIjckJCIlPzshIiIkIiVxZSEiIjckJCIlSTshIiIkIiVJQCEiIjckJCIlUzshIiIkIiUrJikhIiI3JCQiJV07ISIiJCIlZ1whIiI3JCQiJWc7ISIiJCIlPzohIiI3JCQiJXE7ISIiJCIlIT4pISIiNyQkIiUhbyIhIiIkIiVdXCEiIjckJCIlIXAiISIiJCIlNT0hIiI3JCQiJSs8ISIiJCIlIXkpISIiNyQkIiU1PCEiIiQiJVNlISIiNyQkIiU/PCEiIiQiJStJISIiNyQkIiVJPCEiIiQiJGcjISIiNyQkIiVTPCEiIiQiJUl3ISIiNyQkIiVdPCEiIiQiJSE0JiEiIjckJCIlZzwhIiIkIiVdRSEiIjckJCIlcTwhIiIkIiQ1JCEiIjckJCIlIXkiISIiJCIlITMpISIiNyQkIiUheiIhIiIkIiVTZiEiIjckJCIlKz0hIiIkIiUrUiEiIjckJCIlNT0hIiIkIiVnPiEiIjckJCIlPz0hIiIkIiQ/IiEiIjckJCIlST0hIiIkIiUhUikhIiI3JCQiJVM9ISIiJCIlXW4hIiI3JCQiJV09ISIiJCIlNV8hIiI3JCQiJWc9ISIiJCIlcVAhIiI3JCQiJXE9ISIiJCIlSUMhIiI3JCQiJSEpPSEiIiQiJSE+IiEiIjckJCIlISo9ISIiJCIjXSEiIjckJCIlKz4hIiIkIiU/ISohIiI3JCQiJTU+ISIiJCIlITMpISIiNyQkIiU/PiEiIiQiJVNzISIiNyQkIiVJPiEiIiQiJStsISIiNyQkIiVTPiEiIiQiJWdlISIiNyQkIiVdPiEiIiQiJT9gISIiNyQkIiVnPiEiIiQiJSEpWyEiIjckJCIlcT4hIiIkIiVTWCEiIjckJCIlISk+ISIiJCIlK1YhIiI3JCQiJSEqPiEiIiQiJWdUISIiNyQkIiUrPyEiIiQiJT9UISIiNyQkIiU1PyEiIiQiJSE9JSEiIjckJCIlPz8hIiIkIiVTViEiIjckJCIlST8hIiIkIiUrWSEiIjckJCIlUz8hIiIkIiVnXCEiIjckJCIlXT8hIiIkIiU/YSEiIjckJCIlZz8hIiIkIiUhKWYhIiI3JCQiJXE/ISIiJCIlU20hIiI3JCQiJSEzIyEiIiQiJSt1ISIiNyQkIiUhNCMhIiIkIiVnIykhIiI3JCQiJStAISIiJCIlPyMqISIiNyQkIiU1QCEiIiQiJHEjISIiNyQkIiU/QCEiIiQiJUk5ISIiNyQkIiVJQCEiIiQiJSFwIyEiIjckJCIlU0AhIiIkIiVdUyEiIjckJCIlXUAhIiIkIiU1YiEiIjckJCIlZ0AhIiIkIiVxcSEiIjckJCIlcUAhIiIkIiVJKCkhIiI3JCQiJSE9IyEiIiQiJCFbISIiNyQkIiUhPiMhIiIkIiVTQiEiIjckJCIlK0EhIiIkIiUrViEiIjckJCIlNUEhIiIkIiVnaiEiIjckJCIlP0EhIiIkIiU/JikhIiI3JCQiJUlBISIiJCIkcSghIiI3JCQiJVNBISIiJCIlSUohIiI3JCQiJV1BISIiJCIlIWYmISIiNyQkIiVnQSEiIiQiJV0iKSEiIjckJCIlcUEhIiIkIiQrKSEiIjckJCIlIUcjISIiJCIlZ04hIiI3JCQiJSFIIyEiIiQiJT9rISIiNyQkIiUrQiEiIiQiJSFRKiEiIjckJCIlNUIhIiIkIiVJQyEiIjckJCIlP0IhIiIkIiUhZiYhIiI3JCQiJUlCISIiJCIlXSkpISIiNyQkIiVTQiEiIiQiJStBISIiNyQkIiVdQiEiIiQiJWdjISIiNyQkIiVnQiEiIiQiJT8jKiEiIjckJCIlcUIhIiIkIiVxRyEiIjckJCIlIVEjISIiJCIlSW0hIiI3JCQiJSFSIyEiIiQiJCFbISIiNyQkIiUrQyEiIiQiJVNXISIiNyQkIiU1QyEiIiQiJSsmKSEiIjckJCIlP0MhIiIkIiVdRSEiIjckJCIlSUMhIiIkIiU1cCEiIjckJCIlU0MhIiIkIiVnNyEiIjckJCIlXUMhIiIkIiU/ZCEiIjckJCIlZ0MhIiIkIiRxIyEiIjckJCIlcUMhIiIkIiVJXCEiIjckJCIlIVsjISIiJCIlIXAqISIiNyQkIiUhXCMhIiIkIiVTWCEiIjckJCIlK0QhIiIkIiUrJiohIiI3JCQiJTVEISIiJCIlXVghIiI3JCQiJT9EISIiJCIlNSgqISIiNyQkIiVJRCEiIiQiJWdcISIiNyQkIiVTRCEiIiQiJDUkISIiNyQkIiVdRCEiIiQiJXFkISIiNyQkIiVnRCEiIiQiJT84ISIiNyQkIiVxRCEiIiQiJSEpcCEiIjckJCIlIWUjISIiJCIlSUYhIiI3JCQiJSFmIyEiIiQiJSFmKSEiIjckJCIlK0UhIiIkIiVTWCEiIjckJCIlNUUhIiIkIiQhZiEiIjckJCIlP0UhIiIkIiVdbiEiIjckJCIlSUUhIiIkIiUrSSEiIjckJCIlU0UhIiIkIiVnJCohIiI3JCQiJV1FISIiJCIlNWUhIiI3JCQiJWdFISIiJCIlZ0IhIiI3JCQiJXFFISIiJCIlPyEqISIiNyQkIiUhbyMhIiIkIiVxZCEiIjckJCIlIXAjISIiJCIlP0UhIiI3JCQiJStGISIiJCIlIWUqISIiNyQkIiU1RiEiIiQiJUltISIiNyQkIiU/RiEiIiQiJSF5JCEiIjckJCIlSUYhIiIkIiVJNSEiIjckJCIlU0YhIiIkIiUhUikhIiI3JCQiJV1GISIiJCIlU2UhIiI3JCQiJWdGISIiJCIlIVIkISIiNyQkIiVxRiEiIiQiJVM1ISIiNyQkIiUheSMhIiIkIiUrKSkhIiI3JCQiJSF6IyEiIiQiJV1tISIiNyQkIiUrRyEiIiQiJStZISIiNyQkIiU1RyEiIiQiJV1FISIiNyQkIiU/RyEiIiQiJCspISIiNyQkIiVJRyEiIiQiJWchKiEiIjckJCIlU0chIiIkIiU1dSEiIjckJCIlXUchIiIkIiVnZSEiIjckJCIlZ0chIiIkIiU1VyEiIjckJCIlcUchIiIkIiVnSSEiIjckJCIlISlHISIiJCIlNT0hIiI3JCQiJSEqRyEiIiQiJGcnISIiNyQkIiUrSCEiIiQiJT8nKiEiIjckJCIlNUghIiIkIiVxJykhIiI3JCQiJT9IISIiJCIlP3khIiI3JCQiJUlIISIiJCIlcXEhIiI3JCQiJVNIISIiJCIlP2shIiI3JCQiJV1IISIiJCIlcWUhIiI3JCQiJWdIISIiJCIlP2EhIiI3JCQiJXFIISIiJCIlcV0hIiI3JCQiJSEpSCEiIiQiJT9bISIiNyQkIiUhKkghIiIkIiVxWSEiIjckJCIlK0khIiIkIiU/WSEiIjckJCIlNUkhIiIkIiVxWSEiIjckJCIlP0khIiIkIiU/WyEiIjckJCIlSUkhIiIkIiVxXSEiIjckJCIlU0khIiIkIiU/YSEiIjckJCIlXUkhIiIkIiVxZSEiIjckJCIlZ0khIiIkIiU/ayEiIjckJCIlcUkhIiIkIiVxcSEiIjckJCIlITMkISIiJCIlP3khIiI3JCQiJSE0JCEiIiQiJXEnKSEiIjckJCIlK0ohIiIkIiU/JyohIiI3JCQiJTVKISIiJCIkZychIiI3JCQiJT9KISIiJCIlNT0hIiI3JCQiJUlKISIiJCIlZ0khIiI3JCQiJVNKISIiJCIlNVchIiI3JCQiJV1KISIiJCIlZ2UhIiI3JCQiJWdKISIiJCIlNXUhIiI3JCQiJXFKISIiJCIlZyEqISIiNyQkIiUhPSQhIiIkIiQrKSEiIjckJCIlIT4kISIiJCIlXUUhIiI3JCQiJStLISIiJCIlK1khIiI3JCQiJTVLISIiJCIlXW0hIiI3JCQiJT9LISIiJCIlKykpISIiNyQkIiVJSyEiIiQiJVM1ISIiNyQkIiVTSyEiIiQiJSFSJCEiIjckJCIlXUshIiIkIiVTZSEiIjckJCIlZ0shIiIkIiUhUikhIiI3JCQiJXFLISIiJCIlSTUhIiI3JCQiJSFHJCEiIiQiJSF5JCEiIjckJCIlIUgkISIiJCIlSW0hIiI3JCQiJStMISIiJCIlIWUqISIiNyQkIiU1TCEiIiQiJT9FISIiNyQkIiU/TCEiIiQiJXFkISIiNyQkIiVJTCEiIiQiJT8hKiEiIjckJCIlU0whIiIkIiVnQiEiIjckJCIlXUwhIiIkIiU1ZSEiIjckJCIlZ0whIiIkIiVnJCohIiI3JCQiJXFMISIiJCIlK0khIiI3JCQiJSFRJCEiIiQiJV1uISIiNyQkIiUhUiQhIiIkIiQhZiEiIjckJCIlK00hIiIkIiVTWCEiIjckJCIlNU0hIiIkIiUhZikhIiI3JCQiJT9NISIiJCIlSUYhIiI3JCQiJUlNISIiJCIlISlwISIiNyQkIiVTTSEiIiQiJT84ISIiNyQkIiVdTSEiIiQiJXFkISIiNyQkIiVnTSEiIiQiJDUkISIiNyQkIiVxTSEiIiQiJWdcISIiNyQkIiUhWyQhIiIkIiU1KCohIiI3JCQiJSFcJCEiIiQiJV1YISIiNyQkIiUrTiEiIiQiJSsmKiEiIjckJCIlNU4hIiIkIiVTWCEiIjckJCIlP04hIiIkIiUhcCohIiI3JCQiJUlOISIiJCIlSVwhIiI3JCQiJVNOISIiJCIkcSMhIiI3JCQiJV1OISIiJCIlP2QhIiI3JCQiJWdOISIiJCIlZzchIiI3JCQiJXFOISIiJCIlNXAhIiI3JCQiJSFlJCEiIiQiJV1FISIiNyQkIiUhZiQhIiIkIiUrJikhIiI3JCQiJStPISIiJCIlU1chIiI3JCQiJTVPISIiJCIkIVshIiI3JCQiJT9PISIiJCIlSW0hIiI3JCQiJUlPISIiJCIlcUchIiI3JCQiJVNPISIiJCIlPyMqISIiNyQkIiVdTyEiIiQiJWdjISIiNyQkIiVnTyEiIiQiJStBISIiNyQkIiVxTyEiIiQiJV0pKSEiIjckJCIlIW8kISIiJCIlIWYmISIiNyQkIiUhcCQhIiIkIiVJQyEiIjckJCIlK1AhIiIkIiUhUSohIiI3JCQiJTVQISIiJCIlP2shIiI3JCQiJT9QISIiJCIlZ04hIiI3JCQiJUlQISIiJCIkKykhIiI3JCQiJVNQISIiJCIlXSIpISIiNyQkIiVdUCEiIiQiJSFmJiEiIjckJCIlZ1AhIiIkIiVJSiEiIjckJCIlcVAhIiIkIiRxKCEiIjckJCIlIXkkISIiJCIlPyYpISIiNyQkIiUheiQhIiIkIiVnaiEiIjckJCIlK1EhIiIkIiUrViEiIjckJCIlNVEhIiIkIiVTQiEiIjckJCIlP1EhIiIkIiQhWyEiIjckJCIlSVEhIiIkIiVJKCkhIiI3JCQiJVNRISIiJCIlcXEhIiI3JCQiJV1RISIiJCIlNWIhIiI3JCQiJWdRISIiJCIlXVMhIiI3JCQiJXFRISIiJCIlIXAjISIiNyQkIiUhKVEhIiIkIiVJOSEiIjckJCIlISpRISIiJCIkcSMhIiI3JCQiJStSISIiJCIlPyMqISIiNyQkIiU1UiEiIiQiJWcjKSEiIjckJCIlP1IhIiIkIiUrdSEiIjckJCIlSVIhIiIkIiVTbSEiIjckJCIlU1IhIiIkIiUhKWYhIiI3JCQiJV1SISIiJCIlP2EhIiI3JCQiJWdSISIiJCIlZ1whIiI3JCQiJXFSISIiJCIlK1khIiI3JCQiJSEpUiEiIiQiJVNWISIiNyQkIiUhKlIhIiIkIiUhPSUhIiI3JCQiJStTISIiJCIlP1QhIiI3JCQiJTVTISIiJCIlZ1QhIiI3JCQiJT9TISIiJCIlK1YhIiI3JCQiJUlTISIiJCIlU1ghIiI3JCQiJVNTISIiJCIlISlbISIiNyQkIiVdUyEiIiQiJT9gISIiNyQkIiVnUyEiIiQiJWdlISIiNyQkIiVxUyEiIiQiJStsISIiNyQkIiUhMyUhIiIkIiVTcyEiIjckJCIlITQlISIiJCIlITMpISIiNyQkIiUrVCEiIiQiJT8hKiEiIjckJCIlNVQhIiIkIiNdISIiNyQkIiU/VCEiIiQiJSE+IiEiIjckJCIlSVQhIiIkIiVJQyEiIjckJCIlU1QhIiIkIiVxUCEiIjckJCIlXVQhIiIkIiU1XyEiIjckJCIlZ1QhIiIkIiVdbiEiIjckJCIlcVQhIiIkIiUhUikhIiI3JCQiJSE9JSEiIiQiJD8iISIiNyQkIiUhPiUhIiIkIiVnPiEiIjckJCIlK1UhIiIkIiUrUiEiIjckJCIlNVUhIiIkIiVTZiEiIjckJCIlP1UhIiIkIiUhMykhIiI3JCQiJUlVISIiJCIkNSQhIiI3JCQiJVNVISIiJCIlXUUhIiI3JCQiJV1VISIiJCIlITQmISIiNyQkIiVnVSEiIiQiJUl3ISIiNyQkIiVxVSEiIiQiJGcjISIiNyQkIiUhRyUhIiIkIiUrSSEiIjckJCIlIUglISIiJCIlU2UhIiI3JCQiJStWISIiJCIlIXkpISIiNyQkIiU1ViEiIiQiJTU9ISIiNyQkIiU/ViEiIiQiJV1cISIiNyQkIiVJViEiIiQiJSE+KSEiIjckJCIlU1YhIiIkIiU/OiEiIjckJCIlXVYhIiIkIiVnXCEiIjckJCIlZ1YhIiIkIiUrJikhIiI3JCQiJXFWISIiJCIlSUAhIiI3JCQiJSFRJSEiIiQiJXFlISIiNyQkIiUhUiUhIiIkIiU1KCohIiI3JCQiJStXISIiJCIlU08hIiI3JCQiJTVXISIiJCIlIW8oISIiNyQkIiU/VyEiIiQiJTU9ISIiNyQkIiVJVyEiIiQiJV1nISIiNyQkIiVTVyEiIiQiJCFRISIiNyQkIiVdVyEiIiQiJT9bISIiNyQkIiVnVyEiIiQiJWckKiEiIjckJCIlcVchIiIkIiUhKlIhIiI3JCQiJSFbJSEiIiQiJUkoKSEiIjckJCIlIVwlISIiJCIlZ04hIiI3JCQiJStYISIiJCIlKyYpISIiNyQkIiU1WCEiIiQiJUlOISIiNyQkIiU/WCEiIiQiJXEnKSEiIjckJCIlSVghIiIkIiUrUiEiIjckJCIlU1ghIiIkIiVTIyohIiI3JCQiJV1YISIiJCIlcVkhIiI3JCQiJWdYISIiJCIkKyMhIiI3JCQiJXFYISIiJCIlU2UhIiI3JCQiJSFlJSEiIiQiJXE6ISIiNyQkIiUhZiUhIiIkIiU1dSEiIjckJCIlK1khIiIkIiVTTCEiIjckJCIlNVkhIiIkIiUhUSohIiI3JCQiJT9ZISIiJCIlNWIhIiI3JCQiJUlZISIiJCIlUzwhIiI3JCQiJVNZISIiJCIlITMpISIiNyQkIiVdWSEiIiQiJTVYISIiNyQkIiVnWSEiIiQiJVM1ISIiNyQkIiVxWSEiIiQiJSFvKCEiIjckJCIlIW8lISIiJCIlNVchIiI3JCQiJSFwJSEiIiQiJVM3ISIiNyQkIiUrWiEiIiQiJSE9KSEiIjckJCIlNVohIiIkIiU1XyEiIjckJCIlP1ohIiIkIiVTQiEiIjckJCIlSVohIiIkIiUhZSohIiI3JCQiJVNaISIiJCIlNXAhIiI3JCQiJV1aISIiJCIlU1YhIiI3JCQiJWdaISIiJCIlcT0hIiI3JCQiJXFaISIiJCIlNSYqISIiNyQkIiUheSUhIiIkIiVTcyEiIjckJCIlIXolISIiJCIlcV0hIiI3JCQiJStbISIiJCIlK0khIiI3JCQiJTVbISIiJCIlSTUhIiI3JCQiJT9bISIiJCIlcSIqISIiNyQkIiVJWyEiIiQiJSt1ISIiNyQkIiVTWyEiIiQiJUlkISIiNyQkIiVdWyEiIiQiJWdUISIiNyQkIiVnWyEiIiQiJSFwIyEiIjckJCIlcVshIiIkIiU/OCEiIjckJCIlISlbISIiJCIjXSEiIjckJCIlISpbISIiJCIlISopKSEiIjckJCIlK1whIiIkIiU/eSEiIjckJCIlNVwhIiIkIiVdbyEiIjckJCIlP1whIiIkIiUhKWYhIiI3JCQiJUlcISIiJCIlNV8hIiI3JCQiJVNcISIiJCIlU1ghIiI3JCQiJV1cISIiJCIlcVIhIiI3JCQiJWdcISIiJCIlK04hIiI3JCQiJXFcISIiJCIlSUohIiI3JCQiJSEpXCEiIiQiJWdHISIiNyQkIiUhKlwhIiIkIiUhcCMhIiI3JCQiJStdISIiJCIlP0UhIiI3JCQiJTVdISIiJCIlXUUhIiI3JCQiJT9dISIiJCIlIXkjISIiNyQkIiVJXSEiIiQiJTVJISIiNyQkIiVTXSEiIiQiJVNMISIiNyQkIiVdXSEiIiQiJXFQISIiNyQkIiVnXSEiIiQiJStWISIiNyQkIiVxXSEiIiQiJUlcISIiNyQkIiUhMyYhIiIkIiVnYyEiIjckJCIlITQmISIiJCIlIVwnISIiNyQkIiUrXiEiIiQiJT91ISIiNyQkIiU1XiEiIiQiJV0lKSEiIjckJCIlP14hIiIkIiUhZSohIiI3JCQiJUleISIiJCIkKykhIiI3JCQiJVNeISIiJCIlSUAhIiI3JCQiJV1eISIiJCIlZ04hIiI3JCQiJWdeISIiJCIlITQmISIiNyQkIiVxXiEiIiQiJT9uISIiNyQkIiUhPSYhIiIkIiVdJSkhIiI3JCQiJSE+JiEiIiQiJHEjISIiNyQkIiUrXyEiIiQiJStBISIiNyQkIiU1XyEiIiQiJUlVISIiNyQkIiU/XyEiIiQiJWdqISIiNyQkIiVJXyEiIiQiJSFmKSEiIjckJCIlU18hIiIkIiQ1KiEiIjckJCIlXV8hIiIkIiVTTCEiIjckJCIlZ18hIiIkIiVxZSEiIjckJCIlcV8hIiIkIiUrJikhIiI3JCQiJSFHJiEiIiQiJT83ISIiNyQkIiUhSCYhIiIkIiVdUyEiIjckJCIlK2AhIiIkIiUhKXAhIiI3JCQiJTVgISIiJCIiISEiIjckJCIlP2AhIiIkIiVJSiEiIjckJCIlSWAhIiIkIiVnaiEiIjckJCIlU2AhIiIkIiUhcCohIiI3JCQiJV1gISIiJCIlNUohIiI3JCQiJWdgISIiJCIlU20hIiI3JCQiJXFgISIiJCIkZyMhIiI3JCQiJSFRJiEiIiQiJSEqUiEiIjckJCIlIVImISIiJCIlP3khIiI3JCQiJSthISIiJCIlUzwhIiI3JCQiJTVhISIiJCIlcWQhIiI3JCQiJT9hISIiJCIlKyoqISIiNyQkIiVJYSEiIiQiJT9UISIiNyQkIiVTYSEiIiQiJV0lKSEiIjckJCIlXWEhIiIkIiVxRyEiIjckJCIlZ2EhIiIkIiUrdSEiIjckJCIlcWEhIiIkIiU/PyEiIjckJCIlIVsmISIiJCIlXW4hIiI3JCQiJSFcJiEiIiQiJXE6ISIiNyQkIiUrYiEiIiQiJStsISIiNyQkIiU1YiEiIiQiJT86ISIiNyQkIiU/YiEiIiQiJV1tISIiNyQkIiVJYiEiIiQiJXE9ISIiNyQkIiVTYiEiIiQiJStzISIiNyQkIiVdYiEiIiQiJT9FISIiNyQkIiVnYiEiIiQiJV0iKSEiIjckJCIlcWIhIiIkIiVxUCEiIjckJCIlIWUmISIiJCIlKyYqISIiNyQkIiUhZiYhIiIkIiU/YCEiIjckJCIlK2MhIiIkIiVTNyEiIjckJCIlNWMhIiIkIiVxcyEiIjckJCIlP2MhIiIkIiUhUiQhIiI3JCQiJUljISIiJCIlPycqISIiNyQkIiVTYyEiIiQiJVNmISIiNyQkIiVdYyEiIiQiJWdCISIiNyQkIiVnYyEiIiQiJSEqKSkhIiI3JCQiJXFjISIiJCIlNWIhIiI3JCQiJSFvJiEiIiQiJUlBISIiNyQkIiUhcCYhIiIkIiVnISohIiI3JCQiJStkISIiJCIlISlmISIiNyQkIiU1ZCEiIiQiJStJISIiNyQkIiU/ZCEiIiQiJD8iISIiNyQkIiVJZCEiIiQiJV10ISIiNyQkIiVTZCEiIiQiJXFZISIiNyQkIiVdZCEiIiQiJSE0IyEiIjckJCIlZ2QhIiIkIiU/JyohIiI3JCQiJXFkISIiJCIlU3MhIiI3JCQiJSF5JiEiIiQiJWdcISIiNyQkIiUheiYhIiIkIiUheSMhIiI3JCQiJStlISIiJCIkKyghIiI3JCQiJTVlISIiJCIlSSgpISIiNyQkIiU/ZSEiIiQiJV1vISIiNyQkIiVJZSEiIiQiJXFdISIiNyQkIiVTZSEiIiQiJSFSJCEiIjckJCIlXWUhIiIkIiU1PSEiIjckJCIlZ2UhIiIkIiRJJCEiIjckJCIlcWUhIiIkIiVnKikhIiI3JCQiJSEpZSEiIiQiJSFvKCEiIjckJCIlISplISIiJCIlK2whIiI3JCQiJStmISIiJCIlP2EhIiI3JCQiJTVmISIiJCIlU1chIiI3JCQiJT9mISIiJCIlZ04hIiI3JCQiJUlmISIiJCIlIXkjISIiNyQkIiVTZiEiIiQiJStAISIiNyQkIiVdZiEiIiQiJT86ISIiNyQkIiVnZiEiIiQiJVM1ISIiNyQkIiVxZiEiIiQiJGcnISIiNyQkIiUhKWYhIiIkIiQhUSEiIjckJCIlISpmISIiJCIkKyMhIiI3JCQiJStnISIiJCIkPyIhIiI3JCQiJTVnISIiJCIkUyIhIiI3JCQiJT9nISIiJCIkZyMhIiI3JCQiJUlnISIiJCIkIVshIiI3JCQiJVNnISIiJCIkKykhIiI3JCQiJV1nISIiJCIlPzchIiI3JCQiJWdnISIiJCIlUzwhIiI3JCQiJXFnISIiJCIlZ0IhIiI3JCQiJSEzJyEiIiQiJSEzJCEiIjckJCIlITQnISIiJCIlK1IhIiI3JCQiJStoISIiJCIlP1shIiI3JCQiJTVoISIiJCIlU2UhIiI3JCQiJT9oISIiJCIlZ3AhIiI3JCQiJUloISIiJCIlIT0pISIiNyQkIiVTaCEiIiQiJSsmKiEiIjckJCIlXWghIiIkIiQ1KiEiIjckJCIlZ2ghIiIkIiVJQyEiIjckJCIlcWghIiIkIiVdUyEiIjckJCIlIT0nISIiJCIlcWQhIiI3JCQiJSE+JyEiIiQiJSFmKCEiIjckJCIlK2khIiIkIiU1JiohIiI3JCQiJTVpISIiJCIlPzohIiI3JCQiJT9pISIiJCIlU08hIiI3JCQiJUlpISIiJCIlZ2UhIiI3JCQiJVNpISIiJCIlIT0pISIiNyQkIiVdaSEiIiQiJCFmISIiNyQkIiVnaSEiIiQiJTVKISIiNyQkIiVxaSEiIiQiJUlkISIiNyQkIiUhRychIiIkIiVdJSkhIiI3JCQiJSFIJyEiIiQiJWc3ISIiNyQkIiUraiEiIiQiJSE9JSEiIjckJCIlNWohIiIkIiUrcyEiIjckJCIlP2ohIiIkIiQ1JCEiIjckJCIlSWohIiIkIiVJTiEiIjckJCIlU2ohIiIkIiVdbyEiIjckJCIlXWohIiIkIiRnIyEiIjckJCIlZ2ohIiIkIiUheSQhIiI3JCQiJXFqISIiJCIlK3UhIiI3JCQiJSFRJyEiIiQiJTU2ISIiNyQkIiUhUichIiIkIiVJXCEiIjckJCIlK2shIiIkIiVdKSkhIiI3JCQiJTVrISIiJCIlZ0chIiI3JCQiJT9rISIiJCIlISlwISIiNyQkIiVJayEiIiQiJSE+IiEiIjckJCIlU2shIiIkIiU1YiEiIjckJCIlXWshIiIkIiVJKiohIiI3JCQiJWdrISIiJCIlU1chIiI3JCQiJXFrISIiJCIlZyEqISIiNyQkIiUhWychIiIkIiVxUCEiIjckJCIlIVwnISIiJCIlIWYpISIiNyQkIiUrbCEiIiQiJStOISIiNyQkIiU1bCEiIiQiJT8mKSEiIjckJCIlP2whIiIkIiVJTyEiIjckJCIlSWwhIiIkIiVdKSkhIiI3JCQiJVNsISIiJCIlZ1QhIiI3JCQiJV1sISIiJCIlIWUqISIiNyQkIiVnbCEiIiQiJSE0JiEiIjckJCIlcWwhIiIkIiQrKCEiIjckJCIlIWUnISIiJCIlP2shIiI3JCQiJSFmJyEiIiQiJUlBISIiNyQkIiUrbSEiIiQiJV0iKSEiIjckJCIlNW0hIiIkIiVnVCEiIjckJCIlP20hIiIkIiRxIyEiIjckJCIlSW0hIiIkIiUhXCchIiI3JCQiJVNtISIiJCIlK0chIiI3JCQiJV1tISIiJCIlPyMqISIiNyQkIiVnbSEiIiQiJUlkISIiNyQkIiVxbSEiIiQiJVNCISIiNyQkIiUhbychIiIkIiVnISohIiI3JCQiJSFwJyEiIiQiJXFlISIiNyQkIiUrbiEiIiQiJSF5IyEiIjckJCIlNW4hIiIkIiUrKSohIiI3JCQiJT9uISIiJCIlNXAhIiI3JCQiJUluISIiJCIlP1QhIiI3JCQiJVNuISIiJCIlSTkhIiI3JCQiJV1uISIiJCIlXSkpISIiNyQkIiVnbiEiIiQiJWdqISIiNyQkIiVxbiEiIiQiJXFSISIiNyQkIiUheSchIiIkIiUhbyIhIiI3JCQiJSF6JyEiIiQiJSsmKiEiIjckJCIlK28hIiIkIiU1dSEiIjckJCIlNW8hIiIkIiU/YSEiIjckJCIlP28hIiIkIiVJTiEiIjckJCIlSW8hIiIkIiVTPCEiIjckJCIlU28hIiIkIiNdISIiNyQkIiVdbyEiIiQiJXElKSEiIjckJCIlZ28hIiIkIiUhKXAhIiI3JCQiJXFvISIiJCIlIWYmISIiNyQkIiUhKW8hIiIkIiUrViEiIjckJCIlISpvISIiJCIlNUohIiI3JCQiJStwISIiJCIlPz8hIiI3JCQiJTVwISIiJCIlSTUhIiI3JCQiJT9wISIiJCIkUyIhIiI3JCQiJUlwISIiJCIlZyQqISIiNyQkIiVTcCEiIiQiJXEnKSEiIjckJCIlXXAhIiIkIiUhMykhIiI3JCQiJWdwISIiJCIlIWYoISIiNyQkIiVxcCEiIiQiJStzISIiNyQkIiUhKXAhIiIkIiU1cCEiIjckJCIlISpwISIiJCIlP24hIiI3JCQiJStxISIiJCIlSW0hIiI3JCQiJTVxISIiJCIlU20hIiI3JCQiJT9xISIiJCIlXW4hIiI3JCQiJUlxISIiJCIlZ3AhIiI3JCQiJVNxISIiJCIlcXMhIiI3JCQiJV1xISIiJCIlIW8oISIiNyQkIiVncSEiIiQiJSE+KSEiIjckJCIlcXEhIiIkIiUrKSkhIiI3JCQiJSEzKCEiIiQiJTUmKiEiIjckJCIlITQoISIiJCIkNSQhIiI3JCQiJStyISIiJCIlPzchIiI3JCQiJTVyISIiJCIlSUEhIiI3JCQiJT9yISIiJCIlU0whIiI3JCQiJUlyISIiJCIlXVghIiI3JCQiJVNyISIiJCIlZ2UhIiI3JCQiJV1yISIiJCIlcXMhIiI3JCQiJWdyISIiJCIlIXkpISIiNyQkIiVxciEiIiQiJCFRISIiNyQkIiUhPSghIiIkIiUhNCMhIiI3JCQiJSE+KCEiIiQiJStSISIiNyQkIiUrcyEiIiQiJTVlISIiNyQkIiU1cyEiIiQiJT95ISIiNyQkIiU/cyEiIiQiJUkqKiEiIjckJCIlSXMhIiIkIiVJQCEiIjckJCIlU3MhIiIkIiVTVyEiIjckJCIlXXMhIiIkIiVdbyEiIjckJCIlZ3MhIiIkIiVnJCohIiI3JCQiJXFzISIiJCIlZz4hIiI3JCQiJSFHKCEiIiQiJXFZISIiNyQkIiUhSCghIiIkIiUhWyghIiI3JCQiJSt0ISIiJCIkIVEhIiI3JCQiJTV0ISIiJCIlIVIkISIiNyQkIiU/dCEiIiQiJStsISIiNyQkIiVJdCEiIiQiJTUoKiEiIjckJCIlU3QhIiIkIiU1SSEiIjckJCIlXXQhIiIkIiU/ayEiIjckJCIlZ3QhIiIkIiVJKiohIiI3JCQiJXF0ISIiJCIlSU4hIiI3JCQiJSFRKCEiIiQiJVNzISIiNyQkIiUhUighIiIkIiVTNSEiIjckJCIlK3UhIiIkIiVdXCEiIjckJCIlNXUhIiIkIiVnKikhIiI3JCQiJT91ISIiJCIlZ0khIiI3JCQiJUl1ISIiJCIlcXMhIiI3JCQiJVN1ISIiJCIlcTohIiI3JCQiJV11ISIiJCIlISlmISIiNyQkIiVndSEiIiQiJCFbISIiNyQkIiVxdSEiIiQiJSE0JiEiIjckJCIlIVsoISIiJCIlKykqISIiNyQkIiUhXCghIiIkIiUrWSEiIjckJCIlK3YhIiIkIiU1JiohIiI3JCQiJTV2ISIiJCIlNVghIiI3JCQiJT92ISIiJCIlPycqISIiNyQkIiVJdiEiIiQiJT9bISIiNyQkIiVTdiEiIiQiJD8iISIiNyQkIiVddiEiIiQiJUliISIiNyQkIiVndiEiIiQiJUk1ISIiNyQkIiVxdiEiIiQiJVNtISIiNyQkIiUhZSghIiIkIiVTQiEiIjckJCIlIWYoISIiJCIlXSIpISIiNyQkIiUrdyEiIiQiJV1TISIiNyQkIiU1dyEiIiQiI10hIiI3JCQiJT93ISIiJCIlZ2ghIiI3JCQiJUl3ISIiJCIlZ0IhIiI3JCQiJVN3ISIiJCIlcScpISIiNyQkIiVddyEiIiQiJXFdISIiNyQkIiVndyEiIiQiJXE6ISIiNyQkIiVxdyEiIiQiJSE9KSEiIjckJCIlIW8oISIiJCIlISlbISIiNyQkIiUhcCghIiIkIiUhbyIhIiI3JCQiJSt4ISIiJCIlIWYpISIiNyQkIiU1eCEiIiQiJSFmJiEiIjckJCIlP3ghIiIkIiUhcCMhIiI3JCQiJUl4ISIiJCIlKyoqISIiNyQkIiVTeCEiIiQiJStzISIiNyQkIiVdeCEiIiQiJStZISIiNyQkIiVneCEiIiQiJStAISIiNyQkIiVxeCEiIiQiJTUoKiEiIjckJCIlIXkoISIiJCIlNXUhIiI3JCQiJSF6KCEiIiQiJTVfISIiNyQkIiUreSEiIiQiJTVKISIiNyQkIiU1eSEiIiQiJTU2ISIiNyQkIiU/eSEiIiQiJT8jKiEiIjckJCIlSXkhIiIkIiU/dSEiIjckJCIlU3khIiIkIiU/ZCEiIjckJCIlXXkhIiIkIiU/VCEiIjckJCIlZ3khIiIkIiU/RSEiIjckJCIlcXkhIiIkIiU/NyEiIjckJCIlISl5ISIiJCIlSSoqISIiNyQkIiUhKnkhIiIkIiVJKCkhIiI3JCQiJSt6ISIiJCIlSXchIiI3JCQiJTV6ISIiJCIlSW0hIiI3JCQiJT96ISIiJCIlSWQhIiI3JCQiJUl6ISIiJCIlSVwhIiI3JCQiJVN6ISIiJCIlSVUhIiI3JCQiJV16ISIiJCIlSU8hIiI3JCQiJWd6ISIiJCIlSUohIiI3JCQiJXF6ISIiJCIlSUYhIiI3JCQiJSEpeiEiIiQiJUlDISIiNyQkIiUhKnohIiIkIiVJQSEiIjckJCIlKyEpISIiJCIlSUAhIiI3JCQiJTUhKSEiIiQiJUlAISIiNyQkIiU/ISkhIiIkIiVJQSEiIjckJCIlSSEpISIiJCIlSUMhIiI3JCQiJVMhKSEiIiQiJUlGISIiNyQkIiVdISkhIiIkIiVJSiEiIjckJCIlZyEpISIiJCIlSU8hIiI3JCQiJXEhKSEiIiQiJUlVISIiNyQkIiUhMykhIiIkIiVJXCEiIjckJCIlITQpISIiJCIlSWQhIiI3JCQiJSsiKSEiIiQiJUltISIiNyQkIiU1IikhIiIkIiVJdyEiIjckJCIlPyIpISIiJCIlSSgpISIiNyQkIiVJIikhIiIkIiVJKiohIiI3JCQiJVMiKSEiIiQiJT83ISIiNyQkIiVdIikhIiIkIiU/RSEiIjckJCIlZyIpISIiJCIlP1QhIiI3JCQiJXEiKSEiIiQiJT9kISIiNyQkIiUhPSkhIiIkIiU/dSEiIjckJCIlIT4pISIiJCIlPyMqISIiNyQkIiUrIykhIiIkIiU1NiEiIjckJCIlNSMpISIiJCIlNUohIiI3JCQiJT8jKSEiIiQiJTVfISIiNyQkIiVJIykhIiIkIiU1dSEiIjckJCIlUyMpISIiJCIlNSgqISIiNyQkIiVdIykhIiIkIiUrQCEiIjckJCIlZyMpISIiJCIlK1khIiI3JCQiJXEjKSEiIiQiJStzISIiNyQkIiUhRykhIiIkIiUrKiohIiI3JCQiJSFIKSEiIiQiJSFwIyEiIjckJCIlKyQpISIiJCIlIWYmISIiNyQkIiU1JCkhIiIkIiUhZikhIiI3JCQiJT8kKSEiIiQiJSFvIiEiIjckJCIlSSQpISIiJCIlISlbISIiNyQkIiVTJCkhIiIkIiUhPSkhIiI3JCQiJV0kKSEiIiQiJXE6ISIiNyQkIiVnJCkhIiIkIiVxXSEiIjckJCIlcSQpISIiJCIlcScpISIiNyQkIiUhUSkhIiIkIiVnQiEiIjckJCIlIVIpISIiJCIlZ2ghIiI3JCQiJSslKSEiIiQiI10hIiI3JCQiJTUlKSEiIiQiJV1TISIiNyQkIiU/JSkhIiIkIiVdIikhIiI3JCQiJUklKSEiIiQiJVNCISIiNyQkIiVTJSkhIiIkIiVTbSEiIjckJCIlXSUpISIiJCIlSTUhIiI3JCQiJWclKSEiIiQiJUliISIiNyQkIiVxJSkhIiIkIiQ/IiEiIjckJCIlIVspISIiJCIlP1shIiI3JCQiJSFcKSEiIiQiJT8nKiEiIjckJCIlKyYpISIiJCIlNVghIiI3JCQiJTUmKSEiIiQiJTUmKiEiIjckJCIlPyYpISIiJCIlK1khIiI3JCQiJUkmKSEiIiQiJSspKiEiIjckJCIlUyYpISIiJCIlITQmISIiNyQkIiVdJikhIiIkIiQhWyEiIjckJCIlZyYpISIiJCIlISlmISIiNyQkIiVxJikhIiIkIiVxOiEiIjckJCIlIWUpISIiJCIlcXMhIiI3JCQiJSFmKSEiIiQiJWdJISIiNyQkIiUrJykhIiIkIiVnKikhIiI3JCQiJTUnKSEiIiQiJV1cISIiNyQkIiU/JykhIiIkIiVTNSEiIjckJCIlSScpISIiJCIlU3MhIiI3JCQiJVMnKSEiIiQiJUlOISIiNyQkIiVdJykhIiIkIiVJKiohIiI3JCQiJWcnKSEiIiQiJT9rISIiNyQkIiVxJykhIiIkIiU1SSEiIjckJCIlIW8pISIiJCIlNSgqISIiNyQkIiUhcCkhIiIkIiUrbCEiIjckJCIlKygpISIiJCIlIVIkISIiNyQkIiU1KCkhIiIkIiQhUSEiIjckJCIlPygpISIiJCIlIVsoISIiNyQkIiVJKCkhIiIkIiVxWSEiIjckJCIlUygpISIiJCIlZz4hIiI3JCQiJV0oKSEiIiQiJWckKiEiIjckJCIlZygpISIiJCIlXW8hIiI3JCQiJXEoKSEiIiQiJVNXISIiNyQkIiUheSkhIiIkIiVJQCEiIjckJCIlIXopISIiJCIlSSoqISIiNyQkIiUrKSkhIiIkIiU/eSEiIjckJCIlNSkpISIiJCIlNWUhIiI3JCQiJT8pKSEiIiQiJStSISIiNyQkIiVJKSkhIiIkIiUhNCMhIiI3JCQiJVMpKSEiIiQiJCFRISIiNyQkIiVdKSkhIiIkIiUheSkhIiI3JCQiJWcpKSEiIiQiJXFzISIiNyQkIiVxKSkhIiIkIiVnZSEiIjckJCIlISkpKSEiIiQiJV1YISIiNyQkIiUhKikpISIiJCIlU0whIiI3JCQiJSsqKSEiIiQiJUlBISIiNyQkIiU1KikhIiIkIiU/NyEiIjckJCIlPyopISIiJCIkNSQhIiI3JCQiJUkqKSEiIiQiJTUmKiEiIjckJCIlUyopISIiJCIlKykpISIiNyQkIiVdKikhIiIkIiUhPikhIiI3JCQiJWcqKSEiIiQiJSFvKCEiIjckJCIlcSopISIiJCIlcXMhIiI3JCQiJSEpKikhIiIkIiVncCEiIjckJCIlISoqKSEiIiQiJV1uISIiNyQkIiUrISohIiIkIiVTbSEiIjckJCIlNSEqISIiJCIlSW0hIiI3JCQiJT8hKiEiIiQiJT9uISIiNyQkIiVJISohIiIkIiU1cCEiIjckJCIlUyEqISIiJCIlK3MhIiI3JCQiJV0hKiEiIiQiJSFmKCEiIjckJCIlZyEqISIiJCIlITMpISIiNyQkIiVxISohIiIkIiVxJykhIiI3JCQiJSEzKiEiIiQiJWckKiEiIjckJCIlITQqISIiJCIkUyIhIiI3JCQiJSsiKiEiIiQiJUk1ISIiNyQkIiU1IiohIiIkIiU/PyEiIjckJCIlPyIqISIiJCIlNUohIiI3JCQiJUkiKiEiIiQiJStWISIiNyQkIiVTIiohIiIkIiUhZiYhIiI3JCQiJV0iKiEiIiQiJSEpcCEiIjckJCIlZyIqISIiJCIlcSUpISIiNyQkIiVxIiohIiIkIiNdISIiNyQkIiUhPSohIiIkIiVTPCEiIjckJCIlIT4qISIiJCIlSU4hIiI3JCQiJSsjKiEiIiQiJT9hISIiNyQkIiU1IyohIiIkIiU1dSEiIjckJCIlPyMqISIiJCIlKyYqISIiNyQkIiVJIyohIiIkIiUhbyIhIiI3JCQiJVMjKiEiIiQiJXFSISIiNyQkIiVdIyohIiIkIiVnaiEiIjckJCIlZyMqISIiJCIlXSkpISIiNyQkIiVxIyohIiIkIiVJOSEiIjckJCIlIUcqISIiJCIlP1QhIiI3JCQiJSFIKiEiIiQiJTVwISIiNyQkIiUrJCohIiIkIiUrKSohIiI3JCQiJTUkKiEiIiQiJSF5IyEiIjckJCIlPyQqISIiJCIlcWUhIiI3JCQiJUkkKiEiIiQiJWchKiEiIjckJCIlUyQqISIiJCIlU0IhIiI3JCQiJV0kKiEiIiQiJUlkISIiNyQkIiVnJCohIiIkIiU/IyohIiI3JCQiJXEkKiEiIiQiJStHISIiNyQkIiUhUSohIiIkIiUhXCchIiI3JCQiJSFSKiEiIiQiJHEjISIiNyQkIiUrJSohIiIkIiVnVCEiIjckJCIlNSUqISIiJCIlXSIpISIiNyQkIiU/JSohIiIkIiVJQSEiIjckJCIlSSUqISIiJCIlP2shIiI3JCQiJVMlKiEiIiQiJCsoISIiNyQkIiVdJSohIiIkIiUhNCYhIiI3JCQiJWclKiEiIiQiJSFlKiEiIjckJCIlcSUqISIiJCIlZ1QhIiI3JCQiJSFbKiEiIiQiJV0pKSEiIjckJCIlIVwqISIiJCIlSU8hIiI3JCQiJSsmKiEiIiQiJT8mKSEiIjckJCIlNSYqISIiJCIlK04hIiI3JCQiJT8mKiEiIiQiJSFmKSEiIjckJCIlSSYqISIiJCIlcVAhIiI3JCQiJVMmKiEiIiQiJWchKiEiIjckJCIlXSYqISIiJCIlU1chIiI3JCQiJWcmKiEiIiQiJUkqKiEiIjckJCIlcSYqISIiJCIlNWIhIiI3JCQiJSFlKiEiIiQiJSE+IiEiIjckJCIlIWYqISIiJCIlISlwISIiNyQkIiUrJyohIiIkIiVnRyEiIjckJCIlNScqISIiJCIlXSkpISIiNyQkIiU/JyohIiIkIiVJXCEiIjckJCIlSScqISIiJCIlNTYhIiI3JCQiJVMnKiEiIiQiJSt1ISIiNyQkIiVdJyohIiIkIiUheSQhIiI3JCQiJWcnKiEiIiQiJGcjISIiNyQkIiVxJyohIiIkIiVdbyEiIjckJCIlIW8qISIiJCIlSU4hIiI3JCQiJSFwKiEiIiQiJDUkISIiNyQkIiUrKCohIiIkIiUrcyEiIjckJCIlNSgqISIiJCIlIT0lISIiNyQkIiU/KCohIiIkIiVnNyEiIjckJCIlSSgqISIiJCIlXSUpISIiNyQkIiVTKCohIiIkIiVJZCEiIjckJCIlXSgqISIiJCIlNUohIiI3JCQiJWcoKiEiIiQiJCFmISIiNyQkIiVxKCohIiIkIiUhPSkhIiI3JCQiJSF5KiEiIiQiJWdlISIiNyQkIiUheiohIiIkIiVTTyEiIjckJCIlKykqISIiJCIlPzohIiI3JCQiJTUpKiEiIiQiJTUmKiEiIjckJCIlPykqISIiJCIlIWYoISIiNyQkIiVJKSohIiIkIiVxZCEiIjckJCIlUykqISIiJCIlXVMhIiI3JCQiJV0pKiEiIiQiJUlDISIiNyQkIiVnKSohIiIkIiQ1KiEiIjckJCIlcSkqISIiJCIlKyYqISIiNyQkIiUhKSkqISIiJCIlIT0pISIiNyQkIiUhKikqISIiJCIlZ3AhIiI3JCQiJSsqKiEiIiQiJVNlISIiNyQkIiU1KiohIiIkIiU/WyEiIjckJCIlPyoqISIiJCIlK1IhIiI3JCQiJUkqKiEiIiQiJSEzJCEiIjckJCIlUyoqISIiJCIlZ0IhIiI3JCQiJV0qKiEiIiQiJVM8ISIiNyQkIiVnKiohIiIkIiU/NyEiIjckJCIlcSoqISIiJCIkKykhIiI3JCQiJSEpKiohIiIkIiQhWyEiIjckJCIlISoqKiEiIiQiJGcjISIiNyQkIiYrKyIhIiIkIiRTIiEiIi0lJkNPTE9SRzYmJSRSR0JHJCIjNSEiIiQiIiEhIiIkIiIhISIiLSUlVklFV0c2JDskIiIhISIiJCImKysiISIiJShERUZBVUxURy0lK0FYRVNMQUJFTFNHNictSSNtaUc2Iy9JK21vZHVsZW5hbWVHNiJJLFR5cGVzZXR0aW5nR0koX3N5c2xpYkc2IjY1USJpNiIvJSdmYW1pbHlHUSE2Ii8lJXNpemVHUSMxMDYiLyUlYm9sZEdRJmZhbHNlNiIvJSdpdGFsaWNHUSV0cnVlNiIvJSp1bmRlcmxpbmVHUSZmYWxzZTYiLyUqc3Vic2NyaXB0R1EmZmFsc2U2Ii8lLHN1cGVyc2NyaXB0R1EmZmFsc2U2Ii8lK2ZvcmVncm91bmRHUShbMCwwLDBdNiIvJStiYWNrZ3JvdW5kR1EuWzI1NSwyNTUsMjU1XTYiLyUnb3BhcXVlR1EmZmFsc2U2Ii8lK2V4ZWN1dGFibGVHUSZmYWxzZTYiLyUpcmVhZG9ubHlHUSZmYWxzZTYiLyUpY29tcG9zZWRHUSZmYWxzZTYiLyUqY29udmVydGVkR1EmZmFsc2U2Ii8lK2ltc2VsZWN0ZWRHUSZmYWxzZTYiLyUscGxhY2Vob2xkZXJHUSZmYWxzZTYiLyU2c2VsZWN0aW9uLXBsYWNlaG9sZGVyR1EmZmFsc2U2Ii8lLG1hdGh2YXJpYW50R1EnaXRhbGljNiJRITYiLSUlRk9OVEc2JSUoREVGQVVMVEclKERFRkFVTFRHIiM1JStIT1JJWk9OVEFMRyUrSE9SSVpPTlRBTEctJSZTVFlMRUc2IyUmUE9JTlRHLSUlUk9PVEc2Jy0lKUJPVU5EU19YRzYjJCIkPyYhIiItJSlCT1VORFNfWUc2IyQiIyEpISIiLSUtQk9VTkRTX1dJRFRIRzYjJCIlcUshIiItJS5CT1VORFNfSEVJR0hURzYjJCIlIVwkISIiLSUpQ0hJTERSRU5HNiI=
So the picture is much more complicated than in the normal 'real' or 'integer' world. We see some structures reminiscent of parabolas (try also other ranges i=0..20, i=20..40 and so on and you will see also convex parabolas), but not ONE clear parabola. Yet - it is perfectly OK to calculate and interpolate with such parabolas - it is even reasonable because it provides information theoretic security !
A last remark: the polynom does not take every value in the range 0..p-1, as we see when we sort the complete table of polynomial values. Some are missing, other occur multiple times:
G:=[seq(a0+a1*i+a2*i*i mod p, i=0..p-1)]:
sort(G);
N2VpbiIiIUYjIiImRiRGJEYkRiRGJEYkRiQiIzdGJUYlRiVGJUYlRiVGJSIjOUYmRiZGJiIjP0YnRidGJyIjRUYoRihGKEYoRihGKEYoIiNGRilGKUYpRilGKUYpRikiI0pGKkYqRipGKkYqRipGKiIjTEYrIiNRRixGLEYsRixGLEYsRiwiI1tGLUYtRi1GLUYtRi1GLSIjZkYuRi5GLiIjbUYvRi9GLyIjcUYwRjBGMCIjeEYxIiMhKUYyRjJGMkYyRjJGMkYyIiMiKkYzRjNGMyIkLiJGNEY0RjRGNEY0RjRGNCIkLyJGNUY1RjVGNUY1RjVGNSIkNiJGNkY2RjYiJD4iRjdGN0Y3IiRBIkY4RjhGOEY4RjhGOEY4IiRDIkY5RjlGOSIkRSJGOkY6RjoiJEsiRjtGO0Y7IiRWIkY8RjxGPCIkXyJGPUY9Rj1GPUY9Rj1GPSIkZCJGPkY+Rj5GPkY+Rj5GPiIkbyJGP0Y/Rj8iJHUiRkBGQEZARkBGQEZARkAiJCI9RkFGQUZBRkFGQUZBRkEiJCg9RkJGQkZCIiQnPkZDRkNGQyIkLSNGREZERkQiJDQjRkVGRUZFIiQ1I0ZGRkZGRiIkOCNGR0ZHRkdGR0ZHRkdGRyIkPyNGSEZIRkgiJEIjRklGSUZJRklGSUZJRkkiJE0jRkpGSkZKRkpGSkZKRkoiJE8jRktGS0ZLRktGS0ZLRksiJFYjRkxGTEZMRkxGTEZMRkwiJGkjRk1GTUZNRk1GTUZNRk0iJGwjRk5GTkZORk5GTkZORk4iJHAjRk9GT0ZPRk9GT0ZPRk8iJHQjRlBGUEZQIiR5I0ZRRlFGUUZRRlFGUUZRIiQhR0ZSIiQnR0ZTRlNGUyIkKEdGVEZURlQiJCskRlVGVUZVRlVGVUZVRlUiJCwkRlZGVkZWIiQxJEZXRldGVyIkMyRGWCIkNiRGWUZZRllGWUZZRllGWSIkOCRGWkZaRlpGWkZaRlpGWiIkTSRGZW5GZW5GZW5GZW5GZW5GZW5GZW4iJFIkRmZuRmZuRmZuRmZuRmZuRmZuRmZuIiRdJEZnbkZnbkZnbiIkYCRGaG5GaG5GaG5GaG5GaG5GaG5GaG4iJGMkRmluRmluRmluRmluRmluRmluRmluIiRqJEZqbkZqbkZqbiIkayRGW29GW29GW28iJHgkRlxvRlxvRlxvRlxvRlxvRlxvRlxvIiR5JEZdb0Zdb0ZdbyIkIVJGXm9GXm9GXm9GXm9GXm9GXm9GXm8iJChSRl9vRl9vRl9vIiQqUkZgb0Zgb0ZgbyIkMCVGYW9GYW9GYW9GYW9GYW9GYW9GYW8iJDclRmJvRmJvRmJvRmJvRmJvRmJvRmJvIiQ7JUZjb0Zjb0Zjb0Zjb0Zjb0Zjb0ZjbyIkPSVGZG9GZG9GZG8iJEIlRmVvRmVvRmVvIiRJJUZmb0Zmb0Zmb0Zmb0Zmb0Zmb0ZmbyIkTSVGZ29GZ29GZ28iJFQlRmhvRmhvRmhvIiRXJUZpb0Zpb0Zpb0Zpb0Zpb0Zpb0ZpbyIkXiVGam9Gam9Gam8iJGElRltwRltwRltwRltwRltwRltwRltwIiRiJUZccEZccEZccCIkZyVGXXBGXXBGXXBGXXBGXXBGXXBGXXAiJGklIiRuJUZfcEZfcEZfcEZfcEZfcEZfcEZfcCIkI1tGYHBGYHBGYHBGYHBGYHBGYHBGYHAiJClbRmFwRmFwRmFwIiQkXEZicEZicEZicEZicEZicEZicEZicCIkJlxGY3BGY3BGY3AiJCdcRmRwRmRwRmRwRmRwRmRwRmRwRmRwIiQyJkZlcEZlcEZlcEZlcEZlcEZlcEZlcCIkNCZGZnBGZnBGZnBGZnBGZnBGZnBGZnAiJEAmRmdwRmdwRmdwRmdwRmdwRmdwRmdwIiRLJkZocEZocEZocCIkVSZGaXBGaXBGaXBGaXBGaXBGaXBGaXAiJF4mRmpwRmpwRmpwRmpwRmpwRmpwRmpwIiRgJkZbcSIkZiZGXHFGXHFGXHFGXHFGXHFGXHFGXHEiJG0mRl1xRl1xRl1xIiRzJkZecUZecUZecSIkdCZGX3FGX3FGX3FGX3FGX3FGX3FGX3EiJHgmRmBxRmBxRmBxRmBxRmBxRmBxRmBxIiQiZUZhcUZhcUZhcSIkJWVGYnFGYnFGYnFGYnFGYnFGYnFGYnEiJCdlRmNxRmNxRmNxRmNxRmNxRmNxRmNxIiQoZUZkcUZkcUZkcUZkcUZkcUZkcUZkcSIkJWZGZXFGZXFGZXEiJClmRmZxRmZxRmZxRmZxRmZxRmZxRmZxIiQwJ0ZncSIkOydGaHEiJE8nRmlxRmlxRmlxRmlxRmlxRmlxRmlxIiRVJ0ZqcUZqcUZqcUZqcUZqcUZqcUZqcSIkXCdGW3JGW3JGW3IiJF0nRlxyRlxyRlxyRlxyRlxyRlxyRlxyIiRqJ0ZdckZdckZdckZdckZdckZdckZdciIkaydGXnJGXnJGXnJGXnJGXnJGXnJGXnIiJGwnRl9yRl9yRl9yIiRzJ0ZgckZgckZgciIkdidGYXJGYXJGYXJGYXJGYXJGYXJGYXIiJCZvRmJyRmJyRmJyRmJyRmJyRmJyRmJyIiQicEZjckZjckZjckZjckZjckZjckZjciIkJ3BGZHJGZHJGZHIiJClwRmVyRmVyRmVyRmVyRmVyRmVyRmVyIiQyKEZmckZmckZmciIkPyhGZ3JGZ3JGZ3JGZ3JGZ3JGZ3JGZ3IiJEMoRmhyRmhyRmhyRmhyRmhyRmhyRmhyIiRGKEZpckZpckZpckZpckZpckZpckZpciIkTihGanIiJFMoRltzRltzRltzRltzRltzRltzRltzIiRUKEZcc0Zcc0Zcc0Zcc0Zcc0Zcc0ZccyIkVShGXXNGXXNGXXMiJFsoRl5zIiRmKEZfc0Zfc0ZfcyIkaihGYHNGYHNGYHMiJG8oRmFzRmFzRmFzRmFzRmFzRmFzRmFzIiQjeUZic0Zic0Zic0Zic0Zic0Zic0ZicyIkMylGY3NGY3NGY3NGY3NGY3NGY3NGY3MiJDopRmRzRmRzRmRzRmRzRmRzRmRzRmRzIiQ9KUZlc0Zlc0Zlc0Zlc0Zlc0Zlc0ZlcyIkPilGZnNGZnNGZnMiJEUpRmdzIiRSKUZoc0Zoc0ZocyIkWClGaXNGaXNGaXNGaXNGaXNGaXNGaXMiJFopRmpzIiRdKUZbdEZbdEZbdEZbdEZbdEZbdEZbdCIkXylGXHRGXHRGXHQiJGYpRl10Rl10Rl10Rl10Rl10Rl10Rl10IiRuKUZedEZedEZedEZedEZedEZedEZedCIkdClGX3RGX3RGX3RGX3RGX3RGX3RGX3QiJHkpRmB0RmB0RmB0IiQhKSlGYXRGYXRGYXQiJCYpKUZidEZidEZidEZidEZidEZidEZidCIkKikpRmN0RmN0RmN0IiQnKilGZHRGZHRGZHQiJC0qRmV0RmV0RmV0IiQxKkZmdEZmdEZmdEZmdEZmdEZmdEZmdCIkPCpGZ3QiJEEqRmh0Rmh0Rmh0Rmh0Rmh0Rmh0Rmh0IiRDKkZpdCIkTypGanRGanRGanRGanRGanRGanRGanQiJFEqRlt1Rlt1Rlt1IiRdKkZcdUZcdUZcdUZcdUZcdUZcdUZcdSIkXipGXXVGXXVGXXVGXXVGXXVGXXVGXXUiJGUqRl51Rl51Rl51Rl51Rl51Rl51Rl51IiRpKkZfdUZfdUZfdUZfdUZfdUZfdUZfdSIkcCpGYHVGYHVGYHUiJHIqRmF1RmF1RmF1RmF1RmF1RmF1RmF1IiQhKSpGYnVGYnVGYnUiJCEqKkZjdUZjdUZjdSIkJCoqRmR1RmR1RmR1RmR1RmR1RmR1RmR1
JSFH