Nombre Ecuación Derivada (con respecto a x) Rango Orden de Continuidad Monotónica Derivada Monotónica Aproximates Identify Near the Origin
TanH \(f(x) = tanh(x) = \frac{2}{1+e^2x}-1\) \(f'(x) = 1 - f(x)^2\) \((-1,1)\) \(C^\infty\) Yes No Yes
SoftSign \(f(x)= \frac{x}{1+|x|}\) \(f'(x)=1-f(x)^2\) \((-1,1)\) \(C^1\) Yes No Yes
SoftPlus \(\displaystyle f(x)=\ln(1+e^{x})\) \(\displaystyle f'(x)={\frac {1}{1+e^{-x}}}\) \((0,\infty)\) \(C^\infty\) Yes Yes No
SoftExponential \(f(\alpha ,x) = \left\{{\begin{array}{rcl}-{\frac {\ln(1-\alpha (x+\alpha ))}{\alpha }}{\mbox{ for }}\alpha < 0\\x{\mbox{ for }}\alpha =0\\{\frac {e^{\alpha x}-1}{\alpha }}+\alpha {\mbox{ for }}\alpha > 0\end{array}}\right.\) \(f'(\alpha ,x)=\left\{{\begin{array}{rcl}{\frac {1}{1-\alpha (\alpha +x)}}{\mbox{ for }}\alpha <0\\e^{\alpha x}{\mbox{ for }}\alpha \geq 0\end{array}}\right.\) \((- \infty,\infty)\) \(C^\infty\) Yes Yes Yes iff \(\alpha = 0\)
Sinusoid \(f(x)=\sin(x)\) \(f'(x)=\cos(x)\) \([-1,1]\) \(C^\infty\) No No Yes
Sinc \(f(x)=\left\{{\begin{array}{rcl}1{\mbox{ for }}x=0\\{\frac {\sin(x)}{x}}{\mbox{ for }}x\neq 0\end{array}}\right.\) \(f'(x)=\left\{{\begin{array}{rcl}0{\mbox{ for }}x=0\\{\frac {\cos(x)}{x}}-{\frac {\sin(x)}{x^{2}}}{\mbox{ for }}x\neq 0\end{array}}\right.\) \([\approx -.217234,1]\) \(C^\infty\) No No No
Scaled exponential linear unit (SELU) \(f(\alpha ,x)=\lambda \left\{{\begin{array}{rcl}\alpha (e^{x}-1){\mbox{ for }}x<0\\x{\mbox{ for }}x\geq 0\end{array}}\right.\) \(\lambda =1.0507\) y \(\alpha =1.67326\) \(f'(\alpha ,x)=\lambda \left\{{\begin{array}{rcl}f(\alpha ,x)+\alpha {\mbox{ for }}x<0\\1{\mbox{ for }}x\geq 0\end{array}}\right.\) \((-\lambda \alpha,\infty)\) \(C^0\) Yes No No
Rectified linear unit (ReLU) \(f(x)=\left\{{\begin{array}{rcl}0{\mbox{ for }}x<0\\x{\mbox{ for }}x\geq 0\end{array}}\right.\) \(f'(x)=\left\{{\begin{array}{rcl}0&{\mbox{for}}&x<0\\1&{\mbox{for}}&x\geq 0\end{array}}\right.\) \([0,\infty)\) \(C^0\) Yes Yes No
Randomized leaky rectified linear unit (RReLU) \(f(\alpha ,x)=\left\{{\begin{array}{rcl}\alpha x {\mbox{ for }}x<0\\x{\mbox{ for }}x\geq 0\end{array}}\right.\) \(f'(\alpha ,x)=\left\{{\begin{array}{rcl}\alpha {\mbox{ for }}x<0\\1{\mbox{ for }}x\geq 0\end{array}}\right.\) \((-\infty, \infty)\) \(C^0\) Yes Yes No
Parametric rectified linear unit (PReLU) \(f(\alpha ,x)=\left\{{\begin{array}{rcl}\alpha x{\mbox{ for }}x<0\\x{\mbox{ for }}x\geq 0\end{array}}\right.\) \(f'(\alpha ,x)=\left\{{\begin{array}{rcl}\alpha {\mbox{ for }}x<0\\1{\mbox{ for }}x\geq 0\end{array}}\right.\) \((-\infty, \infty)\) \(C^0\) Yes iff \(\alpha \geq 0\) Yes Yes iff \(\alpha = 1\)
Logistic (a.k.a soft step) \(f(x)={\frac {1}{1+e^{-x}}}\) \(f'(x)=f(x)(1-f(x))\) (0,1) \(C^\infty\) Yes No No
Leaky rectified linear unit (Leaky ReLU) \(f(x)=\left\{{\begin{array}{rcl}0.01x{\mbox{ for }}x<0\\x{\mbox{ for }}x\geq 0\end{array}}\right.\) \(f'(x)=\left\{{\begin{array}{rcl}0.01{\mbox{ for }}x<0\\1{\mbox{ for }}x\geq 0\end{array}}\right.\) \((-\infty, \infty)\) \(C^0\) Yes Yes No
Identity \(f(x) = x\) \(f''(x) = 1\) \((-\infty, \infty)\) \(C^\infty\) Yes Yes Yes
Gaussian \(f(x)=e^-x^2\) \(f'(x) = -2xe^-x^2\) \((0,1]\) \(C^\infty\) No No No
Exponential linear unit (ELU) \(f(\alpha ,x)=\left\{{\begin{array}{rcl}\alpha (e^{x}-1){\mbox{ for }}x<0\\x{\mbox{ for }}x\geq 0\end{array}}\right.\) \(f'(\alpha ,x)=\left\{{\begin{array}{rcl}f(\alpha ,x)+\alpha {\mbox{ for }}x<0\\1{\mbox{ for }}x\geq 0\end{array}}\right.\) \((-\alpha,\infty)\) \(C^1\) when \(\alpha = 1\), otherwise \(C^0\) Yes iff \(\alpha \geq 0\) Yes iff \(0 \leq \alpha \leq 1\)
Binary step \(\displaystyle f(x)=\left\{{\begin{array}{rcl}0{\mbox{ for }}x <0\\1{\mbox{ for }}x\geq 0\end{array}}\right.\) \(\displaystyle f'(x)=\left\{{\begin{array}{rcl}0{\mbox{ for }}x\neq 0\\?{\mbox{ for }}x=0\end{array}}\right.\) {0,1} \(C^{-1}\) Yes No No
Bent Identity \(f(x)={\frac {{\sqrt {x^{2}+1}}-1}{2}}+x\) \(f'(x)={\frac {x}{2{\sqrt {x^{2}+1}}}}+1\) \((-\infty, \infty)\) \(C^\infty\) Yes Yes Yes
ArcTan \(f(x)=\tan ^{-1}(x)\) \(f'(x)={\frac {1}{x^{2}+1}}\) \(\left ( -\frac{\pi}{2},\frac{\pi}{2} \right )\) \(C^\infty\) Yes No Yes
Adaptive piecewise linear (APL) \(\displaystyle f(x)=\max(0,x)+\sum _{s=1}^{S}a_{i}^{s}\max(0,-x+b_{i}^{s})\) \(\displaystyle f'(x)=H(x)-\sum _{s=1}^{S}a_{i}^{s}H(-x+b_{i}^{s})\) \((-\infty, \infty)\) \(C^0\) No No No
LS0tDQp0aXRsZTogIkZ1bmNpb25lcyBkZSBBY3RpdmFjacOzbiBwYXJhIE5ldXJvbmFzIGVuIFJlZGVzIENvbXB1dGFjaW9uYWxlcyINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCnwgICAgICAgICAgICAgICAgICAgICAqKk5vbWJyZSoqICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipFY3VhY2nDs24qKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKkRlcml2YWRhIChjb24gcmVzcGVjdG8gYSB4KSoqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgKipSYW5nbyoqICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICoqT3JkZW4gZGUgQ29udGludWlkYWQqKiAgICAgICAgIAl8ICAgICAgKipNb25vdMOzbmljYSoqICAgICAJfCAgICAgKipEZXJpdmFkYSBNb25vdMOzbmljYSoqICAgIAl8IEFwcm94aW1hdGVzIElkZW50aWZ5IE5lYXIgdGhlIE9yaWdpbiAJfA0KfDotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tOgl8Oi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tOgl8Oi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS06CXw6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS06CXw6LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLToJfDotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLToJfDotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS06CXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQl8DQp8ICAgICAgICAgICAgICAgICAgICAgICAgVGFuSCAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKHgpID0gdGFuaCh4KSA9IFxmcmFjezJ9ezErZV4yeH0tMSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmJyh4KSA9IDEgLSBmKHgpXjIkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkKC0xLDEpJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAkQ15caW5mdHkkICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwNCnwgU29mdFNpZ24gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKHgpPSBcZnJhY3t4fXsxK3x4fH0kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZicoeCk9MS1mKHgpXjIkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICQoLTEsMSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRDXjEkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgWWVzICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfA0KfCBTb2Z0UGx1cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRcZGlzcGxheXN0eWxlIGYoeCk9XGxuKDErZV57eH0pJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFxkaXNwbGF5c3R5bGUgZicoeCk9e1xmcmFjIHsxfXsxK2Veey14fX19JCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJCgwLFxpbmZ0eSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJENeXGluZnR5JCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8DQp8IFNvZnRFeHBvbmVudGlhbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJGYoXGFscGhhICx4KSA9IFxsZWZ0XHt7XGJlZ2lue2FycmF5fXtyY2x9LXtcZnJhYyB7XGxuKDEtXGFscGhhICh4K1xhbHBoYSApKX17XGFscGhhIH19e1xtYm94eyBmb3IgfX1cYWxwaGEgPCAwXFx4e1xtYm94eyBmb3IgfX1cYWxwaGEgPTBcXHtcZnJhYyB7ZV57XGFscGhhIHh9LTF9e1xhbHBoYSB9fStcYWxwaGEge1xtYm94eyBmb3IgfX1cYWxwaGEgPiAwXGVuZHthcnJheX19XHJpZ2h0LiQgCXwgJGYnKFxhbHBoYSAseCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH17XGZyYWMgezF9ezEtXGFscGhhIChcYWxwaGEgK3gpfX17XG1ib3h7IGZvciB9fVxhbHBoYSA8MFxcZV57XGFscGhhIHh9e1xtYm94eyBmb3IgfX1cYWxwaGEgXGdlcSAwXGVuZHthcnJheX19XHJpZ2h0LiQgICAgICAgICAJfCAkKC0gXGluZnR5LFxpbmZ0eSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkQ15caW5mdHkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgaWZmICRcYWxwaGEgPSAwJCAgICAgICAgICAgICAgICAgCXwNCnwgU2ludXNvaWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZih4KT1cc2luKHgpJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGYnKHgpPVxjb3MoeCkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRbLTEsMV0kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRDXlxpbmZ0eSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfA0KfCBTaW5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGYoeCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH0xe1xtYm94eyBmb3IgfX14PTBcXHtcZnJhYyB7XHNpbih4KX17eH19e1xtYm94eyBmb3IgfX14XG5lcSAwXGVuZHthcnJheX19XHJpZ2h0LiQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgJGYnKHgpPVxsZWZ0XHt7XGJlZ2lue2FycmF5fXtyY2x9MHtcbWJveHsgZm9yIH19eD0wXFx7XGZyYWMge1xjb3MoeCl9e3h9fS17XGZyYWMge1xzaW4oeCl9e3heezJ9fX17XG1ib3h7IGZvciB9fXhcbmVxIDBcZW5ke2FycmF5fX1ccmlnaHQuJCAgICAgICAgICAgICAgCXwgJFtcYXBwcm94IC0uMjE3MjM0LDFdJCAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJENeXGluZnR5JCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBObyAgICAgICAgICAgICAgICAgICAgICAJfCBObyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8DQp8IFNjYWxlZCBleHBvbmVudGlhbCBsaW5lYXIgdW5pdCAoU0VMVSkgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGYoXGFscGhhICx4KT1cbGFtYmRhIFxsZWZ0XHt7XGJlZ2lue2FycmF5fXtyY2x9XGFscGhhIChlXnt4fS0xKXtcbWJveHsgZm9yIH19eDwwXFx4e1xtYm94eyBmb3IgfX14XGdlcSAwXGVuZHthcnJheX19XHJpZ2h0LiQgICAkXGxhbWJkYSA9MS4wNTA3JCB5ICRcYWxwaGEgPTEuNjczMjYkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgJGYnKFxhbHBoYSAseCk9XGxhbWJkYSBcbGVmdFx7e1xiZWdpbnthcnJheX17cmNsfWYoXGFscGhhICx4KStcYWxwaGEge1xtYm94eyBmb3IgfX14PDBcXDF7XG1ib3h7IGZvciB9fXhcZ2VxIDBcZW5ke2FycmF5fX1ccmlnaHQuJCAgICAgICAgICAgICAgICAgICAJfCAkKC1cbGFtYmRhIFxhbHBoYSxcaW5mdHkpJCAgICAgICAgICAgICAgICAgICAgICAJfCAkQ14wJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBObyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwNCnwgUmVjdGlmaWVkIGxpbmVhciB1bml0IChSZUxVKSAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKHgpPVxsZWZ0XHt7XGJlZ2lue2FycmF5fXtyY2x9MHtcbWJveHsgZm9yIH19eDwwXFx4e1xtYm94eyBmb3IgfX14XGdlcSAwXGVuZHthcnJheX19XHJpZ2h0LiQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZicoeCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH0wJntcbWJveHtmb3J9fSZ4PDBcXDEme1xtYm94e2Zvcn19JnhcZ2VxIDBcZW5ke2FycmF5fX1ccmlnaHQuJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRbMCxcaW5mdHkpJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRDXjAkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgWWVzICAgICAgICAgICAgICAgICAgICAgCXwgWWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfA0KfCBSYW5kb21pemVkIGxlYWt5IHJlY3RpZmllZCBsaW5lYXIgdW5pdCAoUlJlTFUpICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKFxhbHBoYSAseCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH1cYWxwaGEgeCB7XG1ib3h7IGZvciB9fXg8MFxceHtcbWJveHsgZm9yIH19eFxnZXEgMFxlbmR7YXJyYXl9fVxyaWdodC4kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGYnKFxhbHBoYSAseCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH1cYWxwaGEge1xtYm94eyBmb3IgfX14PDBcXDF7XG1ib3h7IGZvciB9fXhcZ2VxIDBcZW5ke2FycmF5fX1ccmlnaHQuJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJCgtXGluZnR5LCBcaW5mdHkpJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJENeMCQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8DQp8IFBhcmFtZXRyaWMgcmVjdGlmaWVkIGxpbmVhciB1bml0IChQUmVMVSkgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKFxhbHBoYSAseCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH1cYWxwaGEgeHtcbWJveHsgZm9yIH19eDwwXFx4e1xtYm94eyBmb3IgfX14XGdlcSAwXGVuZHthcnJheX19XHJpZ2h0LiQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZicoXGFscGhhICx4KT1cbGVmdFx7e1xiZWdpbnthcnJheX17cmNsfVxhbHBoYSB7XG1ib3h7IGZvciB9fXg8MFxcMXtcbWJveHsgZm9yIH19eFxnZXEgMFxlbmR7YXJyYXl9fVxyaWdodC4kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkKC1caW5mdHksIFxpbmZ0eSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkQ14wJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyBpZmYgJFxhbHBoYSBcZ2VxIDAkIAl8IFllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgaWZmICRcYWxwaGEgPSAxJCAgICAgICAgICAgICAgICAgCXwNCnwgTG9naXN0aWMgKGEuay5hIHNvZnQgc3RlcCkgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKHgpPXtcZnJhYyB7MX17MStlXnsteH19fSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGYnKHgpPWYoeCkoMS1mKHgpKSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICgwLDEpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRDXlxpbmZ0eSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgWWVzICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfA0KfCBMZWFreSByZWN0aWZpZWQgbGluZWFyIHVuaXQgKExlYWt5IFJlTFUpICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKHgpPVxsZWZ0XHt7XGJlZ2lue2FycmF5fXtyY2x9MC4wMXh7XG1ib3h7IGZvciB9fXg8MFxceHtcbWJveHsgZm9yIH19eFxnZXEgMFxlbmR7YXJyYXl9fVxyaWdodC4kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZicoeCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH0wLjAxe1xtYm94eyBmb3IgfX14PDBcXDF7XG1ib3h7IGZvciB9fXhcZ2VxIDBcZW5ke2FycmF5fX1ccmlnaHQuJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJCgtXGluZnR5LCBcaW5mdHkpJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJENeMCQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8DQp8IElkZW50aXR5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZih4KSA9IHgkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZicnKHgpID0gMSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkKC1caW5mdHksIFxpbmZ0eSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkQ15caW5mdHkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwNCnwgR2F1c3NpYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGYoeCk9ZV4teF4yJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmJyh4KSA9IC0yeGVeLXheMiQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICQoMCwxXSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRDXlxpbmZ0eSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgCXwgTm8gICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfA0KfCBFeHBvbmVudGlhbCBsaW5lYXIgdW5pdCAoRUxVKSAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKFxhbHBoYSAseCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH1cYWxwaGEgKGVee3h9LTEpe1xtYm94eyBmb3IgfX14PDBcXHh7XG1ib3h7IGZvciB9fXhcZ2VxIDBcZW5ke2FycmF5fX1ccmlnaHQuJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAkZicoXGFscGhhICx4KT1cbGVmdFx7e1xiZWdpbnthcnJheX17cmNsfWYoXGFscGhhICx4KStcYWxwaGEge1xtYm94eyBmb3IgfX14PDBcXDF7XG1ib3h7IGZvciB9fXhcZ2VxIDBcZW5ke2FycmF5fX1ccmlnaHQuJCAgICAgICAgICAgICAgICAgICAgICAgCXwgJCgtXGFscGhhLFxpbmZ0eSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJENeMSQgd2hlbiAkXGFscGhhID0gMSQsIG90aGVyd2lzZSAkQ14wJCAJfCBZZXMgaWZmICRcYWxwaGEgXGdlcSAwJCAJfCBZZXMgaWZmICQwIFxsZXEgXGFscGhhIFxsZXEgMSQgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8DQp8IEJpbmFyeSBzdGVwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRcZGlzcGxheXN0eWxlIGYoeCk9XGxlZnRce3tcYmVnaW57YXJyYXl9e3JjbH0we1xtYm94eyBmb3IgfX14IDwwXFwxe1xtYm94eyBmb3IgfX14XGdlcSAwXGVuZHthcnJheX19XHJpZ2h0LiQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkXGRpc3BsYXlzdHlsZSBmJyh4KT1cbGVmdFx7e1xiZWdpbnthcnJheX17cmNsfTB7XG1ib3h7IGZvciB9fXhcbmVxIDBcXD97XG1ib3h7IGZvciB9fXg9MFxlbmR7YXJyYXl9fVxyaWdodC4kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCB7MCwxfSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkQ157LTF9JCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBObyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwNCnwgQmVudCBJZGVudGl0eSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKHgpPXtcZnJhYyB7e1xzcXJ0IHt4XnsyfSsxfX0tMX17Mn19K3gkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZicoeCk9e1xmcmFjIHt4fXsye1xzcXJ0IHt4XnsyfSsxfX19fSsxJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICQoLVxpbmZ0eSwgXGluZnR5KSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICRDXlxpbmZ0eSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgWWVzICAgICAgICAgICAgICAgICAgICAgCXwgWWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IFllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfA0KfCBBcmNUYW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmKHgpPVx0YW4gXnstMX0oeCkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmJyh4KT17XGZyYWMgezF9e3heezJ9KzF9fSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgJFxsZWZ0ICggLVxmcmFje1xwaX17Mn0sXGZyYWN7XHBpfXsyfSBccmlnaHQgKSQgCXwgJENeXGluZnR5JCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBZZXMgICAgICAgICAgICAgICAgICAgICAJfCBObyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgWWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8DQp8IEFkYXB0aXZlIHBpZWNld2lzZSBsaW5lYXIgKEFQTCkgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJFxkaXNwbGF5c3R5bGUgZih4KT1cbWF4KDAseCkrXHN1bSBfe3M9MX1ee1N9YV97aX1ee3N9XG1heCgwLC14K2Jfe2l9XntzfSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkXGRpc3BsYXlzdHlsZSBmJyh4KT1IKHgpLVxzdW0gX3tzPTF9XntTfWFfe2l9XntzfUgoLXgrYl97aX1ee3N9KSQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkKC1caW5mdHksIFxpbmZ0eSkkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCAkQ14wJCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgIAl8IE5vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAJfCBObyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCXwNCg==