CINXE.COM
Just a moment...
<!DOCTYPE html><html lang="en-US"><head><title>Just a moment...</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="robots" content="noindex,nofollow"><meta name="viewport" content="width=device-width,initial-scale=1"><style>*{box-sizing:border-box;margin:0;padding:0}html{line-height:1.15;-webkit-text-size-adjust:100%;color:#313131;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}body{display:flex;flex-direction:column;height:100vh;min-height:100vh}.main-content{margin:8rem auto;max-width:60rem;padding-left:1.5rem}@media (width <= 720px){.main-content{margin-top:4rem}}.h2{font-size:1.5rem;font-weight:500;line-height:2.25rem}@media (width <= 720px){.h2{font-size:1.25rem;line-height:1.5rem}}#challenge-error-text{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iI0IyMEYwMyIgZD0iTTE2IDNhMTMgMTMgMCAxIDAgMTMgMTNBMTMuMDE1IDEzLjAxNSAwIDAgMCAxNiAzbTAgMjRhMTEgMTEgMCAxIDEgMTEtMTEgMTEuMDEgMTEuMDEgMCAwIDEtMTEgMTEiLz48cGF0aCBmaWxsPSIjQjIwRjAzIiBkPSJNMTcuMDM4IDE4LjYxNUgxNC44N0wxNC41NjMgOS41aDIuNzgzem0tMS4wODQgMS40MjdxLjY2IDAgMS4wNTcuMzg4LjQwNy4zODkuNDA3Ljk5NCAwIC41OTYtLjQwNy45ODQtLjM5Ny4zOS0xLjA1Ny4zODktLjY1IDAtMS4wNTYtLjM4OS0uMzk4LS4zODktLjM5OC0uOTg0IDAtLjU5Ny4zOTgtLjk4NS40MDYtLjM5NyAxLjA1Ni0uMzk3Ii8+PC9zdmc+);background-repeat:no-repeat;background-size:contain;padding-left:34px}@media (prefers-color-scheme:dark){body{background-color:#222;color:#d9d9d9}}</style><meta http-equiv="refresh" content="390"></head><body class="no-js"><div class="main-wrapper" role="main"><div class="main-content"><noscript><div class="h2"><span id="challenge-error-text">Enable JavaScript and cookies to continue</span></div></noscript></div></div><script>(function(){window._cf_chl_opt={cvId: '3',cZone: "area51.phpbb.com",cType: 'managed',cRay: '91170a503ee55fa8',cH: 'PnPapZMG5_lwwX3ec5VbY6xMA0uLg4hTg0rNvCklbEw-1739473006-1.2.1.1-H0GZkKulHqajoNsJreggZ3XFDEim6M.jJzVGyDHgVPizxVs0j.JlaBpzYLu.MLqr',cUPMDTk: "\/docs\/33x\/coding-guidelines.html?__cf_chl_tk=oSY7FX3bTnrV8AWP.viBX9egc11VYztTJR3eniduPzE-1739473006-1.0.1.1-BxFWrHwxeK8qK1iS9tAfPEjGON.C5A44N3U46V6VJDw",cFPWv: 'b',cITimeS: '1739473006',cTTimeMs: '1000',cMTimeMs: '390000',cTplC: 0,cTplV: 5,cTplB: 'cf',cK: "",fa: "\/docs\/33x\/coding-guidelines.html?__cf_chl_f_tk=oSY7FX3bTnrV8AWP.viBX9egc11VYztTJR3eniduPzE-1739473006-1.0.1.1-BxFWrHwxeK8qK1iS9tAfPEjGON.C5A44N3U46V6VJDw",md: "zyVz4QvXCp58n4KpcqEydux7LWOB96rtfrDXGzNLRBU-1739473006-1.2.1.1-ShKVkZKiEFlp0X1D3NrlouwVkXifph4DFw10LFa1fmMgIUkx4Ny.g_OJwGtJ.Zo55Ap9lb1.VlkPFOamdTWBT2TclRVgGkNFnfeJI.3OOl.KLpRcobMBwfo51r2Ejga9_677kq7gUL2aseyBkGARyCni0VnJuVVs6D.P6Pue99yayDmrikRMIC3b6PRbIpNKCDPhSItbJq.Nx1CBPsogjaEkK_031HJepW5.NZu91WSNrYX0vMVc4V4egRxF4fvnZqHxAhd1sm05nkOzmqbruyK8w1IuuAI7MPiRpSNQk0VcL0BLhOujblrpGNcxA4_b7rgwsqN_MfqEKX8kf9r2WVjmsGEwQudaI0SEW25ySUaje4zwFxffLQ6zDLIL_F0n8fTqy5sxowS7Hsfcg0lpw_6Huvsji4FeVN6x58_DmC4sSKpZ9zbVt.UXQLFxDdUCXzuKPofUHgk_Cn3_Mqmbae.KSB8GDkyMzTjk.g83pKrZUpgO4PXjZ_tEmPYAfnTdflcTg1lAz7PZAjGW.YnJejSqeBH6AZw6gJBgjdFx__xuc4KvwcupHxx9MKPoy6sxBUW_rosbLqU2SdeuS135YwLnapv1vSpGjjA92rZXuSNk6xSpDRDLo6X3Jjiu3P759QWTloilVjxXaHRMO090b5WN.S22G4cGTs.L_9kds9bT9Dt3W5JrFF6A5adCxGX9VutUkU4MRwCqB6fNKVvrPUbi.8G0xec11N5f6UOVotHB0ureA9IC0K_ivlRPgOPie41rX6nhxtyTO1pK2ptxprupnTcXBLPQy6UevuhEXeMMYXaJyHv298qq2Ov25D40r_wOIbMJGb_DK1V8.xXkgNhPYmLXAM5E3U42FiNg0Ianp9yRIh73yxJID5igYDK1aY113kCIDbgQJpEMbFHImxKeBBw1yNLU7opxlN67oEeBoQN_ODbvw0JmFR9rwSBLfCThn2vqTtf9bF2Mf..AGW.TeDy7S.6zcxyaQpSN_ohweLu.RirFtiY1ppgubK5GKxbDOL4izCvdS2JPw8KwzvgdpC1oEdLr_OmTWLfmr.V1Dc4JW0P5Z7Ec35sot7jJhVvprKKamvOvlpACnEdo.1YqscXE1TDxzJG.mWKvHGDMoqyFaM7kyDuZsr_ThzEG7KrNj7zsHQWZ6CUawNjyXYM64a1eurF.klsGEKkEDwZJCUvalSw3bidkrTFivqoEmR1LMlOLxaA8uEhqQfDkCyau9oZBoguPnWBdhduK7IRZcyHbrsoK3FDxN1ccQ_ObnnuwqwnmyFNSQbMx6s0YpZ0qTEtG1v1gTCLWzkpGXay2p8W60jAReXHVxTM2oDvfaswCL_WSYNLM9ih4lquFzcZbauaL_kLXEZipnDFfn7EJnSGwbPFAQypP_AGZHZJd8LESdcmM2l6AwAjMVU4OxG3YSNKhHmSPOw3BJtQg1ua_Rh7t4qdSML50Xjdt48mewyJ8CzNK_luq.cWjmaSe81w95SG0HqKcWar.GXDJsOr5f_PZ17vkCuH83KLaV_AHslrZvuTtHmKuh45nGfeMbhmfROeIUYE5BVFe5ZEFUoW9yulruav..plvwNVL.TEbO5CgF3WUQEe4bnFkPctFro9i8Afgf8UgHnr9C44.2pxu1jlJnmN7JPAhvpVAQdeD3ma6JAhcDi3zZFK1GyzAEkKzUa1sdtOPL.PyO5qFcb7BgO7ZAPijQy2ANBVu1sA69norTpegKtM0S.xtUBhvreHfgodMeM9DIKh.GXtonTZ.YhaOPp.hlERVT28VM8RSh0vtZDoKQFqSYARAzbkt0h0xfyOexvY_m6helcdnDICx4IKlBLG1ebTpti9k6zVmjMV_z73VwRQdzvGo.EUsPaqZ0iWV0jvUQKP1iGujdOSQ0V_EkduXMYxfD3PK0WjjRbJr_R06n8lYTmM14F1.e1hnOKycYRVf3BkAK7T9r8Avx.QHUvHvklRkVO6iArA1wLe2ZOLY5ZOwLCOeDQZidjhEhriyalxh.XVezc3WUuANIPt.1zmXqcz4KjSBajBDHSNyNHp8Al9yxlvkM5gFD7XJQjKr2MTqxAJwfY5Ay92ySiHMnNlimnA3aSUsTsrWGYxQdoxqaTpr7pPbRYDurFqSvIE.AA1LxzebaUxiNNeGv_doXPoZEu4Z3RjTJzHyszzhN9kb_WAdG8i2wSXIPlWtr3u67twMvxWeRW8V1v9spuzap01YLtE31dzd_NIGHzijx5rLPpwl_QtehdDhDtQyoU4yfmB8kMHnj_d6PkbzLWFql7tGjqWG5hfXTbc38gae0k5MON5MpNSKccxN9mEryOFujCG__ZOu1SscQTi5SMpAoQa2RvCrTOgZrLCMrEvcARO9_2lJqNE29EZWv7a8.aF2yO87kMMC1WfjN_9CsDXF2lnh6.S86ULhjxq9MMmXs.zhAxwHNcRTbSJ9R1NDRRn9DN2hwvgVWqToWcBxX9jUEOFq7csCE4f0TTvIy8BGxnXSKCNmOJj0l5b9k4o7KKebB9jKkDe4qyW42jySGwTT62RJNcUhScVIWn3O",mdrd: "LEqpZN_yqxK4HWKVBDPbDZdks4ErUCm6iUT2Mp9ASjk-1739473006-1.2.1.1-sqfdgnuBJW6NCYdG70GFfOqmUkcxaJCJHK2WsU42duuYT6xH2pvqBDxcc2C6fcxGKF89VD0EpLOgDWdZ1tOW2yyfCyw.aMaRQaXutw_khZKqp4CCIlA28MiI6nSAfdbLgn8.3zagyYxCnJnb03N8sYwvIl_KVn7G0byJmxbVdsZrssvrBd_AsoVLEZsECvRjmp_fNHmzCWLyTBsipL2RZdKUodKkPExlXHGa4MUAInc9NvRu4YZ.iDReC4_YRVp2UvMNefI_XUeaRphjT9fMaz0dDfBbzyt_42MnmaQehfTh5yXiza0jf0VDYlqkTLebNgoWQSG7_cPDl1Bh_ISohlTFWBUmJPKp4d0fRJxqpLoQ.Ontl1.tYisA7da9Z1eW.Ch4EJ8W5GLPoaT2fZ.bWunie8M_L1vJDGO9aynKo1G2ZPUpJnO2UXVsbzl.Nssqhzf6NdtnisttoJ8KSiGVs8jksR7dDp9Nauw6Xga4MPZeBDdOwHvWO.cv2GxC6hKgV8s70qePeLNSS3PfqinInizLmlmCoxm1Jwt81h5nSM0GxMZ5cQdTZhdglEwwj_DUWbr1dLyFn47AcQxEpYfCl99.V.AiG.fZm4pt8mNl5oF4V3efCYI4uh8ZsSe45Ue6DwIw.mvOIZfSlByLKOtYf_3Y7FjOhDXVRV5KF_Y__I77xlCGDHisZtfwoyt0LY._j.JBpqrG0dyievbBzgLP.8YmcIKv5fTDhaIY3NOFA_AMVGIvH4jDGjxMYKKbwDehkGyp8yr9tlp8P6x._CQiVj9_p2R2FggYKITbFyygEI_owhKnMVjPytrEKmphxNPL3JafJ.A2EWnog0wvZhYyvQqb8vp2zNhjiWieEie7LUI5nlac.JZmfNTqWCRztgNX5UlCiHD4nLQvNImcnrd6bwmYXA0sEnGaY96GOoU0qUJ7XKNZeVX4n.gkbL.LplwE7JH.y6qElnEOY8Zpkv_5GZr9K3G5LlMwJ.Wuv4owztZr2UHwyi_2RtzXNq6GMr59W9bY.4QucKP2VO5aGi29Nrwz.MTdkqQYhcLkB98qCYm8htX_Evq5ord0p6aGJYYEMajx6_dixR9vR52Wfj3Ru_8X7uZ8lUAnr56.oG76uwvqQFQ0J8namb4W_a5qPvQRKGMDhoiCkPn4fngMnMwOaffhsY2bn7uggk9RBGcKgKWI5ratdYnnonLGy__wRQIH3fwTBr7tPCacVJoyWtuhT.q8nLXT1sK3OV6sH6mPx1W4dqxxL01rw_4gLxNcT2O9rk_QHWtqkMINN0q7hqe5HBpP.OIl2F1ReCMS6cR.TMY8DglzH4vwQNRkHCVCvFOWQzXY8i229.qcHRnGVi8rN6k1nZD5qRjCa720HBAvVGCvLgcwO7DfSkMqpoCg.AH6fjYFQelpSuYn.Pi5yH7NjxacG4r3Bdg9wJ77K9v9W3xgYlgOtW778hci70isoMts.pysdWxhW9jSkKSljI1yE_cQZrnREthAck5q08MYEgpnD5mOSqWX2qEBSAcdlPMjl6zU2d3NqHeItsCnG4BDGU1Y.oVxRCwJDDwlw76kJbpb9tQWqbSV.Pjt6BDnkdIv60GIjprjL.bcc3yv7R_fyVE25Y4QT05X1tHWvUv9sek5m5UAvmqmGlW3pxQCa4Y8DCRx6fEwncMims6_VW97Uux8qoYEQ_ANleNUkzvlo6r7WA9Z9bcpmFKmq0w1K3zO0CMk5m59Gfpz9JWInq1vF85TIUYWB8FBAjRHCYW6_FcleJr1_i1zyMJaCjdQAgpjIm2hxuJLi3LXqew9sYt1dl7zvF7jZZ3Hvlw8DM7ZD3fj2mGY2t9YJDI4Wn2AYF2RwP2dOOw1yNYfZJkfD7.N3dXQL8_CFJgIL63gaiJCQgsCGLUHTKgK1T2css.ETESpENrDCL0mB5HNWfju2LI1_rzeJNO4wcnCnKtQPe.a6fssARswwzfRP6VIQ2hnbX66"};var cpo = document.createElement('script');cpo.src = '/cdn-cgi/challenge-platform/h/b/orchestrate/chl_page/v1?ray=91170a503ee55fa8';window._cf_chl_opt.cOgUHash = location.hash === '' && location.href.indexOf('#') !== -1 ? '#' : location.hash;window._cf_chl_opt.cOgUQuery = location.search === '' && location.href.slice(0, location.href.length - window._cf_chl_opt.cOgUHash.length).indexOf('?') !== -1 ? '?' : location.search;if (window.history && window.history.replaceState) {var ogU = location.pathname + window._cf_chl_opt.cOgUQuery + window._cf_chl_opt.cOgUHash;history.replaceState(null, null, "\/docs\/33x\/coding-guidelines.html?__cf_chl_rt_tk=oSY7FX3bTnrV8AWP.viBX9egc11VYztTJR3eniduPzE-1739473006-1.0.1.1-BxFWrHwxeK8qK1iS9tAfPEjGON.C5A44N3U46V6VJDw" + window._cf_chl_opt.cOgUHash);cpo.onload = function() {history.replaceState(null, null, ogU);}}document.getElementsByTagName('head')[0].appendChild(cpo);}());</script></body></html>