CINXE.COM

Learn today, build a brighter tomorrow. | Code.org

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <script charset="UTF-8" src="/onetrust/cdo/consent/27cca70a-7db3-4852-9ef0-a6660fd0977d/OtAutoBlock.js" type="text/javascript"></script> <script charset="UTF-8" data-domain-script="27cca70a-7db3-4852-9ef0-a6660fd0977d" src="/onetrust/cdo/scripttemplates/otSDKStub.js" type="text/javascript"></script> <script> function OptanonWrapper() { } </script> <meta content="EWBLxcxuqqtcdWikkxAOnMoaawa6XDoEPlvwO6wOg-A" name="google-site-verification"> <meta content="Code.org" property="og:site_name"> <meta content="500177453358606" property="fb:app_id"> <meta content="article" property="og:type"> <meta content="https://www.facebook.com/Code.org" property="article:publisher"> <meta content="https://code.org/" property="og:url"> <meta content="@codeorg" property="twitter:site"> <meta content="https://code.org/" property="twitter:url"> <meta content="Learn computer science. Change the world." property="og:title"> <meta content="Learn computer science. Change the world." property="twitter:title"> <meta content="Every student in every school deserves the opportunity to study computer science." name="description"> <meta content="Every student in every school deserves the opportunity to study computer science." property="og:description"> <meta content="Every student in every school deserves the opportunity to study computer science." property="twitter:description"> <meta content="https://code.org/images/default-og-image.png" property="og:image"> <meta content="https://code.org/images/default-og-image.png" property="twitter:image:src"> <meta content="1220" property="og:image:width"> <meta content="640" property="og:image:height"> <meta content="photo" property="twitter:card"> <title>Learn today, build a brighter tomorrow. | Code.org</title> <link href="/images/favicon.ico" rel="shortcut icon"> <link href="/images/apple-touch-icon-precomposed.png" rel="apple-touch-icon"> <script src="https://www.googleoptimize.com/optimize.js?id=OPT-KBX3C3L"></script> <script data-statsig-api-client-key="client-vmRbxXpfzwSHFlsYHgqFMfMqa6zFnr7PHfZYnhNtItg"></script> <script data-managed-test-server="false"></script> <script data-ge-region=""></script> <script>// Inline critical-font (~5k gzipped) into HTML that renders immediately. // Include this JS view in the head of common site entry-points. var supportsFontLoading = !!document.fonts && ("FontFace" in window); if (supportsFontLoading) { var fontData = [79,84,84,79,0,14,0,128,0,3,0,96,67,70,70,32,60,124,123,224,0,0,10,32,0,0,78,139,71,68,69,70,17,225,17,16,0,0,88,172,0,0,0,162,71,80,79,83,140,171,108,193,0,0,89,80,0,0,33,28,71,83,85,66,142,26,102,77,0,0,122,108,0,0,7,224,79,83,47,50,96,90,29,167,0,0,1,80,0,0,0,96,99,109,97,112,147,22,239,94,0,0,5,180,0,0,4,74,103,97,115,112,0,0,0,16,0,0,130,76,0,0,0,8,104,101,97,100,31,152,219,249,0,0,0,236,0,0,0,54,104,104,101,97,7,89,3,123,0,0,1,36,0,0,0,36,104,109,116,120,150,216,80,212,0,0,130,84,0,0,7,40,109,97,120,112,1,202,80,0,0,0,1,72,0,0,0,6,110,97,109,101,99,254,139,135,0,0,1,176,0,0,4,4,112,111,115,116,255,159,0,50,0,0,10,0,0,0,0,32,112,114,101,112,104,6,140,133,0,0,137,124,0,0,0,7,0,1,0,0,0,2,0,66,105,125,190,24,95,15,60,245,0,3,3,232,0,0,0,0,220,141,53,104,0,0,0,0,224,83,98,179,255,84,255,36,4,76,3,149,0,0,0,6,0,2,0,0,0,0,0,0,0,1,0,0,3,182,255,6,0,0,4,109,255,84,254,61,4,76,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,202,0,0,80,0,1,202,0,0,0,4,2,24,1,144,0,5,0,0,2,138,2,88,0,0,0,75,2,138,2,88,0,0,1,94,0,50,1,44,0,0,0,0,0,0,0,0,0,0,0,0,160,0,0,111,0,0,0,123,0,0,0,0,0,0,0,0,78,79,78,69,0,192,0,13,34,101,3,182,255,6,0,0,3,211,0,222,0,0,0,147,0,0,0,0,1,244,2,188,0,0,0,32,0,3,0,0,0,15,0,186,0,3,0,1,4,9,0,0,0,168,0,0,0,3,0,1,4,9,0,1,0,14,0,168,0,3,0,1,4,9,0,2,0,14,0,182,0,3,0,1,4,9,0,3,0,52,0,196,0,3,0,1,4,9,0,4,0,30,0,248,0,3,0,1,4,9,0,5,0,58,1,22,0,3,0,1,4,9,0,6,0,30,1,80,0,3,0,1,4,9,0,8,0,24,1,110,0,3,0,1,4,9,0,9,0,24,1,110,0,3,0,1,4,9,0,11,0,50,1,134,0,3,0,1,4,9,0,12,0,50,1,134,0,3,0,1,4,9,0,13,1,34,1,184,0,3,0,1,4,9,0,14,0,54,2,218,0,3,0,1,4,9,1,0,0,30,3,16,0,3,0,1,4,9,1,1,0,28,3,46,0,67,0,111,0,112,0,121,0,114,0,105,0,103,0,104,0,116,0,32,0,50,0,48,0,50,0,50,0,32,0,84,0,104,0,101,0,32,0,70,0,105,0,103,0,116,0,114,0,101,0,101,0,32,0,80,0,114,0,111,0,106,0,101,0,99,0,116,0,32,0,65,0,117,0,116,0,104,0,111,0,114,0,115,0,32,0,40,0,104,0,116,0,116,0,112,0,115,0,58,0,47,0,47,0,103,0,105,0,116,0,104,0,117,0,98,0,46,0,99,0,111,0,109,0,47,0,101,0,114,0,105,0,107,0,100,0,107,0,101,0,110,0,110,0,101,0,100,0,121,0,47,0,102,0,105,0,103,0,116,0,114,0,101,0,101,0,41,0,70,0,105,0,103,0,116,0,114,0,101,0,101,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,50,0,46,0,48,0,48,0,49,0,59,0,78,0,79,0,78,0,69,0,59,0,70,0,105,0,103,0,116,0,114,0,101,0,101,0,45,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,70,0,105,0,103,0,116,0,114,0,101,0,101,0,32,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,32,0,50,0,46,0,48,0,48,0,49,0,59,0,103,0,102,0,116,0,111,0,111,0,108,0,115,0,91,0,48,0,46,0,57,0,46,0,50,0,55,0,93,0,70,0,105,0,103,0,116,0,114,0,101,0,101,0,45,0,82,0,101,0,103,0,117,0,108,0,97,0,114,0,69,0,114,0,105,0,107,0,32,0,75,0,101,0,110,0,110,0,101,0,100,0,121,0,104,0,116,0,116,0,112,0,115,0,58,0,47,0,47,0,101,0,114,0,105,0,107,0,100,0,107,0,101,0,110,0,110,0,101,0,100,0,121,0,46,0,99,0,111,0,109,0,47,0,84,0,104,0,105,0,115,0,32,0,70,0,111,0,110,0,116,0,32,0,83,0,111,0,102,0,116,0,119,0,97,0,114,0,101,0,32,0,105,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,100,0,32,0,117,0,110,0,100,0,101,0,114,0,32,0,116,0,104,0,101,0,32,0,83,0,73,0,76,0,32,0,79,0,112,0,101,0,110,0,32,0,70,0,111,0,110,0,116,0,32,0,76,0,105,0,99,0,101,0,110,0,115,0,101,0,44,0,32,0,86,0,101,0,114,0,115,0,105,0,111,0,110,0,32,0,49,0,46,0,49,0,46,0,32,0,84,0,104,0,105,0,115,0,32,0,108,0,105,0,99,0,101,0,110,0,115,0,101,0,32,0,105,0,115,0,32,0,97,0,118,0,97,0,105,0,108,0,97,0,98,0,108,0,101,0,32,0,119,0,105,0,116,0,104,0,32,0,97,0,32,0,70,0,65,0,81,0,32,0,97,0,116,0,58,0,32,0,104,0,116,0,116,0,112,0,115,0,58,0,47,0,47,0,115,0,99,0,114,0,105,0,112,0,116,0,115,0,46,0,115,0,105,0,108,0,46,0,111,0,114,0,103,0,47,0,79,0,70,0,76,0,104,0,116,0,116,0,112,0,115,0,58,0,47,0,47,0,115,0,99,0,114,0,105,0,112,0,116,0,115,0,46,0,115,0,105,0,108,0,46,0,111,0,114,0,103,0,47,0,79,0,70,0,76,0,83,0,105,0,110,0,103,0,108,0,101,0,45,0,115,0,116,0,111,0,114,0,101,0,121,0,32,0,97,0,68,0,105,0,115,0,97,0,109,0,98,0,105,0,103,0,117,0,97,0,116,0,105,0,111,0,110,0,0,0,2,0,0,0,3,0,0,0,20,0,3,0,1,0,0,0,20,0,4,4,54,0,0,0,96,0,64,0,5,0,32,0,13,0,47,0,57,0,126,0,172,1,19,1,39,1,43,1,55,1,62,1,72,1,77,1,97,1,101,1,126,1,206,2,27,2,55,2,199,2,221,3,4,3,8,3,12,3,18,3,40,30,133,30,158,30,243,32,20,32,26,32,30,32,34,32,38,32,58,32,68,32,112,32,121,32,137,32,172,33,34,33,94,33,147,33,153,34,18,34,21,34,96,34,101,255,255,0,0,0,13,0,32,0,48,0,58,0,160,0,174,1,22,1,42,1,46,1,57,1,65,1,74,1,80,1,100,1,106,1,205,2,24,2,55,2,198,2,216,3,0,3,6,3,10,3,18,3,38,30,128,30,158,30,242,32,19,32,24,32,28,32,32,32,38,32,57,32,68,32,112,32,116,32,128,32,172,33,34,33,91,33,144,33,150,34,18,34,21,34,96,34,100,255,255,1,73,0,0,0,222,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,254,127,254,251,0,0,0,0,0,0,0,0,254,164,254,145,0,0,225,189,0,0,225,87,0,0,0,0,0,0,225,54,225,66,224,244,224,218,224,218,224,192,224,226,224,99,223,225,0,0,0,0,223,129,223,124,223,55,0,0,0,1,0,0,0,94,0,0,0,122,1,2,1,26,1,228,2,6,2,8,2,26,2,36,2,50,2,56,2,90,2,92,2,132,2,134,0,0,0,0,2,136,2,146,2,154,2,158,0,0,0,0,2,158,0,0,2,166,0,0,2,166,2,170,2,174,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,160,2,166,0,0,0,0,0,0,2,166,0,0,1,84,1,93,1,125,1,100,1,141,1,161,1,128,1,126,1,109,1,110,1,99,1,146,1,89,1,105,1,88,1,101,1,90,1,91,1,153,1,150,1,152,1,95,1,127,0,1,0,13,0,14,0,20,0,24,0,33,0,34,0,39,0,42,0,51,0,54,0,56,0,61,0,62,0,68,0,78,0,80,0,81,0,85,0,92,0,95,0,105,0,106,0,111,0,112,0,117,1,113,1,102,1,114,1,159,1,108,1,190,0,130,0,142,0,143,0,149,0,153,0,162,0,163,0,168,0,171,0,181,0,185,0,187,0,192,0,193,0,199,0,209,0,211,0,212,0,216,0,223,0,226,0,236,0,237,0,242,0,243,0,248,1,111,1,135,1,112,1,158,1,85,1,94,1,139,1,143,1,140,1,144,1,136,1,130,1,188,1,131,1,12,1,121,1,157,1,132,1,198,1,134,1,156,1,76,1,77,1,191,1,160,1,129,1,97,1,199,1,75,1,13,1,122,1,58,1,57,1,59,1,96,0,7,0,2,0,5,0,11,0,6,0,10,0,12,0,17,0,30,0,25,0,27,0,28,0,48,0,44,0,45,0,46,0,23,0,66,0,72,0,69,0,70,0,76,0,71,1,148,0,75,0,100,0,96,0,98,0,99,0,113,0,79,0,222,0,136,0,131,0,134,0,140,0,135,0,139,0,141,0,146,0,159,0,154,0,156,0,157,0,177,0,173,0,174,0,175,0,152,0,197,0,203,0,200,0,201,0,207,0,202,1,149,0,206,0,231,0,227,0,229,0,230,0,244,0,210,0,246,0,8,0,137,0,3,0,132,0,9,0,138,0,15,0,144,0,18,0,147,0,19,0,148,0,16,0,145,0,21,0,150,0,22,0,151,0,31,0,160,0,29,0,158,0,32,0,161,0,26,0,155,0,36,0,165,0,35,0,164,0,38,0,167,0,37,0,166,0,41,0,170,0,40,0,169,0,49,0,178,0,50,0,179,0,47,0,172,0,43,0,180,0,53,0,184,0,55,0,186,0,57,0,188,0,59,0,190,0,58,0,189,0,60,0,191,0,63,0,194,0,65,0,196,0,64,0,195,0,67,0,198,0,74,0,205,0,73,0,204,0,77,0,208,0,82,0,213,0,84,0,215,0,83,0,214,0,86,0,217,0,89,0,220,0,88,0,219,0,87,0,218,0,93,0,224,0,102,0,233,0,97,0,228,0,104,0,235,0,101,0,232,0,103,0,234,0,108,0,239,0,114,0,245,0,115,0,118,0,249,0,120,0,251,0,119,0,250,0,4,0,133,0,90,0,221,0,94,0,225,1,195,1,189,1,196,1,200,1,197,1,192,1,172,1,173,1,176,1,180,1,181,1,178,1,171,1,170,1,179,1,174,1,177,0,110,0,241,0,107,0,238,0,109,0,240,0,116,0,247,1,119,1,120,1,115,1,117,1,118,1,116,1,137,1,138,1,98,1,168,1,162,1,164,1,166,1,169,1,163,1,165,1,167,1,155,1,154,0,0,0,3,0,0,0,0,0,0,255,156,0,50,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,2,0,1,1,1,16,70,105,103,116,114,101,101,45,82,101,103,117,108,97,114,0,1,1,1,48,249,4,0,249,5,12,0,249,6,2,249,7,3,251,64,251,112,250,224,250,41,5,29,0,0,21,209,15,29,0,0,24,165,16,144,29,0,0,70,249,18,29,0,0,24,167,17,0,237,2,0,1,0,7,0,14,0,21,0,28,0,34,0,40,0,51,0,61,0,67,0,73,0,79,0,89,0,96,0,103,0,109,0,120,0,127,0,137,0,141,0,152,0,154,0,164,0,171,0,178,0,189,0,200,0,207,0,213,0,219,0,226,0,232,0,238,0,245,0,248,1,5,1,12,1,18,1,24,1,31,1,37,1,45,1,56,1,63,1,70,1,76,1,83,1,89,1,102,1,109,1,116,1,121,1,127,1,138,1,147,1,153,1,164,1,170,1,176,1,186,1,192,1,199,1,210,1,226,1,240,1,255,2,10,2,22,2,34,2,40,2,47,2,54,2,61,2,67,2,73,2,84,2,94,2,100,2,106,2,112,2,122,2,129,2,136,2,142,2,153,2,160,2,170,2,174,2,185,2,194,2,201,2,208,2,210,2,217,2,228,2,239,2,246,2,252,3,2,3,9,3,15,3,21,3,28,3,31,3,44,3,51,3,57,3,63,3,70,3,76,3,84,3,95,3,102,3,108,3,115,3,121,3,134,3,141,3,148,3,153,3,159,3,170,3,179,3,185,3,196,3,202,3,208,3,218,3,224,3,235,3,246,4,2,4,18,4,32,4,43,4,55,4,67,4,77,4,88,4,94,4,105,4,116,4,128,4,139,4,148,4,155,4,161,4,167,4,175,4,182,4,189,4,195,4,203,4,211,4,218,4,230,4,239,4,247,4,255,5,9,5,18,5,27,5,35,5,45,5,55,5,64,5,73,5,81,5,89,5,99,5,108,5,117,5,125,5,135,5,145,5,154,5,161,5,168,5,175,5,182,5,189,5,196,5,203,5,210,5,217,5,224,5,231,5,238,5,245,5,252,6,3,6,10,6,17,6,24,6,31,6,38,6,45,6,47,6,52,6,74,6,101,6,105,6,112,6,120,6,132,6,141,6,148,6,155,6,162,6,172,6,179,6,188,6,195,6,204,6,211,6,218,6,225,6,234,6,243,6,250,7,5,7,12,7,19,7,26,7,33,7,42,7,49,7,56,7,63,7,70,7,77,7,88,7,102,7,120,7,123,7,201,7,216,7,223,65,98,114,101,118,101,117,110,105,48,49,67,68,65,109,97,99,114,111,110,65,111,103,111,110,101,107,67,97,99,117,116,101,67,99,97,114,111,110,67,99,105,114,99,117,109,102,108,101,120,67,100,111,116,97,99,99,101,110,116,68,99,97,114,111,110,68,99,114,111,97,116,69,99,97,114,111,110,69,100,111,116,97,99,99,101,110,116,69,109,97,99,114,111,110,69,111,103,111,110,101,107,71,98,114,101,118,101,71,99,105,114,99,117,109,102,108,101,120,117,110,105,48,49,50,50,71,100,111,116,97,99,99,101,110,116,72,98,97,114,72,99,105,114,99,117,109,102,108,101,120,73,74,73,100,111,116,97,99,99,101,110,116,73,109,97,99,114,111,110,73,111,103,111,110,101,107,117,110,105,48,48,52,65,48,51,48,49,74,99,105,114,99,117,109,102,108,101,120,117,110,105,48,49,51,54,76,97,99,117,116,101,76,99,97,114,111,110,117,110,105,48,49,51,66,78,97,99,117,116,101,78,99,97,114,111,110,117,110,105,48,49,52,53,69,110,103,79,104,117,110,103,97,114,117,109,108,97,117,116,79,109,97,99,114,111,110,82,97,99,117,116,101,82,99,97,114,111,110,117,110,105,48,49,53,54,83,97,99,117,116,101,83,99,101,100,105,108,108,97,83,99,105,114,99,117,109,102,108,101,120,117,110,105,48,50,49,56,117,110,105,49,69,57,69,84,99,97,114,111,110,117,110,105,48,50,49,65,85,98,114,101,118,101,85,104,117,110,103,97,114,117,109,108,97,117,116,85,109,97,99,114,111,110,85,111,103,111,110,101,107,85,114,105,110,103,87,97,99,117,116,101,87,99,105,114,99,117,109,102,108,101,120,87,100,105,101,114,101,115,105,115,87,103,114,97,118,101,89,99,105,114,99,117,109,102,108,101,120,89,103,114,97,118,101,90,97,99,117,116,101,90,100,111,116,97,99,99,101,110,116,73,46,115,115,48,50,73,74,46,115,115,48,50,73,97,99,117,116,101,46,115,115,48,50,73,99,105,114,99,117,109,102,108,101,120,46,115,115,48,50,73,100,105,101,114,101,115,105,115,46,115,115,48,50,73,100,111,116,97,99,99,101,110,116,46,115,115,48,50,73,103,114,97,118,101,46,115,115,48,50,73,109,97,99,114,111,110,46,115,115,48,50,73,111,103,111,110,101,107,46,115,115,48,50,97,98,114,101,118,101,117,110,105,48,49,67,69,97,109,97,99,114,111,110,97,111,103,111,110,101,107,99,97,99,117,116,101,99,99,97,114,111,110,99,99,105,114,99,117,109,102,108,101,120,99,100,111,116,97,99,99,101,110,116,100,99,97,114,111,110,100,99,114,111,97,116,101,99,97,114,111,110,101,100,111,116,97,99,99,101,110,116,101,109,97,99,114,111,110,101,111,103,111,110,101,107,103,98,114,101,118,101,103,99,105,114,99,117,109,102,108,101,120,117,110,105,48,49,50,51,103,100,111,116,97,99,99,101,110,116,104,98,97,114,104,99,105,114,99,117,109,102,108,101,120,105,46,108,111,99,108,84,82,75,105,109,97,99,114,111,110,105,111,103,111,110,101,107,105,106,117,110,105,48,50,51,55,117,110,105,48,48,54,65,48,51,48,49,106,99,105,114,99,117,109,102,108,101,120,117,110,105,48,49,51,55,108,97,99,117,116,101,108,99,97,114,111,110,117,110,105,48,49,51,67,110,97,99,117,116,101,110,99,97,114,111,110,117,110,105,48,49,52,54,101,110,103,111,104,117,110,103,97,114,117,109,108,97,117,116,111,109,97,99,114,111,110,114,97,99,117,116,101,114,99,97,114,111,110,117,110,105,48,49,53,55,115,97,99,117,116,101,115,99,101,100,105,108,108,97,115,99,105,114,99,117,109,102,108,101,120,117,110,105,48,50,49,57,116,99,97,114,111,110,117,110,105,48,50,49,66,117,98,114,101,118,101,117,104,117,110,103,97,114,117,109,108,97,117,116,117,109,97,99,114,111,110,117,111,103,111,110,101,107,117,114,105,110,103,119,97,99,117,116,101,119,99,105,114,99,117,109,102,108,101,120,119,100,105,101,114,101,115,105,115,119,103,114,97,118,101,121,99,105,114,99,117,109,102,108,101,120,121,103,114,97,118,101,122,97,99,117,116,101,122,100,111,116,97,99,99,101,110,116,97,46,115,115,48,49,97,97,99,117,116,101,46,115,115,48,49,97,98,114,101,118,101,46,115,115,48,49,117,110,105,48,49,67,69,46,115,115,48,49,97,99,105,114,99,117,109,102,108,101,120,46,115,115,48,49,97,100,105,101,114,101,115,105,115,46,115,115,48,49,97,103,114,97,118,101,46,115,115,48,49,97,109,97,99,114,111,110,46,115,115,48,49,97,111,103,111,110,101,107,46,115,115,48,49,97,114,105,110,103,46,115,115,48,49,97,116,105,108,100,101,46,115,115,48,49,108,46,115,115,48,50,108,97,99,117,116,101,46,115,115,48,50,108,99,97,114,111,110,46,115,115,48,50,117,110,105,48,49,51,67,46,115,115,48,50,108,115,108,97,115,104,46,115,115,48,50,122,101,114,111,46,115,115,48,50,122,101,114,111,46,116,102,111,110,101,46,116,102,116,119,111,46,116,102,116,104,114,101,101,46,116,102,102,111,117,114,46,116,102,102,105,118,101,46,116,102,115,105,120,46,116,102,115,101,118,101,110,46,116,102,101,105,103,104,116,46,116,102,110,105,110,101,46,116,102,122,101,114,111,46,116,102,46,115,115,48,50,122,101,114,111,46,100,110,111,109,111,110,101,46,100,110,111,109,116,119,111,46,100,110,111,109,116,104,114,101,101,46,100,110,111,109,102,111,117,114,46,100,110,111,109,102,105,118,101,46,100,110,111,109,115,105,120,46,100,110,111,109,115,101,118,101,110,46,100,110,111,109,101,105,103,104,116,46,100,110,111,109,110,105,110,101,46,100,110,111,109,122,101,114,111,46,110,117,109,114,111,110,101,46,110,117,109,114,116,119,111,46,110,117,109,114,116,104,114,101,101,46,110,117,109,114,102,111,117,114,46,110,117,109,114,102,105,118,101,46,110,117,109,114,115,105,120,46,110,117,109,114,115,101,118,101,110,46,110,117,109,114,101,105,103,104,116,46,110,117,109,114,110,105,110,101,46,110,117,109,114,117,110,105,50,48,56,48,117,110,105,50,48,56,49,117,110,105,50,48,56,50,117,110,105,50,48,56,51,117,110,105,50,48,56,52,117,110,105,50,48,56,53,117,110,105,50,48,56,54,117,110,105,50,48,56,55,117,110,105,50,48,56,56,117,110,105,50,48,56,57,117,110,105,50,48,55,48,117,110,105,48,48,66,57,117,110,105,48,48,66,50,117,110,105,48,48,66,51,117,110,105,50,48,55,52,117,110,105,50,48,55,53,117,110,105,50,48,55,54,117,110,105,50,48,55,55,117,110,105,50,48,55,56,117,110,105,50,48,55,57,117,110,105,48,48,65,48,67,82,46,110,117,108,108,112,101,114,105,111,100,99,101,110,116,101,114,101,100,46,108,111,99,108,67,65,84,112,101,114,105,111,100,99,101,110,116,101,114,101,100,46,108,111,99,108,67,65,84,46,99,97,115,101,69,117,114,111,117,110,105,50,50,49,53,110,111,116,101,113,117,97,108,103,114,101,97,116,101,114,101,113,117,97,108,108,101,115,115,101,113,117,97,108,117,110,105,48,48,66,53,97,114,114,111,119,117,112,117,110,105,50,49,57,55,97,114,114,111,119,114,105,103,104,116,117,110,105,50,49,57,56,97,114,114,111,119,100,111,119,110,117,110,105,50,49,57,57,97,114,114,111,119,108,101,102,116,117,110,105,50,49,57,54,117,110,105,48,51,48,56,117,110,105,48,51,48,55,103,114,97,118,101,99,111,109,98,97,99,117,116,101,99,111,109,98,117,110,105,48,51,48,66,117,110,105,48,51,48,67,46,97,108,116,117,110,105,48,51,48,50,117,110,105,48,51,48,67,117,110,105,48,51,48,54,117,110,105,48,51,48,65,116,105,108,100,101,99,111,109,98,117,110,105,48,51,48,52,117,110,105,48,51,49,50,117,110,105,48,51,50,54,117,110,105,48,51,50,55,117,110,105,48,51,50,56,117,110,105,48,51,50,56,46,97,108,116,117,110,105,48,51,48,52,46,110,97,114,114,111,119,100,111,108,108,97,114,46,66,82,65,67,75,69,84,46,53,53,48,50,46,49,67,111,112,121,114,105,103,104,116,32,50,48,50,50,32,84,104,101,32,70,105,103,116,114,101,101,32,80,114,111,106,101,99,116,32,65,117,116,104,111,114,115,32,104,116,116,112,115,58,103,105,116,104,117,98,46,99,111,109,101,114,105,107,100,107,101,110,110,101,100,121,102,105,103,116,114,101,101,70,105,103,116,114,101,101,32,82,101,103,117,108,97,114,70,105,103,116,114,101,101,0,149,2,0,1,0,82,0,125,0,128,0,195,0,232,0,254,1,7,1,19,1,30,1,38,1,46,1,56,1,61,1,83,1,94,1,138,1,199,1,227,1,246,2,2,2,11,2,17,2,24,2,34,2,40,2,43,2,82,2,155,2,164,2,172,2,184,2,199,2,212,2,230,2,249,2,254,3,19,3,30,3,43,3,51,3,59,3,64,3,75,3,82,3,92,3,101,3,107,3,127,3,133,3,158,3,211,3,235,4,4,4,10,4,24,4,102,4,105,4,175,4,204,4,211,5,19,5,68,5,71,5,130,5,177,5,226,5,232,6,21,6,66,6,90,6,115,6,151,6,167,6,179,6,189,6,201,6,226,6,246,7,26,7,33,7,47,7,78,7,85,7,114,7,133,7,137,7,153,7,165,7,182,7,194,7,219,7,244,7,249,8,6,8,26,8,43,8,46,8,56,8,64,8,77,8,99,8,121,8,142,8,163,8,183,8,203,8,214,8,220,8,225,8,243,8,255,9,2,9,19,9,34,9,50,9,54,9,70,9,85,9,100,9,115,9,124,9,138,9,152,9,165,9,172,9,182,9,195,9,198,9,210,9,222,9,234,9,246,10,2,10,12,10,22,10,33,10,41,10,50,10,60,10,70,10,80,10,90,10,100,10,109,10,118,10,127,10,136,10,145,10,154,21,207,188,168,189,169,31,143,72,5,212,6,140,247,163,5,247,50,140,71,222,251,31,27,46,79,96,70,101,31,211,110,5,187,165,177,160,194,27,220,177,91,45,146,31,251,32,6,251,13,68,83,38,42,208,83,247,10,31,143,209,21,69,99,171,191,196,175,171,232,31,247,15,119,6,44,84,81,52,30,14,21,247,54,247,3,246,247,49,31,248,87,55,252,87,7,251,2,63,62,251,3,251,1,63,216,247,2,30,248,87,54,252,87,7,251,49,247,2,32,247,50,30,14,21,108,29,21,247,91,247,32,247,41,247,105,247,104,251,32,247,42,251,94,251,93,251,33,251,41,251,105,251,105,247,35,251,41,247,94,31,216,4,251,44,251,0,247,10,247,59,247,59,246,247,10,247,42,247,43,245,251,10,251,59,251,59,34,251,10,251,41,31,14,21,247,37,242,247,0,247,46,247,46,36,247,0,251,39,251,37,168,29,247,38,31,213,4,178,29,217,237,238,209,53,29,70,62,41,31,14,21,248,52,216,251,223,247,136,247,192,215,251,192,247,118,247,221,216,252,50,6,14,21,228,6,221,218,222,76,29,11,129,29,112,116,117,111,112,162,116,166,31,11,21,230,6,251,11,247,22,5,36,6,11,21,247,199,212,251,199,6,11,50,29,251,139,22,65,29,11,248,207,56,29,247,21,5,36,6,11,21,238,118,29,11,21,247,17,247,12,217,247,3,191,31,97,29,251,104,247,33,251,42,247,93,31,14,248,219,21,227,6,222,218,221,73,29,11,21,229,6,247,58,248,203,247,55,252,203,5,230,6,247,109,249,80,5,54,6,251,69,252,209,251,58,248,209,5,55,6,251,62,252,211,251,66,248,211,5,55,6,14,89,152,5,83,153,110,165,165,26,185,175,167,201,197,180,120,94,156,30,209,170,5,203,115,71,180,51,27,251,14,76,84,44,77,192,88,230,115,31,187,126,5,200,123,171,116,97,26,94,91,113,76,85,89,170,184,117,30,69,110,11,107,209,166,163,146,151,157,30,114,196,5,136,132,120,131,116,27,116,126,151,158,184,183,177,184,172,31,11,21,165,161,161,165,165,117,161,113,113,117,117,113,113,161,117,165,31,11,21,44,71,217,247,3,247,3,206,217,234,11,21,230,6,247,2,247,21,5,11,61,251,3,251,3,11,182,181,189,190,96,181,11,109,115,98,31,251,84,4,91,105,11,21,230,6,247,21,11,87,29,14,6,199,102,80,175,66,27,251,26,47,32,251,47,251,47,231,32,247,26,31,157,212,51,29,225,201,66,32,143,31,121,7,32,135,78,66,53,27,14,21,215,204,185,215,187,109,176,93,160,31,179,157,166,171,183,26,203,80,187,63,79,85,110,86,120,30,203,117,5,168,154,164,151,165,27,179,164,113,109,102,107,119,80,31,117,78,161,6,207,170,112,99,100,111,111,95,103,120,159,162,125,31,74,117,5,91,154,191,103,211,27,11,21,247,87,51,150,29,216,159,29,247,24,247,172,21,68,29,11,152,29,228,6,251,14,247,21,5,40,6,11,64,29,196,134,29,108,84,106,31,135,213,5,64,6,11,219,247,151,6,247,5,190,205,227,138,30,214,11,166,160,161,165,165,118,161,112,113,117,117,113,113,161,117,165,31,11,21,238,208,77,29,86,85,100,169,180,30,62,6,59,210,84,238,30,11,249,126,69,29,11,209,248,56,76,6,106,109,98,112,113,27,74,7,169,137,169,150,169,161,8,11,21,231,6,251,12,247,22,5,37,6,11,163,146,151,156,30,115,196,5,136,132,119,131,11,21,236,198,186,208,189,112,11,209,22,219,249,80,59,6,11,76,29,40,6,11,131,164,124,106,26,110,116,132,115,119,11,113,164,109,109,114,114,11,60,5,227,6,251,13,247,21,5,11,194,219,31,62,6,98,101,109,11,36,251,0,251,46,11,247,73,247,165,59,29,140,251,165,21,220,6,248,117,249,80,5,58,6,11,247,209,127,81,29,11,21,247,54,223,227,247,3,224,64,220,251,28,172,31,92,29,5,58,165,226,64,247,45,27,11,121,29,160,106,178,120,30,91,118,112,100,89,26,70,140,197,92,237,27,247,145,4,98,109,163,174,176,169,165,180,180,169,113,102,104,55,29,165,177,179,173,167,187,187,173,111,99,101,104,113,92,31,14,253,92,21,244,217,194,230,206,87,201,42,163,31,48,29,5,75,163,209,84,247,2,27,14,247,137,127,21,244,217,194,230,206,87,201,42,163,31,48,29,5,75,163,209,84,247,2,27,11,248,46,127,87,29,11,141,29,66,27,79,102,92,84,134,31,203,6,167,11,21,247,75,247,22,247,13,247,74,140,31,140,205,251,146,67,247,64,6,251,21,140,41,47,251,27,27,251,57,251,7,247,11,247,58,247,60,247,8,247,10,247,55,221,226,93,74,180,31,206,185,5,222,84,251,2,198,251,4,27,251,106,251,42,251,42,251,105,251,103,247,42,251,42,247,106,31,11,59,29,14,21,228,198,196,217,218,82,200,59,97,104,121,109,117,31,237,144,179,184,198,27,162,172,131,121,164,31,176,192,5,163,106,93,152,97,27,251,5,84,38,251,25,251,2,181,49,247,5,31,140,201,21,94,107,170,184,184,171,171,184,182,171,107,94,95,107,107,96,31,14,113,29,94,79,27,116,107,148,156,114,31,102,87,146,29,182,171,172,183,183,171,106,96,95,107,106,95,31,14,247,80,247,165,93,29,11,62,158,5,72,155,94,170,204,26,212,195,186,229,225,201,98,74,164,30,219,167,5,216,113,57,215,251,28,27,251,47,54,64,251,19,36,216,84,235,114,31,216,119,5,228,117,199,99,74,26,69,74,92,251,0,51,76,189,198,118,30,58,111,11,172,29,140,31,108,112,129,126,118,31,153,247,4,5,247,62,205,251,125,6,115,251,119,204,124,171,29,107,94,95,107,108,93,110,111,152,167,119,31,74,116,5,85,164,204,112,195,27,11,95,29,14,224,247,167,247,24,6,145,144,139,140,145,31,247,53,251,168,5,232,6,251,63,247,184,5,225,171,196,211,231,26,247,17,43,226,251,28,30,251,120,6,224,251,239,21,247,163,247,33,7,227,200,83,59,60,79,83,64,31,11,120,30,91,118,113,100,89,26,70,197,92,237,30,247,145,4,98,109,163,174,176,169,165,180,180,169,113,102,104,55,29,165,177,179,173,167,187,187,173,111,99,101,104,113,92,31,14,65,176,5,50,99,50,77,46,27,251,43,32,247,10,247,61,247,59,245,247,10,247,41,230,229,82,58,180,31,212,175,5,245,89,251,12,212,251,17,27,251,92,251,32,251,42,251,104,11,253,80,21,63,29,14,247,43,251,104,21,166,163,146,151,157,31,114,196,5,136,132,120,131,116,27,117,125,151,158,184,183,177,184,172,31,75,149,5,88,103,92,95,91,26,77,183,107,209,30,14,21,168,165,147,161,174,31,108,204,5,121,113,127,136,123,27,89,111,167,190,31,247,180,247,42,210,251,42,247,48,59,251,48,52,68,226,251,188,7,47,195,86,236,30,11,85,112,91,102,68,27,43,70,203,247,2,133,31,248,29,6,247,58,50,247,3,251,31,11,248,202,141,29,65,27,80,102,92,84,134,31,203,6,167,145,150,149,160,174,148,67,216,27,11,248,193,21,191,54,29,87,86,96,97,88,89,182,97,192,31,193,4,116,125,153,163,164,153,153,162,162,152,125,114,115,126,125,116,31,11,61,29,116,252,242,21,221,6,248,117,249,80,5,57,6,11,86,29,146,149,149,161,173,148,67,216,27,11,64,29,197,134,29,109,84,106,31,11,247,212,127,21,247,54,115,29,247,53,31,11,154,29,228,6,251,177,249,80,5,51,6,54,252,61,21,247,21,247,213,247,21,251,213,5,14,6,94,105,100,99,95,26,77,184,107,208,167,70,29,117,27,116,170,29,11,232,22,220,247,156,6,201,203,247,157,251,220,5,242,6,251,206,248,21,247,193,247,207,5,33,6,251,203,251,216,5,247,216,58,7,11,247,8,248,252,119,29,14,132,29,248,195,59,252,203,7,47,188,86,225,30,11,21,247,7,192,241,247,24,247,1,99,230,251,6,49,80,82,61,60,196,78,220,181,173,157,168,161,31,41,134,100,11,247,62,248,201,66,29,14,247,5,247,42,247,104,247,104,251,5,247,42,251,54,251,53,251,5,251,42,251,104,251,104,247,5,251,42,11,5,190,74,29,115,150,149,118,30,120,91,5,117,180,168,134,164,27,14,253,255,122,29,6,247,13,247,21,5,49,6,58,56,58,222,5,49,6,11,39,29,98,252,252,21,219,248,136,59,6,11,248,201,156,29,85,101,169,180,30,62,6,59,209,84,238,30,11,71,29,178,91,160,31,178,158,161,158,29,11,21,248,180,217,252,74,6,248,77,248,181,5,216,252,180,62,248,74,7,252,77,252,181,5,14,21,248,38,209,251,191,6,247,188,248,4,5,201,252,35,69,247,187,7,251,187,252,2,5,14,232,22,127,29,11,55,251,80,21,207,6,204,247,32,5,52,6,14,21,51,76,217,247,3,247,3,202,217,228,234,206,53,29,71,61,44,31,14,174,29,224,249,80,54,252,198,6,252,53,248,198,5,53,6,11,133,29,14,21,166,162,162,166,167,116,161,112,11,21,230,6,247,3,142,29,11,248,207,21,231,6,251,11,247,22,5,36,6,11,21,167,165,147,161,173,31,108,204,5,121,113,128,137,125,27,100,117,167,189,31,11,219,247,167,6,247,4,227,179,228,30,214,7,70,71,111,76,99,31,228,59,7,11,106,251,40,31,251,148,219,247,172,7,247,57,140,60,206,251,8,27,68,85,11,243,125,21,169,164,164,169,170,114,164,109,109,113,114,108,109,165,114,169,31,11,5,214,248,136,59,251,150,6,251,6,88,74,52,63,82,172,247,40,30,11,248,207,21,238,6,247,14,247,21,5,49,6,58,56,58,222,5,49,6,11,249,138,21,227,6,222,218,221,73,29,11,201,247,172,147,29,11,186,22,144,29,11,21,198,173,187,193,146,31,75,6,114,135,130,126,116,101,129,211,11,247,21,5,36,6,251,171,251,21,52,29,11,147,29,14,247,179,216,38,248,182,240,216,251,179,62,240,252,182,38,6,11,98,174,189,112,30,75,102,5,74,169,201,79,237,27,14,5,115,172,183,126,182,27,152,247,111,21,96,106,171,184,11,21,151,29,11,247,126,22,223,249,3,247,115,216,252,166,62,247,115,6,11,194,82,70,90,102,84,89,102,31,251,37,251,1,5,11,208,227,216,202,62,247,161,63,6,251,80,251,166,5,11,219,6,247,70,248,1,5,194,251,183,73,247,102,7,11,21,227,6,222,218,221,60,5,11,21,239,190,193,244,31,248,192,59,252,190,7,81,11,228,6,219,247,92,5,247,211,6,219,251,92,5,11,248,207,21,231,6,247,20,247,21,5,36,6,11,21,238,209,77,29,85,11,249,122,56,29,247,15,5,36,6,11,172,181,26,206,85,186,51,51,85,92,72,97,11,144,165,29,65,113,24,160,72,206,77,247,9,129,8,11,6,170,247,92,5,75,6,107,251,92,5,11,153,163,161,153,125,114,115,125,125,117,31,11,232,22,248,51,216,251,222,249,3,54,6,11,249,93,21,71,6,61,251,24,5,228,6,11,21,247,10,247,66,5,251,66,7,14,21,208,6,204,247,32,5,51,6,14,6,149,160,160,162,162,156,208,189,24,11,78,29,251,46,243,251,0,11,88,5,90,103,108,94,102,26,14,125,151,158,184,183,177,185,172,31,11,5,156,152,164,152,165,27,184,170,11,21,225,201,197,223,214,83,193,68,11,21,207,6,217,247,104,5,50,6,11,224,248,201,6,248,54,252,201,5,11,189,106,251,40,31,251,148,219,11,21,212,198,175,200,176,31,143,11,224,247,214,248,32,251,214,223,11,40,69,216,247,3,247,3,208,11,236,75,208,47,48,75,70,42,11,180,190,173,120,173,90,157,31,11,1,0,34,0,0,171,0,1,135,1,0,172,2,1,137,1,0,175,1,0,138,0,0,35,1,1,139,1,0,177,0,1,141,1,0,37,0,1,143,1,0,154,0,0,38,0,0,178,0,1,145,0,0,179,1,1,146,0,0,181,0,1,147,1,0,39,1,1,149,3,0,41,0,1,153,1,0,42,0,1,155,0,0,182,2,1,156,0,0,185,0,1,157,1,0,43,0,1,159,1,0,44,0,1,161,0,0,45,0,1,162,2,0,140,0,0,46,1,1,165,2,0,186,0,1,168,0,0,48,0,0,187,3,1,169,1,0,141,0,0,191,0,0,142,0,0,49,0,0,157,0,0,50,1,1,171,2,0,52,0,1,174,0,0,192,0,1,175,3,0,53,0,1,179,1,0,54,0,0,193,0,1,181,0,0,194,2,1,182,3,0,55,1,1,186,3,0,57,1,0,197,0,1,190,0,0,198,0,1,191,0,0,59,0,1,192,0,0,199,0,1,193,9,0,66,0,0,200,0,1,203,1,0,201,2,1,205,1,0,204,1,0,144,0,0,67,1,1,207,1,0,206,0,1,209,1,0,69,0,1,211,1,0,167,0,0,70,0,0,207,0,1,213,0,0,208,1,1,214,0,0,210,0,1,215,1,0,71,1,1,217,3,0,73,0,1,221,1,0,74,0,0,145,0,0,211,2,1,223,0,0,214,0,1,224,2,0,75,0,1,227,2,0,76,0,1,230,0,0,77,0,1,231,2,0,146,0,0,78,1,1,234,2,0,215,0,1,237,0,0,80,0,0,216,3,1,238,1,0,147,0,0,220,0,0,148,0,0,81,0,0,162,0,0,82,1,1,240,2,0,84,0,1,243,0,0,221,0,1,244,2,0,149,0,0,85,0,1,247,1,0,86,0,0,222,0,1,249,0,0,223,2,1,250,3,0,87,1,1,254,3,0,89,1,0,226,0,2,2,0,0,227,0,2,3,0,0,91,0,2,4,0,0,228,0,2,5,16,0,139,0,0,143,0,0,17,9,2,22,31,0,99,0,0,155,0,0,158,0,0,163,0,1,64,3,2,54,19,0,1,0,2,74,2,0,15,0,0,13,0,0,27,1,0,121,0,0,2,0,0,96,0,0,32,0,0,123,0,0,114,0,0,116,0,0,11,0,0,4,0,0,16,0,0,61,0,2,77,1,0,14,0,0,111,0,0,137,0,0,64,0,0,9,1,0,92,0,0,94,0,0,60,0,0,62,0,0,117,1,0,105,0,0,119,0,0,65,0,0,8,0,0,106,0,0,120,0,0,107,1,0,3,0,0,104,0,0,33,0,0,7,0,0,115,0,0,102,0,0,170,0,0,165,0,0,153,0,0,161,0,0,93,0,0,160,0,0,112,1,0,97,0,0,103,0,0,5,0,2,79,0,0,98,0,0,100,0,2,80,0,0,12,0,0,166,0,0,168,0,0,159,0,0,30,0,2,81,0,0,31,0,0,29,0,2,82,1,0,156,0,0,151,0,0,95,0,0,63,0,2,84,0,0,6,0,2,85,25,0,131,0,0,130,0,0,124,1,0,134,0,0,126,0,0,136,0,0,129,0,0,132,0,0,127,1,0,133,0,0,135,0,2,111,0,1,0,1,202,2,0,1,0,25,0,30,0,48,0,77,0,90,0,105,0,118,0,129,0,142,0,180,0,193,0,206,0,246,1,62,1,68,1,80,1,93,1,154,1,168,1,180,1,233,2,38,2,42,2,46,2,60,2,71,2,90,2,103,2,115,2,128,2,140,2,152,2,168,2,188,2,193,2,206,2,217,2,226,2,239,2,245,3,25,3,42,3,52,3,67,3,84,3,94,3,111,3,124,3,137,3,150,3,179,3,185,3,198,3,209,3,213,3,220,3,224,3,235,3,255,4,6,4,42,4,78,4,83,4,100,4,123,4,133,4,174,4,221,4,228,4,249,5,6,5,20,5,32,5,43,5,62,5,178,5,191,6,27,6,71,6,120,6,214,6,218,6,232,6,245,6,253,7,1,7,11,7,22,7,61,7,75,7,80,7,166,7,170,7,205,7,213,7,219,7,236,8,4,8,16,8,29,8,40,8,50,8,63,8,140,8,169,8,193,8,240,8,254,9,12,9,26,9,40,9,84,9,116,9,128,9,140,9,152,9,164,9,191,9,202,9,212,9,241,9,246,9,255,10,11,10,21,10,38,10,52,10,65,10,77,10,100,10,106,10,116,10,126,10,137,10,148,10,158,10,168,10,180,11,17,11,27,11,37,11,140,11,155,11,161,11,171,11,182,11,243,11,253,12,9,12,19,12,67,12,87,12,186,12,192,12,202,12,215,12,229,12,242,12,254,13,9,13,22,13,81,13,126,13,132,13,166,13,177,13,187,13,199,13,204,13,224,13,236,13,240,13,250,14,4,14,14,14,33,14,37,14,50,14,67,14,97,14,151,14,181,14,188,14,201,14,213,14,218,14,225,14,230,14,247,15,0,15,7,15,38,15,104,15,108,15,117,15,127,15,134,15,149,15,203,15,209,15,219,15,233,15,246,16,1,16,15,16,28,16,134,16,146,17,3,17,36,17,52,17,105,17,110,17,122,17,136,17,143,17,148,17,157,17,167,17,234,18,8,18,14,18,84,18,89,18,110,18,120,18,127,18,138,18,151,18,164,18,176,18,186,18,205,18,217,18,254,19,33,19,58,19,106,19,118,19,130,19,145,19,158,19,203,19,210,19,221,19,232,19,244,20,0,20,28,20,38,20,49,20,63,20,69,20,79,20,89,20,100,20,112,20,122,20,132,20,145,20,204,20,214,20,224,20,229,20,242,20,251,21,4,21,45,21,125,21,169,21,204,21,231,22,34,22,39,22,77,22,130,22,205,22,213,23,20,23,102,23,165,23,200,23,235,24,36,24,41,24,79,24,132,24,207,24,216,25,23,25,105,25,168,25,175,25,183,25,189,25,196,25,202,25,209,25,216,25,223,25,230,25,237,25,245,25,250,26,1,26,10,26,18,26,23,26,31,26,36,26,44,26,52,26,63,26,116,26,126,26,155,26,169,26,226,26,235,26,244,26,251,27,2,27,8,27,86,27,92,27,99,27,106,27,112,27,119,27,126,27,134,27,142,27,149,27,157,27,165,27,174,27,182,27,189,27,197,27,205,27,208,27,211,27,213,27,215,27,220,27,224,27,246,28,27,28,67,28,97,28,134,28,209,29,30,29,38,29,63,29,109,29,196,29,211,29,230,29,250,30,16,30,29,30,40,30,52,30,64,30,111,30,156,30,217,31,19,31,36,31,54,31,58,31,77,31,106,31,121,31,137,31,147,31,175,31,207,31,214,31,232,31,243,31,248,32,144,33,22,33,55,33,200,34,81,34,194,34,247,35,35,35,47,35,67,35,106,35,176,36,3,36,106,36,191,37,49,37,115,37,172,37,184,37,210,37,223,38,12,38,69,38,91,38,143,38,172,38,202,38,241,39,22,39,59,39,75,39,134,39,160,39,190,40,22,40,54,40,83,40,117,40,143,40,174,40,201,40,232,41,5,41,12,41,18,41,27,41,32,41,42,41,47,41,51,41,58,41,60,41,89,41,123,41,129,41,134,41,139,41,173,41,175,41,210,41,221,41,230,41,238,41,249,42,1,42,13,42,21,42,30,42,34,42,43,42,87,42,95,42,119,42,123,42,186,231,239,251,62,21,248,144,250,84,252,144,6,197,254,26,21,249,224,248,28,253,224,7,14,200,149,22,108,29,200,247,162,249,122,50,10,247,15,5,37,6,252,14,253,245,34,29,200,247,231,249,120,21,237,209,77,29,86,85,100,169,180,30,62,6,59,210,84,238,30,251,221,253,120,34,29,200,247,179,249,126,39,10,251,48,253,255,34,29,200,247,58,249,138,38,29,39,6,251,169,254,11,34,29,200,248,98,249,175,90,10,251,97,253,175,34,29,200,247,243,67,29,251,103,254,0,34,29,200,247,77,249,130,41,29,251,67,253,203,34,29,200,149,22,154,29,150,6,93,105,100,99,140,95,8,77,183,49,29,251,177,42,10,51,6,54,252,61,21,247,21,247,213,247,21,251,213,5,14,200,247,230,249,112,92,10,251,220,253,166,34,29,200,248,56,249,121,105,29,252,46,253,121,34,29,248,21,149,22,234,6,247,13,247,92,5,247,169,251,92,248,51,216,251,222,65,10,252,117,6,251,58,252,61,21,247,104,247,240,5,160,251,240,6,14,134,232,22,247,142,6,247,30,223,209,247,13,216,100,196,69,172,31,195,171,171,191,207,26,247,14,51,207,251,33,30,251,114,6,223,251,199,21,247,127,247,27,7,231,194,96,64,66,93,95,61,31,251,50,251,209,21,247,136,247,32,7,241,200,92,60,66,86,94,51,31,14,244,248,24,127,45,29,244,247,209,249,126,34,10,92,254,11,45,29,244,247,227,249,126,44,29,247,67,254,11,45,29,244,247,249,251,102,21,209,167,180,190,173,121,173,90,157,31,147,159,247,15,142,247,7,216,190,247,1,25,97,29,251,86,247,11,251,35,247,66,117,31,116,84,5,190,74,29,115,150,149,119,30,119,91,5,117,181,167,134,165,27,14,244,247,105,249,138,38,29,40,6,192,254,23,45,29,244,248,22,249,171,38,10,141,253,183,45,29,211,232,22,247,106,6,247,87,247,32,247,37,247,97,247,98,251,32,247,36,251,87,31,251,106,6,224,253,2,21,248,181,247,21,7,247,31,247,3,251,14,251,43,251,43,251,3,251,13,251,31,31,14,211,247,148,249,126,39,10,97,253,255,21,247,106,6,247,87,247,32,247,37,247,97,247,98,251,32,247,36,251,87,31,251,106,6,224,253,2,21,248,181,247,21,7,247,31,247,3,251,14,251,43,251,43,251,3,251,13,251,31,31,14,247,27,78,10,247,27,78,10,115,232,22,248,52,216,251,223,65,10,252,50,6,14,115,247,129,157,29,251,153,253,245,37,29,115,247,146,249,126,137,10,58,56,59,222,5,49,6,99,253,255,37,29,115,247,25,249,138,56,10,251,53,254,11,37,29,115,248,64,249,175,42,29,51,253,175,37,29,115,247,197,249,171,38,10,251,104,253,171,37,29,115,247,210,249,126,40,29,45,254,0,37,29,115,247,43,249,130,41,29,81,253,203,37,29,115,232,22,247,229,109,29,216,251,223,65,10,252,50,7,14,66,232,22,224,247,199,247,184,216,251,184,247,131,247,223,216,252,52,6,14,247,36,85,29,14,247,36,248,22,249,145,66,29,163,253,157,57,29,247,36,247,110,117,10,210,254,24,57,29,247,36,85,29,55,251,80,47,10,247,36,248,22,249,196,38,10,163,253,208,57,29,247,27,232,22,110,10,247,27,232,22,177,29,248,137,227,208,51,247,22,55,251,22,252,32,247,22,54,251,22,51,70,227,6,224,37,21,241,248,32,37,7,14,247,27,247,97,249,138,38,29,40,6,251,126,254,11,21,110,10,251,237,232,22,224,249,80,54,6,14,247,61,232,22,224,249,80,54,6,248,11,253,92,94,10,251,237,207,249,122,56,29,247,15,5,36,6,47,253,245,40,10,251,237,103,138,29,147,254,11,40,10,251,233,247,97,249,175,50,29,251,26,62,10,161,253,175,40,10,251,237,247,28,249,171,39,29,96,253,171,40,10,251,237,247,41,249,126,40,29,214,254,0,40,10,251,237,122,249,130,49,10,247,2,253,203,40,10,251,237,232,22,145,6,94,105,100,99,95,26,77,184,107,208,167,70,29,116,27,117,170,29,249,80,54,7,14,38,247,89,127,60,10,38,247,212,249,121,34,10,251,133,254,6,60,10,38,247,107,117,10,251,31,254,24,60,10,133,110,29,14,133,110,29,247,20,57,10,43,163,29,14,43,206,249,126,34,10,47,253,255,129,10,43,247,127,248,226,21,207,6,204,247,60,5,55,6,251,83,253,138,129,10,43,163,29,247,0,57,10,43,232,22,248,51,216,251,222,247,154,6,247,5,192,5,212,7,251,5,86,5,247,180,54,251,219,7,49,98,5,66,7,229,180,5,14,247,122,232,22,224,248,198,6,247,137,251,255,247,137,248,1,5,252,200,223,249,80,52,7,251,134,251,250,251,134,247,250,5,51,6,14,247,50,124,29,14,247,50,247,206,249,122,50,10,247,22,5,36,6,251,230,101,10,247,50,247,223,249,122,21,238,6,247,14,247,22,5,49,6,58,69,10,251,9,101,10,247,50,124,29,247,102,254,24,166,29,247,50,248,100,249,117,21,198,173,188,136,10,101,129,211,65,27,80,102,91,85,134,31,203,6,167,145,150,148,160,174,148,67,216,27,252,7,253,117,104,10,247,50,232,22,174,29,143,88,6,81,116,109,94,125,117,146,152,108,30,108,71,5,122,177,171,131,164,27,240,190,192,245,31,249,133,54,252,198,7,252,53,248,198,5,53,6,14,247,52,248,27,127,35,29,247,52,247,210,249,122,21,234,6,247,26,247,15,5,32,6,90,254,1,35,29,247,52,247,108,249,138,46,10,193,254,23,35,29,247,52,248,148,249,175,55,10,247,18,253,187,35,29,247,52,248,37,67,29,247,12,254,12,35,29,247,52,248,55,103,10,193,254,11,35,29,247,52,247,92,249,130,21,248,11,212,252,11,6,247,83,253,215,35,29,247,60,180,22,229,6,189,196,5,95,197,211,114,222,27,247,91,247,33,247,41,247,105,237,109,224,86,201,31,231,244,5,48,6,89,82,5,183,82,67,164,57,27,251,93,251,33,251,41,251,105,41,170,54,191,77,31,141,247,137,21,247,59,246,247,10,247,42,200,193,120,105,181,30,251,252,252,50,5,105,187,119,202,210,26,247,152,251,177,21,77,85,158,174,96,31,247,252,248,48,5,173,91,159,77,68,26,251,59,34,251,10,251,42,30,14,247,52,248,106,249,121,91,10,60,253,133,35,29,248,153,248,27,124,21,241,224,180,215,195,31,37,248,51,216,251,223,247,136,247,193,215,251,193,247,118,247,222,216,252,50,37,7,215,83,52,180,36,27,251,93,251,33,251,43,251,106,251,106,247,35,251,43,247,94,31,216,4,251,44,32,247,12,247,60,247,60,245,247,12,247,42,247,32,241,41,251,70,143,31,114,7,251,69,135,39,41,251,31,27,14,102,232,22,224,247,149,247,57,6,247,15,226,231,247,22,247,22,43,230,251,28,31,251,120,6,224,252,2,21,247,182,247,34,7,227,200,79,54,54,87,79,65,31,14,106,234,140,21,224,247,30,247,58,6,247,15,226,231,247,22,247,23,43,230,251,29,31,251,35,247,10,54,6,247,119,251,87,21,226,201,80,53,54,86,80,65,31,251,56,247,181,6,14,247,56,248,27,127,21,215,207,161,178,194,31,226,51,193,194,54,225,5,192,201,170,225,239,26,247,104,251,32,247,42,251,94,251,93,251,33,251,41,251,105,251,105,247,35,251,41,247,94,30,216,4,251,44,251,0,247,10,247,59,247,59,246,247,10,247,42,247,43,245,251,10,251,59,64,118,74,103,90,31,34,245,83,86,244,32,5,112,100,91,124,85,27,14,149,81,10,14,149,247,114,249,126,34,10,251,139,253,255,21,94,29,149,247,131,249,126,39,10,114,253,255,21,94,29,149,81,10,35,252,189,47,10,137,80,29,14,137,247,141,249,126,34,10,89,72,10,137,247,159,249,126,44,29,247,64,72,10,137,247,177,70,10,180,29,148,159,5,247,49,142,220,226,247,1,26,224,64,220,251,28,172,30,92,29,162,67,210,72,247,15,125,25,116,84,116,29,137,247,37,249,138,38,29,40,6,189,254,23,73,10,137,80,29,125,29,103,247,219,127,21,247,27,211,212,247,17,247,6,73,209,251,7,148,31,247,73,247,106,5,185,104,73,212,251,24,27,251,30,69,76,251,0,31,252,177,224,248,159,7,209,178,182,216,206,177,115,111,167,30,251,62,251,89,5,66,200,7,224,187,94,62,60,97,92,61,97,117,161,147,128,31,96,77,5,103,177,190,129,164,27,14,75,148,29,14,75,247,117,249,126,21,238,6,247,14,41,10,49,6,58,69,10,247,22,253,255,21,223,249,3,247,115,216,252,166,62,247,115,6,14,75,148,29,97,253,203,134,10,231,247,243,124,33,29,231,247,178,249,125,50,10,247,20,5,37,6,86,254,12,33,29,231,247,246,249,120,156,29,86,100,169,180,30,62,6,59,209,84,238,30,136,253,135,33,29,231,247,74,249,138,46,10,187,254,26,33,29,231,248,114,249,175,55,10,247,12,253,190,33,29,231,248,3,67,29,247,6,254,15,33,29,231,248,21,103,10,187,254,14,33,29,231,247,93,249,130,41,29,247,42,253,218,33,29,231,247,243,124,21,175,172,144,149,170,31,108,108,121,102,100,26,81,189,106,216,167,167,146,152,162,30,115,195,131,10,181,155,185,184,182,31,196,185,172,211,224,26,248,87,55,252,87,7,251,2,63,62,251,3,251,1,63,216,247,2,30,248,87,54,252,87,7,251,49,247,2,32,247,50,30,14,231,247,246,249,112,21,191,183,181,189,190,95,181,87,111,10,152,125,114,115,126,125,116,31,136,253,181,33,29,216,247,191,22,233,6,247,182,42,10,50,6,251,140,252,244,251,140,248,244,5,51,6,14,247,236,247,115,22,229,6,247,58,248,203,247,55,252,203,5,230,6,247,109,42,10,54,6,251,69,252,209,251,58,248,209,5,55,6,251,62,252,211,251,66,248,211,5,55,6,14,247,236,248,48,249,121,68,10,251,198,253,250,47,29,247,236,247,200,249,133,56,10,251,98,254,6,47,29,247,236,248,239,249,170,42,29,251,25,253,170,47,29,247,236,248,129,249,121,40,29,251,31,253,251,47,29,137,149,22,241,6,247,87,247,180,247,87,251,180,5,241,6,251,142,247,248,247,141,247,236,5,39,6,251,88,251,169,251,87,247,169,5,38,6,247,141,251,236,5,14,127,247,152,22,223,247,185,6,247,143,248,43,5,42,6,251,88,251,214,251,87,247,214,5,41,6,247,143,252,43,5,14,127,247,126,249,121,34,10,47,253,250,54,10,127,247,22,249,133,46,10,148,254,6,54,10,127,248,62,249,170,55,10,220,253,170,54,10,127,247,207,249,121,69,29,214,253,251,54,10,164,186,22,248,180,217,252,74,6,248,77,248,181,5,216,252,180,62,248,74,7,252,77,252,181,5,14,164,247,145,249,126,34,10,251,216,117,29,164,247,162,249,126,39,10,37,117,29,164,247,213,249,171,21,167,161,162,166,167,117,161,111,112,116,117,111,112,162,116,166,31,251,166,253,171,122,29,251,127,140,29,14,247,171,140,29,248,167,50,94,10,251,127,247,15,157,29,251,85,253,245,36,10,251,127,158,138,29,46,254,11,36,10,251,127,247,152,249,175,50,29,251,26,62,10,60,253,175,36,10,251,127,247,83,249,171,39,29,251,36,253,171,36,10,251,127,247,96,249,126,40,29,113,254,0,36,10,251,127,176,249,130,41,29,149,253,203,36,10,251,127,186,22,246,109,29,240,216,38,248,182,240,216,251,179,62,240,252,182,38,6,14,33,247,120,127,32,29,32,247,76,155,29,66,253,92,32,29,32,247,144,120,29,115,252,213,32,29,32,247,93,137,29,247,40,253,92,32,29,32,219,248,219,62,29,166,253,104,32,29,32,248,11,88,10,238,253,12,32,29,32,247,157,64,10,232,253,93,32,29,32,238,248,211,49,10,247,21,253,40,32,29,32,247,120,127,21,207,188,168,189,169,31,142,76,5,92,104,97,97,94,26,77,184,49,29,140,247,163,5,247,50,140,71,222,251,31,27,46,79,96,70,101,31,211,110,5,187,165,177,160,194,27,220,177,91,45,146,31,251,32,6,251,13,68,83,38,42,208,83,247,10,31,143,209,21,69,99,171,191,196,175,171,232,31,247,15,119,6,44,84,81,52,30,14,32,247,144,103,29,115,253,3,32,29,32,247,226,102,29,33,252,214,32,29,247,154,247,119,127,21,226,203,180,209,173,31,70,182,213,97,230,27,244,214,190,217,178,31,70,174,5,101,29,54,69,101,77,95,30,205,108,81,173,53,27,50,74,101,66,94,31,211,110,5,186,166,180,162,197,27,225,167,90,43,151,31,251,34,6,251,9,70,82,40,43,208,82,247,9,31,248,26,118,10,252,22,252,22,21,69,99,172,193,197,176,173,227,31,247,18,6,32,86,67,51,30,14,109,209,22,215,6,143,224,5,78,175,198,103,213,83,10,64,247,185,127,45,10,64,247,115,43,29,92,253,92,45,10,64,247,132,115,10,247,66,253,92,45,10,64,247,153,70,10,179,191,173,121,173,89,157,31,148,159,233,142,215,190,178,221,25,87,10,251,28,221,38,247,14,118,31,115,83,5,190,131,164,124,105,26,111,116,132,115,119,115,150,149,119,30,119,91,5,116,181,167,135,164,27,14,64,247,11,46,29,192,253,104,45,10,64,247,183,248,252,39,29,141,253,8,45,10,109,63,10,249,80,59,251,176,58,29,109,63,10,249,80,59,251,176,6,199,102,80,120,10,247,163,248,179,21,208,6,204,247,60,5,55,6,251,195,253,18,51,29,225,201,66,32,143,31,121,7,32,135,78,66,53,27,14,109,63,10,248,203,215,202,63,209,59,69,251,52,76,247,52,251,43,58,29,107,247,180,127,21,247,35,241,246,247,45,31,140,247,43,104,247,16,56,226,194,174,24,111,184,71,96,86,181,70,169,54,156,25,123,66,201,125,190,120,180,112,25,83,103,169,93,211,186,175,104,165,97,156,88,25,177,101,86,162,82,27,251,35,40,33,251,43,251,42,241,33,247,37,31,212,4,42,70,214,247,0,247,0,207,215,235,236,208,63,251,0,251,0,71,64,43,31,14,69,247,181,127,35,10,70,247,111,37,10,91,253,92,35,10,70,247,129,248,207,44,29,247,66,253,92,35,10,70,247,7,248,219,38,29,40,6,191,253,104,35,10,70,248,47,249,0,42,29,247,17,253,12,35,10,70,247,180,248,252,38,10,140,253,8,35,10,70,247,192,131,29,247,11,253,93,35,10,70,247,26,248,211,41,29,247,47,253,40,35,10,70,247,181,127,21,169,167,143,147,164,31,108,108,121,102,100,26,81,189,106,216,166,168,146,152,162,30,115,195,5,132,122,116,135,116,27,109,121,157,169,183,157,187,189,184,31,137,6,159,157,155,161,151,164,70,174,24,82,10,251,139,247,12,22,219,248,67,247,37,208,251,37,190,6,201,162,169,186,153,160,132,127,170,30,169,202,5,156,101,105,149,113,27,39,91,86,35,31,82,47,70,231,7,14,110,247,159,143,43,10,110,247,169,248,201,21,238,209,194,219,31,61,6,98,102,109,85,85,101,169,180,30,61,6,59,210,84,238,30,129,252,197,43,10,110,244,248,219,56,10,180,253,88,43,10,110,248,14,164,29,85,252,213,43,10,110,247,169,248,252,38,10,129,252,248,43,10,81,209,22,86,10,81,209,22,106,29,247,32,247,58,202,251,58,209,59,69,69,76,209,7,14,81,77,249,163,62,29,150,254,36,21,86,10,252,20,111,29,252,20,214,22,219,248,136,59,6,14,252,20,187,43,29,49,253,80,48,10,252,20,83,46,29,149,253,92,48,10,252,20,247,75,249,0,21,65,29,251,26,22,65,29,165,253,0,48,10,252,20,111,29,252,20,247,21,248,207,40,29,216,253,81,48,10,252,20,126,248,211,21,247,150,212,251,150,6,227,253,28,48,10,252,20,247,8,248,252,39,29,98,252,252,21,141,6,93,105,101,99,138,95,8,77,184,49,29,248,136,59,7,14,251,8,248,20,248,253,21,167,161,162,167,166,117,162,111,111,116,116,112,111,162,116,167,31,251,160,138,119,29,247,90,253,95,153,29,116,110,94,125,117,146,151,108,30,108,72,5,122,177,171,130,164,27,14,251,239,247,44,248,253,21,167,162,162,167,166,116,162,111,112,116,116,112,111,162,116,166,31,251,3,253,212,53,10,251,250,180,251,107,53,10,251,250,223,248,207,34,10,251,53,254,39,53,10,251,250,119,248,219,46,10,79,254,51,53,10,251,23,96,10,14,251,23,96,10,234,57,10,252,32,72,29,14,252,32,181,249,126,68,10,50,253,255,21,219,249,80,59,6,14,252,32,72,29,243,251,61,67,10,252,32,72,29,95,57,10,251,226,239,22,219,247,230,6,224,181,5,210,7,54,97,5,247,183,59,251,222,7,56,99,5,67,7,222,180,5,14,247,127,209,22,219,247,151,6,247,5,185,205,217,138,30,207,175,29,247,151,7,247,5,185,205,218,138,30,206,175,29,247,178,7,247,44,140,70,213,251,4,27,64,84,98,67,111,31,215,113,80,176,60,27,75,90,110,86,109,31,135,209,5,64,6,14,81,85,10,14,81,247,102,37,10,251,150,98,29,81,247,119,248,207,39,10,103,98,29,81,85,10,247,16,125,10,81,247,252,248,202,91,10,251,182,252,202,21,63,29,14,81,209,22,64,29,196,106,251,40,31,251,202,7,81,117,110,93,125,118,146,151,108,30,108,142,10,240,189,193,244,31,247,228,7,247,57,140,60,206,251,8,27,68,85,108,84,106,31,135,213,5,64,6,14,103,247,183,127,36,29,103,247,113,37,10,91,253,92,36,29,103,247,9,248,219,38,29,39,6,192,253,104,36,29,103,248,49,249,0,90,10,247,17,253,12,36,29,103,247,194,64,10,247,11,253,93,36,29,103,247,212,248,207,130,29,37,6,191,253,92,36,29,103,247,28,248,211,41,29,247,47,253,40,36,29,102,167,22,225,6,167,172,5,110,180,189,123,196,27,247,36,242,247,0,247,46,207,119,198,104,183,31,208,218,5,52,6,110,106,5,168,99,89,155,82,27,251,38,78,29,71,160,79,174,94,31,164,247,65,21,247,3,208,217,238,175,172,128,119,166,30,251,127,251,161,5,120,169,129,177,182,26,247,62,251,80,21,102,106,149,158,112,31,247,127,247,161,5,157,109,149,101,97,26,251,3,70,62,42,30,14,103,248,7,248,202,105,29,59,252,214,36,29,248,6,247,183,127,21,238,218,189,220,180,31,58,179,218,89,238,27,244,214,190,217,179,31,70,174,5,85,111,91,102,68,27,44,70,203,247,2,132,31,248,30,6,247,58,50,247,3,251,31,40,61,89,58,99,30,220,98,59,189,39,27,251,37,168,29,247,38,31,248,70,248,89,21,217,198,86,53,145,31,251,193,6,225,148,211,192,216,27,252,70,252,15,21,40,69,216,247,3,247,3,208,217,237,238,209,53,29,70,62,41,31,14,114,214,251,92,21,219,247,176,6,79,176,198,103,212,124,10,65,80,103,78,103,31,134,224,5,64,6,247,123,252,75,126,29,109,209,251,92,21,219,247,176,6,79,176,198,103,212,83,10,101,247,159,127,21,212,198,175,199,176,31,251,176,219,249,80,63,7,135,54,5,200,103,79,175,66,27,251,26,47,32,251,47,251,47,231,32,247,26,31,157,212,51,29,228,202,53,29,76,61,51,31,14,251,170,106,10,14,251,170,231,37,10,251,32,253,80,21,128,29,251,170,247,2,248,207,44,29,221,253,80,21,128,29,251,170,106,10,118,125,10,251,42,84,29,14,251,38,247,72,43,29,87,83,29,251,38,247,89,115,10,247,61,83,29,251,38,247,105,70,10,180,190,174,121,172,89,157,31,148,159,5,240,142,213,194,227,26,206,87,201,42,163,30,48,29,159,85,193,91,220,126,25,116,83,5,190,131,164,125,105,26,110,116,132,115,119,115,150,150,119,30,119,90,5,117,181,167,134,164,27,14,251,38,215,46,29,187,253,104,21,244,217,194,230,206,87,201,42,163,31,48,29,5,75,163,209,84,247,2,27,14,251,38,84,29,125,29,87,209,22,222,248,148,6,214,194,190,216,215,193,90,68,63,102,94,251,12,30,133,53,184,6,225,191,94,62,70,86,95,51,31,93,63,189,6,247,29,222,208,247,9,220,103,196,71,170,31,192,172,169,195,212,26,247,10,51,216,251,16,251,19,51,60,251,13,30,14,251,130,84,10,14,251,118,247,133,248,194,21,207,6,205,247,55,5,55,6,106,253,113,100,29,14,251,130,84,10,251,23,251,80,166,29,81,247,29,247,136,33,10,81,247,102,37,10,251,83,252,92,33,10,81,247,171,248,201,66,29,251,34,251,213,33,10,81,245,248,219,38,29,40,6,48,252,104,33,10,81,248,38,249,0,42,29,121,252,12,33,10,81,247,183,131,29,115,252,93,33,10,81,247,201,248,207,21,231,6,247,2,142,29,37,6,48,252,92,33,10,81,247,17,248,211,41,29,151,252,40,33,10,81,247,29,247,136,109,10,67,5,92,105,99,98,94,26,77,183,49,29,248,136,59,251,150,7,251,6,88,74,52,63,82,172,247,40,30,14,81,247,171,248,193,21,191,54,29,87,85,96,97,88,89,182,97,193,31,193,4,115,125,153,163,164,153,162,29,251,34,252,3,33,10,43,247,111,22,222,6,247,101,248,136,5,55,6,251,59,252,46,251,60,248,46,5,56,6,14,247,60,247,72,22,220,6,247,24,248,30,247,23,252,30,5,219,6,247,62,248,136,5,58,6,251,23,252,23,251,21,248,23,5,59,6,251,24,252,26,251,22,248,26,5,58,6,14,247,60,247,217,43,29,251,154,253,80,51,10,247,60,247,113,46,29,251,54,253,92,51,10,247,60,248,152,249,0,108,10,100,10,49,253,0,51,10,247,60,248,42,248,207,40,29,44,253,81,51,10,251,33,149,22,236,6,247,24,247,86,247,22,251,86,5,235,6,251,74,247,150,247,62,247,134,5,44,6,251,11,251,69,251,13,247,69,5,44,6,247,63,251,133,5,14,49,247,7,251,104,44,10,49,247,87,43,29,251,89,254,36,44,10,49,230,248,219,56,10,42,254,48,44,10,49,248,22,249,0,42,29,115,253,212,44,10,49,247,168,248,207,40,29,109,254,37,44,10,251,16,184,22,248,38,209,251,191,6,247,188,248,4,5,201,252,35,69,247,187,7,251,187,252,2,5,14,251,16,247,68,37,10,251,141,102,10,251,16,247,86,248,207,44,29,112,102,10,251,16,247,137,248,252,38,10,251,92,252,252,123,29,109,247,159,127,32,10,109,247,107,155,29,74,253,92,32,10,109,247,175,120,29,123,252,213,32,10,109,247,124,137,29,247,48,253,92,32,10,109,247,3,248,219,62,29,174,253,104,32,10,109,248,42,88,10,246,253,12,32,10,109,247,188,64,10,240,253,93,32,10,109,247,22,248,211,49,10,247,29,253,40,32,10,109,133,10,56,5,92,104,99,99,94,26,77,184,107,209,166,70,29,117,27,116,125,151,158,184,184,177,184,172,31,248,136,59,55,7,199,102,80,120,10,157,212,51,29,225,201,66,32,143,31,121,7,32,135,78,66,53,27,14,109,247,175,103,29,123,253,3,32,10,109,248,1,102,29,41,252,214,32,10,251,215,61,10,14,251,215,181,249,126,68,10,185,254,11,112,29,14,251,215,61,10,108,248,179,67,10,251,215,61,10,41,251,80,47,10,251,185,247,127,127,132,29,247,89,7,224,181,5,210,7,54,97,5,247,183,59,251,222,7,56,99,5,67,7,222,180,5,251,58,7,47,188,86,225,30,14,251,177,247,32,248,29,21,176,169,153,165,159,31,140,106,5,203,247,56,6,230,91,191,51,82,97,114,93,112,30,202,117,5,161,152,157,152,170,27,185,155,113,94,144,31,57,6,68,98,106,79,81,180,105,210,31,150,192,21,106,119,154,163,168,159,156,183,31,201,132,6,138,138,5,93,111,108,95,30,14,251,143,247,76,248,29,21,228,203,204,231,231,75,204,48,49,75,74,47,47,203,74,231,31,203,4,89,105,178,193,194,173,177,187,188,173,101,84,85,106,100,91,31,14,164,107,29,215,4,251,3,59,247,11,247,59,247,60,218,247,10,247,4,247,4,219,251,10,251,60,251,59,59,251,11,251,4,31,14,251,95,247,110,22,221,249,80,63,6,92,86,63,88,98,140,8,62,7,193,138,192,167,190,180,8,14,82,197,22,248,78,214,251,242,6,143,187,168,183,192,179,247,29,243,24,216,201,179,203,212,26,247,8,138,51,225,251,32,27,251,14,51,58,49,116,31,225,123,5,196,156,192,193,221,27,222,149,29,65,81,99,72,74,26,14,67,247,161,75,10,144,248,2,22,221,247,62,247,35,214,251,35,248,91,53,6,251,211,252,101,5,74,247,215,7,251,118,214,21,247,118,247,224,5,251,224,7,14,98,247,182,127,21,247,31,132,10,92,125,116,101,31,160,247,115,5,247,190,215,252,9,6,105,139,10,190,27,229,201,76,48,47,75,77,47,80,83,165,197,93,31,71,100,5,58,189,238,102,221,27,14,89,247,190,127,21,247,33,236,232,247,24,247,25,43,233,251,27,57,74,102,79,101,31,247,90,143,213,235,247,17,27,184,192,122,109,181,143,10,70,27,251,59,36,251,35,251,132,251,75,198,251,50,247,86,31,213,4,49,75,202,229,228,203,203,229,228,204,75,50,49,74,76,50,31,14,60,221,127,10,248,8,7,14,137,247,199,130,10,59,171,31,203,170,177,196,210,26,247,4,48,217,251,27,251,28,49,105,10,55,80,185,207,213,198,191,223,223,198,87,65,71,80,93,55,31,251,230,4,41,70,191,215,217,208,192,237,237,208,86,61,63,70,87,41,31,14,89,247,159,249,92,21,251,32,42,46,251,24,251,25,235,45,247,27,220,205,176,199,176,31,251,90,135,66,43,251,17,27,94,86,156,169,96,31,92,79,5,100,193,211,116,209,27,247,59,242,247,35,247,132,247,75,79,247,50,251,86,31,65,4,229,204,76,49,50,74,75,49,50,75,203,228,229,203,202,228,31,14,164,107,29,251,83,247,254,21,247,60,218,247,10,247,4,195,187,109,88,173,30,251,197,251,242,5,124,180,130,189,193,26,247,83,251,178,21,85,93,167,187,105,31,247,197,247,240,5,152,99,147,92,88,26,251,59,59,251,11,251,4,30,14,146,93,10,215,4,251,4,59,247,11,247,59,247,60,219,247,10,247,3,247,4,219,251,10,251,60,251,59,60,251,11,251,4,31,14,146,247,39,22,248,28,214,251,44,249,5,63,6,92,86,63,88,98,140,8,62,7,192,138,193,167,189,180,8,252,149,251,49,7,14,146,236,22,248,78,214,251,242,6,143,187,168,183,192,179,247,29,243,24,216,201,179,203,212,26,247,8,50,225,251,32,251,13,50,58,49,117,30,225,123,5,196,155,192,193,221,27,223,149,29,64,81,99,72,74,26,14,146,247,197,75,10,146,184,247,62,21,247,214,251,62,221,247,62,247,34,214,251,34,248,91,53,6,251,210,252,101,5,235,149,21,247,118,247,225,5,251,225,7,14,146,247,207,127,21,247,30,132,10,93,125,116,100,31,160,247,115,5,247,191,215,252,10,6,106,139,10,189,27,229,201,76,48,47,76,77,46,81,83,165,197,92,31,72,100,5,58,188,238,102,222,27,14,146,247,219,127,21,247,33,235,232,247,24,247,25,44,233,251,28,58,73,102,79,102,31,247,90,143,212,235,247,17,27,185,191,122,109,182,143,10,69,27,251,59,37,251,35,251,132,251,75,198,251,50,247,86,31,213,4,49,75,202,229,228,203,203,229,228,203,75,50,49,75,76,50,31,14,146,247,17,127,10,248,9,7,14,146,247,203,130,10,60,171,31,202,170,178,196,210,26,247,4,47,217,251,27,251,27,48,105,10,56,79,185,207,213,199,191,222,223,198,87,65,71,80,93,55,31,251,230,4,41,70,191,215,217,208,192,237,237,208,86,61,63,70,87,41,31,14,146,247,188,249,92,21,251,32,42,46,251,24,251,25,235,45,247,27,220,205,176,199,176,31,251,90,135,66,43,251,17,27,94,86,156,169,96,31,92,79,5,100,193,211,116,209,27,247,59,242,247,35,247,132,247,75,79,247,50,251,86,31,65,4,229,204,76,49,50,74,75,49,50,75,203,228,229,203,202,228,31,14,146,93,10,251,84,247,254,21,247,60,219,247,10,247,3,196,187,109,87,173,30,251,198,251,242,5,124,181,130,188,194,26,247,84,251,178,21,85,92,167,186,106,31,247,196,247,240,5,153,99,146,93,88,26,251,59,60,251,11,251,4,30,14,251,102,247,96,133,52,10,251,226,247,24,22,68,29,14,251,147,176,22,80,10,251,154,247,73,133,88,29,251,116,169,227,60,29,251,140,247,80,133,79,10,251,152,247,79,133,76,10,251,167,201,22,151,29,14,251,118,247,87,133,82,29,251,152,247,48,133,90,29,251,102,247,96,247,165,52,10,251,226,61,29,14,251,147,176,247,172,59,10,251,154,247,73,247,165,59,29,14,251,116,247,117,247,172,97,10,251,140,91,29,14,251,152,247,79,247,165,89,29,251,167,139,29,14,251,118,247,87,247,165,74,10,251,152,247,48,247,165,77,10,252,34,251,64,22,220,138,10,58,6,14,247,136,104,29,85,253,80,21,247,175,204,251,98,167,29,188,176,167,176,189,26,213,83,192,49,60,83,88,81,126,30,214,125,5,169,147,165,166,179,27,184,165,112,104,112,113,110,113,120,31,68,169,29,247,104,104,29,251,16,252,248,60,29,247,177,79,29,251,16,252,248,21,247,86,51,209,227,216,202,62,247,161,62,6,251,79,251,166,5,215,159,29,247,165,61,29,116,252,242,89,10,161,106,177,96,29,247,238,79,29,243,253,86,71,29,178,91,160,31,177,158,162,172,181,26,206,85,186,51,51,85,92,72,97,160,106,178,120,30,91,118,112,100,89,26,70,197,92,238,30,247,145,4,97,110,163,174,176,168,165,181,99,10,247,252,91,29,147,251,165,71,10,247,188,139,29,32,253,14,71,10,251,102,247,96,33,52,10,251,226,247,24,39,107,10,251,147,176,39,59,10,251,154,247,73,33,21,215,204,185,215,187,109,176,93,160,31,179,157,166,171,182,26,204,80,187,63,79,85,110,86,120,30,203,117,5,168,154,164,151,165,27,179,164,113,109,102,107,119,80,31,117,78,161,6,207,170,112,99,100,111,111,95,103,120,159,162,125,31,74,117,5,91,154,191,103,211,27,14,251,116,169,127,60,29,251,140,247,80,33,79,10,251,152,247,79,33,76,10,251,167,201,39,143,29,251,118,247,87,33,82,29,251,152,247,48,33,90,29,251,102,247,96,248,9,52,10,251,226,247,24,248,16,107,10,251,147,176,248,16,59,10,251,154,247,73,248,9,88,29,251,116,247,117,248,16,97,10,251,140,247,80,248,9,93,29,14,251,152,247,79,248,9,89,29,251,167,201,248,16,143,29,251,118,247,87,248,9,74,10,251,152,247,48,248,9,77,10,252,5,14,252,5,14,123,14,123,14,252,44,135,29,14,252,26,123,10,251,255,247,18,248,27,141,10,108,114,113,109,109,164,114,170,31,140,252,29,113,10,251,249,247,14,248,26,21,170,164,164,170,169,114,164,108,109,114,114,109,108,164,114,169,31,59,252,141,21,208,6,216,247,103,5,50,6,14,136,135,29,247,95,22,169,164,164,169,170,114,164,109,108,114,114,108,109,164,114,170,31,247,94,22,169,165,164,169,170,75,29,108,109,164,114,169,31,14,251,210,247,0,247,95,21,221,6,141,248,133,5,53,6,182,253,94,141,10,109,113,113,109,109,165,114,169,31,14,251,214,247,41,248,148,21,109,113,114,109,108,165,114,169,169,164,164,170,169,114,164,109,31,180,251,109,21,57,6,137,252,133,5,225,6,14,251,4,247,67,247,80,21,221,247,6,6,247,11,149,221,217,247,7,26,247,13,46,225,251,23,37,65,87,65,113,30,214,115,5,182,155,189,171,200,27,222,198,84,62,55,77,87,51,138,31,87,137,5,181,252,16,21,171,162,163,170,171,116,163,107,107,115,115,107,108,163,115,171,31,14,251,45,247,151,248,149,21,107,115,115,107,108,163,115,171,170,163,163,170,171,115,163,108,31,179,251,94,21,58,6,138,251,7,5,251,11,130,58,60,251,6,26,251,13,231,53,247,23,242,213,191,213,165,30,64,163,5,95,123,89,108,77,27,56,80,194,216,222,201,192,227,140,31,191,141,5,14,251,254,247,19,247,162,113,10,251,19,247,136,247,70,21,196,187,188,195,196,91,186,82,82,92,92,82,83,186,90,196,31,14,251,27,247,60,248,18,21,214,247,7,213,251,4,196,180,56,242,247,17,173,118,205,251,18,92,145,247,26,5,69,6,146,251,24,251,17,186,117,72,247,22,103,55,35,5,14,152,247,7,22,203,6,170,247,87,5,247,53,6,109,251,87,5,203,6,170,247,87,5,247,28,6,147,195,5,251,28,6,170,247,85,5,247,27,6,148,195,5,251,27,161,29,251,53,161,29,251,28,6,130,83,5,247,28,6,109,251,85,5,251,28,6,131,83,5,247,27,6,213,195,21,169,247,85,5,247,53,6,109,251,85,5,14,251,119,154,55,21,224,6,247,166,249,211,5,56,6,14,251,119,248,10,55,21,251,168,249,211,5,56,6,247,166,253,211,5,14,252,148,191,247,150,21,169,165,165,169,169,75,29,109,109,164,113,169,31,14,84,247,194,21,169,164,164,169,170,114,164,109,108,114,114,108,109,164,114,170,31,14,251,91,197,247,153,21,247,192,212,251,192,6,14,73,247,153,4,248,186,212,252,186,6,14,248,120,247,153,4,250,224,212,254,224,6,14,251,70,158,67,21,248,36,211,252,36,6,14,251,156,247,115,39,21,221,6,46,247,21,66,247,48,247,57,26,247,57,212,247,48,232,247,21,30,57,6,46,251,14,66,251,47,251,65,26,251,65,212,251,47,232,251,14,30,14,251,156,247,21,39,21,232,247,14,212,247,47,247,65,26,247,65,66,247,47,46,247,14,30,57,6,232,251,21,212,251,48,251,57,26,251,57,66,251,48,46,251,21,30,14,251,123,247,219,39,21,210,7,66,141,120,183,247,62,26,237,122,185,79,158,30,198,158,157,185,237,26,247,63,158,182,212,141,30,210,7,251,29,106,81,251,122,34,119,114,60,31,75,7,218,159,114,34,251,122,172,81,247,29,31,14,251,123,197,39,21,247,29,173,197,247,122,244,158,164,218,31,203,7,60,120,164,244,247,122,105,197,251,29,31,68,7,213,137,157,96,251,63,26,41,157,93,199,120,30,79,120,121,93,41,26,251,62,120,95,66,137,30,14,251,184,232,39,21,247,49,214,61,249,130,217,214,251,49,6,14,251,184,247,122,39,21,250,24,251,49,64,218,253,130,60,64,7,14,252,40,123,10,251,195,247,58,251,7,58,10,50,6,251,98,251,103,58,10,49,6,14,251,178,247,55,249,80,21,70,6,62,251,104,5,228,6,247,98,247,104,21,70,6,62,251,104,5,228,6,14,251,178,247,59,248,124,173,29,251,98,251,104,173,29,14,252,71,247,55,249,80,21,70,6,62,251,103,5,228,6,14,252,71,157,248,125,58,10,50,6,14,74,248,33,112,10,101,251,94,21,236,6,251,45,247,94,247,45,247,94,5,42,6,251,47,251,94,5,14,74,247,46,235,21,247,47,247,94,251,47,247,94,5,43,135,10,247,181,22,247,47,247,94,251,47,247,94,5,43,128,10,251,149,247,96,112,10,14,251,149,247,47,235,21,247,47,247,94,251,47,247,94,5,42,128,10,251,188,126,10,247,20,251,126,140,10,14,252,52,126,10,14,248,9,248,99,154,21,213,201,173,196,177,31,136,7,66,181,93,213,140,30,247,3,218,247,3,247,48,247,163,251,70,247,84,251,142,251,167,251,86,251,84,251,163,251,163,247,86,251,85,247,167,198,222,159,168,195,31,104,195,5,117,95,72,124,87,27,251,124,251,56,247,57,247,123,247,123,247,56,247,56,247,124,247,100,247,39,251,56,251,123,251,9,92,55,73,114,121,160,172,31,248,10,60,7,140,62,5,194,100,78,172,65,27,251,22,47,41,251,31,251,31,231,40,247,23,31,157,211,21,45,73,208,236,236,205,207,232,222,201,83,58,150,31,84,7,57,129,77,82,56,27,14,167,247,151,125,21,227,216,166,187,196,31,190,78,5,241,6,39,247,12,175,191,158,203,140,210,25,58,6,93,129,98,121,104,30,42,247,10,80,209,5,216,195,197,195,212,26,232,63,203,38,45,66,72,51,85,172,95,186,82,30,155,120,107,117,5,70,91,83,81,50,26,251,0,224,64,247,11,30,141,248,101,21,103,183,112,164,179,26,186,178,175,187,194,179,106,87,83,84,101,91,106,30,251,30,251,153,21,208,183,175,185,171,30,170,160,195,71,247,7,251,31,5,99,95,80,117,72,27,68,88,184,205,31,14,69,247,150,55,21,212,249,87,188,253,87,212,249,164,251,109,6,251,15,52,48,251,22,251,22,226,47,247,15,31,161,6,14,93,247,184,49,21,247,16,204,205,226,186,111,183,88,170,31,189,166,165,185,194,26,206,83,201,38,164,30,78,154,5,91,150,107,162,184,26,191,178,172,204,200,183,109,93,156,30,210,163,5,202,117,77,194,35,27,251,11,72,81,42,82,169,100,184,114,31,93,114,114,94,79,26,61,197,93,214,120,30,200,124,5,202,124,180,110,94,26,89,92,106,64,77,93,175,182,124,30,67,114,5,77,158,210,81,247,6,27,110,247,213,21,91,151,107,162,184,26,191,176,172,199,158,158,135,133,156,30,180,122,164,114,104,26,91,97,107,70,131,131,139,140,131,30,14,247,91,248,44,128,21,247,94,247,51,247,51,247,94,247,94,251,51,247,52,251,94,251,94,251,52,251,52,251,94,251,94,247,52,251,51,247,94,31,204,4,251,60,251,15,247,15,247,65,247,66,247,15,247,15,247,60,247,59,247,15,251,15,251,66,251,66,251,14,251,14,251,60,31,137,237,21,204,204,180,199,169,31,151,164,75,163,130,119,5,102,119,99,113,100,27,70,91,193,216,217,187,192,207,178,179,117,106,156,31,152,117,200,163,127,166,5,194,110,75,177,74,27,251,1,63,58,251,9,251,9,215,58,247,2,31,14,146,247,204,247,63,21,247,41,247,13,247,13,247,41,247,42,251,13,247,13,251,41,251,42,251,13,251,13,251,42,251,41,247,13,251,13,247,42,31,195,4,251,17,51,227,247,18,247,19,227,227,247,17,247,16,227,51,251,19,251,18,51,51,251,16,31,37,212,21,191,244,188,6,199,34,5,198,6,70,247,7,5,174,153,161,170,177,26,194,96,178,79,30,34,138,5,191,251,30,21,230,190,7,170,160,120,112,113,118,120,112,31,14,247,133,248,237,248,22,21,247,27,247,91,5,251,197,211,248,56,61,7,251,21,251,83,251,21,247,83,5,60,252,56,212,247,196,6,251,222,251,196,21,211,247,246,247,21,205,251,221,73,247,20,6,14,251,139,247,76,248,78,21,214,202,202,215,213,76,199,64,64,77,79,65,64,201,75,214,31,203,4,103,108,174,179,177,170,171,175,176,170,107,101,99,108,104,102,31,14,251,250,232,251,112,21,210,250,134,68,6,14,251,237,239,247,242,21,210,248,76,68,6,254,134,4,210,248,76,68,6,14,251,27,247,91,22,221,6,128,248,74,247,76,130,5,214,7,251,75,130,148,247,97,5,60,6,148,251,97,251,77,148,5,64,7,247,77,148,5,14,251,27,166,135,21,247,74,147,129,251,96,5,221,6,129,247,96,247,76,131,5,212,7,251,77,131,147,247,81,131,247,80,247,76,131,5,212,7,251,76,131,148,247,97,5,61,6,147,251,97,251,75,147,5,66,7,247,75,147,132,251,80,146,251,81,251,74,147,5,14,59,247,150,22,199,238,6,225,147,209,188,175,217,66,172,24,116,88,96,105,86,131,8,248,8,7,190,131,181,109,163,95,211,171,24,103,211,70,184,55,147,8,218,79,59,7,251,21,124,51,36,251,34,26,251,33,227,36,247,21,123,30,251,28,247,152,21,238,194,211,220,153,30,252,6,7,58,154,84,211,237,26,14,78,247,18,247,42,21,197,197,5,121,166,172,128,175,27,174,171,149,156,165,31,195,83,188,188,84,195,5,158,166,150,172,174,26,175,127,172,119,167,30,196,194,90,189,79,80,5,154,113,108,148,107,27,105,107,129,123,112,31,77,200,91,89,199,80,5,121,112,128,107,105,26,105,149,107,156,112,30,81,81,5,247,95,189,21,81,102,178,201,198,176,177,197,198,176,101,80,77,101,100,81,31,14,87,122,10,215,73,214,251,9,168,30,247,109,7,191,127,177,107,156,95,214,166,24,118,201,78,200,39,152,8,119,10,165,133,24,251,115,7,72,146,92,179,122,185,160,29,137,248,12,21,80,153,101,167,197,26,194,177,177,200,148,30,251,94,7,247,66,251,96,21,90,102,103,75,127,30,247,92,7,200,118,179,106,90,26,14,185,157,247,149,21,226,6,251,53,168,245,251,0,247,34,27,242,238,216,247,2,181,31,66,176,5,52,108,71,79,67,27,44,68,214,247,9,115,31,247,155,196,251,163,6,138,151,139,151,151,26,151,139,151,140,151,30,247,163,196,251,155,6,247,8,163,210,215,231,27,209,210,83,58,170,31,211,176,5,243,97,41,212,35,27,251,32,34,251,0,251,53,110,31,52,82,220,6,138,127,138,127,127,26,140,127,139,127,140,127,8,58,6,14,99,187,22,248,118,216,251,233,6,151,160,146,164,169,26,247,27,247,93,211,251,93,247,44,7,214,189,190,210,208,188,91,67,30,222,129,5,247,23,55,212,251,9,251,12,55,60,251,13,30,251,44,62,67,216,251,42,7,105,116,112,111,30,113,6,14,66,229,247,81,21,247,31,251,81,224,247,81,247,31,198,251,31,185,247,31,198,251,2,6,247,83,247,249,5,44,6,251,60,251,218,251,60,247,218,5,45,6,247,82,251,249,5,251,1,80,247,31,93,251,31,6,14,146,173,22,213,6,248,118,42,10,65,6,14,146,224,247,154,21,247,84,251,83,210,247,83,247,82,210,251,82,247,84,68,251,84,251,84,6,14,146,247,13,247,154,21,248,18,210,252,18,6,14,146,247,58,243,21,247,37,247,37,247,37,251,37,189,188,251,37,247,37,247,37,247,37,89,188,251,37,251,37,251,37,247,37,91,90,247,36,251,37,251,36,251,37,5,14,146,247,204,248,41,21,164,159,160,163,164,119,160,114,114,118,118,114,115,160,118,164,31,251,86,251,35,21,248,24,210,252,24,6,247,86,251,126,21,164,159,160,164,164,119,159,114,114,118,119,114,114,160,118,164,31,14,146,247,4,247,254,21,248,36,210,252,36,6,251,163,4,248,36,210,252,36,6,14,146,247,50,210,21,214,6,198,247,14,5,247,112,209,251,78,6,202,247,22,5,247,15,209,51,6,197,247,12,5,63,6,81,251,12,5,251,128,69,247,94,6,76,251,22,5,251,31,69,244,6,14,146,247,37,238,21,247,235,247,53,5,217,7,251,235,247,51,5,60,7,247,152,251,11,251,152,251,14,5,14,146,248,114,248,134,21,251,234,251,53,5,61,7,247,234,251,51,5,218,7,251,152,247,11,247,152,247,14,5,14,146,247,37,247,4,21,247,235,247,50,5,216,7,251,235,247,48,5,62,7,247,152,251,9,251,152,251,12,5,251,81,4,247,235,202,251,235,6,14,146,248,114,247,4,21,216,7,251,152,247,12,247,152,247,9,5,216,7,251,234,251,48,5,62,7,247,234,251,162,21,202,251,234,76,7,14,146,247,169,247,38,21,210,247,62,247,82,209,251,82,247,63,68,251,63,251,84,69,247,84,6,251,84,251,203,21,248,89,202,252,89,6,14,146,247,22,247,185,21,247,182,36,211,247,67,251,254,6,14,90,248,14,247,114,21,215,187,205,222,146,31,70,6,95,132,119,110,103,27,114,115,168,160,121,31,177,111,98,164,87,27,64,88,72,57,134,31,208,6,183,147,158,168,175,27,160,159,122,104,168,31,105,167,172,112,196,27,14,74,217,248,9,21,217,6,247,10,247,136,247,13,251,136,5,216,6,251,49,247,219,5,57,6,14,81,196,251,92,21,215,247,142,6,97,169,183,119,194,27,206,188,168,192,170,31,143,69,136,29,247,148,59,7,14,247,62,247,95,248,20,21,231,203,209,235,179,29,43,203,69,230,31,33,252,20,21,229,6,248,136,42,10,46,6,252,27,251,144,21,89,103,182,198,198,175,182,189,190,175,96,80,80,103,96,88,31,248,15,252,100,21,231,203,208,236,179,29,42,203,70,230,31,203,4,89,103,182,198,198,175,182,189,190,175,96,80,80,103,96,88,31,14,223,248,23,22,248,192,7,247,60,251,84,194,185,251,151,247,194,251,153,251,193,193,92,247,62,247,84,5,252,192,7,14,231,247,36,247,71,21,248,33,248,33,138,251,164,5,214,248,32,252,32,65,247,162,6,252,32,252,32,5,14,247,19,207,247,153,21,248,95,6,251,84,251,60,185,84,247,195,247,151,251,194,247,153,93,85,247,84,251,62,5,252,96,6,14,230,247,110,210,21,65,248,32,248,32,65,251,163,7,252,32,248,32,88,88,248,33,252,32,5,14,223,248,246,247,183,21,84,185,251,60,251,85,5,248,192,66,252,192,7,251,62,247,84,85,93,247,153,251,194,5,14,231,247,60,248,32,21,64,252,32,248,32,213,251,162,6,248,32,248,32,88,190,252,33,252,33,5,14,247,19,247,254,178,21,185,193,251,84,247,61,5,248,95,212,252,96,6,247,84,247,61,93,194,251,194,251,153,5,14,230,247,60,247,210,21,138,247,162,248,32,252,32,190,190,252,32,248,32,5,247,163,213,252,32,252,31,6,14,247,175,249,0,55,10,14,189,248,252,39,29,14,247,150,248,207,21,231,114,10,14,247,123,43,29,14,247,73,248,207,52,29,37,121,10,14,161,248,167,67,10,141,46,29,14,247,13,248,207,39,10,14,114,29,247,37,248,193,21,191,54,29,87,86,95,97,88,89,183,97,192,31,193,4,115,126,153,163,164,152,162,29,14,247,225,248,202,21,198,173,187,136,10,100,129,211,66,27,80,102,92,84,133,31,204,6,167,145,150,149,160,173,149,67,216,27,14,136,248,211,49,10,14,247,38,164,29,14,151,251,92,47,10,247,160,251,102,21,209,168,180,29,150,165,86,151,110,69,5,189,74,29,116,150,149,118,30,120,91,5,117,180,167,134,165,27,14,99,29,247,36,251,104,21,167,167,146,151,162,31,115,196,131,10,183,157,187,189,184,31,121,6,65,100,92,83,75,26,81,189,106,216,30,14,160,248,211,21,247,150,212,251,150,6,14,251,69,247,235,249,0,42,29,14,252,152,189,248,252,39,29,14,252,31,247,22,248,207,21,231,114,10,14,252,31,140,248,207,34,10,14,251,114,247,83,248,207,52,29,37,121,10,14,251,146,149,248,219,46,10,14,251,146,247,22,248,207,44,29,14,251,170,114,29,251,179,247,62,248,193,92,10,14,251,164,247,125,248,202,21,199,173,187,193,146,31,74,6,114,135,130,126,116,101,129,211,66,27,80,101,92,84,134,31,203,6,167,146,149,149,161,173,149,67,215,27,14,251,208,136,248,211,49,10,14,252,38,244,251,102,21,210,167,180,190,173,120,173,90,157,31,151,165,85,151,110,69,116,29,252,6,99,29,87,122,10,217,72,214,251,13,168,30,69,155,5,80,153,101,167,197,26,202,188,180,217,213,195,102,83,161,30,214,166,118,201,78,200,39,152,25,119,10,208,122,24,217,119,192,104,82,26,78,82,98,44,30,61,140,83,182,120,190,160,29,14,248,252,21,144,19,0,113,2,0,1,0,12,0,18,0,25,0,37,0,41,0,50,0,62,0,67,0,74,0,78,0,82,0,165,0,219,0,237,0,248,1,2,1,9,1,17,1,23,1,67,1,109,1,124,1,153,1,169,1,180,1,184,1,192,1,195,1,201,1,207,1,211,1,217,1,222,1,235,1,244,1,254,2,5,2,12,2,18,2,25,2,29,2,32,2,88,2,167,2,237,3,10,3,75,3,123,3,168,3,173,3,194,3,212,3,218,3,223,3,230,4,7,4,21,4,33,4,41,4,53,4,69,4,81,4,87,4,97,4,133,4,145,4,150,4,167,4,184,4,188,4,192,4,199,4,203,4,229,4,234,4,238,4,242,5,9,5,23,5,44,5,65,5,80,5,89,5,97,5,117,5,137,5,156,5,174,5,191,5,201,5,217,5,225,5,239,5,243,5,249,6,6,6,9,6,20,6,32,6,44,6,56,6,62,6,72,6,83,6,94,6,104,6,110,6,120,6,130,6,140,6,149,6,158,6,167,176,29,54,5,215,248,136,59,55,58,29,109,10,65,136,29,14,50,10,41,10,37,6,11,21,244,214,190,217,178,31,70,174,5,82,10,21,144,29,14,248,207,50,10,41,10,37,6,11,129,29,111,117,117,111,112,161,116,167,31,11,21,239,118,29,11,21,224,249,80,54,6,14,247,21,5,11,249,80,5,11,21,213,199,175,199,175,31,86,7,251,23,68,83,42,65,75,167,154,114,30,109,74,5,124,164,211,104,236,27,247,33,245,226,247,65,31,248,88,59,54,7,200,103,79,175,65,27,251,26,47,36,251,44,251,41,231,35,247,26,31,158,208,21,44,72,216,247,1,246,205,215,234,228,201,63,32,251,1,77,62,51,31,14,21,229,174,192,228,177,31,247,132,248,206,5,53,6,251,60,252,42,251,62,248,42,5,54,6,247,108,252,135,104,56,5,103,123,116,119,104,27,125,116,146,152,108,31,109,72,5,122,177,173,129,164,27,14,21,236,219,190,224,179,31,87,10,251,46,243,251,0,247,40,31,14,152,29,228,6,251,13,41,10,39,6,11,21,207,6,204,247,32,5,52,6,14,21,219,248,136,59,6,14,21,247,198,212,251,198,6,11,21,231,6,247,20,11,21,220,6,247,24,248,30,247,23,252,30,5,219,6,247,62,248,136,5,58,6,251,23,252,23,251,21,248,23,5,59,6,251,24,252,26,251,22,248,26,5,58,6,14,21,239,209,228,247,20,247,21,69,227,38,39,68,51,251,21,251,20,210,50,240,31,205,4,81,99,202,227,229,179,201,196,198,180,77,49,50,98,77,81,31,14,153,29,117,110,93,125,118,146,151,107,30,109,142,10,14,21,223,247,185,6,247,143,248,43,5,42,6,251,88,251,214,251,87,247,214,5,41,6,247,143,252,43,5,14,108,10,112,118,117,113,113,160,117,166,31,251,139,62,10,11,21,227,6,221,218,222,76,29,40,6,11,254,24,47,10,21,207,6,217,247,103,5,11,21,80,10,116,10,68,80,145,29,247,97,127,112,29,11,22,98,10,11,133,10,54,5,215,11,248,207,69,29,11,247,136,247,192,215,251,192,247,118,247,221,216,11,165,161,161,165,165,117,161,113,11,21,207,6,205,247,60,5,54,6,14,56,29,41,10,36,6,11,56,58,222,5,49,6,11,251,102,21,210,167,11,89,10,160,106,178,96,29,254,11,73,10,81,29,14,71,29,179,91,159,31,178,158,161,158,29,160,106,178,120,30,91,119,112,99,89,26,70,140,197,92,237,27,247,145,4,98,109,163,175,175,169,165,180,180,169,113,103,103,55,29,166,176,144,10,102,104,112,92,31,14,127,21,247,19,240,221,247,16,225,89,201,59,173,31,208,169,183,191,210,26,242,47,219,251,14,49,68,99,76,101,30,205,101,5,183,171,183,161,192,27,220,191,88,78,66,67,98,251,7,31,120,67,158,6,247,20,216,90,49,60,80,81,48,62,103,183,168,118,31,69,100,5,82,173,212,87,242,27,14,21,228,198,195,218,218,82,199,59,97,104,122,109,117,31,237,144,179,184,198,27,162,172,131,121,164,31,176,192,5,163,106,93,152,97,27,251,5,84,38,251,26,251,1,181,49,247,5,31,140,201,21,94,107,170,184,184,171,171,184,182,171,106,95,94,107,108,96,31,14,113,29,95,79,27,116,107,147,157,114,31,102,86,146,29,183,171,171,183,183,171,107,95,95,107,106,95,31,14,247,49,22,247,105,6,247,88,247,31,247,37,247,97,247,98,251,31,247,36,251,88,31,251,105,251,208,55,70,223,6,223,251,129,21,247,129,247,43,208,251,43,247,131,247,21,7,247,32,247,2,251,14,251,43,251,43,251,2,251,13,251,32,31,14,172,29,31,108,140,112,129,118,126,153,247,4,24,247,62,205,251,125,6,115,251,120,204,125,171,29,106,95,94,107,109,93,110,111,151,167,119,31,74,117,5,85,164,204,112,195,27,14,247,174,204,251,97,167,29,187,176,168,176,189,26,213,83,192,49,59,83,88,81,127,30,213,125,5,169,148,165,166,179,27,183,165,112,104,112,114,110,112,120,31,69,169,29,232,22,95,29,11,101,29,251,36,37,251,1,251,45,251,46,242,251,0,247,37,30,136,118,10,14,124,10,66,80,103,79,102,31,247,176,59,7,247,123,253,19,126,29,247,150,127,100,29,11,209,22,63,29,11,106,29,247,165,59,7,14,66,172,5,80,112,86,103,73,27,178,29,216,237,203,193,107,87,167,31,211,171,5,218,99,59,186,43,27,251,39,78,29,11,249,0,21,166,160,161,165,165,118,161,112,100,10,11,21,221,138,10,57,6,243,253,86,121,29,11,50,29,251,139,22,98,10,11,86,29,145,150,149,161,173,148,67,216,27,11,21,192,54,29,86,111,10,153,125,114,115,125,125,116,31,11,247,204,127,21,247,53,115,29,247,54,31,11,116,10,67,81,145,29,113,117,117,113,113,161,117,165,31,11,209,22,219,247,55,6,213,219,247,53,251,135,5,238,6,251,99,247,191,247,79,247,93,5,39,6,251,106,251,119,5,248,63,59,7,11,21,150,29,81,247,87,7,251,10,202,165,29,66,10,95,10,11,180,169,113,102,104,55,29,165,177,144,10,101,104,113,92,31,14,95,10,251,138,22,66,10,112,118,117,113,113,160,117,166,31,11,253,252,104,10,253,80,123,29,249,126,130,29,36,6,11,21,127,29,14,61,251,4,68,177,82,202,108,30,60,107,91,73,56,26,251,7,239,60,247,44,30,248,48,4,11,209,22,133,29,11,21,68,29,14,21,66,10,11,21,247,148,59,251,172,7,251,57,138,218,72,247,8,27,210,193,170,194,172,31,143,11,177,29,249,80,55,251,193,252,32,247,193,54,6,14,86,96,97,88,89,182,97,192,31,193,4,116,125,153,163,164,153,153,162,162,11,235,21,236,6,251,45,247,94,247,45,247,94,5,42,6,251,47,251,94,5,11,21,169,165,165,169,169,75,29,109,109,164,113,169,31,14,6,251,11,247,22,5,36,6,11,248,207,137,10,59,69,10,11,21,247,10,247,8,215,247,40,31,248,124,55,252,92,7,251,24,61,92,11,249,138,21,227,6,221,219,222,59,5,227,6,251,13,247,22,5,40,6,11,248,89,21,217,197,86,53,146,31,251,193,6,225,147,211,192,217,27,11,244,66,34,7,251,10,128,76,74,35,26,140,45,206,87,226,116,11,175,66,27,251,26,47,32,251,47,251,47,231,32,247,26,31,11,6,251,171,251,21,52,29,36,6,11,247,148,36,21,212,247,20,6,247,13,152,201,212,231,26,11,180,251,7,58,10,49,6,14,27,247,26,231,246,247,47,247,47,47,246,251,26,11,253,80,134,10,207,248,118,140,10,11,22,232,6,247,224,249,10,5,209,252,101,62,11,135,10,14,21,248,51,216,251,222,249,3,54,6,14,127,21,247,43,240,218,247,7,222,91,205,11,5,132,122,116,135,117,27,108,121,157,169,11,238,233,247,27,247,22,45,230,251,20,93,11,247,159,127,176,29,11,21,208,6,203,247,32,5,52,6,14,6,247,45,251,94,251,45,251,94,5,11,193,146,31,75,6,114,135,130,126,116,11,21,238,6,247,13,41,10,49,6,11,6,248,117,42,10,11,252,6,215,121,5,171,165,191,164,11,21,203,6,147,247,126,5,59,6,11,21,169,164,164,169,169,114,165,109,11,72,5,122,176,171,130,164,27,11,31,186,199,5,178,85,67,162,11,179,173,167,187,187,173,111,99,11,0,0,1,0,2,0,14,0,0,0,0,0,0,0,132,0,2,0,19,0,1,0,11,0,1,0,14,0,32,0,1,0,34,0,38,0,1,0,42,0,60,0,1,0,62,0,77,0,1,0,81,0,90,0,1,0,92,0,104,0,1,0,106,0,110,0,1,0,112,0,141,0,1,0,143,0,151,0,1,0,153,0,161,0,1,0,163,0,191,0,1,0,193,0,208,0,1,0,212,0,221,0,1,0,223,0,235,0,1,0,237,0,241,0,1,0,243,1,13,0,1,1,139,1,139,0,1,1,170,1,187,0,3,0,1,0,1,0,0,0,8,0,2,0,3,1,170,1,174,0,0,1,176,1,182,0,5,1,187,1,187,0,12,0,0,0,1,0,0,32,196,32,158,0,10,0,3,12,166,0,140,0,8,0,6,0,16,0,1,0,10,0,0,0,1,0,100,0,88,0,1,0,34,0,12,0,4,0,16,11,252,11,246,0,10,0,1,0,251,2,207,0,1,0,159,2,204,0,13,0,0,11,242,0,0,11,236,0,0,11,230,0,0,11,224,0,0,11,218,0,0,11,206,0,0,11,200,0,0,11,194,0,0,11,188,0,0,11,182,0,0,11,218,0,0,11,176,0,0,11,218,0,1,0,4,1,170,1,172,1,173,1,180,0,2,0,3,1,170,1,174,0,0,1,176,1,182,0,5,1,187,1,187,0,12,0,4,0,0,0,1,0,8,0,1,12,8,11,152,0,4,10,238,0,12,0,246,10,220,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,202,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,220,0,0,10,214,10,208,10,196,0,0,10,214,10,208,10,190,0,0,10,184,0,0,10,190,0,0,10,184,0,0,10,190,0,0,10,184,0,0,10,190,0,0,10,184,0,0,10,190,0,0,10,184,0,0,10,190,0,0,10,184,0,0,10,178,0,0,0,0,0,0,10,178,0,0,0,0,0,0,10,172,0,0,0,0,0,0,10,172,0,0,0,0,0,0,10,166,0,0,10,160,10,154,10,166,0,0,10,160,10,154,10,166,0,0,10,160,10,154,10,166,0,0,10,160,10,154,10,148,0,0,10,160,10,154,10,166,0,0,10,160,10,154,10,166,0,0,10,160,10,154,10,166,0,0,10,160,10,154,10,166,0,0,10,160,10,154,10,142,0,0,10,136,0,0,10,142,0,0,10,136,0,0,10,142,0,0,10,136,0,0,10,142,0,0,10,136,0,0,10,142,0,0,10,136,0,0,10,130,0,0,10,124,10,118,0,0,0,0,10,124,10,118,10,130,0,0,10,124,10,118,10,130,0,0,10,124,10,118,10,112,0,0,10,124,10,118,10,130,0,0,10,124,10,118,10,130,0,0,10,124,10,118,10,130,0,0,10,124,10,118,10,130,0,0,10,124,10,118,10,106,0,0,0,0,0,0,10,106,0,0,0,0,0,0,10,106,0,0,0,0,0,0,10,100,0,0,10,94,0,0,10,100,0,0,10,94,0,0,10,130,10,88,10,82,0,0,10,130,10,88,10,82,0,0,10,130,10,88,10,82,0,0,10,130,10,88,10,82,0,0,10,130,10,88,10,82,0,0,10,76,0,0,10,70,0,0,10,76,0,0,10,70,0,0,10,76,0,0,10,70,0,0,10,76,0,0,10,70,0,0,10,64,0,0,10,70,0,0,10,58,0,0,10,70,0,0,10,52,0,0,10,46,10,40,10,34,0,0,10,46,10,40,10,52,0,0,10,46,10,40,10,28,0,0,10,46,10,40,10,52,0,0,10,46,10,40,10,52,0,0,10,46,10,40,10,52,0,0,10,46,10,40,10,22,0,0,10,16,10,10,10,4,0,0,10,46,10,40,10,52,0,0,10,184,9,254,9,248,0,0,9,242,0,0,9,248,0,0,9,242,0,0,9,248,0,0,9,242,0,0,9,248,0,0,9,242,0,0,9,236,0,0,9,230,0,0,9,236,0,0,9,230,0,0,9,236,0,0,9,230,0,0,9,236,0,0,9,230,0,0,9,236,0,0,9,230,0,0,9,236,0,0,9,230,0,0,9,224,0,0,9,218,0,0,9,224,0,0,9,218,0,0,9,224,0,0,9,218,0,0,9,212,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,194,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,212,0,0,9,206,9,200,9,188,0,0,0,0,0,0,9,188,0,0,0,0,0,0,9,188,0,0,0,0,0,0,9,182,0,0,0,0,0,0,9,188,0,0,0,0,0,0,9,176,0,0,0,0,0,0,9,176,0,0,0,0,0,0,9,176,0,0,0,0,0,0,9,170,0,0,0,0,0,0,9,176,0,0,0,0,0,0,9,164,0,0,0,0,0,0,9,164,0,0,0,0,0,0,9,164,0,0,0,0,0,0,9,164,0,0,0,0,0,0,9,158,0,0,9,152,9,146,0,0,0,0,9,152,9,146,9,158,0,0,9,152,9,146,9,158,0,0,9,152,9,146,9,140,0,0,9,152,9,146,9,158,0,0,9,152,9,146,9,158,0,0,9,152,9,146,9,158,0,0,9,152,9,146,9,158,0,0,9,152,9,146,9,134,0,0,9,128,9,122,9,116,0,0,9,110,9,104,9,116,0,0,9,110,9,104,9,116,0,0,9,110,9,104,9,116,0,0,9,110,9,104,9,98,0,0,9,110,9,104,9,116,0,0,9,110,9,104,9,116,0,0,9,110,9,104,9,116,0,0,9,110,9,104,9,116,0,0,9,110,9,104,9,92,0,0,9,110,9,104,9,86,0,0,9,80,9,74,9,68,0,0,9,62,0,0,9,68,0,0,9,62,0,0,9,68,0,0,9,62,0,0,9,68,0,0,9,62,0,0,9,68,0,0,9,62,0,0,9,68,0,0,9,62,0,0,9,56,9,50,0,0,0,0,9,56,9,50,0,0,0,0,9,56,9,50,0,0,0,0,9,44,0,0,9,38,9,32,9,26,0,0,9,20,9,14,9,26,0,0,9,20,9,14,9,26,0,0,9,20,9,14,9,8,0,0,9,20,9,14,9,26,0,0,9,20,9,14,9,26,0,0,9,20,9,14,9,26,0,0,9,20,9,14,9,26,0,0,9,20,9,14,9,2,0,0,8,252,0,0,9,2,0,0,8,252,0,0,9,2,0,0,8,252,0,0,9,2,0,0,8,252,0,0,9,2,0,0,8,252,0,0,8,246,0,0,10,160,0,0,8,246,0,0,10,160,0,0,8,246,0,0,10,160,0,0,8,240,0,0,8,234,8,228,8,240,0,0,8,234,8,228,8,240,0,0,8,234,8,228,8,240,0,0,8,234,8,228,8,222,0,0,8,234,8,228,8,240,0,0,8,234,8,228,8,240,0,0,8,234,8,228,8,240,0,0,8,234,8,228,8,240,0,0,8,234,8,228,0,0,0,0,8,234,8,228,8,216,0,0,0,0,0,0,8,216,0,0,0,0,0,0,8,216,0,0,0,0,0,0,8,216,0,0,0,0,0,0,8,210,0,0,8,204,0,0,8,210,0,0,8,204,0,0,8,198,8,192,8,186,0,0,8,198,8,192,8,186,0,0,8,198,8,192,8,186,0,0,8,198,8,192,8,186,0,0,8,180,8,174,8,168,0,0,8,162,0,0,8,156,0,0,8,162,0,0,8,156,0,0,8,162,0,0,8,156,0,0,8,162,0,0,8,156,0,0,8,150,0,0,8,156,0,0,8,144,0,0,8,156,0,0,8,138,0,0,8,132,8,126,8,138,0,0,8,132,8,126,8,138,0,0,8,132,8,126,8,120,0,0,8,132,8,126,8,138,0,0,8,132,8,126,8,138,0,0,8,132,8,126,8,138,0,0,8,132,8,126,9,26,0,0,8,114,8,108,8,102,0,0,8,132,8,126,8,96,0,0,8,90,0,0,8,96,0,0,8,90,0,0,8,96,0,0,8,90,0,0,8,96,0,0,8,90,0,0,8,84,0,0,8,78,0,0,8,84,0,0,8,72,0,0,8,84,0,0,8,72,0,0,8,84,0,0,8,72,0,0,8,84,0,0,8,72,0,0,8,84,0,0,8,72,0,0,8,66,8,60,8,54,0,0,8,66,8,60,8,54,0,0,8,66,8,60,8,54,0,0,8,48,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,30,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,48,0,0,8,42,8,36,8,24,0,0,0,0,0,0,8,24,0,0,0,0,0,0,8,24,0,0,0,0,0,0,8,18,0,0,0,0,0,0,8,24,0,0,0,0,0,0,8,12,0,0,0,0,0,0,8,12,0,0,0,0,0,0,8,12,0,0,0,0,0,0,8,6,0,0,0,0,0,0,8,12,0,0,0,0,0,0,8,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,7,250,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,238,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,250,0,0,0,0,7,244,7,232,0,0,0,0,7,244,8,198,8,192,9,152,0,0,8,198,8,192,9,152,0,0,8,198,8,192,9,152,0,0,8,198,8,192,9,152,0,0,8,180,8,174,7,226,0,0,7,220,0,0,7,214,7,208,7,202,0,0,7,196,7,190,7,184,0,0,7,178,0,0,0,1,1,37,0,110,0,1,1,35,2,98,0,1,1,67,1,150,0,1,0,181,1,144,0,1,0,181,2,188,0,1,1,32,1,150,0,1,0,158,1,144,0,1,0,159,2,188,0,1,0,221,0,0,0,1,1,27,2,207,0,1,1,27,2,204,0,1,2,5,0,0,0,1,1,27,1,244,0,1,0,245,1,244,0,1,1,7,2,204,0,1,1,7,1,244,0,1,1,137,2,204,0,1,1,137,1,244,0,1,1,23,2,204,0,1,1,234,0,0,0,1,1,24,0,0,0,1,1,23,1,244,0,1,0,211,0,0,0,1,0,209,2,210,0,1,0,183,1,244,0,1,0,245,0,0,0,1,0,243,0,0,0,1,0,248,1,244,0,1,0,133,0,0,0,1,0,161,1,244,0,1,1,33,2,207,0,1,2,8,0,10,0,1,1,32,0,0,0,1,1,33,2,204,0,1,2,10,0,10,0,1,1,33,0,0,0,1,1,33,1,244,0,1,1,205,1,244,0,1,1,22,2,207,0,1,1,22,0,0,0,1,1,22,1,244,0,1,0,140,0,0,0,1,0,182,2,188,0,1,0,140,2,163,0,1,0,110,0,0,0,1,0,152,2,188,0,1,0,110,2,163,0,1,0,249,0,0,0,1,0,243,3,32,0,1,0,152,1,244,0,1,0,116,2,204,0,1,0,157,0,0,0,1,0,116,0,0,0,1,0,116,1,244,0,1,0,110,2,188,0,1,1,32,255,56,0,1,1,21,1,244,0,1,1,32,2,204,0,1,1,204,0,50,0,1,1,34,0,0,0,1,1,32,1,244,0,1,1,213,0,39,0,1,1,31,0,0,0,1,1,31,1,244,0,1,2,5,2,188,0,1,1,218,2,188,0,1,1,37,0,0,0,1,1,35,1,244,0,1,3,23,0,50,0,1,2,109,0,0,0,1,2,107,1,244,0,1,0,252,2,207,0,1,0,252,2,204,0,1,1,198,0,0,0,1,0,247,0,0,0,1,0,252,1,244,0,1,1,196,0,3,0,1,0,251,0,0,0,1,0,255,1,244,0,1,0,193,3,123,0,1,0,234,0,0,0,1,0,191,0,0,0,1,0,191,2,163,0,1,1,65,2,163,0,1,1,46,3,118,0,1,1,46,2,158,0,1,1,224,3,118,0,1,1,224,2,158,0,1,1,98,3,123,0,1,2,27,0,50,0,1,1,98,0,0,0,1,1,98,2,163,0,1,1,20,0,0,0,1,1,20,2,163,0,1,1,61,0,0,0,1,1,62,2,163,0,1,1,57,0,0,0,1,1,34,2,163,0,1,2,187,0,10,0,1,1,132,3,126,0,1,2,161,0,10,0,1,1,138,0,0,0,1,1,136,2,163,0,1,1,132,3,123,0,1,1,133,2,163,0,1,2,158,0,10,0,1,1,135,0,0,0,1,1,132,2,163,0,1,2,129,1,247,0,1,1,126,3,123,0,1,1,131,0,0,0,1,1,126,2,160,0,1,1,29,0,0,0,1,0,213,2,247,0,1,1,49,0,0,0,1,1,49,2,188,0,1,1,132,2,158,0,1,0,138,3,123,0,1,0,179,0,0,0,1,0,136,0,0,0,1,0,136,2,163,0,1,1,154,0,0,0,1,1,130,2,188,0,1,1,49,3,123,0,1,1,254,0,0,0,1,1,23,0,0,0,1,1,49,2,163,0,1,1,115,2,163,0,1,1,51,2,163,0,1,1,132,0,0,0,1,1,130,2,163,0,1,1,82,3,126,0,1,1,82,3,123,0,1,2,157,0,0,0,1,1,82,0,0,0,1,1,82,2,163,0,18,0,0,0,164,0,0,0,158,0,0,0,152,0,0,0,146,0,0,0,140,0,1,0,134,0,0,0,128,0,0,0,122,0,0,0,116,0,0,0,110,0,0,0,104,0,0,0,140,0,0,0,98,0,2,0,92,0,2,0,86,0,3,0,80,0,3,0,74,0,0,0,140,0,1,0,154,0,36,0,1,0,201,0,0,0,1,1,43,0,0,0,1,0,96,0,0,0,1,0,45,1,244,0,1,0,251,1,244,0,1,0,145,1,244,0,1,0,170,1,244,0,1,0,172,1,244,0,1,0,174,1,244,0,1,0,0,2,188,0,1,0,150,1,244,0,1,1,43,1,244,0,1,0,246,1,244,0,1,0,50,1,244,0,1,0,159,1,244,0,2,0,18,0,1,0,11,0,0,0,14,0,32,0,11,0,34,0,38,0,30,0,42,0,60,0,35,0,62,0,77,0,54,0,81,0,90,0,70,0,92,0,104,0,80,0,106,0,110,0,93,0,112,0,141,0,98,0,143,0,151,0,128,0,153,0,161,0,137,0,163,0,191,0,146,0,193,0,207,0,175,0,212,0,221,0,190,0,223,0,235,0,200,0,237,0,241,0,213,0,243,1,13,0,218,1,139,1,139,0,245,0,2,0,1,1,170,1,187,0,0,0,2,0,8,0,2,2,24,0,10,0,2,1,152,0,4,0,0,1,28,0,136,0,10,0,6,0,0,0,0,0,0,255,249,0,0,0,0,0,0,0,0,0,0,255,243,0,0,255,251,0,0,0,0,255,247,0,0,0,0,0,0,0,0,255,223,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,244,0,0,0,0,0,0,255,254,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,0,255,245,0,0,0,0,0,0,0,0,0,0,255,251,0,0,0,0,0,0,0,0,0,2,0,24,0,92,0,94,0,2,0,105,0,110,0,2,0,112,0,116,0,2,0,130,0,134,0,1,0,136,0,141,0,1,0,143,0,154,0,1,0,156,0,161,0,1,0,163,0,164,0,1,0,166,0,167,0,1,0,199,0,208,0,1,0,211,0,211,0,1,0,236,0,241,0,3,0,242,0,242,0,5,0,243,0,247,0,3,0,252,1,0,0,1,1,2,1,6,0,1,1,93,1,93,0,4,1,95,1,95,0,4,1,99,1,99,0,4,1,110,1,110,0,4,1,112,1,112,0,4,1,114,1,114,0,4,1,117,1,118,0,4,1,125,1,126,0,4,0,2,0,20,0,1,0,8,0,5,0,10,0,11,0,5,0,20,0,23,0,2,0,68,0,76,0,2,0,92,0,94,0,3,0,95,0,104,0,2,0,105,0,110,0,3,0,112,0,116,0,3,0,141,0,148,0,1,0,150,0,150,0,7,0,153,0,154,0,1,0,156,0,160,0,1,0,185,0,186,0,8,0,189,0,189,0,7,0,199,0,210,0,1,0,223,0,225,0,6,0,236,0,241,0,4,0,242,0,242,0,9,0,243,0,247,0,4,1,9,1,9,0,7,0,2,0,19,0,1,0,8,0,0,0,10,0,11,0,8,0,20,0,23,0,10,0,68,0,76,0,14,0,92,0,110,0,23,0,112,0,116,0,42,0,130,0,148,0,47,0,150,0,150,0,66,0,153,0,154,0,67,0,156,0,160,0,69,0,168,0,168,0,74,0,185,0,186,0,75,0,189,0,189,0,77,0,192,0,197,0,78,0,199,0,210,0,84,0,223,0,225,0,96,0,236,0,247,0,99,0,253,1,6,0,111,1,9,1,9,0,121,0,1,17,62,0,4,0,0,0,74,16,72,16,66,16,60,14,178,14,168,16,60,13,34,12,232,12,222,11,132,11,78,9,196,9,190,8,92,6,210,5,204,4,70,16,60,4,64,4,58,4,58,4,58,4,58,4,58,4,58,4,58,4,58,3,200,4,58,4,58,4,58,4,58,4,58,4,58,4,58,3,194,2,232,2,226,2,216,2,216,3,200,2,210,2,200,4,58,4,58,4,58,4,58,4,58,4,58,4,58,4,58,4,58,4,58,4,58,2,194,2,80,16,60,2,74,2,74,2,74,2,74,2,74,2,74,2,74,2,74,2,74,2,74,2,74,2,68,2,62,2,48,0,214,0,164,0,158,0,1,0,216,255,189,0,12,0,1,0,33,0,2,0,33,0,3,0,33,0,4,0,33,0,5,0,33,0,6,0,33,0,7,0,33,0,8,0,33,0,9,0,33,0,10,0,33,0,11,0,33,0,12,0,33,0,86,0,130,255,253,0,131,255,253,0,132,255,253,0,133,255,253,0,134,255,253,0,136,255,253,0,137,255,253,0,138,255,253,0,139,255,253,0,140,255,253,0,141,255,253,0,143,255,253,0,144,255,253,0,145,255,253,0,146,255,253,0,147,255,253,0,148,255,253,0,149,255,253,0,150,255,253,0,151,255,253,0,152,255,253,0,153,255,253,0,154,255,253,0,156,255,253,0,157,255,253,0,158,255,253,0,159,255,253,0,160,255,253,0,161,255,253,0,163,255,253,0,164,255,253,0,166,255,253,0,167,255,253,0,192,255,254,0,193,255,254,0,194,255,254,0,195,255,254,0,196,255,254,0,197,255,254,0,198,255,254,0,199,255,253,0,200,255,253,0,201,255,253,0,202,255,253,0,203,255,253,0,204,255,253,0,205,255,253,0,206,255,253,0,207,255,253,0,208,255,253,0,209,255,254,0,211,255,253,0,212,255,254,0,213,255,254,0,214,255,254,0,215,255,254,0,216,255,254,0,217,255,254,0,218,255,254,0,219,255,254,0,220,255,254,0,221,255,254,0,226,255,254,0,227,255,254,0,228,255,254,0,229,255,254,0,230,255,254,0,231,255,254,0,232,255,254,0,233,255,254,0,234,255,254,0,235,255,254,0,248,255,254,0,249,255,254,0,250,255,254,0,251,255,254,0,252,255,253,0,253,255,253,0,254,255,253,0,255,255,253,1,0,255,253,1,2,255,253,1,3,255,253,1,4,255,253,1,5,255,253,1,6,255,253,0,3,1,39,255,248,1,40,255,193,1,41,255,248,0,1,1,56,255,219,0,1,0,199,0,0,0,1,1,120,0,27,0,28,0,135,0,95,0,155,0,95,0,162,0,95,0,168,0,95,0,169,0,95,0,171,0,95,0,173,0,95,0,174,0,95,0,175,0,95,0,176,0,95,0,177,0,95,0,178,0,95,0,185,0,95,0,186,0,95,0,187,0,95,0,188,0,95,0,189,0,95,0,190,0,95,0,191,0,95,0,223,0,95,0,224,0,95,0,225,0,95,1,1,0,95,1,7,0,95,1,8,0,95,1,9,0,95,1,10,0,95,1,11,0,95,0,1,0,216,0,0,0,2,0,163,0,0,1,110,255,253,0,1,1,110,255,254,0,2,0,171,0,0,1,110,255,254,0,1,0,181,0,26,0,54,0,130,255,253,0,131,255,253,0,132,255,253,0,133,255,253,0,134,255,253,0,136,255,253,0,137,255,253,0,138,255,253,0,139,255,253,0,140,255,253,0,141,255,253,0,143,255,253,0,144,255,253,0,145,255,253,0,146,255,253,0,147,255,253,0,148,255,253,0,149,255,253,0,150,255,253,0,151,255,253,0,152,255,253,0,153,255,253,0,154,255,253,0,156,255,253,0,157,255,253,0,158,255,253,0,159,255,253,0,160,255,253,0,161,255,253,0,163,255,253,0,164,255,253,0,166,255,253,0,167,255,253,0,199,255,253,0,200,255,253,0,201,255,253,0,202,255,253,0,203,255,253,0,204,255,253,0,205,255,253,0,206,255,253,0,207,255,253,0,208,255,253,0,211,255,253,0,252,255,253,0,253,255,253,0,254,255,253,0,255,255,253,1,0,255,253,1,2,255,253,1,3,255,253,1,4,255,253,1,5,255,253,1,6,255,253,0,1,0,181,0,60,0,28,0,135,0,78,0,155,0,78,0,162,0,78,0,168,0,78,0,169,0,78,0,171,0,78,0,173,0,78,0,174,0,78,0,175,0,78,0,176,0,78,0,177,0,78,0,178,0,78,0,185,0,78,0,186,0,78,0,187,0,78,0,188,0,78,0,189,0,78,0,190,0,78,0,191,0,78,0,223,0,78,0,224,0,78,0,225,0,78,1,1,0,78,1,7,0,78,1,8,0,78,1,9,0,78,1,10,0,78,1,11,0,78,0,1,1,110,255,253,0,1,0,181,0,54,0,97,0,130,255,196,0,131,255,196,0,132,255,196,0,133,255,196,0,134,255,196,0,136,255,196,0,137,255,196,0,138,255,196,0,139,255,196,0,140,255,196,0,141,255,196,0,143,255,196,0,144,255,196,0,145,255,196,0,146,255,196,0,147,255,196,0,148,255,196,0,149,255,196,0,150,255,196,0,151,255,196,0,152,255,196,0,153,255,196,0,154,255,196,0,156,255,196,0,157,255,196,0,158,255,196,0,159,255,196,0,160,255,196,0,161,255,196,0,163,255,196,0,164,255,196,0,166,255,196,0,167,255,196,0,192,255,228,0,193,255,228,0,194,255,228,0,195,255,228,0,196,255,228,0,197,255,228,0,198,255,228,0,199,255,196,0,200,255,196,0,201,255,196,0,202,255,196,0,203,255,196,0,204,255,196,0,205,255,196,0,206,255,196,0,207,255,196,0,208,255,196,0,209,255,228,0,211,255,196,0,212,255,228,0,213,255,228,0,214,255,228,0,215,255,228,0,216,255,228,0,217,255,228,0,218,255,228,0,219,255,228,0,220,255,228,0,221,255,228,0,226,255,228,0,227,255,228,0,228,255,228,0,229,255,228,0,230,255,228,0,231,255,228,0,232,255,228,0,233,255,228,0,234,255,228,0,235,255,228,0,236,255,246,0,237,255,246,0,238,255,246,0,239,255,246,0,240,255,246,0,241,255,246,0,243,255,246,0,244,255,246,0,245,255,246,0,246,255,246,0,247,255,246,0,248,255,226,0,249,255,228,0,250,255,228,0,251,255,228,0,252,255,196,0,253,255,196,0,254,255,196,0,255,255,196,1,0,255,196,1,2,255,196,1,3,255,196,1,4,255,196,1,5,255,196,1,6,255,196,0,65,0,130,255,233,0,131,255,233,0,132,255,233,0,133,255,233,0,134,255,233,0,136,255,233,0,137,255,233,0,138,255,233,0,139,255,233,0,140,255,233,0,141,255,233,0,143,255,233,0,144,255,233,0,145,255,233,0,146,255,233,0,147,255,233,0,148,255,233,0,149,255,233,0,150,255,233,0,151,255,233,0,152,255,233,0,153,255,233,0,154,255,233,0,156,255,233,0,157,255,233,0,158,255,233,0,159,255,233,0,160,255,233,0,161,255,233,0,163,255,233,0,164,255,233,0,166,255,233,0,167,255,233,0,199,255,233,0,200,255,233,0,201,255,233,0,202,255,233,0,203,255,233,0,204,255,233,0,205,255,233,0,206,255,233,0,207,255,233,0,208,255,233,0,211,255,233,0,236,255,248,0,237,255,248,0,238,255,248,0,239,255,248,0,240,255,248,0,241,255,248,0,243,255,248,0,244,255,248,0,245,255,248,0,246,255,248,0,247,255,248,0,252,255,233,0,253,255,233,0,254,255,233,0,255,255,233,1,0,255,233,1,2,255,233,1,3,255,233,1,4,255,233,1,5,255,233,1,6,255,233,0,98,0,1,255,223,0,130,255,215,0,131,255,215,0,132,255,215,0,133,255,215,0,134,255,215,0,136,255,215,0,137,255,215,0,138,255,215,0,139,255,215,0,140,255,215,0,141,255,215,0,143,255,215,0,144,255,215,0,145,255,215,0,146,255,215,0,147,255,215,0,148,255,215,0,149,255,215,0,150,255,215,0,151,255,215,0,152,255,215,0,153,255,215,0,154,255,215,0,156,255,215,0,157,255,215,0,158,255,215,0,159,255,215,0,160,255,215,0,161,255,215,0,163,255,215,0,164,255,215,0,166,255,215,0,167,255,215,0,192,255,253,0,193,255,253,0,194,255,253,0,195,255,253,0,196,255,253,0,197,255,253,0,198,255,253,0,199,255,215,0,200,255,215,0,201,255,215,0,202,255,215,0,203,255,215,0,204,255,215,0,205,255,215,0,206,255,215,0,207,255,215,0,208,255,215,0,209,255,253,0,211,255,215,0,212,255,253,0,213,255,253,0,214,255,253,0,215,255,253,0,216,255,253,0,217,255,253,0,218,255,253,0,219,255,253,0,220,255,253,0,221,255,253,0,226,255,253,0,227,255,253,0,228,255,253,0,229,255,253,0,230,255,253,0,231,255,253,0,232,255,253,0,233,255,253,0,234,255,253,0,235,255,253,0,236,255,255,0,237,255,255,0,238,255,255,0,239,255,255,0,240,255,255,0,241,255,255,0,243,255,255,0,244,255,255,0,245,255,255,0,246,255,255,0,247,255,255,0,248,255,253,0,249,255,253,0,250,255,253,0,251,255,253,0,252,255,215,0,253,255,215,0,254,255,215,0,255,255,215,1,0,255,215,1,2,255,215,1,3,255,215,1,4,255,215,1,5,255,215,1,6,255,215,0,88,0,1,255,213,0,68,255,253,0,130,255,216,0,131,255,216,0,132,255,216,0,133,255,216,0,134,255,216,0,136,255,216,0,137,255,216,0,138,255,216,0,139,255,216,0,140,255,216,0,141,255,216,0,143,255,216,0,144,255,216,0,145,255,216,0,146,255,216,0,147,255,216,0,148,255,216,0,149,255,216,0,150,255,216,0,151,255,216,0,152,255,216,0,153,255,216,0,154,255,216,0,156,255,216,0,157,255,216,0,158,255,216,0,159,255,216,0,160,255,216,0,161,255,216,0,163,255,216,0,164,255,216,0,166,255,216,0,167,255,216,0,192,255,251,0,193,255,251,0,194,255,251,0,195,255,251,0,196,255,251,0,197,255,251,0,198,255,251,0,199,255,216,0,200,255,216,0,201,255,216,0,202,255,216,0,203,255,216,0,204,255,216,0,205,255,216,0,206,255,216,0,207,255,216,0,208,255,216,0,209,255,251,0,211,255,216,0,212,255,251,0,213,255,251,0,214,255,251,0,215,255,251,0,216,255,251,0,217,255,251,0,218,255,251,0,219,255,251,0,220,255,251,0,221,255,251,0,226,255,251,0,227,255,251,0,228,255,251,0,229,255,251,0,230,255,251,0,231,255,251,0,232,255,251,0,233,255,251,0,234,255,251,0,235,255,251,0,248,255,251,0,249,255,251,0,250,255,251,0,251,255,251,0,252,255,216,0,253,255,216,0,254,255,216,0,255,255,216,1,0,255,216,1,2,255,216,1,3,255,216,1,4,255,216,1,5,255,216,1,6,255,216,0,1,0,181,0,0,0,98,0,1,255,188,0,130,255,194,0,131,255,194,0,132,255,194,0,133,255,194,0,134,255,194,0,136,255,194,0,137,255,194,0,138,255,194,0,139,255,194,0,140,255,194,0,141,255,194,0,143,255,194,0,144,255,194,0,145,255,194,0,146,255,194,0,147,255,194,0,148,255,194,0,149,255,194,0,150,255,194,0,151,255,194,0,152,255,194,0,153,255,194,0,154,255,194,0,156,255,194,0,157,255,194,0,158,255,194,0,159,255,194,0,160,255,194,0,161,255,194,0,163,255,194,0,164,255,194,0,166,255,194,0,167,255,194,0,192,255,209,0,193,255,209,0,194,255,209,0,195,255,209,0,196,255,209,0,197,255,209,0,198,255,209,0,199,255,194,0,200,255,194,0,201,255,194,0,202,255,194,0,203,255,194,0,204,255,194,0,205,255,194,0,206,255,194,0,207,255,194,0,208,255,194,0,209,255,209,0,211,255,194,0,212,255,209,0,213,255,209,0,214,255,209,0,215,255,209,0,216,255,209,0,217,255,209,0,218,255,209,0,219,255,209,0,220,255,209,0,221,255,209,0,226,255,209,0,227,255,209,0,228,255,209,0,229,255,209,0,230,255,209,0,231,255,209,0,232,255,209,0,233,255,209,0,234,255,209,0,235,255,209,0,236,255,244,0,237,255,244,0,238,255,244,0,239,255,244,0,240,255,244,0,241,255,244,0,243,255,244,0,244,255,244,0,245,255,244,0,246,255,244,0,247,255,244,0,248,255,219,0,249,255,209,0,250,255,209,0,251,255,209,0,252,255,194,0,253,255,194,0,254,255,194,0,255,255,194,1,0,255,194,1,2,255,194,1,3,255,194,1,4,255,194,1,5,255,194,1,6,255,194,0,13,0,1,0,2,0,92,255,253,0,236,255,251,0,237,255,251,0,238,255,251,0,239,255,251,0,240,255,251,0,241,255,251,0,243,255,251,0,244,255,251,0,245,255,251,0,246,255,251,0,247,255,251,0,86,0,130,255,246,0,131,255,246,0,132,255,246,0,133,255,246,0,134,255,246,0,136,255,246,0,137,255,246,0,138,255,246,0,139,255,246,0,140,255,246,0,141,255,246,0,143,255,246,0,144,255,246,0,145,255,246,0,146,255,246,0,147,255,246,0,148,255,246,0,149,255,246,0,150,255,246,0,151,255,246,0,152,255,246,0,153,255,246,0,154,255,246,0,156,255,246,0,157,255,246,0,158,255,246,0,159,255,246,0,160,255,246,0,161,255,246,0,163,255,246,0,164,255,246,0,166,255,246,0,167,255,246,0,192,255,252,0,193,255,252,0,194,255,252,0,195,255,252,0,196,255,252,0,197,255,252,0,198,255,252,0,199,255,246,0,200,255,246,0,201,255,246,0,202,255,246,0,203,255,246,0,204,255,246,0,205,255,246,0,206,255,246,0,207,255,246,0,208,255,246,0,209,255,252,0,211,255,246,0,212,255,252,0,213,255,252,0,214,255,252,0,215,255,252,0,216,255,252,0,217,255,252,0,218,255,252,0,219,255,252,0,220,255,252,0,221,255,252,0,226,255,252,0,227,255,252,0,228,255,252,0,229,255,252,0,230,255,252,0,231,255,252,0,232,255,252,0,233,255,252,0,234,255,252,0,235,255,252,0,248,255,252,0,249,255,252,0,250,255,252,0,251,255,252,0,252,255,246,0,253,255,246,0,254,255,246,0,255,255,246,1,0,255,246,1,2,255,246,1,3,255,246,1,4,255,246,1,5,255,246,1,6,255,246,0,2,0,39,0,0,0,112,255,245,0,14,0,68,255,238,0,92,255,181,0,112,255,243,0,236,255,251,0,237,255,251,0,238,255,251,0,239,255,251,0,240,255,251,0,241,255,251,0,243,255,251,0,244,255,251,0,245,255,251,0,246,255,251,0,247,255,251,0,97,0,130,255,248,0,131,255,248,0,132,255,248,0,133,255,248,0,134,255,248,0,136,255,248,0,137,255,248,0,138,255,248,0,139,255,248,0,140,255,248,0,141,255,248,0,143,255,248,0,144,255,248,0,145,255,248,0,146,255,248,0,147,255,248,0,148,255,248,0,149,255,248,0,150,255,248,0,151,255,248,0,152,255,248,0,153,255,248,0,154,255,248,0,156,255,248,0,157,255,248,0,158,255,248,0,159,255,248,0,160,255,248,0,161,255,248,0,163,255,248,0,164,255,248,0,166,255,248,0,167,255,248,0,192,255,254,0,193,255,254,0,194,255,254,0,195,255,254,0,196,255,254,0,197,255,254,0,198,255,254,0,199,255,248,0,200,255,248,0,201,255,248,0,202,255,248,0,203,255,248,0,204,255,248,0,205,255,248,0,206,255,248,0,207,255,248,0,208,255,248,0,209,255,254,0,211,255,248,0,212,255,254,0,213,255,254,0,214,255,254,0,215,255,254,0,216,255,254,0,217,255,254,0,218,255,254,0,219,255,254,0,220,255,254,0,221,255,254,0,226,255,254,0,227,255,254,0,228,255,254,0,229,255,254,0,230,255,254,0,231,255,254,0,232,255,254,0,233,255,254,0,234,255,254,0,235,255,254,0,236,255,248,0,237,255,248,0,238,255,248,0,239,255,248,0,240,255,248,0,241,255,248,0,243,255,248,0,244,255,248,0,245,255,248,0,246,255,248,0,247,255,248,0,248,255,254,0,249,255,254,0,250,255,254,0,251,255,254,0,252,255,248,0,253,255,248,0,254,255,248,0,255,255,248,1,0,255,248,1,2,255,248,1,3,255,248,1,4,255,248,1,5,255,248,1,6,255,248,0,2,0,1,255,249,0,42,255,239,0,98,0,130,255,250,0,131,255,250,0,132,255,250,0,133,255,250,0,134,255,250,0,136,255,250,0,137,255,250,0,138,255,250,0,139,255,250,0,140,255,250,0,141,255,250,0,143,255,250,0,144,255,250,0,145,255,250,0,146,255,250,0,147,255,250,0,148,255,250,0,149,255,250,0,150,255,250,0,151,255,250,0,152,255,250,0,153,255,250,0,154,255,250,0,156,255,250,0,157,255,250,0,158,255,250,0,159,255,250,0,160,255,250,0,161,255,250,0,163,255,250,0,164,255,250,0,166,255,250,0,167,255,250,0,181,255,254,0,192,255,246,0,193,255,246,0,194,255,246,0,195,255,246,0,196,255,246,0,197,255,246,0,198,255,246,0,199,255,250,0,200,255,250,0,201,255,250,0,202,255,250,0,203,255,250,0,204,255,250,0,205,255,250,0,206,255,250,0,207,255,250,0,208,255,250,0,209,255,246,0,211,255,250,0,212,255,246,0,213,255,246,0,214,255,246,0,215,255,246,0,216,255,246,0,217,255,246,0,218,255,246,0,219,255,246,0,220,255,246,0,221,255,246,0,226,255,246,0,227,255,246,0,228,255,246,0,229,255,246,0,230,255,246,0,231,255,246,0,232,255,246,0,233,255,246,0,234,255,246,0,235,255,246,0,236,255,254,0,237,255,254,0,238,255,254,0,239,255,254,0,240,255,254,0,241,255,254,0,243,255,254,0,244,255,254,0,245,255,254,0,246,255,254,0,247,255,254,0,248,255,246,0,249,255,246,0,250,255,246,0,251,255,246,0,252,255,250,0,253,255,250,0,254,255,250,0,255,255,250,1,0,255,250,1,2,255,250,1,3,255,250,1,4,255,250,1,5,255,250,1,6,255,250,0,1,0,181,0,28,0,1,0,181,0,110,0,61,0,14,255,234,0,34,255,231,0,68,255,234,0,92,255,243,0,105,255,213,0,106,255,223,0,112,255,246,0,130,255,249,0,131,255,249,0,132,255,249,0,133,255,249,0,134,255,249,0,136,255,249,0,137,255,249,0,138,255,249,0,139,255,249,0,140,255,249,0,141,255,249,0,143,255,249,0,144,255,249,0,145,255,249,0,146,255,249,0,147,255,249,0,148,255,249,0,149,255,249,0,150,255,249,0,151,255,249,0,152,255,249,0,153,255,249,0,154,255,249,0,156,255,249,0,157,255,249,0,158,255,249,0,159,255,249,0,160,255,249,0,161,255,249,0,163,255,249,0,164,255,249,0,166,255,249,0,167,255,249,0,199,255,249,0,200,255,249,0,201,255,249,0,202,255,249,0,203,255,249,0,204,255,249,0,205,255,249,0,206,255,249,0,207,255,249,0,208,255,249,0,211,255,249,0,252,255,249,0,253,255,249,0,254,255,249,0,255,255,249,1,0,255,249,1,2,255,249,1,3,255,249,1,4,255,249,1,5,255,249,1,6,255,249,0,1,0,74,0,1,0,9,0,32,0,33,0,34,0,50,0,54,0,56,0,68,0,78,0,81,0,92,0,103,0,105,0,106,0,111,0,112,0,129,0,138,0,141,0,142,0,143,0,144,0,145,0,146,0,147,0,148,0,150,0,153,0,154,0,156,0,157,0,158,0,159,0,160,0,161,0,162,0,179,0,185,0,186,0,189,0,193,0,199,0,200,0,201,0,202,0,203,0,204,0,205,0,206,0,207,0,208,0,209,0,210,0,216,0,224,0,234,0,236,0,237,0,238,0,239,0,240,0,241,0,243,0,244,0,245,0,246,0,247,0,248,1,53,1,56,1,109,1,116,1,120,0,3,107,101,114,110,0,32,109,97,114,107,0,26,109,107,109,107,0,20,0,0,0,1,0,2,0,0,0,1,0,1,0,0,0,1,0,0,0,2,68,70,76,84,0,72,108,97,116,110,0,14,0,62,0,9,65,90,69,32,0,62,67,65,84,32,0,62,67,82,84,32,0,62,75,65,90,32,0,62,77,79,76,32,0,62,78,76,68,32,0,62,82,79,77,32,0,62,84,65,84,32,0,62,84,82,75,32,0,62,0,4,0,0,0,0,255,255,0,3,0,0,0,1,0,2,0,1,0,0,6,46,5,10,0,10,0,34,4,80,3,144,2,242,2,220,2,192,2,192,2,172,2,172,2,172,2,172,2,172,2,150,2,150,2,90,2,76,2,62,2,0,1,238,1,214,1,214,1,200,1,186,1,172,1,152,1,186,1,80,1,66,1,4,0,226,0,202,0,188,0,168,0,144,0,70,0,1,0,0,0,1,0,8,0,2,0,38,0,16,0,121,0,122,0,123,0,124,0,125,0,126,0,127,0,128,0,129,1,7,1,8,1,9,1,10,1,11,1,24,1,35,0,2,0,4,0,42,0,50,0,0,0,187,0,191,0,9,1,14,1,14,0,14,1,25,1,25,0,15,0,1,0,0,0,1,0,8,0,1,0,6,0,122,0,2,0,1,0,130,0,140,0,0,0,1,0,0,0,1,0,8,0,1,0,6,0,1,0,1,0,1,1,103,0,1,0,0,0,1,0,8,0,1,1,32,0,11,0,1,0,0,0,1,0,8,0,1,0,6,255,245,0,2,0,1,1,25,1,34,0,0,0,1,0,0,0,1,0,8,0,2,0,14,0,4,1,12,1,13,1,12,1,13,0,1,0,4,0,1,0,68,0,130,0,199,0,6,0,0,0,2,0,36,0,10,0,3,0,1,0,214,0,1,0,18,0,0,0,1,0,0,0,28,0,1,0,2,0,68,0,199,0,3,0,1,0,188,0,1,0,18,0,0,0,1,0,0,0,28,0,1,0,2,0,1,0,130,0,1,0,0,0,1,0,8,0,1,0,62,255,246,0,6,0,0,0,2,0,38,0,10,0,3,0,1,0,18,0,1,0,46,0,0,0,1,0,0,0,26,0,2,0,1,1,36,1,45,0,0,0,3,0,1,0,28,0,1,0,18,0,0,0,1,0,0,0,26,0,2,0,1,1,46,1,55,0,0,0,1,0,1,1,56,0,1,0,0,0,1,0,8,0,1,0,6,255,211,0,1,0,1,1,101,0,1,0,0,0,1,0,8,0,1,0,48,0,22,0,1,0,0,0,1,0,8,0,1,0,34,0,32,0,1,0,0,0,1,0,8,0,1,0,20,0,60,0,1,0,0,0,1,0,8,0,1,0,6,0,50,0,2,0,1,1,14,1,23,0,0,0,1,0,0,0,1,0,8,0,2,0,64,0,2,0,52,0,183,0,6,0,0,0,1,0,8,0,1,0,46,0,2,0,28,0,10,0,1,0,4,0,1,0,173,0,1,0,0,0,1,0,0,0,17,0,1,0,4,0,1,0,44,0,1,0,0,0,1,0,0,0,17,0,1,0,2,0,51,0,181,0,1,0,0,0,1,0,8,0,1,0,74,0,7,0,1,0,0,0,1,0,8,0,1,0,60,0,6,0,6,0,0,0,1,0,8,0,1,0,46,0,1,0,8,0,2,0,22,0,6,0,1,0,56,0,1,0,1,0,56,0,1,0,0,0,15,0,1,0,187,0,1,0,1,0,187,0,1,0,0,0,14,0,1,0,1,1,97,0,1,0,0,0,1,0,8,0,1,0,6,0,2,0,1,0,2,0,88,0,219,0,1,0,0,0,1,0,8,0,1,0,6,0,5,0,1,0,1,0,171,0,2,0,0,0,1,0,8,0,1,0,14,0,1,0,8,0,2,0,172,1,185,0,1,0,1,0,179,0,1,0,0,0,1,0,8,0,1,0,6,0,1,0,1,0,2,0,171,0,181,0,6,0,0,0,1,0,8,0,2,0,140,0,136,0,114,0,92,0,3,0,90,0,54,0,18,0,2,0,22,0,6,0,0,0,1,0,2,0,2,0,1,0,1,0,0,0,5,0,0,0,1,0,1,0,1,0,1,0,0,0,4,0,2,0,22,0,6,0,0,0,1,0,2,0,2,0,1,0,1,0,0,0,3,0,0,0,1,0,1,0,1,0,1,0,0,0,3,0,0,0,2,0,3,1,170,1,174,0,1,1,176,1,182,0,1,1,184,1,185,0,2,0,2,0,3,0,171,0,171,0,1,0,179,0,179,0,2,0,181,0,181,0,1,0,2,0,0,0,1,0,3,0,171,0,179,0,181,0,3,0,0,0,1,0,8,0,1,0,162,0,12,0,156,0,144,0,132,0,120,0,108,0,96,0,84,0,72,0,60,0,48,0,36,0,30,0,2,1,103,1,104,0,5,1,34,1,45,1,55,1,73,1,83,0,5,1,33,1,44,1,54,1,72,1,82,0,5,1,32,1,43,1,53,1,71,1,81,0,5,1,31,1,42,1,52,1,70,1,80,0,5,1,30,1,41,1,51,1,69,1,79,0,5,1,29,1,40,1,50,1,68,1,78,0,5,1,28,1,39,1,49,1,67,1,77,0,5,1,27,1,38,1,48,1,66,1,76,0,5,1,26,1,37,1,47,1,65,1,75,0,5,1,25,1,36,1,46,1,64,1,74,0,2,0,252,1,12,0,2,0,3,0,130,0,130,0,0,1,14,1,23,0,1,1,97,1,97,0,11,0,1,0,0,0,1,0,8,0,2,0,86,0,40,1,12,0,52,1,13,0,90,0,253,0,254,0,255,1,0,1,1,1,2,1,3,1,4,1,5,1,6,0,176,0,183,1,13,0,221,1,14,1,15,1,16,1,17,1,18,1,19,1,20,1,21,1,22,1,23,1,36,1,37,1,38,1,39,1,40,1,41,1,42,1,43,1,44,1,45,1,56,1,104,0,2,0,13,0,1,0,1,0,0,0,51,0,51,0,1,0,68,0,68,0,2,0,88,0,88,0,3,0,131,0,140,0,4,0,171,0,171,0,14,0,181,0,181,0,15,0,199,0,199,0,16,0,219,0,219,0,17,1,25,1,34,0,18,1,46,1,55,0,28,1,101,1,101,0,38,1,103,1,103,0,39,0,23,97,97,108,116,1,28,99,97,115,101,1,22,99,99,109,112,1,16,100,110,111,109,1,10,102,114,97,99,1,0,108,111,99,108,0,250,108,111,99,108,0,244,108,111,99,108,0,238,108,111,99,108,0,232,108,111,99,108,0,226,108,111,99,108,0,220,108,111,99,108,0,214,108,111,99,108,0,208,108,111,99,108,0,202,110,117,109,114,0,196,111,114,100,110,0,190,112,110,117,109,0,184,115,105,110,102,0,178,115,115,48,49,0,168,115,115,48,50,0,158,115,117,98,115,0,152,115,117,112,115,0,146,116,110,117,109,0,140,0,0,0,1,0,30,0,0,0,1,0,20,0,0,0,1,0,18,0,6,0,1,0,33,0,0,1,1,0,6,0,1,0,32,0,0,1,0,0,0,0,1,0,19,0,0,0,1,0,29,0,0,0,1,0,27,0,0,0,1,0,21,0,0,0,1,0,10,0,0,0,1,0,9,0,0,0,1,0,11,0,0,0,1,0,16,0,0,0,1,0,12,0,0,0,1,0,8,0,0,0,1,0,7,0,0,0,1,0,13,0,0,0,1,0,6,0,0,0,3,0,23,0,24,0,25,0,0,0,1,0,22,0,0,0,1,0,2,0,0,0,1,0,31,0,0,0,2,0,0,0,1,0,2,68,70,76,84,1,140,108,97,116,110,0,14,1,130,0,9,65,90,69,32,1,90,67,65,84,32,1,54,67,82,84,32,1,18,75,65,90,32,0,238,77,79,76,32,0,202,78,76,68,32,0,166,82,79,77,32,0,130,84,65,84,32,0,94,84,82,75,32,0,58,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,13,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,12,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,11,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,10,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,9,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,8,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,7,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,6,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,0,255,255,0,15,0,0,0,1,0,2,0,3,0,4,0,5,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,4,0,0,0,0,255,255,0,14,0,0,0,1,0,2,0,3,0,4,0,14,0,15,0,16,0,17,0,18,0,19,0,20,0,21,0,22,0,1,0,1,255,255,0,15,2,196,0,100,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,2,165,0,10,3,233,0,10,2,99,0,93,2,209,0,46,2,209,0,46,2,209,0,46,2,209,0,46,2,209,0,46,2,209,0,46,2,176,0,93,2,176,0,93,2,239,0,73,2,239,0,73,2,80,0,93,2,80,0,93,2,80,0,93,2,80,0,93,2,80,0,93,2,80,0,93,2,80,0,93,2,80,0,93,2,80,0,93,2,31,0,93,2,248,0,46,2,248,0,46,2,248,0,46,2,248,0,46,2,248,0,46,2,239,0,93,2,239,0,5,2,239,0,93,1,15,0,93,3,17,0,93,1,15,0,68,1,15,255,220,1,19,0,23,1,15,0,86,1,15,0,18,1,15,255,239,1,15,0,15,2,3,0,7,2,3,0,7,2,3,0,7,2,98,0,93,2,98,0,93,2,8,0,93,2,8,0,67,2,8,0,93,2,8,0,93,2,8,0,3,3,78,0,93,3,6,0,93,3,6,0,93,3,6,0,93,3,6,0,93,3,6,0,93,3,6,0,93,3,8,0,46,3,8,0,46,3,8,0,46,3,8,0,46,3,8,0,46,3,8,0,46,3,8,0,46,3,16,0,41,3,8,0,46,4,109,0,46,2,67,0,93,2,71,0,95,3,12,0,46,2,114,0,93,2,114,0,93,2,114,0,93,2,114,0,93,2,102,0,51,2,102,0,51,2,102,0,51,2,102,0,51,2,102,0,51,2,102,0,51,2,68,0,93,2,40,0,11,2,40,0,11,2,40,0,11,2,196,0,83,2,196,0,83,2,196,0,83,2,196,0,83,2,196,0,83,2,196,0,83,2,196,0,83,2,196,0,83,2,196,0,83,2,196,0,83,2,181,0,10,3,192,0,10,3,192,0,10,3,192,0,10,3,192,0,10,3,192,0,10,2,102,0,10,2,92,0,9,2,92,0,9,2,92,0,9,2,92,0,9,2,92,0,9,2,129,0,47,2,129,0,47,2,129,0,47,2,129,0,47,1,125,0,47,3,127,0,47,1,125,0,47,1,125,0,19,1,125,0,47,1,125,0,47,1,125,0,47,1,125,0,37,1,125,0,47,1,254,0,41,1,253,0,41,1,253,0,41,1,253,0,41,1,253,0,41,1,253,0,41,1,253,0,41,1,253,0,41,1,253,0,41,1,253,0,41,1,253,0,41,3,110,0,41,2,74,0,70,2,29,0,41,2,29,0,41,2,29,0,41,2,29,0,41,2,29,0,41,2,29,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,72,0,41,2,34,0,41,2,35,0,41,2,35,0,41,2,35,0,41,2,35,0,41,2,35,0,41,2,35,0,41,2,35,0,41,2,35,0,41,1,113,0,28,2,75,0,41,2,75,0,41,2,75,0,41,2,75,0,41,2,75,0,41,2,46,0,70,2,46,0,0,2,46,255,194,0,232,0,66,0,232,0,75,0,232,0,48,0,232,255,200,0,232,0,1,0,232,0,66,0,232,255,254,0,232,255,243,0,232,255,248,1,244,0,66,1,13,255,203,1,2,255,203,1,2,255,203,1,2,255,203,1,229,0,70,1,229,0,70,0,220,0,70,0,220,0,42,0,220,0,70,0,220,0,26,1,26,0,17,3,83,0,70,2,46,0,70,2,46,0,70,2,46,0,70,2,46,0,70,2,46,0,70,2,46,0,70,2,68,0,41,2,68,0,41,2,68,0,41,2,68,0,41,2,68,0,41,2,68,0,41,2,68,0,41,2,67,0,28,2,68,0,41,3,218,0,41,2,79,0,75,2,74,0,70,2,66,0,41,1,82,0,70,1,82,0,70,1,82,255,244,1,82,0,49,1,210,0,41,1,214,0,41,1,214,0,41,1,214,0,41,1,214,0,41,1,214,0,41,2,52,0,70,1,122,0,18,1,134,0,18,1,122,0,18,2,46,0,57,2,46,0,57,2,46,0,57,2,46,0,57,2,46,0,57,2,46,0,57,2,46,0,57,2,46,0,57,2,46,0,57,2,46,0,57,2,8,0,9,3,16,0,10,3,16,0,10,3,16,0,10,3,16,0,10,3,16,0,10,1,219,0,10,2,14,0,9,2,14,0,9,2,14,0,9,2,14,0,9,2,14,0,9,1,236,0,45,1,236,0,45,1,236,0,45,1,236,0,45,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,2,74,0,41,1,37,0,70,1,37,0,42,1,37,0,70,1,37,0,70,1,67,0,17,1,75,0,28,1,109,0,28,2,129,0,46,1,157,0,60,2,47,0,28,2,32,0,59,2,109,0,43,2,63,0,59,2,54,0,45,2,25,0,42,2,102,0,55,2,54,0,30,2,129,0,46,2,111,0,37,2,111,0,147,2,111,0,68,2,111,0,95,2,111,0,45,2,111,0,84,2,111,0,74,2,111,0,85,2,111,0,59,2,111,0,59,2,111,0,37,1,150,0,32,1,26,0,42,1,105,0,20,1,98,0,42,1,136,0,30,1,112,0,42,1,100,0,32,1,85,0,29,1,134,0,38,1,100,0,21,1,150,0,32,1,26,0,42,1,105,0,20,1,98,0,42,1,136,0,30,1,112,0,42,1,100,0,32,1,85,0,29,1,134,0,38,1,100,0,21,0,218,255,84,3,92,0,42,3,60,0,42,3,133,0,42,3,121,0,42,3,194,0,42,3,208,0,42,3,144,0,29,1,150,0,32,1,26,0,42,1,105,0,20,1,98,0,42,1,136,0,30,1,112,0,42,1,100,0,32,1,85,0,29,1,134,0,38,1,100,0,21,1,150,0,32,1,26,0,42,1,105,0,20,1,98,0,42,1,136,0,30,1,112,0,42,1,100,0,32,1,85,0,29,1,134,0,38,1,100,0,21,0,247,0,0,0,247,0,0,2,88,0,0,2,88,0,0,0,208,0,48,0,226,0,41,0,253,0,70,1,3,0,42,2,101,0,48,1,42,0,93,1,38,0,93,1,248,0,32,1,207,0,17,0,254,0,72,1,233,0,140,1,225,0,65,2,117,0,10,1,133,0,15,1,133,0,15,0,104,255,253,0,0,255,145,1,161,0,58,2,38,0,0,4,76,0,0,1,182,0,19,1,96,0,57,1,96,0,47,1,129,0,58,1,129,0,58,1,68,0,93,1,68,0,73,0,212,0,41,1,57,0,17,1,74,0,17,1,74,0,18,0,181,0,17,0,181,0,18,2,39,0,49,2,39,0,58,1,103,0,49,1,103,0,58,1,64,0,60,0,200,0,60,3,221,0,46,2,132,0,55,2,34,0,26,2,58,0,88,3,47,0,46,2,111,0,41,3,89,0,8,1,113,0,47,1,2,0,93,1,15,0,100,1,225,0,25,1,225,0,26,2,24,0,41,2,43,0,77,2,52,0,51,2,150,0,18,2,64,0,48,2,31,0,9,2,111,0,34,2,111,0,85,2,111,0,121,2,111,0,118,2,111,0,118,2,111,0,112,2,111,0,112,2,111,0,145,2,111,0,136,2,111,0,145,2,111,0,136,2,111,0,85,2,111,0,130,2,55,0,58,2,39,0,78,2,46,0,57,3,18,0,48,2,188,0,90,2,196,0,93,2,231,0,68,2,195,0,93,2,188,0,90,2,196,0,93,2,231,0,59,2,195,0,93,0,0,255,244,0,0,0,0,0,0,0,128,0,0,0,231,0,0,0,1,0,0,0,22,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,48,0,0,0,109,0,0,255,253,0,0,0,0,0,0,0,12,0,0,0,173,0,0,0,37,0,0,0,17,0,0,0,21,1,183,0,48,0,100,0,0,0,221,0,0,0,221,0,1,1,138,0,11,1,106,0,10,1,106,0,8,1,82,0,0,1,73,0,74,1,88,0,10,1,44,255,253,0,214,0,10,0,246,0,37,2,52,0,51,184,1,255,133,176,4,141,0]; // Passing a Uint8Array directly is much faster than decoding a Base64 Data-URI // in some browsers. // Slightly larger, but not much difference when the HTML is gzip-encoded. var fontDataArray = new Uint8Array(fontData); var fontOptions = { style: 'normal', weight: '400', // 0-9,A-Z,a-z unicodeRange: 'U+0020,U+0030-0039,U+0041-005A,U+0061-007A' }; var family = 'Figtree'; var criticalFont; try { criticalFont = new FontFace(family, fontDataArray, fontOptions); } catch (e) { // Some browsers (Safari) require the font-family string to be quoted. criticalFont = new FontFace("'" + family + "'", fontDataArray, fontOptions); } criticalFont.load(); document.fonts.add(criticalFont); window.criticalFonts = [criticalFont]; // Remove critical font once the full font has finished loading. document.fonts.addEventListener('loadingdone', function(load) { load.fontfaces.forEach(function(font) { window.criticalFonts.forEach(function(criticalFont) { if(criticalFont.family == font.family) { document.fonts.delete(criticalFont); } }) }); }); } else { // Unsupported browsers just lazy-load the full font normally. } </script> <link href="/css/generated/fonts.css" media="none" onload="if(media!='all')media='all'" rel="stylesheet" type="text/css"> <style> /*! * Bootstrap v3.3.2 (http://getbootstrap.com) * Copyright 2011-2015 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}footer{display:block}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}h1{margin:0.67em 0;font-size:2em}small{font-size:80%}img{border:0}svg:not(:root){overflow:hidden}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}button,input,select{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button{-webkit-appearance:button;cursor:pointer}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type="checkbox"]{box-sizing:border-box;padding:0px}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000 !important;text-shadow:none !important;background:0 0 !important;-webkit-box-shadow:none !important;box-shadow:none !important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100% !important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff !important}.label{border:1px solid #000}}@font-face{font-family:'Glyphicons Halflings';src:url(/fonts/glyphicons-halflings-regular.eot);src:url(/fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(/fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(/fonts/glyphicons-halflings-regular.woff) format("woff"),url(/fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(/fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}h1,h2,h3,h4{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4{margin-top:10px;margin-bottom:10px}h1{font-size:36px}h2{font-size:30px}h3{font-size:24px}h4{font-size:18px}p{margin:0 0 10px}.small,small{font-size:85%}ol,ul{margin-top:0;margin-bottom:10px}ol ul,ul ul{margin-bottom:0}.row{margin-right:-15px;margin-left:-15px}table{background-color:transparent}th{text-align:left}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox]{margin:4px 0 0;margin-top:1px \9;line-height:normal}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:active:focus,.btn:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:active,.btn-primary:focus,.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active{background-image:none}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.dropdown{position:relative}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);-o-transform:translate(0, -25%);transform:translate(0, -25%)}.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);-o-transform:translate(0, 0);transform:translate(0, 0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5)}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}@media (min-width: 768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}@media (min-width: 992px){.modal-lg{width:900px}}.carousel{position:relative}.modal-footer:after,.modal-footer:before,.row:after,.row:before{display:table;content:" "}.modal-footer:after,.row:after{clear:both}@-ms-viewport{width:device-width}:root{--brand_primary_light: #abdfe5;--brand_primary_medium: #7bc6cf;--brand_primary_default: #0093a4;--brand_primary_dark: #008291;--brand_secondary_light: #e0d1ec;--brand_secondary_default: #8c52ba;--brand_secondary_dark: #6f488e;--brand_accent_default: #ed6060;--light_gray200: #d1d4d8;--neutral_white: #ffffff;--neutral_light: #f7f8fa;--neutral_dark10: #eaebeb;--neutral_dark20: #d4d5d7;--neutral_dark30: #bfc1c3;--neutral_dark40: #a9acaf;--neutral_dark50: #94979b;--neutral_dark60: #7f8286;--neutral_dark70: #6a6e73;--neutral_dark80: #54595e;--neutral_dark90: #3f444b;--neutral_dark: #292f36;--orange: #ffa400;--barlowSemiCondensed-semibold: "Barlow Semi Condensed Semibold", sans-serif;--barlowSemiCondensed-medium: "Barlow Semi Condensed Medium", sans-serif;--main-font: "Figtree", "Noto Sans", "Noto Sans Arabic", "Noto Sans Armenian", "Noto Sans Bengali", "Noto Sans SC", "Noto Sans TC", "Noto Sans Devanagari", "Noto Sans Georgian", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans Kannada", "Noto Sans Khmer", "Noto Sans KR", "Noto Sans Myanmar", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Thai", "Noto Sans Thaana", sans-serif;--thin-font-weight: 100;--extra-light-font-weight: 200;--light-font-weight: 300;--regular-font-weight: 400;--medium-font-weight: 500;--semi-bold-font-weight: 600;--bold-font-weight: 700;--extra-bold-font-weight: 800;--black-font-weight: 900;--swiper-pagination-color: var(--brand_primary_default);--swiper-pagination-bullet-size: 1rem;--swiper-pagination-bullet-inactive-color: var(--brand_primary_light);--swiper-pagination-bullet-inactive-opacity: 1;--swiper-pagination-bullet-horizontal-gap: 0.5rem}html{height:100%;font-size:100%;scroll-behavior:smooth}body{background-color:var(--neutral_white);height:100%;font-family:var(--main-font);font-weight:var(--regular-font-weight);font-style:normal;font-size:14px;color:var(--neutral_dark);margin:0}h1,.heading-xxl{font-family:var(--barlowSemiCondensed-semibold);font-size:3rem;line-height:1.16;margin:1em 0 0.5em 0}h2,.heading-xl{font-family:var(--barlowSemiCondensed-semibold);font-size:2.125rem;line-height:1.24;margin:1em 0 0.5em 0}h3,.heading-lg{font-family:var(--barlowSemiCondensed-semibold);font-size:1.75rem;line-height:1.28;margin-bottom:0.5em}h4,.heading-md{font-family:var(--barlowSemiCondensed-medium);font-size:1.5rem;line-height:1.32;margin-bottom:0.5em}h5,.heading-sm{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);font-size:1.25rem;line-height:1.4;margin-bottom:0.5em}h6,.heading-xs{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);font-size:1rem;line-height:1.48;margin-bottom:0.5em}h1,h2,h3,h4,h5,h6{text-wrap:balance}h1.white,h2.white,h3.white,h4.white,h5.white,h6.white,p.white,figcaption.white,span.white,a:not(.link-button).white{color:var(--neutral_white) !important}p{line-height:1.48;margin-bottom:1em}.body-one{font-size:1.25rem;line-height:1.4;margin-bottom:1em}.body-two{font-size:1rem;line-height:1.48;margin-bottom:1em}.body-three{font-size:0.875rem;line-height:1.54;margin-bottom:1em}.body-four{font-size:0.75rem;line-height:1.64;margin-bottom:1em}figcaption,.video_caption_link{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);font-size:0.875rem;margin:0.5em 0 1em;line-height:1.4}.overline-one{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);text-transform:uppercase;letter-spacing:0.04rem;font-size:0.875rem;line-height:1.6;color:var(--brand_primary_default)}.overline-two{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);text-transform:uppercase;letter-spacing:0.04rem;font-size:0.75rem;line-height:1.64;color:var(--brand_primary_default)}.overline-three{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);text-transform:uppercase;letter-spacing:0.04rem;font-size:0.625rem;line-height:1.76;color:var(--brand_primary_default)}strong{font-family:var(--main-font);font-weight:var(--bold-font-weight)}em{font-family:var(--main-font);font-style:italic}a:any-link{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);color:var(--brand_secondary_default);text-decoration:underline;transition:color ease-in-out 0.2s}a:is(:hover, :active){color:var(--brand_secondary_dark)}a:link:has(*){text-decoration:none}a.link-button,button,.btn,input[type="submit"]{display:inline-block;color:var(--neutral_white);background:var(--brand_secondary_default);border:2px solid var(--brand_secondary_default);border-radius:4px;padding:0.75rem 1rem;margin:0.5rem 0;font-size:1rem;font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);line-height:1;text-decoration:none;text-align:center;transition:all ease-in-out 0.2s}a.link-button:hover,button:hover,.btn:hover,input[type="submit"]:hover{background:var(--brand_secondary_dark);border-color:var(--brand_secondary_dark);color:var(--neutral_white);text-decoration:none;cursor:pointer}a.link-button:focus,button:focus,.btn:focus,input[type="submit"]:focus{outline:var(--brand_primary_default) solid 2px;outline-offset:2px}a.link-button:focus:not(:focus-visible),button:focus:not(:focus-visible),.btn:focus:not(:focus-visible),input[type="submit"]:focus:not(:focus-visible){outline:none}a.link-button.secondary,button.secondary,.btn.secondary,input[type="submit"].secondary{background:none;border-color:var(--neutral_dark);color:var(--neutral_dark)}a.link-button.secondary:hover,button.secondary:hover,.btn.secondary:hover,input[type="submit"].secondary:hover{background:var(--neutral_dark10)}a.link-button.secondary.white,button.secondary.white,.btn.secondary.white,input[type="submit"].secondary.white{background:none;border-color:var(--neutral_white);color:var(--neutral_white)}a.link-button.secondary.white:hover,button.secondary.white:hover,.btn.secondary.white:hover,input[type="submit"].secondary.white:hover{background:var(--neutral_dark90)}a.link-button.white,button.white,.btn.white,input[type="submit"].white{background:var(--neutral_white);border-color:var(--neutral_white);color:var(--neutral_dark)}a.link-button.white:hover,button.white:hover,.btn.white:hover,input[type="submit"].white:hover{background:var(--neutral_dark10);border-color:var(--neutral_dark10)}a.link-button.black,button.black,.btn.black,input[type="submit"].black{background:var(--neutral_dark);border-color:var(--neutral_dark);color:var(--neutral_white)}a.link-button.black:hover,button.black:hover,.btn.black:hover,input[type="submit"].black:hover{background:black;border-color:black}a.link-button.has-icon .flex-wrapper,button.has-icon .flex-wrapper,.btn.has-icon .flex-wrapper,input[type="submit"].has-icon .flex-wrapper{display:flex;align-items:center;gap:0.5rem}a.link-button.has-icon.has-external-link,button.has-icon.has-external-link,.btn.has-icon.has-external-link,input[type="submit"].has-icon.has-external-link{display:inline-flex;gap:0.25rem}a.link-button.has-icon.has-external-link::after,button.has-icon.has-external-link::after,.btn.has-icon.has-external-link::after,input[type="submit"].has-icon.has-external-link::after{margin-top:2px}a.link-button:disabled,a.link-button.disabled,button:disabled,button.disabled,.btn:disabled,.btn.disabled,input[type="submit"]:disabled,input[type="submit"].disabled{cursor:default;background:var(--neutral_dark20);border:2px solid var(--neutral_dark20);color:var(--neutral_dark70)}a.link-button.big,button.big,.btn.big,input[type="submit"].big{font-size:1.25rem;padding-inline:1.25rem}a.link-button.small,button.small,.btn.small,input[type="submit"].small{font-size:0.875rem;padding:0.5rem 0.75rem}@media (max-width: 640px){a.link-button,button,.btn,input[type="submit"]{line-height:1.2}}.modal-header button.close{min-width:unset;margin-top:2px}.modal-header button.close:hover{background:none;border:none}.has-external-link a::after,a.has-external-link::after{display:inline-block;font:var(--fa-font-solid);content:"\f08e";font-size:0.875em;margin-inline:4px 2px}.has-external-link a.link-button::after,a.link-button.has-external-link::after{margin-inline:4px 0}html[dir="rtl"] .has-external-link a::after,html[dir="rtl"] a.has-external-link::after{transform:scaleX(-1)}li>ul{margin-top:10px;margin-bottom:10px}ul{list-style:none;padding:0;margin:20px}ul li{padding-left:1em;text-indent:-0.7em}ul li:before{content:"• ";color:var(--neutral_dark)}.invisiblelist li:before{content:""}img{border:none}th{background-color:var(--brand_primary_default);color:var(--neutral_white);padding:15px;border-color:var(--neutral_white);border-width:1px;border-style:solid;border-top-color:var(--brand_primary_default);border-left-color:var(--brand_primary_default);border-right-color:var(--brand_primary_default)}td{border-width:1px;border-color:#8d8a8a;border-style:solid;padding:15px}.centered{text-align:center !important}.wrap-balance{text-wrap:balance}.wrap-pretty{text-wrap:pretty}.no-border{border:none !important}.or-divider-line{position:relative;text-align:center;margin:0.75rem 0}.or-divider-line::after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--neutral_dark20);z-index:0}.or-divider-line>p{position:relative;display:inline-block;font-weight:500;font-size:0.625rem;text-transform:uppercase;margin:0 4px 0;padding:5px 5px 4px;background:var(--neutral_white);border:1px solid var(--neutral_dark20);border-radius:50%;outline:4px solid var(--neutral_white);z-index:1}nav.main{background-color:var(--brand_primary_default);margin:0;padding:0.25rem 1rem;position:relative;display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:3rem}nav .left,nav .right{display:flex;flex-direction:row;align-items:center}nav .left{gap:2rem}nav .right{gap:0.5rem;justify-content:end}nav.main ul{margin:0;padding:0;display:flex;justify-content:start;gap:2rem}nav.main ul li{padding:0;text-indent:0;list-style:none;color:var(--neutral_white)}nav.main ul li::before{content:""}nav.main ul li a{color:var(--neutral_white);text-decoration:none;font-weight:var(--regular-font-weight);cursor:pointer}nav.main ul li a:hover{padding-bottom:2px;border-bottom:2px solid var(--orange)}nav.main img.logo{width:42px}nav.main i.fa-fw{line-height:1}nav.main .create_menu,nav.main .user_menu,nav.main .button-signin,nav.main .button-create-account{border:2px solid var(--neutral_white);border-radius:4px;color:var(--neutral_white);font-size:0.875rem;font-weight:var(--regular-font-weight);text-decoration:none;padding:7px 12px;margin:0}nav.main .button-create-account{background-color:var(--neutral_white);color:var(--brand_primary_default);font-weight:var(--semi-bold-font-weight)}nav.main .create_menu,nav.main .user_menu{border:2px solid;margin:0;display:flex;gap:2px;cursor:pointer}nav.main .create_menu i,nav.main .user_menu i{font-size:1.5rem;width:auto}nav.main .create_menu i.create_menu_arrow_down,nav.main .user_menu i.user_menu_arrow_down{margin-top:-4px}nav.main .create_menu i.create_menu_arrow_up,nav.main .user_menu i.user_menu_arrow_up{margin-top:-1px}nav.main .help_button{padding:0;height:unset;margin-inline-end:-6px}nav.main .help_button .help_icon{padding:0;height:unset}nav.main .help_button .help_contents{top:44px}nav.main #hamburger #hamburger-icon{margin-top:-2px;margin-inline-start:6px}nav.main #hamburger #hamburger-contents{top:51px;right:-3px}html[dir="rtl"] nav.main #hamburger #hamburger-contents{right:unset;left:-3px}@media (min-width: 1268px){nav.main #hamburger-contents>div.show-small-desktop,nav.main #hamburger-contents>div.show-mobile{display:none !important}}@media (min-width: 1024px) and (max-width: 1268px){nav.main .left ul li.hide-small-desktop{display:none !important}nav.main #hamburger-contents>div.show-small-desktop{display:block !important}nav.main #hamburger-contents>div.show-mobile{display:none !important}}@media (max-width: 1023px){nav.main .left ul{display:none}nav.main #hamburger-contents>div.show-mobile{display:block !important}}@media (max-width: 425px){nav.main .button-signin.desktop,nav.main .button-create-account.desktop{display:none}}aside.top-skinny-banner{background:var(--neutral_dark);display:flex}aside.top-skinny-banner.light-theme{background:var(--neutral_dark10)}aside.top-skinny-banner.light-theme *{color:var(--neutral_dark) !important}aside.top-skinny-banner *{color:var(--neutral_white)}aside.top-skinny-banner .content-wrapper{width:100%;padding:1rem;display:flex;justify-content:center;gap:0.5rem}aside.top-skinny-banner .content-wrapper>i{margin-top:2px}aside.top-skinny-banner .content-wrapper>a{text-decoration:none;font-weight:var(--normal-font-weight)}aside.top-skinny-banner .content-wrapper>a:hover{text-decoration:underline}aside.top-skinny-banner>button{all:unset;padding:1rem 1.1rem;margin-top:2px;cursor:pointer;text-align:center;align-self:start;opacity:0.7;transition:opacity 0.2s ease-in-out}aside.top-skinny-banner>button:hover{opacity:1}aside.top-skinny-banner>button:focus{outline:5px auto -webkit-focus-ring-color}aside.top-skinny-banner>button:focus:not(:focus-visible){outline:none}.carousel-wrapper{position:relative;margin:2rem 0 0}.carousel-wrapper p{font-family:var(--barlowSemiCondensed-medium),sans-serif}.carousel-wrapper .action-block p{font-family:var(--main-font),sans-serif}swiper-slide{display:flex;align-items:stretch;height:auto}.carousel-wrapper .swiper-nav-prev,.carousel-wrapper .swiper-nav-next{position:absolute;top:40%;border:0;height:48px}.carousel-wrapper .swiper-nav-prev{background:url("/images/carousel/prev.svg") no-repeat;left:-4rem;border:0}html[dir="rtl"] .carousel-wrapper .swiper-nav-prev{background:url("/images/carousel/next.svg") no-repeat;left:unset;right:-4rem}.carousel-wrapper .swiper-nav-next{background:url("/images/carousel/next.svg") no-repeat;right:-4rem}html[dir="rtl"] .carousel-wrapper .swiper-nav-next{background:url("/images/carousel/prev.svg") no-repeat;right:unset;left:-4rem}.carousel-wrapper .swiper-button-disabled{opacity:0.5}@media screen and (max-width: 1024px){.carousel-wrapper .swiper-nav-prev,.carousel-wrapper .swiper-nav-next{display:none}}.carousel-wrapper.video-carousel swiper-slide{display:block;text-align:initial}.carousel-wrapper.video-carousel .swiper-nav-prev,.carousel-wrapper.video-carousel .swiper-nav-next{top:28%}.carousel-wrapper.one-col .swiper-nav-prev,.carousel-wrapper.one-col .swiper-nav-next{top:33%}#homepage .clear{clear:both}.narrow_hr{margin-top:10px;margin-bottom:10px;border:0;border-top-width:1px;border-top-style:solid;border-top-color:var(--neutral_dark20)}.grey_input{font-size:14px;height:34px;background-color:#e2e4e3;border:none;padding:5px;color:#595959;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top-left-radius:4px;border-top-right-radius:4px}#petition_form a{font-family:var(--main-font)}#petition_form a:link,#petition_form a:visited{color:#dcdcdc;text-decoration:none}#petition_form a:hover,#petition_form a:active{color:#fff;text-decoration:underline}.listed_supporter{font-family:var(--main-font);font-weight:var(--bold-font-weight);font-weight:normal}.greybox{background-color:var(--neutral_dark80);color:var(--neutral_white);padding:20px;text-align:center;overflow:hidden}#about_nav{margin:3.5rem 0 0 0}.about_list_item_selected{color:var(--brand_secondary_default);font-family:var(--main-font);font-weight:var(--bold-font-weight)}a.about_list_item{color:var(--neutral_dark60);font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);text-decoration:none}a.about_list_item:hover{color:var(--brand_secondary_default)}.dropdown{border-color:#ccc;border-radius:5px}@media screen and (max-width: 450px){#index .count h1{font-size:32px;line-height:32px}#index .count h2{font-size:40px;line-height:40px}#index .count h3{font-size:32px;line-height:48px}#index .count h4{font-size:16px;line-height:16px}}label{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);font-weight:normal}.wrapper{min-height:100%;margin-bottom:-80px}.push{height:80px}#pageheader-wrapper .headerlink:link,#pageheader-wrapper .headerlink:visited{color:var(--neutral_white);text-decoration:none}#pageheader-wrapper .headerlink:hover,#pageheader-wrapper .headerlink:active{color:var(--neutral_white);border-bottom:solid 2px #ffa400}#pageheader-wrapper .learnoption:hover{text-decoration:underline}#pagefooter{width:100%;height:170px;padding:20px;overflow:hidden;background-color:var(--neutral_dark);box-sizing:border-box}#pagefooter .content{color:var(--neutral_white);font-size:14px;font-weight:normal;width:970px;margin:0 auto}#pagefooter .dim{display:inline-block;opacity:0.8}.powered-by-aws{width:100%;margin-top:12px}.whitefooterlink:link{color:var(--neutral_white);font-size:14px;font-family:var(--main-font);font-weight:var(--regular-font-weight);text-decoration:none}.whitefooterlink:hover{color:var(--neutral_white);font-size:14px;font-family:var(--main-font);font-weight:var(--regular-font-weight);text-decoration:underline}.whitefooterlink:visited{color:var(--neutral_white);font-size:14px;font-family:var(--main-font);font-weight:var(--regular-font-weight)}#sign_in_or_user{margin:.6875em 0 0 30px}#sign_in_or_user .button-signin{text-decoration:none;-webkit-appearance:none;-webkit-user-select:none;-webkit-writing-mode:horizontal-tb;align-items:flex-start;background-color:#ffa400;border-color:#ffa400;background-image:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-bottom-style:solid;border-bottom-width:1px;border-image-outset:0px;border-image-repeat:stretch;border-image-slice:100%;border-image-source:none;border-image-width:1;border-left-style:solid;border-left-width:1px;border-right-style:solid;border-right-width:1px;border-top-left-radius:4px;border-top-right-radius:4px;border-top-style:solid;border-top-width:1px;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:var(--main-font);font-weight:var(--regular-font-weight);font-size:14px;height:35px;letter-spacing:normal;line-height:22px;margin-bottom:0px;margin-left:0px;margin-right:0px;margin-top:-6px;padding-bottom:6px;padding-left:12px;padding-right:12px;padding-top:6px;text-align:center;text-indent:0px;text-shadow:none;text-transform:none;vertical-align:middle;white-space:nowrap;word-spacing:0px;writing-mode:lr-tb} </style> <style> .user_menu,.create_menu,.help_button{user-select:none;height:38px;position:relative}.user_menu .create_button,.user_menu .display_name,.user_menu .pairing_name,.create_menu .create_button,.create_menu .display_name,.create_menu .pairing_name,.help_button .create_button,.help_button .display_name,.help_button .pairing_name{max-width:120px;display:inline-block;float:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.rtl .user_menu .create_button,.rtl .user_menu .display_name,.rtl .user_menu .pairing_name,.rtl .create_menu .create_button,.rtl .create_menu .display_name,.rtl .create_menu .pairing_name,.rtl .help_button .create_button,.rtl .help_button .display_name,.rtl .help_button .pairing_name{float:right;padding-left:3px}.user_menu .user_menu_arrow_down,.user_menu .user_menu_arrow_up,.user_menu .create_menu_arrow_down,.user_menu .create_menu_arrow_up,.create_menu .user_menu_arrow_down,.create_menu .user_menu_arrow_up,.create_menu .create_menu_arrow_down,.create_menu .create_menu_arrow_up,.help_button .user_menu_arrow_down,.help_button .user_menu_arrow_up,.help_button .create_menu_arrow_down,.help_button .create_menu_arrow_up{font-size:1.5rem;margin-top:-4px}.rtl .user_menu .user_menu_arrow_down,.rtl .user_menu .user_menu_arrow_up,.rtl .user_menu .create_menu_arrow_down,.rtl .user_menu .create_menu_arrow_up,.rtl .create_menu .user_menu_arrow_down,.rtl .create_menu .user_menu_arrow_up,.rtl .create_menu .create_menu_arrow_down,.rtl .create_menu .create_menu_arrow_up,.rtl .help_button .user_menu_arrow_down,.rtl .help_button .user_menu_arrow_up,.rtl .help_button .create_menu_arrow_down,.rtl .help_button .create_menu_arrow_up{float:left}html[dir='rtl'] .user_menu .user_menu_arrow_down,html[dir='rtl'] .user_menu .user_menu_arrow_up,html[dir='rtl'] .user_menu .create_menu_arrow_down,html[dir='rtl'] .user_menu .create_menu_arrow_up,html[dir='rtl'] .create_menu .user_menu_arrow_down,html[dir='rtl'] .create_menu .user_menu_arrow_up,html[dir='rtl'] .create_menu .create_menu_arrow_down,html[dir='rtl'] .create_menu .create_menu_arrow_up,html[dir='rtl'] .help_button .user_menu_arrow_down,html[dir='rtl'] .help_button .user_menu_arrow_up,html[dir='rtl'] .help_button .create_menu_arrow_down,html[dir='rtl'] .help_button .create_menu_arrow_up{float:left}.user_menu .user_menu_arrow_up,.user_menu .create_menu_arrow_up,.create_menu .user_menu_arrow_up,.create_menu .create_menu_arrow_up,.help_button .user_menu_arrow_up,.help_button .create_menu_arrow_up{margin-top:-2px}.user_menu .user_options,.user_menu .create_options,.create_menu .user_options,.create_menu .create_options,.help_button .user_options,.help_button .create_options{top:50px}.user_menu .help_contents,.create_menu .help_contents,.help_button .help_contents{top:58px}.user_menu .user_options,.user_menu .create_options,.user_menu .help_contents,.create_menu .user_options,.create_menu .create_options,.create_menu .help_contents,.help_button .user_options,.help_button .create_options,.help_button .help_contents{position:absolute;right:0px;background-color:#fff;border:1px solid #5b6770}.user_menu .user_options a,.user_menu .create_options a,.user_menu .help_contents a,.create_menu .user_options a,.create_menu .create_options a,.create_menu .help_contents a,.help_button .user_options a,.help_button .create_options a,.help_button .help_contents a{color:#5b6770 !important;transition:background-color 0.2s ease-out, border-color 0.2s ease-out, color 0.2s ease-out;-moz-transition:background-color 0.2s ease-out, border-color 0.2s ease-out, color 0.2s ease-out;-webkit-transition:background-color 0.2s ease-out, border-color 0.2s ease-out, color 0.2s ease-out;-o-transition:background-color 0.2s ease-out, border-color 0.2s ease-out, color 0.2s ease-out}.user_menu .user_options a:hover,.user_menu .create_options a:hover,.user_menu .help_contents a:hover,.create_menu .user_options a:hover,.create_menu .create_options a:hover,.create_menu .help_contents a:hover,.help_button .user_options a:hover,.help_button .create_options a:hover,.help_button .help_contents a:hover{background-color:#e7e8ea;text-decoration:none}.user_menu{padding:7px 14px}.user_menu .user_options{z-index:100001;text-align:left;white-space:nowrap;padding:0}.user_menu .user_options[dir='rtl'] a{text-align:right}.user_menu .user_options .display_name{font-family:"Figtree", "Noto Sans", "Noto Sans Math", "Noto Sans Arabic", "Noto Sans Armenian", "Noto Sans Bengali", "Noto Sans SC", "Noto Sans TC", "Noto Sans Devanagari", "Noto Sans Georgian", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans Kannada", "Noto Sans Khmer", "Noto Sans KR", "Noto Sans Myanmar", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Thai", "Noto Sans Thaana", sans-serif;font-weight:600;font-style:normal;background-color:#5b6770;color:#fff;padding:10px;text-align:center;cursor:default}.user_menu .user_options a{display:block;padding:10px;font-family:"Figtree", "Noto Sans", "Noto Sans Math", "Noto Sans Arabic", "Noto Sans Armenian", "Noto Sans Bengali", "Noto Sans SC", "Noto Sans TC", "Noto Sans Devanagari", "Noto Sans Georgian", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans Kannada", "Noto Sans Khmer", "Noto Sans KR", "Noto Sans Myanmar", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Thai", "Noto Sans Thaana", sans-serif;font-weight:600;font-style:normal}.user_menu .user_options a+a{border-top:1px solid #5b6770}.user_menu .user_options.hide-responsive-menu{display:none}.help_button{padding-left:16px;padding-top:4px;display:inline-block;float:left;z-index:99;position:relative}.help_button.hide-mobile{display:block}.help_button .hide-mobile{display:block}@media (max-width: 1268px){.help_button.show-small-desktop,.help_button .show-small-desktop{display:none}}.help_button .help_icon{padding:11px 0 16px 0;font-size:22px;color:#fff;cursor:pointer;height:20px;vertical-align:middle;text-decoration:none}.help_button .help_contents{z-index:100001;text-align:left;white-space:nowrap;padding:0;right:0}.help_button .help_contents[dir='rtl'] a{text-align:right;left:0;right:unset}html[dir='rtl'] .help_button .help_contents{left:0;right:unset}.help_button .help_contents a{display:block;padding:10px;font-family:"Figtree", "Noto Sans", "Noto Sans Math", "Noto Sans Arabic", "Noto Sans Armenian", "Noto Sans Bengali", "Noto Sans SC", "Noto Sans TC", "Noto Sans Devanagari", "Noto Sans Georgian", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans Kannada", "Noto Sans Khmer", "Noto Sans KR", "Noto Sans Myanmar", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Thai", "Noto Sans Thaana", sans-serif;font-weight:600;font-style:normal}.help_button .help_contents a+a{border-top:1px solid #5b6770}@media (max-width: 1023px){.help_button.hide-mobile{display:none}.help_button .hide-mobile{display:none}}.create_menu .create_options{width:max-content;z-index:10000;border-bottom:0}.create_menu .create_options a{font-family:"Figtree", "Noto Sans", "Noto Sans Math", "Noto Sans Arabic", "Noto Sans Armenian", "Noto Sans Bengali", "Noto Sans SC", "Noto Sans TC", "Noto Sans Devanagari", "Noto Sans Georgian", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans Kannada", "Noto Sans Khmer", "Noto Sans KR", "Noto Sans Myanmar", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Thai", "Noto Sans Thaana", sans-serif;font-weight:600;font-style:normal;min-width:240px;font-size:14px;border-bottom:1px solid #5b6770;box-sizing:content-box;white-space:nowrap;cursor:pointer}.create_menu .create_options img{height:70px;width:70px}.create_menu .create_options .project_link_box{display:block}.create_menu .create_options .project_link_box .project_link{display:inline-block;padding:0 10px 0 4px;line-height:67px}.create_menu .create_options #view_all_projects{height:70px;padding-left:10px}@media screen and (max-width: 1023px){.create_menu.show-small-desktop{display:none !important}}@media screen and (max-width: 1120px){.create_menu.hide-mobile{display:none}} </style> <meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"> <style> .feature-nonenglish{display:none}@media screen and (min-width: 0px) and (max-width: 600px){.container_responsive{width:100%;margin:0 auto;padding-left:10px;padding-right:10px}.jumbo{font-size:45px}.container_responsive h1{margin-top:0}.container_responsive .solid-block-header *{font-size:20px}.container_responsive .solid-block-subtitle{font-size:14px;line-height:1em;padding-right:10px;padding-bottom:10px}.tile-container-responsive{display:flex;flex-direction:column}}@media screen and (min-width: 601px) and (max-width: 970px){.container_responsive{width:600px;margin:0 auto}}@media screen and (min-width: 601px){.phone-feature{display:none}.jumbo{font-size:60px}}@media screen and (max-width: 600px){.tablet-feature{display:none}.tablet-restrictive-feature{display:none}}@media screen and (min-width: 971px){.mobile-feature{display:none}.tablet-restrictive-feature{display:none}.col-10{width:10%;float:left}.col-16{width:16%;float:left}.col-18{width:18%;float:left}.col-20{width:20%;float:left}.col-23{width:23%;float:left}.col-25{width:25%;float:left}.col-26{width:26%;float:left}.col-32{width:32%;float:left}.col-33{width:33.33333333%;float:left}.col-36{width:36%;float:left}.col-40{width:40%;float:left}.col-45{width:45%;float:left}.col-47{width:47%;float:left}.col-50{width:50%;float:left}.col-60{width:60%;float:left}.col-63{width:63%;float:left}.col-66{width:66%;float:left}.col-66-center{width:66%;margin:0 auto}.col-75{width:75%;float:left}.col-80{width:80%;float:left}.col-95{width:95%;float:left}.col-80-right{width:80%;float:right}.left-nav{width:140px;float:left}.desktop-pad-right{padding-right:30px}.container_responsive{width:960px;margin:0 auto;max-width:none !important}.tile-container-responsive{display:flex;flex-direction:row;justify-content:space-between}.tile-container-responsive>*{margin-right:20px}.tile-container-responsive>:last-child{margin-right:0}div[dir='rtl'] .tile-container-responsive>:first-child{margin-right:0}div[dir='rtl'] .tile-container-responsive>:last-child{margin-right:20px}html[dir='rtl'] .col-rtl-right{float:right}.mobile-show-medium{display:none}.i-agree-button{width:9%}.avatar_container p{padding-right:30px}}@media screen and (min-width: 0px) and (max-width: 970px){.desktop-feature{display:none}.col-10{width:100%}.col-18{width:100%;float:left}.col-20{width:100%;float:left}.col-23{width:100%}.col-25{width:100%}.col-26{width:100%}.col-32{width:100%}.col-33{width:100%}.col-36{width:100%}.col-40{width:100%;float:left}.col-45{width:100%;float:left}.col-47{width:100%;float:left}.col-50{width:100%;float:left}.col-60{width:100%}.col-63{width:100%}.col-66{width:100%;float:left}.col-66 ul{margin-left:0px}.col-75{width:100%}.col-80{width:100%}.col-95{width:95%;float:left}.col-mobile-44{width:44%;float:left}.col-mobile-48{width:48%;float:left}.col-mobile-50{width:50%;float:left}.col-mobile-56{width:56%;float:left}.mobile-center{text-align:center}.mobile-pad{padding:10px}.mobile-pad-right{padding-right:10px}.mobile-pad-left64{padding-left:64px}.mobile-pad-edge{padding:20px}.avatar_container p{padding-right:0px}.avatar_container img{margin-left:25px}}@media screen and (min-width: 0px) and (max-width: 512px){.col-mobile-44{width:100%;float:left}.col-mobile-50{width:100%;float:left}.col-mobile-56{width:100%;float:left}.mobile-show-medium{display:none}.mobile-small-hide{display:none}} </style> <style> .learnpage{width:970px}.solid-block-header{font-size:30px;font-family:var(--main-font);font-weight:var(--bold-font-weight);line-height:1.2em;background-color:var(--neutral_dark70);color:var(--neutral_white);height:auto;width:100%;padding-top:12px;padding-bottom:6px;padding-left:15px;margin:50px 0 10px 0}.solid-block-subheader{color:var(--brand_secondary_default);font-size:18px;font-family:var(--main-font);font-weight:var(--bold-font-weight);margin-top:10px;margin-bottom:20px;line-height:1.2em}.solid-block-subtitle{color:var(--neutral_white);font-size:16px;font-family:var(--main-font);font-weight:var(--regular-font-weight)}.video-smalltext{padding:10px}.soft-padding{padding:10px}.clear:before,.clear:after{content:"\0020";display:block;height:0;overflow:hidden}.clear:after{clear:both}@media screen and (max-width: 319px){.learnpage{width:100%}}@media screen and (min-width: 320px) and (max-width: 599px){.learnpage{width:320px;margin:0 auto}}@media screen and (min-width: 600px) and (max-width: 969px){.learnpage{width:600px;margin:0 auto}}.datepicker td,.datepicker th{background-color:transparent;color:#333;line-height:1em}#map .mapboxgl-popup-close-button{margin-top:0px;background-color:var(--brand_secondary_default)}#promote-page h1{float:left}#promote-page .section{clear:both;margin:0 0 20px 0}#promote-page .main-video{float:left;width:586px;margin:0 0 20px 0}#promote-page .share-buttons{float:left}#promote-page .youtube-channel-link{float:right;margin:15px 0 0 0}#promote-page .other-videos{float:right;width:380px}#promote-page .other-videos h3{margin:0 0 20px 20px}#promote-page .other-video{width:170px;float:left;margin:0 0 20px 20px}#promote-page .other-video-odd{clear:left}#promote-page .other-video img{width:100%;max-width:100%}#promote-page .other-video-caption{font-size:12px;line-height:1.2em;margin:5px 0 0 0}#promote-page .all-quotes-link,#promote-page .full-infographic-link{float:left;margin:15px 0 0 20px}.stats-sources-link{float:right;font-size:12px;margin:20px 0 0 0}.stats-sources-link a{font-weight:normal}.impact-stats-link{width:100%;color:var(--neutral_white);background-color:var(--neutral_dark80);margin-top:20px;margin-bottom:20px;overflow:hidden;padding:16px}.impact-stats-link .left{float:left}.impact-stats-link .left p.title{font-size:16px;margin-bottom:3px;font-family:var(--main-font);font-weight:var(--semi-bold-font-weight)}.impact-stats-link .left p.details{margin-bottom:0px}.impact-stats-link .right{float:right}.impact-stats-link button{margin-top:0px;width:200px;height:50px;font-family:var(--main-font);font-weight:var(--semi-bold-font-weight)}#congress-right{margin:0 0 2em 0}#hoc-certificate{width:100%}#hoc-certificate img{width:100%;max-width:100%}#contact-us-form{width:480px;max-width:100%}#contact-us-form #contact-message{height:240px}.resources-item{clear:both;margin:0 0 40px 0}.resources-item:before,.resources-item:after{content:"\0020";display:block;height:0;overflow:hidden}.resources-item:after{clear:both}.resources-item .resources-logo{float:left;width:240px;margin:0 20px 0 0;text-align:center}.resources-item .resources-logo img{max-width:100%;display:inline}.resources-item p{float:right;width:700px}#error-message{color:#b94a48;font-weight:bold;margin:1em 0}.form-required-field,.form-required-em em{color:#f00}.radio-inline,.checkbox-inline,.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-left:0;margin-right:2em}.letter{margin-left:5%;margin-right:30%}.letternames{margin-left:5%;margin-right:27%}.wideletternames{margin-left:5%}@media screen and (min-width: 970px){.starwars-container .img-container{min-height:334px}}@media screen and (min-width: 513px) and (max-width: 970px){.starwars-container .img-container{min-height:202px}}@media screen and (min-width: 320px) and (max-width: 599px){.responsive-table{width:350px}}@media screen and (min-width: 600px) and (max-width: 969px){.responsive-table{width:600px}}@media screen and (min-width: 970px){.responsive-table{width:945px}} </style> <meta content="IE=Edge" http-equiv="X-UA-Compatible"> <script>window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"10f957f1ae","applicationID":"3346604","transactionName":"IV8LTUAOWVwER0ljWAxREUtTTho=","queueTime":0,"applicationTime":757,"agent":""}</script> <script>(window.NREUM||(NREUM={})).init={privacy:{cookies_enabled:true},ajax:{deny_list:["*"]},session_trace:{sampling_rate:0.0,mode:"FIXED_RATE",enabled:true,error_sampling_rate:0.0}};(window.NREUM||(NREUM={})).loader_config={xpid:"UQYGVVBQGwADUFdUBwU=",licenseKey:"10f957f1ae",applicationID:"3346604"};;/*! For license information please see nr-loader-full-1.281.0.min.js.LICENSE.txt */ (()=>{var e,t,r={8122:(e,t,r)=>{"use strict";r.d(t,{a:()=>i});var n=r(944);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.R)(3);if(!t||"object"!=typeof t)return(0,n.R)(4);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{if(null===e[a]){r[a]=null;continue}Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([...e[a],...t[a]])):"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.R)(1,e)}return r}catch(e){(0,n.R)(2,e)}}},2555:(e,t,r)=>{"use strict";r.d(t,{Vp:()=>c,fn:()=>s,x1:()=>u});var n=r(384),i=r(8122);const o={beacon:n.NT.beacon,errorBeacon:n.NT.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){try{const t=c(e);return!!t.licenseKey&&!!t.errorBeacon&&!!t.applicationID}catch(e){return!1}}function c(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function u(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.info=a[e])}},9417:(e,t,r)=>{"use strict";r.d(t,{D0:()=>g,gD:()=>m,xN:()=>p});var n=r(3333),i=r(993);const o=e=>{if(!e||"string"!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var a=r(2614),s=r(944),c=r(384),u=r(8122);const d="[data-nr-mask]",l=()=>{const e={feature_flags:[],experimental:{marks:!1,measures:!1,resources:!1},mask_selector:"*",block_selector:"[data-nr-block]",mask_input_options:{color:!1,date:!1,"datetime-local":!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{ajax:{deny_list:void 0,block_internal:!0,enabled:!0,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},get feature_flags(){return e.feature_flags},set feature_flags(t){e.feature_flags=t},generic_events:{enabled:!0,autoStart:!0},harvest:{interval:30},jserrors:{enabled:!0,autoStart:!0},logging:{enabled:!0,autoStart:!0,level:i.p_.INFO},metrics:{enabled:!0,autoStart:!0},obfuscate:void 0,page_action:{enabled:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,autoStart:!0},performance:{get capture_marks(){return e.feature_flags.includes(n.$v.MARKS)||e.experimental.marks},set capture_marks(t){e.experimental.marks=t},get capture_measures(){return e.feature_flags.includes(n.$v.MEASURES)||e.experimental.measures},set capture_measures(t){e.experimental.measures=t},capture_detail:!0,resources:{get enabled(){return e.feature_flags.includes(n.$v.RESOURCES)||e.experimental.resources},set enabled(t){e.experimental.resources=t},asset_types:[],first_party_domains:[],ignore_newrelic:!0}},privacy:{cookies_enabled:!0},proxy:{assets:void 0,beacon:void 0},session:{expiresMs:a.wk,inactiveMs:a.BB},session_replay:{autoStart:!0,enabled:!1,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,fix_stylesheets:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){o(t)?e.mask_selector="".concat(t,",").concat(d):""===t||null===t?e.mask_selector=d:(0,s.R)(5,t)},get block_class(){return"nr-block"},get ignore_class(){return"nr-ignore"},get mask_text_class(){return"nr-mask"},get block_selector(){return e.block_selector},set block_selector(t){o(t)?e.block_selector+=",".concat(t):""!==t&&(0,s.R)(6,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&"object"==typeof t?e.mask_input_options={...t,password:!0}:(0,s.R)(7,t)}},session_trace:{enabled:!0,autoStart:!0},soft_navigations:{enabled:!0,autoStart:!0},spa:{enabled:!0,autoStart:!0},ssl:void 0,user_actions:{enabled:!0,elementAttributes:["id","className","tagName","type"]}}},f={},h="All configuration objects require an agent identifier!";function g(e){if(!e)throw new Error(h);if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function p(e,t){if(!e)throw new Error(h);f[e]=(0,u.a)(t,l());const r=(0,c.nY)(e);r&&(r.init=f[e])}function m(e,t){if(!e)throw new Error(h);var r=g(e);if(r){for(var n=t.split("."),i=0;i<n.length-1;i++)if("object"!=typeof(r=r[n[i]]))return;r=r[n[n.length-1]]}return r}},5603:(e,t,r)=>{"use strict";r.d(t,{a:()=>c,o:()=>s});var n=r(384),i=r(8122);const o={accountID:void 0,trustKey:void 0,agentID:void 0,licenseKey:void 0,applicationID:void 0,xpid:void 0},a={};function s(e){if(!e)throw new Error("All loader-config objects require an agent identifier!");if(!a[e])throw new Error("LoaderConfig for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All loader-config objects require an agent identifier!");a[e]=(0,i.a)(t,o);const r=(0,n.nY)(e);r&&(r.loader_config=a[e])}},3371:(e,t,r)=>{"use strict";r.d(t,{V:()=>f,f:()=>l});var n=r(8122),i=r(384),o=r(6154),a=r(9324);let s=0;const c={buildEnv:a.F3,distMethod:a.Xs,version:a.xv,originTime:o.WN},u={customTransaction:void 0,disabled:!1,isolatedBacklog:!1,loaderType:void 0,maxBytes:3e4,onerror:void 0,ptid:void 0,releaseIds:{},appMetadata:{},session:void 0,denyList:void 0,timeKeeper:void 0,obfuscator:void 0,harvester:void 0},d={};function l(e){if(!e)throw new Error("All runtime objects require an agent identifier!");if(!d[e])throw new Error("Runtime for ".concat(e," was never set"));return d[e]}function f(e,t){if(!e)throw new Error("All runtime objects require an agent identifier!");d[e]={...(0,n.a)(t,u),...c},Object.hasOwnProperty.call(d[e],"harvestCount")||Object.defineProperty(d[e],"harvestCount",{get:()=>++s});const r=(0,i.nY)(e);r&&(r.runtime=d[e])}},9324:(e,t,r)=>{"use strict";r.d(t,{F3:()=>i,Xs:()=>o,Yq:()=>a,xv:()=>n});const n="1.281.0",i="PROD",o="CDN",a="^2.0.0-alpha.17"},6154:(e,t,r)=>{"use strict";r.d(t,{OF:()=>u,RI:()=>i,WN:()=>f,bv:()=>o,gm:()=>a,lR:()=>l,m:()=>c,mw:()=>s,sb:()=>d});var n=r(1863);const i="undefined"!=typeof window&&!!window.document,o="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),a=i?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),s=Boolean("hidden"===a?.document?.visibilityState),c=""+a?.location,u=/iPad|iPhone|iPod/.test(a.navigator?.userAgent),d=u&&"undefined"==typeof SharedWorker,l=(()=>{const e=a.navigator?.userAgent?.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),f=Date.now()-(0,n.t)()},7295:(e,t,r)=>{"use strict";r.d(t,{Xv:()=>a,gX:()=>i,iW:()=>o});var n=[];function i(e){if(!e||o(e))return!1;if(0===n.length)return!0;for(var t=0;t<n.length;t++){var r=n[t];if("*"===r.hostname)return!1;if(s(r.hostname,e.hostname)&&c(r.pathname,e.pathname))return!1}return!0}function o(e){return void 0===e.hostname}function a(e){if(n=[],e&&e.length)for(var t=0;t<e.length;t++){let r=e[t];if(!r)continue;0===r.indexOf("http://")?r=r.substring(7):0===r.indexOf("https://")&&(r=r.substring(8));const i=r.indexOf("/");let o,a;i>0?(o=r.substring(0,i),a=r.substring(i)):(o=r,a="");let[s]=o.split(":");n.push({hostname:s,pathname:a})}}function s(e,t){return!(e.length>t.length)&&t.indexOf(e)===t.length-e.length}function c(e,t){return 0===e.indexOf("/")&&(e=e.substring(1)),0===t.indexOf("/")&&(t=t.substring(1)),""===e||e===t}},1687:(e,t,r)=>{"use strict";r.d(t,{Ak:()=>c,Ze:()=>l,x3:()=>u});var n=r(7836),i=r(3606),o=r(860),a=r(2646);const s={};function c(e,t){const r={staged:!1,priority:o.P3[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){e&&s[e]&&(s[e].get(t)&&s[e].delete(t),h(e,t,!1),s[e].size&&f(e))}function d(e){if(!e)throw new Error("agentIdentifier required");s[e]||(s[e]=new Map)}function l(e="",t="feature",r=!1){if(d(e),!e||!s[e].get(t)||r)return h(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=Array.from(s[e]);t.every((([e,t])=>t.staged))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((([t])=>{s[e].delete(t),h(e,t)})))}function h(e,t,r=!0){const o=e?n.ee.get(e):n.ee,s=i.i.handlers;if(!o.aborted&&o.backlog&&s){if(r){const e=o.backlog[t],r=s[t];if(r){for(let t=0;e&&t<e.length;++t)g(e[t],r);Object.entries(r).forEach((([e,t])=>{Object.values(t||{}).forEach((t=>{t[0]?.on&&t[0]?.context()instanceof a.y&&t[0].on(e,t[1])}))}))}}o.isolatedBacklog||delete s[t],o.backlog[t]=null,o.emit("drain-"+t,[])}}function g(e,t){var r=e[1];Object.values(t[r]||{}).forEach((t=>{var r=e[0];if(t[0]===r){var n=t[1],i=e[3],o=e[2];n.apply(i,o)}}))}},7836:(e,t,r)=>{"use strict";r.d(t,{P:()=>c,ee:()=>u});var n=r(384),i=r(8990),o=r(3371),a=r(2646),s=r(5607);const c="nr@context:".concat(s.W),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.f)(r).isolatedBacklog}catch(e){}var f={on:g,addEventListener:g,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i<r.length;i++)r[i]===t&&r.splice(i,1)},emit:function(e,r,n,i,o){!1!==o&&(o=!0);if(u.aborted&&!i)return;t&&o&&t.emit(e,r,n);for(var a=h(n),c=p(e),d=c.length,l=0;l<d;l++)c[l].apply(a,r);var g=v()[s[e]];g&&g.push([f,e,r,a]);return a},get:m,listeners:p,context:h,buffer:function(e,t){const r=v();if(t=t||"feature",f.aborted)return;Object.entries(e||{}).forEach((([e,n])=>{s[n]=t,t in r||(r[t]=[])}))},abort:function(){f._aborted=!0,Object.keys(f.backlog).forEach((e=>{delete f.backlog[e]}))},isBuffering:function(e){return!!v()[s[e]]},debugId:r,backlog:l?{}:t&&"object"==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,"aborted",{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function h(e){return e&&e instanceof a.y?e:e?(0,i.I)(e,c,(()=>new a.y(c))):new a.y(c)}function g(e,t){n[e]=p(e).concat(t)}function p(e){return n[e]||[]}function m(t){return d[t]=d[t]||e(f,t)}function v(){return f.backlog}}(void 0,"globalEE"),d=(0,n.Zm)();d.ee||(d.ee=u)},2646:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});class n{constructor(e){this.contextId=e}}},9908:(e,t,r)=>{"use strict";r.d(t,{d:()=>n,p:()=>i});var n=r(7836).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},3606:(e,t,r)=>{"use strict";r.d(t,{i:()=>o});var n=r(9908);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.d,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.d);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3878:(e,t,r)=>{"use strict";function n(e,t){return{capture:e,passive:!1,signal:t}}function i(e,t,r=!1,i){window.addEventListener(e,t,n(r,i))}function o(e,t,r=!1,i){document.addEventListener(e,t,n(r,i))}r.d(t,{DD:()=>o,jT:()=>n,sp:()=>i})},5607:(e,t,r)=>{"use strict";r.d(t,{W:()=>n});const n=(0,r(9566).bz)()},9566:(e,t,r)=>{"use strict";r.d(t,{LA:()=>s,ZF:()=>c,bz:()=>a,el:()=>u});var n=r(6154);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n.gm?.crypto||n.gm?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split("").map((e=>"x"===e?o(t,r++).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n.gm?.crypto||n.gm?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s<e;s++)a.push(o(r,i++).toString(16));return a.join("")}function c(){return s(16)}function u(){return s(32)}},2614:(e,t,r)=>{"use strict";r.d(t,{BB:()=>a,H3:()=>n,g:()=>u,iL:()=>c,tS:()=>s,uh:()=>i,wk:()=>o});const n="NRBA",i="SESSION",o=144e5,a=18e5,s={STARTED:"session-started",PAUSE:"session-pause",RESET:"session-reset",RESUME:"session-resume",UPDATE:"session-update"},c={SAME_TAB:"same-tab",CROSS_TAB:"cross-tab"},u={OFF:0,FULL:1,ERROR:2}},1863:(e,t,r)=>{"use strict";function n(){return Math.floor(performance.now())}r.d(t,{t:()=>n})},7485:(e,t,r)=>{"use strict";r.d(t,{D:()=>i});var n=r(6154);function i(e){if(0===(e||"").indexOf("data:"))return{protocol:"data"};try{const t=new URL(e,location.href),r={port:t.port,hostname:t.hostname,pathname:t.pathname,search:t.search,protocol:t.protocol.slice(0,t.protocol.indexOf(":")),sameOrigin:t.protocol===n.gm?.location?.protocol&&t.host===n.gm?.location?.host};return r.port&&""!==r.port||("http:"===t.protocol&&(r.port="80"),"https:"===t.protocol&&(r.port="443")),r.pathname&&""!==r.pathname?r.pathname.startsWith("/")||(r.pathname="/".concat(r.pathname)):r.pathname="/",r}catch(e){return{}}}},944:(e,t,r)=>{"use strict";function n(e,t){"function"==typeof console.debug&&console.debug("New Relic Warning: https://github.com/newrelic/newrelic-browser-agent/blob/main/docs/warning-codes.md#".concat(e),t)}r.d(t,{R:()=>n})},5284:(e,t,r)=>{"use strict";r.d(t,{t:()=>c,B:()=>s});var n=r(7836),i=r(6154);const o="newrelic";const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&"object"==typeof e&&(a.has(t)||(r.emit("rumresp",[e]),s[t]=e,a.add(t),function(e={}){try{i.gm.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},8990:(e,t,r)=>{"use strict";r.d(t,{I:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},6389:(e,t,r)=>{"use strict";function n(e,t=500,r={}){const n=r?.leading||!1;let i;return(...r)=>{n&&void 0===i&&(e.apply(this,r),i=setTimeout((()=>{i=clearTimeout(i)}),t)),n||(clearTimeout(i),i=setTimeout((()=>{e.apply(this,r)}),t))}}function i(e){let t=!1;return(...r)=>{t||(t=!0,e.apply(this,r))}}r.d(t,{J:()=>i,s:()=>n})},3304:(e,t,r)=>{"use strict";r.d(t,{A:()=>o});var n=r(7836);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())??""}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}return""}}},5289:(e,t,r)=>{"use strict";r.d(t,{GG:()=>o,sB:()=>a});var n=r(3878);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.sp)("load",e,t)}function a(e){if(i())return e();(0,n.DD)("DOMContentLoaded",e)}},384:(e,t,r)=>{"use strict";r.d(t,{NT:()=>o,US:()=>d,Zm:()=>a,bQ:()=>c,dV:()=>s,nY:()=>u,pV:()=>l});var n=r(6154),i=r(1863);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return n.gm.NREUM||(n.gm.NREUM={}),void 0===n.gm.newrelic&&(n.gm.newrelic=n.gm.NREUM),n.gm.NREUM}function s(){let e=a();return e.o||(e.o={ST:n.gm.setTimeout,SI:n.gm.setImmediate,CT:n.gm.clearTimeout,XHR:n.gm.XMLHttpRequest,REQ:n.gm.Request,EV:n.gm.Event,PR:n.gm.Promise,MO:n.gm.MutationObserver,FETCH:n.gm.fetch,WS:n.gm.WebSocket}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.t)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},2843:(e,t,r)=>{"use strict";r.d(t,{u:()=>i});var n=r(3878);function i(e,t=!1,r,i){(0,n.DD)("visibilitychange",(function(){if(t)return void("hidden"===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},8139:(e,t,r)=>{"use strict";r.d(t,{u:()=>f});var n=r(7836),i=r(3434),o=r(8990),a=r(6154);const s={},c=a.gm.XMLHttpRequest,u="addEventListener",d="removeEventListener",l="nr@wrapped:".concat(n.P);function f(e){var t=function(e){return(e||n.ee).get("events")}(e);if(s[t.debugId]++)return t;s[t.debugId]=1;var r=(0,i.YM)(t,!0);function f(e){r.inPlace(e,[u,d],"-",g)}function g(e,t){return e[1]}return"getPrototypeOf"in Object&&(a.RI&&h(document,f),c&&h(c.prototype,f),h(a.gm,f)),t.on(u+"-start",(function(e,t){var n=e[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var i=(0,o.I)(n,l,(function(){var e={object:function(){if("function"!=typeof n.handleEvent)return;return n.handleEvent.apply(n,arguments)},function:n}[typeof n];return e?r(e,"fn-",null,e.name||"anonymous"):n}));this.wrapped=e[1]=i}})),t.on(d+"-start",(function(e){e[1]=this.wrapped||e[1]})),t}function h(e,t,...r){let n=e;for(;"object"==typeof n&&!Object.prototype.hasOwnProperty.call(n,u);)n=Object.getPrototypeOf(n);n&&t(n,...r)}},3434:(e,t,r)=>{"use strict";r.d(t,{Jt:()=>o,YM:()=>c});var n=r(7836),i=r(5607);const o="nr@original:".concat(i.W);var a=Object.prototype.hasOwnProperty,s=!1;function c(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");const a="-"===n.charAt(0);for(let s=0;s<t.length;s++){const c=t[s],u=e[c];d(u)||(e[c]=r(u,a?c+n:n,i,c,o))}},r.flag=o,r;function r(t,r,n,s,c){return d(t)?t:(r||(r=""),nrWrapper[o]=t,function(e,t,r){if(Object.defineProperty&&Object.keys)try{return Object.keys(e).forEach((function(r){Object.defineProperty(t,r,{get:function(){return e[r]},set:function(t){return e[r]=t,t}})})),t}catch(e){u([e],r)}for(var n in e)a.call(e,n)&&(t[n]=e[n])}(t,nrWrapper,e),nrWrapper);function nrWrapper(){var o,a,d,l;try{a=this,o=[...arguments],d="function"==typeof n?n(o,a):n||{}}catch(t){u([t,"",[o,a,s],d],e)}i(r+"start",[o,a,s],d,c);try{return l=t.apply(a,o)}catch(e){throw i(r+"err",[o,a,e],d,c),e}finally{i(r+"end",[o,a,l],d,c)}}}function i(r,n,i,o){if(!s||t){var a=s;s=!0;try{e.emit(r,n,i,t,o)}catch(t){u([t,r,n,i],e)}s=a}}}function u(e,t){t||(t=n.ee);try{t.emit("internal-error",e)}catch(e){}}function d(e){return!(e&&"function"==typeof e&&e.apply&&!e[o])}},9300:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.ajax},3333:(e,t,r)=>{"use strict";r.d(t,{$v:()=>u,TZ:()=>n,Zp:()=>i,kd:()=>c,mq:()=>s,nf:()=>a,qN:()=>o});const n=r(860).K7.genericEvents,i=["auxclick","click","copy","keydown","paste","scrollend"],o=["focus","blur"],a=4,s=1e3,c=["PageAction","UserAction","BrowserPerformance"],u={MARKS:"experimental.marks",MEASURES:"experimental.measures",RESOURCES:"experimental.resources"}},6774:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.jserrors},993:(e,t,r)=>{"use strict";r.d(t,{ET:()=>o,TZ:()=>a,p_:()=>i});var n=r(860);const i={ERROR:"ERROR",WARN:"WARN",INFO:"INFO",DEBUG:"DEBUG",TRACE:"TRACE"},o="log",a=n.K7.logging},3785:(e,t,r)=>{"use strict";r.d(t,{R:()=>c,b:()=>u});var n=r(9908),i=r(1863),o=r(860),a=r(3969),s=r(993);function c(e,t,r={},c=s.p_.INFO){(0,n.p)(a.xV,["API/logging/".concat(c.toLowerCase(),"/called")],void 0,o.K7.metrics,e),(0,n.p)(s.ET,[(0,i.t)(),t,r,c],void 0,o.K7.logging,e)}function u(e){return"string"==typeof e&&Object.values(s.p_).some((t=>t===e.toUpperCase().trim()))}},3969:(e,t,r)=>{"use strict";r.d(t,{TZ:()=>n,XG:()=>s,rs:()=>i,xV:()=>a,z_:()=>o});const n=r(860).K7.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},6630:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewEvent},782:(e,t,r)=>{"use strict";r.d(t,{T:()=>n});const n=r(860).K7.pageViewTiming},6344:(e,t,r)=>{"use strict";r.d(t,{BB:()=>d,G4:()=>o,Qb:()=>l,TZ:()=>i,Ug:()=>a,_s:()=>s,bc:()=>u,yP:()=>c});var n=r(2614);const i=r(860).K7.sessionReplay,o={RECORD:"recordReplay",PAUSE:"pauseReplay",REPLAY_RUNNING:"replayRunning",ERROR_DURING_REPLAY:"errorDuringReplay"},a=.12,s={DomContentLoaded:0,Load:1,FullSnapshot:2,IncrementalSnapshot:3,Meta:4,Custom:5},c={[n.g.ERROR]:15e3,[n.g.FULL]:3e5,[n.g.OFF]:0},u={RESET:{message:"Session was reset",sm:"Reset"},IMPORT:{message:"Recorder failed to import",sm:"Import"},TOO_MANY:{message:"429: Too Many Requests",sm:"Too-Many"},TOO_BIG:{message:"Payload was too large",sm:"Too-Big"},CROSS_TAB:{message:"Session Entity was set to OFF on another tab",sm:"Cross-Tab"},ENTITLEMENTS:{message:"Session Replay is not allowed and will not be started",sm:"Entitlement"}},d=5e3,l={API:"api"}},5270:(e,t,r)=>{"use strict";r.d(t,{Aw:()=>c,CT:()=>u,SR:()=>s});var n=r(384),i=r(9417),o=r(7767),a=r(6154);function s(e){return!!(0,n.dV)().o.MO&&(0,o.V)(e)&&!0===(0,i.gD)(e,"session_trace.enabled")}function c(e){return!0===(0,i.gD)(e,"session_replay.preload")&&s(e)}function u(e,t){const r=t.correctAbsoluteTimestamp(e);return{originalTimestamp:e,correctedTimestamp:r,timestampDiff:e-r,originTime:a.WN,correctedOriginTime:t.correctedOriginTime,originTimeDiff:Math.floor(a.WN-t.correctedOriginTime)}}},3738:(e,t,r)=>{"use strict";r.d(t,{He:()=>i,Kp:()=>s,Lc:()=>u,Rz:()=>d,TZ:()=>n,bD:()=>o,d3:()=>a,jx:()=>l,uP:()=>c});const n=r(860).K7.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState",l=1e3},4234:(e,t,r)=>{"use strict";r.d(t,{W:()=>o});var n=r(7836),i=r(1687);class o{constructor(e,t){this.agentIdentifier=e,this.ee=n.ee.get(e),this.featureName=t,this.blocked=!1}deregisterDrain(){(0,i.x3)(this.agentIdentifier,this.featureName)}}},7767:(e,t,r)=>{"use strict";r.d(t,{V:()=>o});var n=r(9417),i=r(6154);const o=e=>i.RI&&!0===(0,n.gD)(e,"privacy.cookies_enabled")},425:(e,t,r)=>{"use strict";r.d(t,{j:()=>j});var n=r(860),i=r(2555),o=r(3371),a=r(9908),s=r(7836),c=r(1687),u=r(5289),d=r(6154),l=r(944),f=r(3969),h=r(384),g=r(6344);const p=["setErrorHandler","finished","addToTrace","addRelease","recordCustomEvent","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId","setApplicationVersion","start",g.G4.RECORD,g.G4.PAUSE,"log","wrapLogger"],m=["setErrorHandler","finished","addToTrace","addRelease"];var v=r(1863),b=r(2614),y=r(993),R=r(3785),x=r(2646),w=r(3434);const E=new Map;function A(e,t,r,n){if("object"!=typeof t||!t||"string"!=typeof r||!r||"function"!=typeof t[r])return(0,l.R)(29);const i=function(e){return(e||s.ee).get("logger")}(e),o=(0,w.YM)(i),a=new x.y(s.P);a.level=n.level,a.customAttributes=n.customAttributes;const c=t[r]?.[w.Jt]||t[r];return E.set(c,a),o.inPlace(t,[r],"wrap-logger-",(()=>E.get(c))),i}function T(){const e=(0,h.pV)();p.forEach((t=>{e[t]=(...r)=>function(t,...r){let n=[];return Object.values(e.initializedAgents).forEach((e=>{e&&e.api?e.exposed&&e.api[t]&&n.push(e.api[t](...r)):(0,l.R)(38,t)})),n.length>1?n:n[0]}(t,...r)}))}const _={};var S=r(9417),O=r(5603),N=r(5284);const I=e=>{const t=e.startsWith("http");e+="/",r.p=t?e:"https://"+e};let P=!1;function j(e,t={},p,x){let{init:w,info:E,loader_config:j,runtime:C={},exposed:k=!0}=t;C.loaderType=p;const H=(0,h.pV)();E||(w=H.init,E=H.info,j=H.loader_config),(0,S.xN)(e.agentIdentifier,w||{}),(0,O.a)(e.agentIdentifier,j||{}),E.jsAttributes??={},d.bv&&(E.jsAttributes.isWorker=!0),(0,i.x1)(e.agentIdentifier,E);const L=(0,S.D0)(e.agentIdentifier),D=[E.beacon,E.errorBeacon];P||(L.proxy.assets&&(I(L.proxy.assets),D.push(L.proxy.assets)),L.proxy.beacon&&D.push(L.proxy.beacon),T(),(0,h.US)("activatedFeatures",N.B),e.runSoftNavOverSpa&&=!0===L.soft_navigations.enabled&&L.feature_flags.includes("soft_nav")),C.denyList=[...L.ajax.deny_list||[],...L.ajax.block_internal?D:[]],C.ptid=e.agentIdentifier,(0,o.V)(e.agentIdentifier,C),e.ee=s.ee.get(e.agentIdentifier),void 0===e.api&&(e.api=function(e,t,h=!1){t||(0,c.Ak)(e,"api");const p={};var x=s.ee.get(e),w=x.get("tracer");_[e]=b.g.OFF,x.on(g.G4.REPLAY_RUNNING,(t=>{_[e]=t}));var E="api-",T=E+"ixn-";function S(t,r,n,o){const a=(0,i.Vp)(e);return null===r?delete a.jsAttributes[t]:(0,i.x1)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),I(E,n,!0,o||null===r?"session":void 0)(t,r)}function O(){}p.log=function(e,{customAttributes:t={},level:r=y.p_.INFO}={}){(0,a.p)(f.xV,["API/log/called"],void 0,n.K7.metrics,x),(0,R.R)(x,e,t,r)},p.wrapLogger=(e,t,{customAttributes:r={},level:i=y.p_.INFO}={})=>{(0,a.p)(f.xV,["API/wrapLogger/called"],void 0,n.K7.metrics,x),A(x,e,t,{customAttributes:r,level:i})},m.forEach((e=>{p[e]=I(E,e,!0,"api")})),p.addPageAction=I(E,"addPageAction",!0,n.K7.genericEvents),p.recordCustomEvent=I(E,"recordCustomEvent",!0,n.K7.genericEvents),p.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,o.f)(e).customTransaction=(r||"http://custom.transaction")+t,I(E,"setPageViewName",!0)()},p.setCustomAttribute=function(e,t,r=!1){if("string"==typeof e){if(["string","number","boolean"].includes(typeof t)||null===t)return S(e,t,"setCustomAttribute",r);(0,l.R)(40,typeof t)}else(0,l.R)(39,typeof e)},p.setUserId=function(e){if("string"==typeof e||null===e)return S("enduser.id",e,"setUserId",!0);(0,l.R)(41,typeof e)},p.setApplicationVersion=function(e){if("string"==typeof e||null===e)return S("application.version",e,"setApplicationVersion",!1);(0,l.R)(42,typeof e)},p.start=()=>{try{(0,a.p)(f.xV,["API/start/called"],void 0,n.K7.metrics,x),x.emit("manual-start-all")}catch(e){(0,l.R)(23,e)}},p[g.G4.RECORD]=function(){(0,a.p)(f.xV,["API/recordReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.RECORD,[],void 0,n.K7.sessionReplay,x)},p[g.G4.PAUSE]=function(){(0,a.p)(f.xV,["API/pauseReplay/called"],void 0,n.K7.metrics,x),(0,a.p)(g.G4.PAUSE,[],void 0,n.K7.sessionReplay,x)},p.interaction=function(e){return(new O).get("object"==typeof e?e:{})};const N=O.prototype={createTracer:function(e,t){var r={},i=this,o="function"==typeof t;return(0,a.p)(f.xV,["API/createTracer/called"],void 0,n.K7.metrics,x),h||(0,a.p)(T+"tracer",[(0,v.t)(),e,r],i,n.K7.spa,x),function(){if(w.emit((o?"":"no-")+"fn-start",[(0,v.t)(),i,o],r),o)try{return t.apply(this,arguments)}catch(e){const t="string"==typeof e?new Error(e):e;throw w.emit("fn-err",[arguments,this,t],r),t}finally{w.emit("fn-end",[(0,v.t)()],r)}}}};function I(e,t,r,i){return function(){return(0,a.p)(f.xV,["API/"+t+"/called"],void 0,n.K7.metrics,x),i&&(0,a.p)(e+t,[r?(0,v.t)():performance.now(),...arguments],r?null:this,i,x),r?void 0:this}}function P(){r.e(891).then(r.bind(r,8778)).then((({setAPI:t})=>{t(e),(0,c.Ze)(e,"api")})).catch((e=>{(0,l.R)(27,e),x.abort()}))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{N[e]=I(T,e,void 0,h?n.K7.softNav:n.K7.spa)})),p.setCurrentRouteName=h?I(T,"routeName",void 0,n.K7.softNav):I(E,"routeName",!0,n.K7.spa),p.noticeError=function(t,r){"string"==typeof t&&(t=new Error(t)),(0,a.p)(f.xV,["API/noticeError/called"],void 0,n.K7.metrics,x),(0,a.p)("err",[t,(0,v.t)(),!1,r,!!_[e]],void 0,n.K7.jserrors,x)},d.RI?(0,u.GG)((()=>P()),!0):P(),p}(e.agentIdentifier,x,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=k),P=!0}},8374:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return""})()},860:(e,t,r)=>{"use strict";r.d(t,{$J:()=>u,K7:()=>s,P3:()=>c,XX:()=>i,qY:()=>n,v4:()=>a});const n="events",i="jserrors",o="browser/blobs",a="rum",s={ajax:"ajax",genericEvents:"generic_events",jserrors:i,logging:"logging",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",softNav:"soft_navigations",spa:"spa"},c={[s.pageViewEvent]:1,[s.pageViewTiming]:2,[s.metrics]:3,[s.jserrors]:4,[s.spa]:5,[s.ajax]:6,[s.sessionTrace]:7,[s.softNav]:8,[s.sessionReplay]:9,[s.logging]:10,[s.genericEvents]:11},u={[s.pageViewEvent]:a,[s.pageViewTiming]:n,[s.ajax]:n,[s.spa]:n,[s.softNav]:n,[s.metrics]:i,[s.jserrors]:i,[s.sessionTrace]:o,[s.sessionReplay]:o,[s.logging]:"browser/logs",[s.genericEvents]:"ins"}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>({95:"nr-full-compressor",222:"nr-full-recorder",891:"nr-full"}[e]+"-1.281.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA-1.281.0.PROD:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d<u.length;d++){var l=u[d];if(l.getAttribute("src")==r||l.getAttribute("data-webpack")==t+o){s=l;break}}if(!s){c=!0;var f={891:"sha512-54Aat8Udm6iAAlMAdj4qB/wPExKn9TKWSsPnD5+K2RMckmHE0cb0CFc0VauDfpPug5wse9qzwDKuwIMa3hX6gw==",222:"sha512-IA751FH/bvhLWl8I5ZELgH0tFQetWKV1G+9qRkPvOrTSv2X2tgItmreKfvrd8zImHp4sIPTnSN0otmgnX7UJXA==",95:"sha512-Rwnn8hCtQVvDGDl0hSpEazVuRDuvlGnJpNuNwuapJ46vDCvUNGBIzCZCrZYygTgVJUjMrfQoMAULb+2gKoTIiQ=="};(s=document.createElement("script")).charset="utf-8",s.timeout=120,i.nc&&s.setAttribute("nonce",i.nc),s.setAttribute("data-webpack",t+o),s.src=r,0!==s.src.indexOf(window.location.origin+"/")&&(s.crossOrigin="anonymous"),f[a]&&(s.integrity=f[a])}e[r]=[n];var h=(t,n)=>{s.onerror=s.onload=null,clearTimeout(g);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},g=setTimeout(h.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=h.bind(null,s.onerror),s.onload=h.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.p="https://js-agent.newrelic.com/",(()=>{var e={85:0,959:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u<a.length;u++)o=a[u],i.o(e,o)&&e[o]&&e[o][0](),e[o]=0},r=self["webpackChunk:NRBA-1.281.0.PROD"]=self["webpackChunk:NRBA-1.281.0.PROD"]||[];r.forEach(t.bind(null,0)),r.push=t.bind(null,r.push.bind(r))})(),(()=>{"use strict";i(8374);var e=i(944),t=i(6344),r=i(9566);class n{agentIdentifier;constructor(){this.agentIdentifier=(0,r.LA)(16)}#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}addPageAction(e,t){return this.#e("addPageAction",e,t)}recordCustomEvent(e,t){return this.#e("recordCustomEvent",e,t)}setPageViewName(e,t){return this.#e("setPageViewName",e,t)}setCustomAttribute(e,t,r){return this.#e("setCustomAttribute",e,t,r)}noticeError(e,t){return this.#e("noticeError",e,t)}setUserId(e){return this.#e("setUserId",e)}setApplicationVersion(e){return this.#e("setApplicationVersion",e)}setErrorHandler(e){return this.#e("setErrorHandler",e)}addRelease(e,t){return this.#e("addRelease",e,t)}log(e,t){return this.#e("log",e,t)}}class o extends n{#e(t,...r){if("function"==typeof this.api?.[t])return this.api[t](...r);(0,e.R)(35,t)}start(){return this.#e("start")}finished(e){return this.#e("finished",e)}recordReplay(){return this.#e(t.G4.RECORD)}pauseReplay(){return this.#e(t.G4.PAUSE)}addToTrace(e){return this.#e("addToTrace",e)}setCurrentRouteName(e){return this.#e("setCurrentRouteName",e)}interaction(){return this.#e("interaction")}wrapLogger(e,t,r){return this.#e("wrapLogger",e,t,r)}}var a=i(860),s=i(9417);const c=Object.values(a.K7);function u(e){const t={};return c.forEach((r=>{t[r]=function(e,t){return!0===(0,s.gD)(t,"".concat(e,".enabled"))}(r,e)})),t}var d=i(425);var l=i(1687),f=i(4234),h=i(5289),g=i(6154),p=i(5270),m=i(7767),v=i(6389);class b extends f.W{constructor(e,t,r=!0){super(e.agentIdentifier,t),this.auto=r,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===e.init[this.featureName].autoStart&&(this.auto=!1),this.auto?(0,l.Ak)(e.agentIdentifier,t):this.ee.on("manual-start-all",(0,v.J)((()=>{(0,l.Ak)(e.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator(e)})))}importAggregator(t,r={}){if(this.featAggregate||!this.auto)return;let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let o;try{if((0,m.V)(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(891).then(i.bind(i,6526));o=e(t)}}catch(t){(0,e.R)(20,t),this.ee.emit("internal-error",[t]),this.featureName===a.K7.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,o))return(0,l.Ze)(this.agentIdentifier,this.featureName),void n(!1);const{lazyFeatureLoader:e}=await i.e(891).then(i.bind(i,6103)),{Aggregate:a}=await e(this.featureName,"aggregate");this.featAggregate=new a(t,r),t.runtime.harvester.initializedAggregates.push(this.featAggregate),n(!0)}catch(t){(0,e.R)(34,t),this.abortHandler?.(),(0,l.Ze)(this.agentIdentifier,this.featureName,!0),n(!1),this.ee&&this.ee.abort()}};g.RI?(0,h.GG)((()=>o()),!0):o()}#t(e,t){switch(e){case a.K7.sessionReplay:return(0,p.SR)(this.agentIdentifier)&&!!t;case a.K7.sessionTrace:return!!t;default:return!0}}}var y=i(6630);class R extends b{static featureName=y.T;constructor(e,t=!0){super(e,y.T,t),this.importAggregator(e)}}var x=i(384);var w=i(9908),E=i(2843),A=i(3878),T=i(782),_=i(1863);class S extends b{static featureName=T.T;constructor(e,t=!0){super(e,T.T,t),g.RI&&((0,E.u)((()=>(0,w.p)("docHidden",[(0,_.t)()],void 0,T.T,this.ee)),!0),(0,A.sp)("pagehide",(()=>(0,w.p)("winPagehide",[(0,_.t)()],void 0,T.T,this.ee))),this.importAggregator(e))}}var O=i(3969);class N extends b{static featureName=O.TZ;constructor(e,t=!0){super(e,O.TZ,t),this.importAggregator(e)}}var I=i(6774),P=i(3304);class j{constructor(e,t,r,n,i){this.name="UncaughtError",this.message="string"==typeof e?e:(0,P.A)(e),this.sourceURL=t,this.line=r,this.column=n,this.__newrelic=i}}function C(e){return L(e)?e:new j(void 0!==e?.message?e.message:e,e?.filename||e?.sourceURL,e?.lineno||e?.line,e?.colno||e?.col,e?.__newrelic)}function k(e){const t="Unhandled Promise Rejection";if(!e?.reason)return;if(L(e.reason))try{return e.reason.message=t+": "+e.reason.message,C(e.reason)}catch(t){return C(e.reason)}const r=C(e.reason);return r.message=t+": "+r?.message,r}function H(e){if(e.error instanceof SyntaxError&&!/:\d+$/.test(e.error.stack?.trim())){const t=new j(e.message,e.filename,e.lineno,e.colno,e.error.__newrelic);return t.name=SyntaxError.name,t}return L(e.error)?e.error:C(e)}function L(e){return e instanceof Error&&!!e.stack}class D extends b{static featureName=I.T;#r=!1;constructor(e,r=!0){super(e,I.T,r);try{this.removeOnAbort=new AbortController}catch(e){}this.ee.on("internal-error",((e,t)=>{this.abortHandler&&(0,w.p)("ierr",[C(e),(0,_.t)(),!0,{},this.#r,t],void 0,this.featureName,this.ee)})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.#r=e})),g.gm.addEventListener("unhandledrejection",(e=>{this.abortHandler&&(0,w.p)("err",[k(e),(0,_.t)(),!1,{unhandledPromiseRejection:1},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),g.gm.addEventListener("error",(e=>{this.abortHandler&&(0,w.p)("err",[H(e),(0,_.t)(),!1,{},this.#r],void 0,this.featureName,this.ee)}),(0,A.jT)(!1,this.removeOnAbort?.signal)),this.abortHandler=this.#n,this.importAggregator(e)}#n(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}var M=i(8990);let K=1;const U="nr@id";function V(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===g.gm?0:(0,M.I)(e,U,(function(){return K++}))}function G(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,P.A)(e).length}catch(e){return}}}var F=i(8139),B=i(7836),W=i(3434);const z={},q=["open","send"];function Z(t){var r=t||B.ee;const n=function(e){return(e||B.ee).get("xhr")}(r);if(void 0===g.gm.XMLHttpRequest)return n;if(z[n.debugId]++)return n;z[n.debugId]=1,(0,F.u)(r);var i=(0,W.YM)(n),o=g.gm.XMLHttpRequest,a=g.gm.MutationObserver,s=g.gm.Promise,c=g.gm.setInterval,u="readystatechange",d=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],l=[],f=g.gm.XMLHttpRequest=function(t){const r=new o(t),a=n.context(r);try{n.emit("new-xhr",[r],a),r.addEventListener(u,(s=a,function(){var e=this;e.readyState>3&&!s.resolved&&(s.resolved=!0,n.emit("xhr-resolved",[],e)),i.inPlace(e,d,"fn-",y)}),(0,A.jT)(!1))}catch(t){(0,e.R)(15,t);try{n.emit("internal-error",[t])}catch(e){}}var s;return r};function h(e,t){i.inPlace(t,["onreadystatechange"],"fn-",y)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,f),f.prototype=o.prototype,i.inPlace(f.prototype,q,"-xhr-",y),n.on("send-xhr-start",(function(e,t){h(e,t),function(e){l.push(e),a&&(p?p.then(b):c?c(b):(m=-m,v.data=m))}(t)})),n.on("open-xhr-start",h),a){var p=s&&s.resolve();if(!c&&!s){var m=1,v=document.createTextNode(m);new a(b).observe(v,{characterData:!0})}}else r.on("fn-end",(function(e){e[0]&&e[0].type===u||b()}));function b(){for(var e=0;e<l.length;e++)h(0,l[e]);l.length&&(l=[])}function y(e,t){return t}return n}var Y="fetch-",X=Y+"body-",J=["arrayBuffer","blob","json","text","formData"],Q=g.gm.Request,ee=g.gm.Response,te="prototype";const re={};function ne(e){const t=function(e){return(e||B.ee).get("fetch")}(e);if(!(Q&&ee&&g.gm.fetch))return t;if(re[t.debugId]++)return t;function r(e,r,n){var i=e[r];"function"==typeof i&&(e[r]=function(){var e,r=[...arguments],o={};t.emit(n+"before-start",[r],o),o[B.P]&&o[B.P].dt&&(e=o[B.P].dt);var a=i.apply(this,r);return t.emit(n+"start",[r,e],a),a.then((function(e){return t.emit(n+"end",[null,e],a),e}),(function(e){throw t.emit(n+"end",[e],a),e}))})}return re[t.debugId]=1,J.forEach((e=>{r(Q[te],e,X),r(ee[te],e,X)})),r(g.gm,"fetch",Y),t.on(Y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(Y+"done",[null,r],n)}else t.emit(Y+"done",[e],n)})),t}var ie=i(7485),oe=i(5603);class ae{constructor(e){this.agentIdentifier=e}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var t=(0,oe.o)(this.agentIdentifier);if(!t)return null;var n=(t.accountID||"").toString()||null,i=(t.agentID||"").toString()||null,o=(t.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,r.ZF)(),s=(0,r.el)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof g.gm?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,P.A)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var t=!1,r={};if((0,s.gD)(this.agentIdentifier,"distributed_tracing")&&(r=(0,s.D0)(this.agentIdentifier).distributed_tracing),e.sameOrigin)t=!0;else if(r.allowed_origins instanceof Array)for(var n=0;n<r.allowed_origins.length;n++){var i=(0,ie.D)(r.allowed_origins[n]);if(e.hostname===i.hostname&&e.protocol===i.protocol&&e.port===i.port){t=!0;break}}return t}isDtEnabled(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.enabled}excludeNewrelicHeader(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.exclude_newrelic_header}useNewrelicHeaderForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!1!==e.cors_use_newrelic_header}useTraceContextHeadersForCors(){var e=(0,s.gD)(this.agentIdentifier,"distributed_tracing");return!!e&&!!e.cors_use_tracecontext_headers}}var se=i(9300),ce=i(7295),ue=["load","error","abort","timeout"],de=ue.length,le=(0,x.dV)().o.REQ,fe=(0,x.dV)().o.XHR;class he extends b{static featureName=se.T;constructor(e,t=!0){super(e,se.T,t),this.dt=new ae(e.agentIdentifier),this.handler=(e,t,r,n)=>(0,w.p)(e,t,r,n,this.ee);try{const e={xmlhttprequest:"xhr",fetch:"fetch",beacon:"beacon"};g.gm?.performance?.getEntriesByType("resource").forEach((t=>{if(t.initiatorType in e&&0!==t.responseStatus){const r={status:t.responseStatus},n={rxSize:t.transferSize,duration:Math.floor(t.duration),cbTime:0};ge(r,t.name),this.handler("xhr",[r,n,t.startTime,t.responseEnd,e[t.initiatorType]],void 0,a.K7.ajax)}}))}catch(e){}ne(this.ee),Z(this.ee),function(e,t,r,n){function i(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=x,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){E(t,e)}),(0,A.jT)(!1)),g.lR||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,A.jT)(!1))}function o(e){this.params={method:e[0]},ge(this,e[1]),this.metrics={}}function s(t,r){e.loader_config.xpid&&this.sameOrigin&&r.setRequestHeader("X-NewRelic-ID",e.loader_config.xpid);var i=n.generateTracePayload(this.parsedOrigin);if(i){var o=!1;i.newrelicHeader&&(r.setRequestHeader("newrelic",i.newrelicHeader),o=!0),i.traceContextParentHeader&&(r.setRequestHeader("traceparent",i.traceContextParentHeader),i.traceContextStateHeader&&r.setRequestHeader("tracestate",i.traceContextStateHeader),o=!0),o&&(this.dt=i)}}function c(e,r){var n=this.metrics,i=e[0],o=this;if(n&&i){var a=G(i);a&&(n.txSize=a)}this.startTime=(0,_.t)(),this.body=i,this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof r.onload)&&"function"==typeof o.end)&&o.end(r)}catch(e){try{t.emit("internal-error",[e])}catch(e){}}};for(var s=0;s<de;s++)r.addEventListener(ue[s],this.listener,(0,A.jT)(!1))}function u(e,t,r){this.cbTime+=e,t?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof r.onload||"function"!=typeof this.end||this.end(r)}function d(e,t){var r=""+V(e)+!!t;this.xhrGuids&&!this.xhrGuids[r]&&(this.xhrGuids[r]=!0,this.totalCbs+=1)}function l(e,t){var r=""+V(e)+!!t;this.xhrGuids&&this.xhrGuids[r]&&(delete this.xhrGuids[r],this.totalCbs-=1)}function f(){this.endTime=(0,_.t)()}function h(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-added",[e[1],e[2]],r)}function p(e,r){r instanceof fe&&"load"===e[0]&&t.emit("xhr-load-removed",[e[1],e[2]],r)}function m(e,t,r){t instanceof fe&&("onload"===r&&(this.onload=!0),("load"===(e[0]&&e[0].type)||this.onload)&&(this.xhrCbStart=(0,_.t)()))}function v(e,r){this.xhrCbStart&&t.emit("xhr-cb-time",[(0,_.t)()-this.xhrCbStart,this.onload,r],r)}function b(e){var t,r=e[1]||{};if("string"==typeof e[0]?0===(t=e[0]).length&&g.RI&&(t=""+g.gm.location.href):e[0]&&e[0].url?t=e[0].url:g.gm?.URL&&e[0]&&e[0]instanceof URL?t=e[0].href:"function"==typeof e[0].toString&&(t=e[0].toString()),"string"==typeof t&&0!==t.length){t&&(this.parsedOrigin=(0,ie.D)(t),this.sameOrigin=this.parsedOrigin.sameOrigin);var i=n.generateTracePayload(this.parsedOrigin);if(i&&(i.newrelicHeader||i.traceContextParentHeader))if(e[0]&&e[0].headers)s(e[0].headers,i)&&(this.dt=i);else{var o={};for(var a in r)o[a]=r[a];o.headers=new Headers(r.headers||{}),s(o.headers,i)&&(this.dt=i),e.length>1?e[1]=o:e.push(o)}}function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function y(e,t){this.params={},this.metrics={},this.startTime=(0,_.t)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof le?r=i.url:g.gm?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),ge(this,r);var o=(""+(i&&i instanceof le&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.body=n.body,this.txSize=G(n.body)||0}function R(e,t){if(this.endTime=(0,_.t)(),this.params||(this.params={}),(0,ce.iW)(this.params))return;let n;this.params.status=t?t.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);const i={txSize:this.txSize,rxSize:n,duration:(0,_.t)()-this.startTime};r("xhr",[this.params,i,this.startTime,this.endTime,"fetch"],this,a.K7.ajax)}function x(e){const t=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(let t=0;t<de;t++)e.removeEventListener(ue[t],this.listener,!1);t.aborted||(0,ce.iW)(t)||(n.duration=(0,_.t)()-this.startTime,this.loadCaptureCalled||4!==e.readyState?null==t.status&&(t.status=0):E(this,e),n.cbTime=this.cbTime,r("xhr",[t,n,this.startTime,this.endTime,"xhr"],this,a.K7.ajax))}}function E(e,r){e.params.status=r.status;var n=function(e,t){var r=e.responseType;return"json"===r&&null!==t?t:"arraybuffer"===r||"blob"===r||"json"===r?G(e.response):"text"===r||""===r||void 0===r?G(e.responseText):void 0}(r,e.lastSize);if(n&&(e.metrics.rxSize=n),e.sameOrigin){var i=r.getResponseHeader("X-NewRelic-App-Data");i&&((0,w.p)(O.rs,["Ajax/CrossApplicationTracing/Header/Seen"],void 0,a.K7.metrics,t),e.params.cat=i.split(", ").pop())}e.loadCaptureCalled=!0}t.on("new-xhr",i),t.on("open-xhr-start",o),t.on("open-xhr-end",s),t.on("send-xhr-start",c),t.on("xhr-cb-time",u),t.on("xhr-load-added",d),t.on("xhr-load-removed",l),t.on("xhr-resolved",f),t.on("addEventListener-end",h),t.on("removeEventListener-end",p),t.on("fn-end",v),t.on("fetch-before-start",b),t.on("fetch-start",y),t.on("fn-start",m),t.on("fetch-done",R)}(e,this.ee,this.handler,this.dt),this.importAggregator(e)}}function ge(e,t){var r=(0,ie.D)(t),n=e.params||e;n.hostname=r.hostname,n.port=r.port,n.protocol=r.protocol,n.host=r.hostname+":"+r.port,n.pathname=r.pathname,e.parsedOrigin=r,e.sameOrigin=r.sameOrigin}const pe={},me=["pushState","replaceState"];function ve(e){const t=function(e){return(e||B.ee).get("history")}(e);return!g.RI||pe[t.debugId]++||(pe[t.debugId]=1,(0,W.YM)(t).inPlace(window.history,me,"-")),t}var be=i(3738);const{He:ye,bD:Re,d3:xe,Kp:we,TZ:Ee,Lc:Ae,uP:Te,Rz:_e}=be;class Se extends b{static featureName=Ee;constructor(e,t=!0){super(e,Ee,t);if(!(0,m.V)(this.agentIdentifier))return void this.deregisterDrain();const r=this.ee;let n;ve(r),this.eventsEE=(0,F.u)(r),this.eventsEE.on(Te,(function(e,t){this.bstStart=(0,_.t)()})),this.eventsEE.on(Ae,(function(e,t){(0,w.p)("bst",[e[0],t,this.bstStart,(0,_.t)()],void 0,a.K7.sessionTrace,r)})),r.on(_e+xe,(function(e){this.time=(0,_.t)(),this.startPath=location.pathname+location.hash})),r.on(_e+we,(function(e){(0,w.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,a.K7.sessionTrace,r)}));try{n=new PerformanceObserver((e=>{const t=e.getEntries();(0,w.p)(ye,[t],void 0,a.K7.sessionTrace,r)})),n.observe({type:Re,buffered:!0})}catch(e){}this.importAggregator(e,{resourceObserver:n})}}var Oe=i(2614);class Ne extends b{static featureName=t.TZ;#i;#o;constructor(e,r=!0){let n;super(e,t.TZ,r),this.replayRunning=!1,this.#o=e;try{n=JSON.parse(localStorage.getItem("".concat(Oe.H3,"_").concat(Oe.uh)))}catch(e){}(0,p.SR)(e.agentIdentifier)&&this.ee.on(t.G4.RECORD,(()=>this.#a())),this.#s(n)?(this.#i=n?.sessionReplayMode,this.#c()):this.importAggregator(e),this.ee.on("err",(e=>{this.replayRunning&&(this.errorNoticed=!0,(0,w.p)(t.G4.ERROR_DURING_REPLAY,[e],void 0,this.featureName,this.ee))})),this.ee.on(t.G4.REPLAY_RUNNING,(e=>{this.replayRunning=e}))}#s(e){return e&&(e.sessionReplayMode===Oe.g.FULL||e.sessionReplayMode===Oe.g.ERROR)||(0,p.Aw)(this.agentIdentifier)}#u=!1;async#c(e){if(!this.#u){this.#u=!0;try{const{Recorder:t}=await Promise.all([i.e(891),i.e(222)]).then(i.bind(i,8589));this.recorder??=new t({mode:this.#i,agentIdentifier:this.agentIdentifier,trigger:e,ee:this.ee,agentRef:this.#o}),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording}catch(e){}this.importAggregator(this.#o,{recorder:this.recorder,errorNoticed:this.errorNoticed})}}#a(){this.featAggregate?this.featAggregate.mode!==Oe.g.FULL&&this.featAggregate.initializeRecording(Oe.g.FULL,!0):(this.#i=Oe.g.FULL,this.#c(t.Qb.API),this.recorder&&this.recorder.parent.mode!==Oe.g.FULL&&(this.recorder.parent.mode=Oe.g.FULL,this.recorder.stopRecording(),this.recorder.startRecording(),this.abortHandler=this.recorder.stopRecording))}}var Ie=i(3333);class Pe extends b{static featureName=Ie.TZ;constructor(e,t=!0){super(e,Ie.TZ,t);const r=[e.init.page_action.enabled,e.init.performance.capture_marks,e.init.performance.capture_measures,e.init.user_actions.enabled,e.init.performance.resources.enabled];if(g.RI&&(e.init.user_actions.enabled&&(Ie.Zp.forEach((e=>(0,A.sp)(e,(e=>(0,w.p)("ua",[e],void 0,this.featureName,this.ee)),!0))),Ie.qN.forEach((e=>{const t=(0,v.s)((e=>{(0,w.p)("ua",[e],void 0,this.featureName,this.ee)}),500,{leading:!0});(0,A.sp)(e,t)}))),e.init.performance.resources.enabled&&g.gm.PerformanceObserver?.supportedEntryTypes.includes("resource"))){new PerformanceObserver((e=>{e.getEntries().forEach((e=>{(0,w.p)("browserPerformance.resource",[e],void 0,this.featureName,this.ee)}))})).observe({type:"resource",buffered:!0})}r.some((e=>e))?this.importAggregator(e):this.deregisterDrain()}}var je=i(993),Ce=i(3785);class ke extends b{static featureName=je.TZ;constructor(e,t=!0){super(e,je.TZ,t);const r=this.ee;this.ee.on("wrap-logger-end",(function([e]){const{level:t,customAttributes:n}=this;(0,Ce.R)(r,e,n,t)})),this.importAggregator(e)}}new class extends o{constructor(t){super(),g.gm?(this.features={},(0,x.bQ)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(R),this.runSoftNavOverSpa=[...this.desiredFeatures].some((e=>e.featureName===a.K7.softNav)),(0,d.j)(this,t,t.loaderType||"agent"),this.run()):(0,e.R)(21)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=u(this.agentIdentifier),r=[...this.desiredFeatures];r.sort(((e,t)=>a.P3[e.featureName]-a.P3[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==a.K7.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===a.K7.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===a.K7.softNav)return;const n=function(e){switch(e){case a.K7.ajax:return[a.K7.jserrors];case a.K7.sessionTrace:return[a.K7.ajax,a.K7.pageViewEvent];case a.K7.sessionReplay:return[a.K7.sessionTrace];case a.K7.pageViewTiming:return[a.K7.pageViewEvent];default:return[]}}(r.featureName).filter((e=>!(e in this.features)));n.length>0&&(0,e.R)(36,{targetFeature:r.featureName,missingDependencies:n}),this.features[r.featureName]=new r(this)}))}catch(t){(0,e.R)(22,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,x.Zm)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[R,S,Se,Ne,he,N,D,Pe,ke],loaderType:"pro"})})()})();</script> <script data-ot-ignore="" defer src="/js/jquery.min.js"></script> <script>/* Minimal jQuery shim. Implements bare-minimum jQuery functionality called by existing inline javascript so that we can defer loading the full jQuery library (or avoid loading entirely). To use, add `jquery: [defer|async|none]` to the page header, watch for page-load errors, then optionally implement any additional missing functionality here. */ window.$ = function() { return { ready: function(callback) { document.addEventListener('DOMContentLoaded', callback); }, load: function(callback) { window.addEventListener('load', callback); } }; } </script> <!-- GA4 measurement ID for code.org --> <script> window.userAnalyticsDimensions = { 'dimension1': 'en', 'dimension4': '', }; </script> <!-- Google tag (gtag.js) --> <script async="" src="https://www.googletagmanager.com/gtag/js?id=G-L9HT5MZ3HD"></script> <script data-googlemeasurement='{"id":"G-L9HT5MZ3HD"}' src="/assets/js/code.org/views/theme_google_analyticswp311bf5973b6a2f93b229.min.js"></script> <script data-ot-ignore="" src="/assets/js/en_us/common_localewp013df5000993f801a803.js"></script> <script data-ot-ignore="" src="/assets/js/webpack-runtimewpbbc44ed25e1edf2432bc.min.js"></script> <script data-ot-ignore="" src="/assets/js/vendorswpb08d32e306586c9dae0a.min.js"></script> <script data-ot-ignore="" defer src="/assets/js/code.org/views/theme_common_head_afterwpfd8298ff16508409bfb3.min.js"></script> </head> <body> <!-- Google Tag Manager (noscript) --> <noscript> <iframe height="0" src="https://www.googletagmanager.com/ns.html?id=GTM-TZZBRK5" style="display:none;visibility:hidden" width="0"></iframe> </noscript> <!-- End Google Tag Manager (noscript) --> <style> #warning-banner{position:absolute;z-index:1000;overflow:hidden;width:100%;box-sizing:border-box;padding:1rem;background-color:#6C468A;display:flex;align-items:center;gap:0.75rem}#warning-banner #dismiss-icon{margin-left:auto}#warning-banner #warning-icon{padding-right:10px}#warning-banner a,#warning-banner a:visited{font-family:"Figtree", "Noto Sans", "Noto Sans Math", "Noto Sans Arabic", "Noto Sans Armenian", "Noto Sans Bengali", "Noto Sans SC", "Noto Sans TC", "Noto Sans Devanagari", "Noto Sans Georgian", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans Kannada", "Noto Sans Khmer", "Noto Sans KR", "Noto Sans Myanmar", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Thai", "Noto Sans Thaana", sans-serif;font-weight:700;font-style:normal;color:white;text-decoration:underline}#warning-banner a:hover{background:transparent}#warning-banner p{color:#FFFFFF;margin-bottom:0;font-size:0.875rem}#warning-banner #message{float:left;width:90%}#warning-banner #hide-warning{position:relative}#warning-banner #hide-warning .close{float:right;font-size:20px}.warning-sign{font-size:16px;color:#efcd1c} </style> <div class="wrapper"> <div id="warning-banner" style="display: none;"> <i class="fa fa-warning warning-sign"></i> <p>Your browser is not supported. Please upgrade your browser to <a href="https://support.code.org/hc/en-us/articles/202591743">one of our supported browsers</a>. You can try viewing the page, but expect functionality to be broken.</p> </div> <div class="containerClass"> <style> a{text-decoration:none}a:hover{text-decoration:underline}a.underscorehover:hover{text-decoration:underline;color:var(--neutral_white)}.underscorehover:hover{text-decoration:underline;color:var(--neutral_white)}a.nounderscorehover:hover{text-decoration:none}@media screen and (max-width: 512px){.same-height-column{width:100%}}@media screen and (min-width: 513px){.same-height-column{float:none !important;width:50%}}body.modal-open .supreme-container{-webkit-filter:blur(2px);-moz-filter:blur(2px);-o-filter:blur(2px);-ms-filter:blur(2px);filter:blur(2px)}@media screen and (min-width: 971px){.homepage-caption-bottom{top:190px}}#homepage #hero{position:relative;width:100%;overflow:hidden}#homepage #hero .widehero{display:none;z-index:-5;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;width:100%;height:100%}#homepage #hero .widehero_do_not_hide{z-index:-5;position:absolute;left:0;top:0;background-repeat:no-repeat;background-size:cover;width:100%;height:100%}#hero #fullwidth0.widehero{animation:fadein 4s;display:block}@keyframes fadein{from{opacity:0}to{opacity:1}}#homepage #hero #fullwidth{width:100%}#homepage #caption_container{color:var(--neutral_white);font-size:20px}#homepage #caption_container .captionarea{position:absolute;left:0;text-align:center;width:100%;color:#fff;line-height:22px}#homepage #caption_container .caption{display:none;position:absolute;opacity:0;padding:8px;text-shadow:0 0 5px black}#homepage #caption_container .smallcaption{font-size:14px}#homepage #caption_container #blankspaceleftdesktop{height:380px}#homepage #caption_container #blankspaceleftmobile{height:100px}#homepage #actions{position:relative;padding:4rem 2rem 5rem}@media screen and (max-width: 970px){#homepage #hero{overflow:visible}}#homepage #actions{text-align:center}#homepage .hero-message{font-family:var(--main-font) !important;font-weight:var(--semi-bold-font-weight) !important;font-size:44px;line-height:44px;color:var(--brand_primary_default);margin-top:0px;margin-bottom:20px}#homepage .hero-message p{margin-bottom:0px}#homepage .hero-sub-message{color:#4d575f;font-size:24px;line-height:32px}#homepage .hero-message-codebytes a{font-family:var(--main-font) !important;font-weight:var(--semi-bold-font-weight) !important}.codebytes-img{width:750px;max-width:90%;margin:auto;display:block}#homepage .hero-message-codebytes{color:#4d575f;clear:both}@media screen and (min-width: 601px){#homepage .hero-message-codebytes{margin:15px auto 15px auto;font-size:24px;line-height:32px;width:750px;max-width:90%}}@media screen and (min-width: 0px) and (max-width: 600px){#homepage .hero-message-codebytes{margin:0 auto 30px auto;font-size:16px;line-height:24px}}#homepage .hero-messages-ai{text-align:left}#homepage .hero-description{text-align:left;line-height:1.3}#homepage .join_us_ai{text-align:left;color:#143441}@media screen and (min-width: 601px){#homepage .hero-messages-ai .hero-super-message{font-size:24px;color:var(--neutral_white);margin-bottom:16px;margin-top:30px}#homepage .hero-messages-ai .hero-message{font-size:44px;color:#3CFFF8;margin-bottom:16px}#homepage .hero-messages-ai .hero-description{font-size:18px;color:var(--neutral_white);max-width:650px;margin-bottom:16px}#homepage .join_us_ai{margin-bottom:80px}#homepage .hero-bot img{width:350px;margin-top:-45px}}@media screen and (min-width: 0px) and (max-width: 600px){#homepage .hero-messages-ai .hero-super-message{font-size:16px;color:var(--neutral_white);text-align:center;margin-bottom:5px}#homepage .hero-messages-ai .hero-message{font-size:34px;color:#3CFFF8;text-align:center}#homepage .hero-messages-ai .hero-description{font-size:18px;color:var(--neutral_white)}#homepage .join_us_ai{text-align:center;margin-top:25px;margin-bottom:40px}#homepage .hero-bot img{width:200px}}@media screen and (min-width: 0px) and (max-width: 600px){#homepage .hero-sub-message{margin-bottom:80px}}@media screen and (min-width: 601px){#homepage .hero-sub-message{margin-bottom:130px}}#homepage .action .video-play-icon{width:24px;height:24px;margin-top:-4px;margin-right:4px}.curriculum-banner{width:100%;background-color:#7665a0;text-align:center;color:var(--neutral_white);padding:14px;font-size:15px}.curriculum-banner a{color:var(--neutral_white) !important;font-family:var(--main-font) !important;text-decoration:underline !important}.curriculum-link{color:var(--neutral_white) !important;font-family:var(--main-font) !important;text-decoration:underline !important}#homepage #actions a{text-decoration:none}#homepage #actions #title{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);font-size:26px;color:var(--neutral_white);line-height:30px}#homepage #actions #subtitle{font-family:var(--main-font);font-size:16px;color:var(--neutral_white);margin:15px 0 5px 0}#homepage #actions #playimage{cursor:pointer}#homepage #actions #playtext{font-size:18px;cursor:pointer}#homepage #actions #herolearnlink{color:var(--neutral_white);font-size:20px}#homepage #actions #herolearnbutton{font-weight:500;font-size:20px;height:50px}#homepage #actions .buttongroup{display:inline-block;margin-bottom:20px}#homepage #actions .herohocbutton{font-size:18px;min-width:230px;height:40px;padding:0 30px;margin:10px 5px 0 0;background-color:var(--orange);border-color:var(--orange)}#homepage #actions .herolink-white{font-family:var(--main-font);font-weight:500;font-size:18px;color:var(--neutral_white);display:inline-block;margin-top:24px}#homepage #actions .herolink-white i{vertical-align:middle;margin-right:5px;font-size:26px}#homepage #actions .herolink-white span{vertical-align:middle}#homepage #actions .herohocbutton-solid-white{color:black;background-color:var(--neutral_white);border-color:var(--neutral_white)}#homepage #actions .herohocbutton-solid-grey{color:black;background-color:lightgrey;border-color:lightgrey}#homepage #actions .herohocbutton-solid-black{color:var(--neutral_white);background-color:black;border-color:black}#homepage #actions .herohocbutton-hollow-black{color:black;background:none;border-color:black}#homepage #actions .herohocbutton-hollow-white{background-color:initial;border-color:var(--neutral_white)}#homepage #actions .herohocbutton-solid-yellow{background-color:var(--orange);border-color:var(--orange)}#homepage #actions #hero-video{background:none;border:none}#homepage #actions #volunteeraction{font-family:var(--main-font);font-size:16px;color:var(--neutral_white);margin-top:30px}#homepage #actions #volunteeraction a{font-family:var(--main-font);font-size:16px;color:var(--neutral_white);text-decoration:none}#homepage #actions #petitionaction{display:none;font-weight:500;font-size:14px;height:50px;cursor:pointer}#homepage .quarterslot{float:left;height:250px;padding:0px 5px 10px 5px}#homepage .quarterslot .slotbox{position:relative;overflow:hidden;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;background-position:50%;height:220px;border-radius:5px}#homepage .quarterslot .slotbox .headerbox{position:absolute;bottom:0px;left:0px;color:var(--neutral_white);width:100%;padding:10px;font-size:18px;text-align:left;font-family:var(--main-font);text-align:center}#homepage .quarterslot .slotbox .headerbox .header{font-family:var(--main-font);font-weight:var(--bold-font-weight)}#homepage .quarterslot .slotbox .headerbox .sentence{font-size:14px;opacity:0.9}#homepage .quarterslot-links{float:left}#homepage .quarterslot-links-small{height:390px;padding:0px 5px 10px 5px}#homepage .quarterslot-links-large{padding:30px}#homepage .quarterslot-links .slotbox{position:relative;overflow:hidden;background-repeat:no-repeat;background-size:cover;width:100%;height:100%;background-position:0% 50%;height:220px;border-top-left-radius:5px;border-top-right-radius:5px}#homepage .quarterslot-links .headerbox{position:absolute;bottom:0px;left:0px;color:var(--neutral_white);width:100%;padding:10px;font-size:18px;text-align:left;font-family:var(--main-font);text-align:center}#homepage .quarterslot-links .headerbox .header{font-family:var(--main-font);font-weight:var(--bold-font-weight)}#homepage .quarterslot-links .headerbox .sentence{font-size:14px;opacity:0.9}#homepage .quarterslot-links .thelinks{padding:5px;padding-top:20px;border-bottom-right-radius:5px;border-bottom-left-radius:5px}#homepage .quarterslot-links .thelinks .linkentry{margin-bottom:20px}#homepage .quarterslot-links .thelinks .link{font-size:16px;font-family:var(--main-font);color:var(--neutral_white);text-decoration:none}#homepage .quarterslot-links .thelinks .link:hover{text-decoration:underline}#homepage #gallerycolumn{width:100%;margin-bottom:20px;margin-top:40px;clear:both;overflow:hidden;border:5px solid var(--neutral_white)}#homepage #gallerycolumn .headingbox{left:0px;color:var(--neutral_white);width:100%;padding:10px;font-size:20px;text-align:left;font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);text-align:center;border-top-left-radius:5px;border-top-right-radius:5px}#homepage #gallerycolumn a{text-decoration:none}#homepage #gallerycolumn .thelinks{padding:10px;height:0}@media screen and (min-width: 971px){#homepage #gallerycolumn .thelinks{padding-bottom:8%}}@media screen and (min-width: 0px) and (max-width: 970px){#homepage #gallerycolumn .thelinks{padding-bottom:32%}}#homepage #gallerycolumn .thelinks img{height:auto}#homepage #threedivs iframe{-ms-zoom:1.3;-moz-transform:scale(1.3);-moz-transform-origin:0 0;-o-transform:scale(1.3);-o-transform-origin:0 0;-webkit-transform:scale(1.3);-webkit-transform-origin:0 0}#homepage #threedivs .fb-like>span{height:27px !important}.grey_input{background-color:#e2e4e3;color:#525252;border:1px solid #929394}.dropdown{background-color:#e2e4e3;color:#525252;border:1px solid #929394}.stats-box{padding:0 1em;line-height:1;text-decoration:none}.every-student{color:var(--neutral_dark);font-size:18px;text-align:center;margin-top:20px;margin-left:20px;margin-right:20px}.make-difference{font-weight:900;color:#00adbc;font-size:20px;text-align:center;margin-top:20px;text-transform:uppercase}.statistics{margin:2em auto;display:flex;flex-wrap:wrap;justify-content:space-evenly;row-gap:3em}.statistics a{text-decoration:none}.statistics a .stats-number{text-align:center;color:var(--neutral_dark);font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);text-decoration:none}.statistics a .stats-phrase{font-size:14px;line-height:1.2;text-align:center;padding-top:12px;color:var(--neutral_dark);font-family:var(--main-font);font-weight:var(--regular-font-weight)}.statistics a .stats-number:hover{color:var(--brand_primary_default)}.below_hero_announcement{text-align:center;padding:10px}#homepage .vertical-stack{max-width:400px;margin:0 auto}@media screen and (max-width: 512px){#homepage .vertical-stack{padding:0 1em}}#homepage .vertical-stack .image{max-width:100px;margin-bottom:20px}#homepage .vertical-stack .thumbnail-wrapper{width:100%}#homepage .vertical-stack .video_thumbnail{width:100%;margin:0 auto}#homepage .vertical-stack .text{color:black;font-size:1.25em;line-height:1.4em;padding-bottom:0px;font-family:var(--main-font);padding-top:20px;padding-bottom:20px}#homepage .vertical-stack .text strong{font-family:var(--main-font);font-weight:var(--semi-bold-font-weight);font-weight:normal}#homepage .csa{max-width:960px;margin:2em auto 5em}#homepage .csa .action{text-align:left}#homepage .csa img{position:absolute;top:-48px;z-index:-1}#homepage .csa .text{color:var(--neutral_white);text-align:left;line-height:1.3;max-width:470px}#homepage .csa .text:nth-of-type(1){font-size:24px;margin-bottom:-4px}#homepage .csa .text:nth-of-type(2){font-size:32px;font-family:var(--main-font);font-weight:var(--bold-font-weight);margin:0 0 .75em}#homepage .csa .text:nth-of-type(3){font-size:18px;margin:0 0 1.75em}@media screen and (max-width: 969px){#homepage .csa .text:nth-of-type(3){width:52%}#homepage .csa img{width:50%;top:1em;right:-3em}}@media screen and (max-width: 745px){#homepage .csa .text,#homepage .csa .action{text-align:center;margin-left:auto !important;margin-right:auto !important}#homepage .csa .text:nth-of-type(2){font-size:26px}#homepage .csa .text:nth-of-type(3){width:100%}#homepage .csa img{display:none}} </style> <style> #pageheader-wrapper{z-index:99}#hamburger{display:inline-block;position:relative}#hamburger.hide-always{display:none}#hamburger.show-mobile{display:none}#hamburger.hide-mobile{display:block}#hamburger.show-always{display:block}#hamburger .hide-always{display:none}#hamburger .show-mobile{display:none !important}#hamburger .hide-mobile{display:block}#hamburger .show-always{display:block}#hamburger.show-small-desktop,#hamburger .show-small-desktop{display:none}#hamburger #hamburger-icon{cursor:pointer;height:20px;vertical-align:middle;text-decoration:none}#hamburger #hamburger-contents{font-size:1rem;list-style:none;margin:0;width:290px;position:absolute;top:64px;inset-inline-end:0;background-color:#0093A4;max-height:100vh;overflow-y:auto;border-radius:4px;box-shadow:0px 2px 6px rgba(0,0,0,0.2);z-index:1022}#hamburger #hamburger-contents .item{color:#fff;line-height:1.5;text-indent:0;list-style-type:none;margin-block:1rem;margin-inline:1rem;display:flex;justify-content:space-between;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#hamburger #hamburger-contents .item:last-of-type{border-bottom:none}#hamburger #hamburger-contents .item::before{content:none}#hamburger #hamburger-contents .item a{font-family:"Figtree", "Noto Sans", "Noto Sans Math", "Noto Sans Arabic", "Noto Sans Armenian", "Noto Sans Bengali", "Noto Sans SC", "Noto Sans TC", "Noto Sans Devanagari", "Noto Sans Georgian", "Noto Sans Hebrew", "Noto Sans JP", "Noto Sans Kannada", "Noto Sans Khmer", "Noto Sans KR", "Noto Sans Myanmar", "Noto Sans Sinhala", "Noto Sans Tamil", "Noto Sans Telugu", "Noto Sans Thai", "Noto Sans Thaana", sans-serif;font-weight:400;font-style:normal;color:#fff;text-decoration:none}#hamburger #hamburger-contents .item a html[dir=rtl],.rtl #hamburger #hamburger-contents .item a{float:right}#hamburger #hamburger-contents.hide-responsive-menu{display:none}#hamburger #hamburger-contents .hide-about{display:none}#hamburger #hamburger-contents .hide-educate{display:none}#hamburger #hamburger-contents .hamburger-expandable-item{cursor:pointer}#hamburger #hamburger-contents .hamburger-expandable-item .text{float:left;max-width:210px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#hamburger #hamburger-contents .hamburger-expandable-item .text html[dir=rtl],.rtl #hamburger #hamburger-contents .hamburger-expandable-item .text{float:right}#hamburger #hamburger-contents .hamburger-expandable-item .arrow-down,#hamburger #hamburger-contents .hamburger-expandable-item .arrow-up{font-size:1.5rem;float:right;margin-block-start:-4px}#hamburger #hamburger-contents .hamburger-expandable-item .arrow-down html[dir=rtl],.rtl #hamburger #hamburger-contents .hamburger-expandable-item .arrow-down,#hamburger #hamburger-contents .hamburger-expandable-item .arrow-up html[dir=rtl],.rtl #hamburger #hamburger-contents .hamburger-expandable-item .arrow-up{float:left}#hamburger #hamburger-contents .hamburger-expandable-item .arrow-up{display:none}#hamburger #hamburger-contents .hamburger-expandable-item i{width:unset}#hamburger #hamburger-contents .hamburger-expandable-items{margin-left:20px;display:none}#hamburger #hamburger-contents .hamburger-expandable-items .item{max-width:220px;margin-top:0px}#hamburger #hamburger-contents .divider{height:1px;background:#007785;margin:0.75rem 0}@media (min-width: 1269px){#hamburger #hamburger-contents .divider.hide-large-desktop{display:none !important}}@media (max-width: 1268px){#hamburger.show-small-desktop,#hamburger .show-small-desktop{display:block !important}}@media (max-width: 1023px){#hamburger.show-mobile,#hamburger .show-mobile{display:block !important}#hamburger .show-mobile.item{display:flex !important}#hamburger.hide-mobile,#hamburger .hide-mobile{display:none}#hamburger #hamburger{padding-left:0}}#hamburger:not(.user-is-tabbing){outline:none}#hamburger #hamburger-icon{padding:10px 28px 16px 0;float:right;margin-top:7px;margin-inline-start:3px;display:inline-block}#hamburger #hamburger-icon span,#hamburger #hamburger-icon span::before,#hamburger #hamburger-icon span::after{cursor:pointer;height:3px;width:25px;border-radius:2px;background:#fff;position:absolute;display:block;content:'';margin-top:2px;margin-bottom:2px}#hamburger #hamburger-icon span{transition:all 500ms ease-in-out}html[dir=rtl] #hamburger #hamburger-icon span{margin-right:-25px}html[dir=rtl] #hamburger #hamburger-icon span::before{margin-right:0}html[dir=rtl] #hamburger #hamburger-icon span::after{margin-right:0}#hamburger #hamburger-icon span::before{transition:all 500ms ease-in-out;top:-10px}#hamburger #hamburger-icon span::after{transition:all 500ms ease-in-out;bottom:-10px}#hamburger #hamburger-icon.active span{background-color:transparent}#hamburger #hamburger-icon.active span::before{top:-2px;transform:rotate(45deg)}#hamburger #hamburger-icon.active span::after{top:-2px;transform:rotate(-45deg)}#hamburger-sign-up-buttons .button-wrapper{box-sizing:border-box;background-color:#0093A4;text-align:center;padding:1rem 1rem 0.5rem;display:flex;flex-direction:column;gap:0.5rem}#hamburger-sign-up-buttons .button-wrapper .header_button{margin:unset;width:100%;text-align:center}@media (min-width: 426px){#hamburger-sign-up-buttons{display:none}} </style> <nav class="main"> <div class="left"> <a href="//code.org"> <img alt="Code.org Home" class="logo" src="/images/logo.svg"> </a> <ul id="headerlinks"> <li class="hide-mobile"> <a class="headerlink" href="//code.org/students" id="header-learn">Learn</a> </li> <li class="hide-mobile"> <a class="headerlink" href="//code.org/teach" id="header-teach">Teach</a> </li> <li class="hide-mobile"> <a class="headerlink" href="//code.org/administrators" id="header-districts">Districts</a> </li> <li class="hide-small-desktop"> <a class="headerlink" href="//code.org/promote" id="header-stats">Stats</a> </li> <li class="hide-small-desktop"> <a class="headerlink" href="//code.org/help" id="header-help">Help Us</a> </li> <li class="hide-small-desktop"> <a class="headerlink" href="//studio.code.org/incubator" id="header-incubator">Incubator</a> </li> <li class="hide-small-desktop"> <a class="headerlink" href="//code.org/about" id="header-about">About</a> </li> </ul> </div> <div class="right"> <script data-amplitude-api-key="f6db63e17bf19aabe85f563a7fdab4ad"></script> <script data-statsig-api-client-key="client-vmRbxXpfzwSHFlsYHgqFMfMqa6zFnr7PHfZYnhNtItg"></script> <script data-managed-test-server="false"></script> <script data-createmenuoptions='["spritelab","artist","applab","gamelab","dance","music","view_all"]' data-issignedout="true" data-pageactionname="null" data-pagecontrollername="null" data-usertype="null" src="/assets/js/userHeaderEventLoggerwpf0179ceaeaf75b3d1454.min.js"></script> <div class="header_button create_menu show-small-desktop" id="header_create_menu" role="button" tabindex="0"> <span class="create_button"> New project </span>   <i class="create_menu_arrow_down fa fa-caret-down"></i> <i class="create_menu_arrow_up fa fa-caret-up" style="display: none"></i> <div class="create_options" dir="ltr" style="display: none"> <a class="project_link_box" href="//studio.code.org/projects/spritelab/new" id="create_menu_option_spritelab"> <img src="/shared/images/fill-70x70/courses/logo_spritelab.png"> <div class="project_link" id="create_dropdown_spritelab"> <div class="text">Sprite Lab</div> </div> </a> <a class="project_link_box" href="//studio.code.org/projects/artist/new" id="create_menu_option_artist"> <img src="/shared/images/fill-70x70/courses/logo_artist.png"> <div class="project_link" id="create_dropdown_artist"> <div class="text">Artist </div> </div> </a> <a class="project_link_box" href="//studio.code.org/projects/applab/new" id="create_menu_option_applab"> <img src="/shared/images/fill-70x70/courses/logo_applab_square.png"> <div class="project_link" id="create_dropdown_applab"> <div class="text">App Lab </div> </div> </a> <a class="project_link_box" href="//studio.code.org/projects/gamelab/new" id="create_menu_option_gamelab"> <img src="/shared/images/fill-70x70/courses/logo_gamelab_square.png"> <div class="project_link" id="create_dropdown_gamelab"> <div class="text">Game Lab</div> </div> </a> <a class="project_link_box" href="//studio.code.org/projects/dance/new" id="create_menu_option_dance"> <img src="/shared/images/fill-70x70/courses/logo_dance.png"> <div class="project_link" id="create_dropdown_dance"> <div class="text">Dance Party</div> </div> </a> <a class="project_link_box" href="//code.org/music" id="create_menu_option_music"> <img src="/shared/images/fill-70x70/courses/logo_music.png"> <div class="project_link" id="create_dropdown_music"> <div class="text">Music Lab</div> </div> </a> <a class="project_link_box" href="//studio.code.org/projects" id="create_menu_option_view_all"> <div class="project_link" id="view_all_projects"> View all projects... </div> </a> </div> </div> <a class="linktag button-signin desktop" href="//studio.code.org/users/sign_in" id="signin_button"> <div class="header_button header_user" id="header_user_signin"> <span>Sign in</span> </div> </a> <a class="linktag button-create-account desktop" href="//studio.code.org/users/new_sign_up/account_type" id="create_account_button"> <div class="header_button header_user" id="header_user_create_account"> <span>Create account</span> <div class="signin_callout_wrapper"></div> </div> </a> <script> window.cookieEnvSuffix = ''; // Use function closure to avoid cluttering global namespace. (function() { // Ideally would use environment_specific_cookie_name, but that's not currently // available to us in pegasus var cookieKey = '_shortName' + window.cookieEnvSuffix; // Share cookie with top-level domain. var topLevelDomain = document.location.hostname.split('.').slice(-2).join('.'); // Provide current_user.short_name to cached pages via session cookie. // There is apps code that also depends on this query-selector, so if changes are made // here we should be sure to also update other locations. var displayNameSpan = document.querySelector('#header_display_name'); function retrieveUserShortName(element) { if (element) { var cookieMeta = "path=/;domain=" + topLevelDomain; var cookieMatch = document.cookie.match('(^|;) ?' + cookieKey + '=([^;]*)(;|$)'); var storedName = cookieMatch && cookieMatch[2]; var dataName = element.dataset.shortname; var id = element.dataset.id; if (storedName && !id) { // Use textContent to prevent HTML injection vulnerability element.textContent = element.textContent.replace(dataName, decodeURI(storedName)); } } } retrieveUserShortName(displayNameSpan); function hideUserOptions() { $('.user_options').slideUp(); $('.user_menu_arrow_down').show(); $('.user_menu_arrow_up').hide(); $(document).off('click', hideUserOptions); } $(document).ready(function() { $('.user_menu').on('keypress click', function (e) { if ((e.type === 'keypress' && e.which === 13) || e.type === 'click') { if ($('.user_options').is(':hidden')) { e.stopPropagation(); $('.user_options').slideDown(); $('.user_menu_arrow_down').hide(); $('.user_menu_arrow_up').show(); $(document).on('keypress click', hideUserOptions); hideCreateOptions() $("#hamburger-icon").removeClass('active'); $("#help-icon").removeClass('active'); $('#hamburger #hamburger-contents').slideUp(); $('#help-button #help-contents').slideUp(); } } }); $('.user_options').click(function (e) { e.stopPropagation(); // Clicks inside the popup shouldn't close it }); $('.user_options a:last').click(function (e) { // this partial can be on non-dashboard pages. if (typeof dashboard !== 'undefined') { dashboard.clientState.reset(); } else { // Keep in sync with clientState#reset. try { sessionStorage.clear(); } catch (e) {} } }); }); function hideCreateOptions() { $('.create_options').slideUp(); $('.create_menu_arrow_down').show(); $('.create_menu_arrow_up').hide(); $(document).off('click', hideCreateOptions); } $(document).ready(function() { $('.create_menu').on('keypress click', function (e) { if ((e.type === 'keypress' && e.which === 13) || e.type === 'click') { if ($('.create_options').is(':hidden')) { e.stopPropagation(); $('.create_options').slideDown(); $('.create_menu_arrow_down').hide(); $('.create_menu_arrow_up').show(); $(document).on('keypress click', hideCreateOptions); hideUserOptions() $("#hamburger-icon").removeClass('active'); $("#help-icon").removeClass('active'); $('#hamburger #hamburger-contents').slideUp(); $('#help-button #help-contents').slideUp(); } } }); $('.create_options').click(function (e) { e.stopPropagation(); // Clicks inside the popup shouldn't close it }); }); if (typeof dashboard !== 'undefined') { dashboard.pairing.init('//studio.code.org/pairing', hideUserOptions, false); } })(); </script> <div aria-label="Help Menu" class="help_button show-small-desktop" id="help-button" tabindex="0"> <div class="help_contents" dir="ltr" id="help-contents" style="display: none"> <a class="linktag" href="https://support.code.org" id="support" rel="noopener noreferrer nofollow" target="_blank">Help and support </a> <a class="linktag" href="https://support.code.org/hc/en-us/requests/new" id="report-bug" rel="noopener noreferrer nofollow" target="_blank">Report a problem</a> </div> <i class="help_icon clicktag fa fa-question-circle hide-mobile" id="help-icon"> <span style="pointer-events: none"></span> </i> </div> <div aria-label="Menu" class="show-small-desktop" id="hamburger" tabindex="0"> <div class="hide-responsive-menu" id="hamburger-contents"> <div id="hamburger-sign-up-buttons"> <div class="button-wrapper"> <a class="linktag button-signin" href="//studio.code.org/users/sign_in" id="signin_button"> <div class="header_button header_user" id="header_user_signin"> <span>Sign in</span> <div class="signin_callout_wrapper"></div> </div> </a> <a class="linktag button-create-account" href="//studio.code.org/users/new_sign_up/account_type" id="create_account_button"> <div class="header_button header_user" id="header_user_create_account"> <span>Create account</span> </div> </a> </div> <div class="divider"></div> </div> <div class="show-mobile"> <div class="item"> <a class="hamburgerlink" href="//code.org/students" id="learn" target="_self">Learn</a> </div> </div> <div class="hamburger-expandable-item item show-mobile" id="educate_entries" tabindex="0"> <div class="text">Teach</div> <i class="arrow-down fa fa-caret-down"></i> <i class="arrow-up fa fa-caret-up"></i> </div> <div class="hamburger-expandable-items" id="educate_entries-items"> <div class="item"> <a class="hamburgerlink" href="//code.org/teach" id="educate-overview">Educator Overview</a> </div> <div class="item"> <a class="hamburgerlink" href="//studio.code.org/catalog" id="educate_courses">Course Catalog</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/educate/curriculum/elementary-school">Elementary School</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/educate/curriculum/middle-school">Middle School</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/educate/curriculum/high-school">High School</a> </div> <div class="item"> <a class="hamburgerlink" href="https://hourofcode.com">Hour of Code</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/educate/curriculum/3rd-party">Beyond Code.org</a> </div> <div class="item"> <a class="hamburgerlink" href="https://forum.code.org/">Online Community</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/educate/it">Technical Requirements</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/educate/resources/videos">Tools and Videos</a> </div> </div> <div class="show-mobile"> <div class="item"> <a class="hamburgerlink" href="//code.org/administrators" id="districts" target="_self">Districts</a> </div> </div> <div class="show-small-desktop"> <div class="item"> <a class="hamburgerlink" href="//code.org/promote" id="stats" target="_self">Stats</a> </div> </div> <div class="show-small-desktop"> <div class="item"> <a class="hamburgerlink" href="//code.org/help" id="help-us" target="_self">Help Us</a> </div> </div> <div class="show-small-desktop"> <div class="item"> <a class="hamburgerlink" href="//studio.code.org/incubator" id="incubator" target="_self">Incubator</a> </div> </div> <div class="hamburger-expandable-item item show-small-desktop" id="about_entries" tabindex="0"> <div class="text">About</div> <i class="arrow-down fa fa-caret-down"></i> <i class="arrow-up fa fa-caret-up"></i> </div> <div class="hamburger-expandable-items" id="about_entries-items"> <div class="item"> <a class="hamburgerlink" href="//code.org/about" id="about-us">About Us</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/about/leadership">Leadership</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/about/donors">Donors</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/about/partners">Partners</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/about/team">Full Team</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/about/news">Newsroom</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/about/jobs">Careers</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/contact">Contact Us</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/faq">FAQs</a> </div> </div> <div class="hamburger-expandable-item item" id="legal_entries" tabindex="0"> <div class="text">Privacy &amp; Legal</div> <i class="arrow-down fa fa-caret-down"></i> <i class="arrow-up fa fa-caret-up"></i> </div> <div class="hamburger-expandable-items" id="legal_entries-items"> <div class="item"> <a class="hamburgerlink" href="//code.org/privacy">Privacy Policy</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/cookies">Cookie Notice</a> </div> <div class="item"> <a class="hamburgerlink" href="//code.org/tos">Terms of Service</a> </div> </div> <div class="divider show-small-desktop" id="before-help"></div> <div class="show-small-desktop"> <div class="item"> <a class="hamburgerlink" href="https://support.code.org" id="support" rel="noopener noreferrer nofollow" target="_blank">Help and support </a> </div> </div> <div class="show-small-desktop"> <div class="item"> <a class="hamburgerlink" href="https://support.code.org/hc/en-us/requests/new" id="report-bug" rel="noopener noreferrer nofollow" target="_blank">Report a problem</a> </div> </div> </div> <div class="clicktag show-small-desktop" id="hamburger-icon"> <span style="pointer-events: none"></span> </div> </div> </div> </nav> <div class="supreme-container" id="homepage"> <style> .exploring-gen-ai-hero-banner{padding:4rem 2rem;position:relative;overflow:hidden}.exploring-gen-ai-hero-banner.overlay{position:relative;width:100%;height:100%}.exploring-gen-ai-hero-banner.overlay::before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg, #0F1E2E 0%, #1C3651 100%);z-index:1}.exploring-gen-ai-hero-banner.overlay::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url("/images/banners/banner-bg-horizontal-line-gaps.png");background-repeat:repeat;background-size:contain;z-index:2}@media screen and (max-width: 640px){.exploring-gen-ai-hero-banner{background-size:50%}}.exploring-gen-ai-hero-banner .wrapper{display:grid;gap:1.5rem;margin:0 auto;max-width:1020px;position:relative;z-index:10}@media (min-width: 768px){.exploring-gen-ai-hero-banner .wrapper{grid-template-columns:repeat(2, 1fr);align-items:center}}.exploring-gen-ai-hero-banner .text-wrapper{position:relative;z-index:1}.exploring-gen-ai-hero-banner .text-wrapper .overline-one{color:#3CFFF7;margin-bottom:0}.exploring-gen-ai-hero-banner .text-wrapper h1{margin-top:0}.exploring-gen-ai-hero-banner .amazon{margin-bottom:0.5rem;display:flex;align-items:center;flex-wrap:wrap;gap:0.5rem}.exploring-gen-ai-hero-banner .amazon img{width:78px;margin-top:-6px}.exploring-gen-ai-hero-banner img{width:100%} </style> <section class="exploring-gen-ai-hero-banner hero-banner-basic overlay"> <div class="wrapper"> <div class="text-wrapper"> <p class="overline-one"> Explore our new </p> <h1 class="white"> Generative AI curriculum </h1> <p class="body-one white"> Designed to inspire and equip the next generation of creators, thinkers, and innovators. </p> <div class="amazon"> <p class="body-two white"> In partnership with </p> <img alt="Amazon" src="/images/avatars/amazon_white.png"> </div> <a class="link-button white" href="/curriculum/generative-ai"> Explore course </a> </div> <figure> <img alt="" src="/images/banners/banner-bg-gen-ai-bot-wizard.png"> </figure> </div> </section> <div class="clear"></div> <div class="every-student">Every student in every school should have the opportunity to learn computer science</div> <div class="statistics"> <a class="nounderscorehover col-20 stats-box linktag" href="//studio.code.org/courses" id="stats-0"> <div class="jumbo stats-number">99M</div> <div class="stats-phrase">students on Code.org</div> </a> <a class="nounderscorehover col-20 col-mobile-48 stats-box linktag" href="/diversity" id="stats-1"> <div class="jumbo stats-number">42M</div> <div class="stats-phrase">of our students are young women</div> </a> <a class="nounderscorehover col-20 col-mobile-48 stats-box linktag" href="//studio.code.org/projects/public" id="stats-2"> <div class="jumbo stats-number">332M</div> <div class="stats-phrase">projects created on Code.org</div> </a> <a class="nounderscorehover col-20 col-mobile-48 stats-box linktag" href="//code.org/teach" id="stats-3"> <div class="jumbo stats-number">2.9M</div> <div class="stats-phrase">teachers use Code.org</div> </a> <a class="nounderscorehover col-20 col-mobile-48 stats-box linktag" href="/advocacy" id="stats-4"> <div class="jumbo stats-number">50</div> <div class="stats-phrase">All 50 states support computer science</div> </a> </div> <div id="audienceblocks" style="text-align:center; margin-top:10px"> <div class="block"> <div class="quarterslot-links col-mobile-50 col-25 quarterslot-links-small"> <a class="linktag" href="https://hourofcode.com" id="at-home-en"> <div class="slotbox" style="background-image: url(/images/fit-400/mc/2016_homepage_hocblock.jpg)"> <div class="headerbox" style="background-color: rgb(0, 173, 188); background-color: rgba(0, 173, 188, 0.92)"> <div class="header underscorehover"> Hour of Code </div> <div class="sentence"> Explore, play, and create! </div> </div> </div> </a> <div class="thelinks" style="background-color: rgb(89, 202, 211)"> <p class="linkentry"> <a class="link linktag" href="/hourofcode" id="at-home-en-0" target="_self"> Try the Hour of Code </a> </p> <p class="linkentry"> <a class="link linktag" href="https://hourofcode.com/" id="at-home-en-1" target="_self"> About the Hour of Code </a> </p> <p class="linkentry"> <a class="link linktag" href="https://hourofcode.com/events" id="at-home-en-2" target="_self"> Host an Hour of Code </a> </p> </div> </div> </div> <div class="block"> <div class="quarterslot-links col-mobile-50 col-25 quarterslot-links-small"> <a class="linktag" href="/students" id="students-en"> <div class="slotbox" style="background-image: url(/shared/images/fit-400/courses/logo_tall_elementary.jpg)"> <div class="headerbox" style="background-color: rgb(118, 101, 160); background-color: rgba(118, 101, 160, 0.92)"> <div class="header underscorehover"> Students </div> <div class="sentence"> Explore our courses </div> </div> </div> </a> <div class="thelinks" style="background-color: rgb(166, 155, 193)"> <p class="linkentry"> <a class="link linktag" href="/student/elementary" id="students-en-0" target="_self"> Elementary School </a> </p> <p class="linkentry"> <a class="link linktag" href="/student/middle-high" id="students-en-1" target="_self"> Middle school + </a> </p> <p class="linkentry"> <a class="link linktag" href="/careers-with-cs" id="students-en-2" target="_self"> Careers </a> </p> </div> </div> </div> <div class="block"> <div class="quarterslot-links col-mobile-50 col-25 quarterslot-links-small"> <a class="linktag" href="/teach" id="educators-en"> <div class="slotbox" style="background-image: url(/shared/images/fit-400/courses/logo_tall_teacher2.jpg)"> <div class="headerbox" style="background-color: rgb(0, 148, 202); background-color: rgba(0, 148, 202, 0.92)"> <div class="header underscorehover"> Educators </div> <div class="sentence"> Teach your students </div> </div> </div> </a> <div class="thelinks" style="background-color: rgb(89, 185, 220)"> <p class="linkentry"> <a class="link linktag" href="/educate/curriculum/elementary-school" id="educators-en-0" target="_self"> Elementary school </a> </p> <p class="linkentry"> <a class="link linktag" href="/educate/curriculum/middle-school" id="educators-en-1" target="_self"> Middle school </a> </p> <p class="linkentry"> <a class="link linktag" href="/educate/curriculum/high-school" id="educators-en-2" target="_self"> High school </a> </p> </div> </div> </div> <div class="block"> <div class="quarterslot-links col-mobile-50 col-25 quarterslot-links-small"> <a class="linktag" href="/help" id="advocate-en"> <div class="slotbox" style="background-image: url(/shared/images/fit-400/courses/logo_tall_map.jpg)"> <div class="headerbox" style="background-color: rgb(185, 191, 21); background-color: rgba(185, 191, 21, 0.92)"> <div class="header underscorehover"> Get involved </div> <div class="sentence"> Support diversity in computing </div> </div> </div> </a> <div class="thelinks" style="background-color: rgb(209, 213, 103)"> <p class="linkentry"> <a class="link linktag" href="/promote" id="advocate-en-0" target="_self"> See the stats </a> </p> <p class="linkentry"> <a class="link linktag" href="/yourschool" id="advocate-en-1" target="_self"> Bring CS to your school </a> </p> <p class="linkentry"> <a class="link linktag" href="/donate" id="advocate-en-2" target="_self"> Donate </a> </p> </div> </div> </div> </div> <div class="same-height-column" id="gallerycolumn"> <a class="nounderscorehover linktag" href="//studio.code.org/projects/public" id="projects-images"> <div class="headingbox" style="background-color: rgb(255, 164, 0)"> Over 332 million Code.org projects created </div> <div class="thelinks"> <img class="col-50 lazyload" data-src="/shared/images/gallery/fit-750/gallery_thumbnails_2019a.jpg" height="120" width="750"> <img class="col-50 lazyload" data-src="/shared/images/gallery/fit-750/gallery_thumbnails_2019b.jpg" height="120" width="750"> </div> </a> </div> <link href="/css/donors.css" rel="stylesheet" type="text/css"> <div class="homepage-supporters"> <div class="container_responsive"> <div class="donor-header"> <h1> Code.org thanks </h1> </div> <p> Amazon • The Ballmer Group • Coinbase • Google.org • Charlie Lee • Microsoft • Spiegel Family Fund • Vista Equity Partners </p> <div class="donor-button"> <a class="link-button" href="/donate"> Donate </a> </div> <a href="/about/supporters"> See more supporters </a> </div> </div> </div> <div id="videofullwidth" style="position:absolute; left: 0; top: 0; width: 100%"></div> <div class="modal fade" id="showVideo_mainvideo"> <div class="modal-dialog modal-lg"> <div class="modal-content"> <div class="modal-header" style="border-bottom-width: 0px; padding-top: 0px; padding-bottom: 4px; height:48px"> <button class="close" data-dismiss="modal" style="height: 48px" type="button"> <span aria-hidden="true" style="font-size:48px">×</span> <span class="sr-only">Close</span> </button> <div style="clear:both"></div> </div> <div class="modal-body" style="padding-top: 0px"> <style> .vjs-tech:focus, .vjs-poster:focus { outline: 0; } .download-link { display: inline-block; margin-top: 1rem; font-size: 1rem; } .download-link i::before { color: var(--brand_secondary_default); } </style> <div style="text-align:right;"> <link href="/css/generated/video_with_fallback-styles.css" rel="stylesheet"> <figure class="video-with-fallback"> <div class="videodiv"> <img src="/images/16x9.png"> <div class="insert_video_player" data-download-path="//videos.code.org/social/what-most-schools-dont-teach.mp4" data-poster-path="//i.ytimg.com/vi/nKIu9yen5nc/mqdefault.jpg" data-video-code="nKIu9yen5nc"></div> </div> </figure> <div style="float:left"> <script> $(document).ready(function() { setupPopupWindows(); }); // This is a separate function so that popup links that might appear later than documentReady // (such as in modal popup windows) can be set up as popup windows too. function setupPopupWindows() { // Unbind previous click handlers before binding this new one, since this function finds all // window-popup links, even ones it would have setup already. $('a.window-popup').unbind().bind('click', function() { // Don't open a new window for Facebook on the mobile front page. if ($('body').hasClass('mobile-front') && $(this).hasClass('btn-facebook')) { return false; } var url = $(this).attr('href'); var width = 640; var height = 480; var left = (screen.width/2)-(width/2); var top = (screen.height/2)-(height/2); share = window.open(url,'Share', 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=' + width + ', height=' + height + ', top=' + top + ', left=' + left); if (window.focus) { share.focus() } return false; }); } </script> <style> .share-buttons { display: flex; justify-content: start; gap: 1rem; @media (max-width: 640px) { flex-wrap: wrap; & a { margin: 0; } } } </style> <div class="share-buttons"> <a class="link-button secondary small window-popup share-button-facebook" href="https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.facebook.com%2FCode.org%2Fvideos%2F10100689712053311%2F"> <i class="fa-brands fa-facebook"></i> Share on Facebook </a> <a class="link-button secondary small window-popup share-button-twitter" href="https://twitter.com/intent/tweet?related=codeorg&amp;text=Anybody+can+learn+computer+science%2C+starting+with+an+%23HourOfCode.+https%3A%2F%2Ftwitter.com%2Fcodeorg%2Fstatus%2F828716370053304321"> <i class="fa-brands fa-twitter"></i> Share on Twitter </a> </div> </div> <div class="download-link"> <i class="fa-solid fa-download"></i> <a href="//videos.code.org/social/what-most-schools-dont-teach.mp4"> Download video </a> </div> </div> </div> </div> </div> </div> <style> .modal{ text-align: center; } </style> <script> window["showVideo_mainvideo"] = function() { $("#showVideo_mainvideo").modal('show'); setupPopupWindows(); window["playVideo_mainvideo"](true); }; $(document).ready(function() { $("#showVideo_mainvideo").on('hidden.bs.modal', function () { // Pause the video. window["playVideo_mainvideo"](false); }); }); window["playVideo_mainvideo"] = function(play) { var fallbackVideo = $("#showVideo_mainvideo video"); var youtubeIframeContent = null; var videoDiv = $("#showVideo_mainvideo .videodiv"); if (videoDiv.length > 0) { var iframe = videoDiv[0].getElementsByTagName("iframe"); if (iframe.length > 0) { youtubeIframeContent = iframe[0].contentWindow; } } if (fallbackVideo.length > 0) { videojs(fallbackVideo[0], {}, function() { play ? this.play() : this.pause(); }); } else if (youtubeIframeContent) { func = play ? 'playVideo' : 'pauseVideo'; youtubeIframeContent.postMessage('{"event":"command","func":"' + func + '","args":""}', '*'); } } </script> <div id="clearboth" style="clear:both"></div> <div class="desktop-feature"></div> </div> <div class="push"></div> </div> <div class="desktop-feature"> <footer id="pagefooter"> <div class="content"> <div class="left" style="float:left; max-width: 80%;"> <a class="whitefooterlink" href="//code.org/privacy" key="privacy_policy" style="color: #ffa400;"> Privacy Policy </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="//code.org/cookies" key="cookie_notice"> Cookie Notice </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="//code.org/about" key="about"> About </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="//code.org/partners" key="partners"> Partners </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="https://medium.com/@codeorg" key="blog" rel="noopener noreferrer nofollow" target="_blank"> Blog </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="//code.org/donate" key="donate"> Donate </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="shop" key="store"> Store </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="http://support.code.org/" key="support" rel="noopener noreferrer nofollow" target="_blank"> Support </a> <div class="dim">  |  </div> <a class="whitefooterlink" href="//code.org/tos" key="terms"> Terms </a> <small class="dim"> "© Code.org, 2025. Code.org®, the CODE logo, Hour of Code® and CS Discoveries® are trademarks of Code.org." <br> Built on GitHub from Microsoft </small> <div class="powered-by-aws"> <a href="https://aws.amazon.com/what-is-cloud-computing"> <img alt="Powered by AWS Cloud Computing" src="/shared/images/Powered-By_logo-horiz_RGB_REV.png" style="width: 190px"> </a> </div> </div> <div class="right" style="float:right"> <div class="language-dropdown"> <form accept-charset="UTF-8" action="/" method="post"> <select class="default" name="set_locale" onchange="this.form.submit();" style="color: black; width: 100%; max-width: 162.5px;"> <option value="ar-SA">العربية</option> <option value="az-AZ">Azərbaycan dili</option> <option value="bg-BG">български</option> <option value="bs-BA">Bosanski</option> <option value="ca-ES">Català</option> <option value="cs-CZ">Čeština</option> <option value="da-DK">Dansk</option> <option value="de-DE">Deutsch</option> <option value="dv-MV">ދިވެހި</option> <option value="el-GR">Ελληνικά</option> <option selected value="en-US">English</option> <option value="es-ES">Español (España)</option> <option value="es-MX">Español (LATAM)</option> <option value="et-EE">Eesti</option> <option value="eu-ES">Euskara</option> <option value="fa-IR">فارسی</option> <option value="fi-FI">Suomi</option> <option value="fil-PH">Filipino</option> <option value="fr-FR">Français</option> <option value="ga-IE">Gaeilge</option> <option value="gl-ES">Galego</option> <option value="he-IL">עברית</option> <option value="hi-IN">हिन्दी</option> <option value="hr-HR">Hrvatski</option> <option value="hu-HU">Magyar</option> <option value="hy-AM">Հայերեն</option> <option value="id-ID">Bahasa Indonesia</option> <option value="is-IS">Íslenska</option> <option value="it-IT">Italiano</option> <option value="ja-JP">日本語</option> <option value="ka-GE">ქართული</option> <option value="kk-KZ">Қазақша</option> <option value="km-KH">ភាសាខ្មែរ</option> <option value="kn-IN">ಕನ್ನಡ</option> <option value="ko-KR">한국어</option> <option value="ky-KG">Кыргызча</option> <option value="lt-LT">Lietuvių</option> <option value="lv-LV">Latviešu</option> <option value="mi-NZ">Māori (NZ)</option> <option value="mn-MN">Монгол хэл</option> <option value="mr-IN">मराठी</option> <option value="ms-MY">بهاس ملايو</option> <option value="my-MM">ဗမာစာ</option> <option value="nl-NL">Nederlands</option> <option value="nn-NO">Norsk (Nynorsk)</option> <option value="no-NO">Norsk (Bokmål)</option> <option value="pl-PL">Polski</option> <option value="pt-BR">Português (Brasil)</option> <option value="pt-PT">Português (Portugal)</option> <option value="ro-RO">Română</option> <option value="ru-RU">Pусский</option> <option value="se-FI">Davvisámegiella</option> <option value="si-LK">සිංහල</option> <option value="sk-SK">Slovenčina</option> <option value="sl-SI">Slovenščina</option> <option value="sm-WS">Sāmoa</option> <option value="sq-AL">Shqip</option> <option value="sr-SP">Cрпски</option> <option value="sv-SE">Svenska</option> <option value="ta-IN">தமிழ்</option> <option value="te-IN">తెలుగు</option> <option value="th-TH">ภาษาไทย</option> <option value="tr-TR">Türkçe</option> <option value="uk-UA">Українська</option> <option value="ur-PK">اردو</option> <option value="uz-UZ">Oʻzbekcha</option> <option value="vi-VN">Tiếng Việt</option> <option value="zh-CN">简体字</option> <option value="zh-TW">繁體字</option> </select> </form> </div> <div class="social-media" style="margin-top: 10px; margin-left: 10px;"> <small> <a aria-label="Code.org on Facebook" class="whitefooterlink" href="https://www.facebook.com/Code.org/" style="text-decoration: none;" target="_blank"> <i class="fa fa-facebook fa-lg"></i>     </a> <a aria-label="Code.org on Twitter" class="whitefooterlink" href="https://twitter.com/codeorg" style="text-decoration: none;" target="_blank"> <i class="fa fa-twitter fa-lg"></i>     </a> <a aria-label="Code.org on Instagram" class="whitefooterlink" href="https://www.instagram.com/codeorg/" style="text-decoration: none;" target="_blank"> <i class="fa fa-instagram fa-lg"></i>     </a> <a aria-label="Code.org on Medium.com" class="whitefooterlink" href="https://medium.com/@codeorg" style="text-decoration: none;" target="_blank"> <img alt="" src="/images/icons/medium-monogram-white.png" style="width: 20px"> </a> </small> </div> </div> </div> </footer> </div> <div class="mobile-headers mobile-feature"> <style> #footer-links{float:right;color:white;font-size:12px;z-index:2}#footer-links ul{list-style:none;margin:0;padding:0}#footer-links ul li{display:inline;text-indent:0;padding:0}#footer-links ul li:before{content:none}#footer-links ul li:after{content:"|";margin:0 12px;opacity:0.5}#footer-links ul li:last-child:after{content:none}#footer-links a{color:white;font-weight:normal;font-family:var(--main-font);text-decoration:none}#footer-links a:hover{opacity:1.0}#footer-toggle{display:none;text-align:center;border-bottom:1px solid #aaa2bd;padding:8px 16px;margin:0 24px;cursor:pointer;margin-bottom:10px}#copyright,#copyright-non-en{float:left;color:white;font-size:12px;opacity:0.8}.social-media a{text-decoration:none;color:white}#non-en{height:90px;background-color:var(--brand_secondary_default)}#non-en .language-dropdown select{margin-top:20px;margin-left:25px}#copyright-non-en{margin-left:25px;padding-top:5px}@media screen and (max-width: 970px){#pagefooter{overflow:visible;padding:0;height:240px}.language-dropdown{padding-bottom:10px;padding-right:10px}.social-language-box{text-align:center}.social-media,.social-language-box .language-dropdown{text-align:center;display:inline;width:40%;padding-bottom:3px;margin-top:10px}.powered-by-aws{float:none;width:100%;text-align:center}#footer-links{float:none;margin-bottom:20px;padding-top:20px;text-align:center}#copyright{float:none;text-align:center;padding-top:10px;padding-bottom:10px}}@media screen and (min-width: 0px) and (max-width: 600px){#pagefooter{overflow:visible;padding:0;height:280px}#footer-links{position:relative;margin:0;padding-top:0px}#footer-links ul{display:none;position:absolute;bottom:38px;width:100%;background-color:#5c3f7f}#footer-links ul li{display:block;text-align:center;margin:0 24px;padding:8px 16px;border-bottom:1px solid #aaa2bd}#footer-links ul li:after{content:none}#footer-links ul li a{display:block;width:100%}#footer-toggle{display:block}#copyright{padding-left:10px;padding-right:10px}#privacy a{color:#ffa400;opacity:1;font-family:var(--main-font);font-weight:var(--semi-bold-font-weight)}#privacy a:hover{opacity:0.5}#down{display:none}.social-media,.language-dropdown{width:100%;display:block;padding-right:0px}.powered-by-aws{width:100%;text-align:center}} </style> <script defer src="/js/mobile-footer.js"></script> <footer id="pagefooter"> <div id="footer-links"> <ul> <li id="privacy"> <a href="/privacy" style="color: #ffa400;"> Privacy Policy </a> </li> <li> <a href="/cookies"> Cookie Notice </a> </li> <li> <a href="/about"> About </a> </li> <li> <a href="/partners"> Partners </a> </li> <li> <a href="https://medium.com/@codeorg" target="_blank"> Blog </a> </li> <li> <a href="/donate"> Donate </a> </li> <li> <a href="/shop"> Store </a> </li> <li> <a href="https://support.code.org/" id="support" target="_blank"> Support </a> </li> <li> <a href="/tos"> Terms </a> </li> </ul> <div id="footer-toggle"> Code.org <i class="fa fa-chevron-up" id="up"></i> <i class="fa fa-chevron-down" id="down"></i> </div> </div> <div class="social-language-box"> <div class="language-dropdown"> <form accept-charset="UTF-8" action="/" method="post"> <select class="default" name="set_locale" onchange="this.form.submit();" style="color: black; width: 100%; max-width: 162.5px;"> <option value="ar-SA">العربية</option> <option value="az-AZ">Azərbaycan dili</option> <option value="bg-BG">български</option> <option value="bs-BA">Bosanski</option> <option value="ca-ES">Català</option> <option value="cs-CZ">Čeština</option> <option value="da-DK">Dansk</option> <option value="de-DE">Deutsch</option> <option value="dv-MV">ދިވެހި</option> <option value="el-GR">Ελληνικά</option> <option selected value="en-US">English</option> <option value="es-ES">Español (España)</option> <option value="es-MX">Español (LATAM)</option> <option value="et-EE">Eesti</option> <option value="eu-ES">Euskara</option> <option value="fa-IR">فارسی</option> <option value="fi-FI">Suomi</option> <option value="fil-PH">Filipino</option> <option value="fr-FR">Français</option> <option value="ga-IE">Gaeilge</option> <option value="gl-ES">Galego</option> <option value="he-IL">עברית</option> <option value="hi-IN">हिन्दी</option> <option value="hr-HR">Hrvatski</option> <option value="hu-HU">Magyar</option> <option value="hy-AM">Հայերեն</option> <option value="id-ID">Bahasa Indonesia</option> <option value="is-IS">Íslenska</option> <option value="it-IT">Italiano</option> <option value="ja-JP">日本語</option> <option value="ka-GE">ქართული</option> <option value="kk-KZ">Қазақша</option> <option value="km-KH">ភាសាខ្មែរ</option> <option value="kn-IN">ಕನ್ನಡ</option> <option value="ko-KR">한국어</option> <option value="ky-KG">Кыргызча</option> <option value="lt-LT">Lietuvių</option> <option value="lv-LV">Latviešu</option> <option value="mi-NZ">Māori (NZ)</option> <option value="mn-MN">Монгол хэл</option> <option value="mr-IN">मराठी</option> <option value="ms-MY">بهاس ملايو</option> <option value="my-MM">ဗမာစာ</option> <option value="nl-NL">Nederlands</option> <option value="nn-NO">Norsk (Nynorsk)</option> <option value="no-NO">Norsk (Bokmål)</option> <option value="pl-PL">Polski</option> <option value="pt-BR">Português (Brasil)</option> <option value="pt-PT">Português (Portugal)</option> <option value="ro-RO">Română</option> <option value="ru-RU">Pусский</option> <option value="se-FI">Davvisámegiella</option> <option value="si-LK">සිංහල</option> <option value="sk-SK">Slovenčina</option> <option value="sl-SI">Slovenščina</option> <option value="sm-WS">Sāmoa</option> <option value="sq-AL">Shqip</option> <option value="sr-SP">Cрпски</option> <option value="sv-SE">Svenska</option> <option value="ta-IN">தமிழ்</option> <option value="te-IN">తెలుగు</option> <option value="th-TH">ภาษาไทย</option> <option value="tr-TR">Türkçe</option> <option value="uk-UA">Українська</option> <option value="ur-PK">اردو</option> <option value="uz-UZ">Oʻzbekcha</option> <option value="vi-VN">Tiếng Việt</option> <option value="zh-CN">简体字</option> <option value="zh-TW">繁體字</option> </select> </form> </div> <div class="social-media"> <a aria-label="Code.org on Facebook" class="social-icon" href="https://www.facebook.com/Code.org" target="_blank"> <i class="fa fa-facebook fa-lg"></i>     </a> <a aria-label="Code.org on Twitter" class="social-icon" href="https://twitter.com/codeorg" target="_blank"> <i class="fa fa-twitter fa-lg"></i>     </a> <a aria-label="Code.org on Instagram" class="social-icon" href="https://www.instagram.com/codeorg" target="_blank"> <i class="fa fa-instagram fa-lg"></i>     </a> <a aria-label="Code.org on Medium.com" class="social-icon" href="https://medium.com/@codeorg" target="_blank"> <img alt="" src="/images/icons/medium-monogram-white.png" style="width: 20px"> </a> </div> </div> <div id="copyright"> © Code.org, 2025. Code.org®, the CODE logo and Hour of Code® are trademarks of Code.org. <br> Built on GitHub from Microsoft </div> <div class="powered-by-aws"> <a href="https://aws.amazon.com/what-is-cloud-computing"> <img alt="Powered by AWS Cloud Computing" src="/shared/images/Powered-By_logo-horiz_RGB_REV.png" style="width: 190px"> </a> </div> </footer> </div> <script defer src="/js/bootstrap.min.js" type="text/javascript"></script> <div class="modal fade" id="selectLanguage"> <div class="modal-dialog" width="500px"> <div class="modal-content"> <div class="modal-header"> <button class="close" data-dismiss="modal" type="button"> <span aria-hidden="true">×</span> <span class="sr-only">Close</span> </button> <img class="lazyload" data-src="/images/fit-320/avatars/flag_sphere.png" style="width: 256px; height: 256px;"> </div> <div class="modal-body"> <h4 class="modal-title">Please select your language</h4> <form accept-charset="UTF-8" action="/" method="post"> <select class="default" name="set_locale" onchange="this.form.submit();" style="color: black; width: 100%; max-width: 162.5px;"> <option value="ar-SA">العربية</option> <option value="az-AZ">Azərbaycan dili</option> <option value="bg-BG">български</option> <option value="bs-BA">Bosanski</option> <option value="ca-ES">Català</option> <option value="cs-CZ">Čeština</option> <option value="da-DK">Dansk</option> <option value="de-DE">Deutsch</option> <option value="dv-MV">ދިވެހި</option> <option value="el-GR">Ελληνικά</option> <option selected value="en-US">English</option> <option value="es-ES">Español (España)</option> <option value="es-MX">Español (LATAM)</option> <option value="et-EE">Eesti</option> <option value="eu-ES">Euskara</option> <option value="fa-IR">فارسی</option> <option value="fi-FI">Suomi</option> <option value="fil-PH">Filipino</option> <option value="fr-FR">Français</option> <option value="ga-IE">Gaeilge</option> <option value="gl-ES">Galego</option> <option value="he-IL">עברית</option> <option value="hi-IN">हिन्दी</option> <option value="hr-HR">Hrvatski</option> <option value="hu-HU">Magyar</option> <option value="hy-AM">Հայերեն</option> <option value="id-ID">Bahasa Indonesia</option> <option value="is-IS">Íslenska</option> <option value="it-IT">Italiano</option> <option value="ja-JP">日本語</option> <option value="ka-GE">ქართული</option> <option value="kk-KZ">Қазақша</option> <option value="km-KH">ភាសាខ្មែរ</option> <option value="kn-IN">ಕನ್ನಡ</option> <option value="ko-KR">한국어</option> <option value="ky-KG">Кыргызча</option> <option value="lt-LT">Lietuvių</option> <option value="lv-LV">Latviešu</option> <option value="mi-NZ">Māori (NZ)</option> <option value="mn-MN">Монгол хэл</option> <option value="mr-IN">मराठी</option> <option value="ms-MY">بهاس ملايو</option> <option value="my-MM">ဗမာစာ</option> <option value="nl-NL">Nederlands</option> <option value="nn-NO">Norsk (Nynorsk)</option> <option value="no-NO">Norsk (Bokmål)</option> <option value="pl-PL">Polski</option> <option value="pt-BR">Português (Brasil)</option> <option value="pt-PT">Português (Portugal)</option> <option value="ro-RO">Română</option> <option value="ru-RU">Pусский</option> <option value="se-FI">Davvisámegiella</option> <option value="si-LK">සිංහල</option> <option value="sk-SK">Slovenčina</option> <option value="sl-SI">Slovenščina</option> <option value="sm-WS">Sāmoa</option> <option value="sq-AL">Shqip</option> <option value="sr-SP">Cрпски</option> <option value="sv-SE">Svenska</option> <option value="ta-IN">தமிழ்</option> <option value="te-IN">తెలుగు</option> <option value="th-TH">ภาษาไทย</option> <option value="tr-TR">Türkçe</option> <option value="uk-UA">Українська</option> <option value="ur-PK">اردو</option> <option value="uz-UZ">Oʻzbekcha</option> <option value="vi-VN">Tiếng Việt</option> <option value="zh-CN">简体字</option> <option value="zh-TW">繁體字</option> </select> </form> </div> <div class="modal-footer"> <button class="btn btn-primary" data-dismiss="modal" type="button">Submit</button> </div> </div> </div> </div> <style> .modal{ text-align: center; } </style> <script> function setCookie(key, value, days) { var expires = new Date(); expires.setTime(expires.getTime() + (days * 24 * 60 * 60 * 1000)); document.cookie = key + '=' + value + ';expires=' + expires.toUTCString(); } function getCookie(key) { var keyValue = document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)'); return keyValue ? keyValue[2] : null; } $( document ).ready(function() { already_shown = !!getCookie('_loc_notice'); if(!already_shown) { $.getJSON( "/v2/client-location", function( data ) { country_code = data['country_code']; if(country_code != 'US') { $('#selectLanguage').modal('show') } }); setCookie('_loc_notice', '1', 365) } }); </script> <script src="/js/font_awesome_icon_class.js"></script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10