CINXE.COM
JetBrains AI | The JetBrains Blog
<!doctype html> <html lang="en_US"> <head> <title>JetBrains AI | The JetBrains Blog</title> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Cache-Control" content="no-cache"> <link rel="preload" href="https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff2" as="font" type="font/woff2" crossorigin> <link rel="preload" href="/wp-content/themes/jetbrains/assets/fonts/JetBrainsMono-Regular.woff" as="font" type="font/woff" crossorigin> <link rel="preload" href="/wp-content/themes/jetbrains/assets/fonts/JetBrainsMono-Regular.woff2" as="font" type="font/woff2" crossorigin> <style type="text/css"> /* * Core styles for PriorityNav.js * These styles are not optional and should always be included * * Free to use under the MIT License. * http://twitter.com/GijsRoge */ .priority-nav { white-space: nowrap; /* * Makes sure the menu's are inline-block so they don't take up * the entire width of its parent. This will break the plugin. */ } .priority-nav > ul { display: inline-block; } .priority-nav > ul > li { display: inline-block; } .priority-nav-has-dropdown .priority-nav__dropdown-toggle { position: relative; } .priority-nav__wrapper { position: relative; } .priority-nav__dropdown { position: absolute; visibility: hidden; } .priority-nav__dropdown.show { visibility: visible; } .priority-nav__dropdown-toggle { visibility: hidden; position: absolute; } .priority-nav-is-visible { visibility: visible; } .priority-nav-is-hidden { visibility: hidden; } /* light weight */ @font-face { font-family: "JetBrains Sans"; src: url("https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff2") format("woff2"), url("https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Light.woff") format("woff"); font-weight: 300; font-style: normal; font-display: swap; } /* Regular weight */ @font-face { font-family: "JetBrains Sans"; src: url("https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff2") format("woff2"), url("https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; } /* SemiBold weight */ @font-face { font-family: "JetBrains Sans"; src: url("https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff2") format("woff2"), url("https://resources.jetbrains.com/storage/jetbrains-sans/JetBrainsSans-SemiBold.woff") format("woff"); font-weight: 530; font-style: normal; font-display: swap; } .custom-select-container { position: relative; box-sizing: border-box;; } .custom-select-container * { box-sizing: border-box; } .custom-select-container.is-disabled { opacity: .333; } .custom-select-opener { background-color: #ccc; padding: 0.5em; display: block; cursor: pointer; width: 100%; } .custom-select-container select { visibility: hidden; position: absolute; top: 0; left: 0; } .custom-select-panel { max-height: 0; transition: max-height .5s ease-out, overflow-y 0.1s 0.5s; overflow: hidden; background-color: #e9e9e9; position: absolute; top: 100%; z-index: 1; width: 100%; } .custom-select-container.is-open .custom-select-panel { max-height: 10.7em; overflow-y: auto } .custom-select-option { padding: 0.5em; } .custom-select-option.has-focus { background-color: LightBlue; } .custom-select-option.is-selected::before { content: "✔"; padding-right: 0.5em; } .custom-select-optgroup > .custom-select-option { padding-left: 2em; } .custom-select-optgroup::before { content: attr(data-label); display: block; padding: 0.5em; color: #888; } .menu-list,.dropdown-language,.navbar ul.row,.navbar ul.row>li ul,.sub-menu,main .article-section .content ol:not([class]):not([id]),main ul:not([class]):not([id]),.menu__nav>ul,.priority-nav__dropdown,.social{margin:0;padding:0;list-style:none}.clearfix:after{content:'';display:block;clear:both}.ellipsis{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.alert-notification{padding:16px 0 0}@media (min-width: 1024px){.alert-notification{padding:32px 0 0}}.alert-notification__box{padding:16px;background:rgba(250,92,74,0.2)}@media (min-width: 1024px){.alert-notification__box{padding:24px}}.alert-notification p{margin:0}.alert-notification p strong{font-weight:600}.space-notification{padding:16px 0 0;width:100vw}@media (min-width: 1024px){.space-notification{padding:24px 0 0;margin-bottom:-34px}}.space-notification__box{padding:16px;background-color:#6B57FF;max-width:100%}@media (min-width: 1024px){.space-notification__box{padding:14px}}.space-notification p{margin:0;color:#ffffff;text-align:center}.space-notification p a{color:#ffffff;border:unset;display:inline-block}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}*{max-height:1000000px}body{color:#19191C;background:#fff;font:16px/1.2 "Arial","Helvetica Neue","Helvetica",sans-serif;min-width:320px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;vertical-align:top}.gm-style img{max-width:none}h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6,.h{font-family:"Arial","Helvetica Neue","Helvetica",sans-serif;font-weight:530;margin:0 0 0.5em;color:#19191C}h1,.h1{font-size:35px}h2,.h2{font-size:28px}h3,.h3{font-size:20px}h4,.h4{font-size:17px}h5,.h5{font-size:14px}h6,.h6{font-size:16px}p{margin:0 0 1em}a{color:#19191C}a:hover,a:focus{text-decoration:none}form,fieldset{margin:0;padding:0;border-style:none}input[type='text'],input[type='tel'],input[type='email'],input[type='search'],input[type='password'],textarea{-webkit-appearance:none;-webkit-border-radius:0;box-sizing:border-box;outline:none;border:1px solid rgba(39,40,44,0.15);padding:0.4em 0.7em}input[type='text']::-webkit-input-placeholder,input[type='tel']::-webkit-input-placeholder,input[type='email']::-webkit-input-placeholder,input[type='search']::-webkit-input-placeholder,input[type='password']::-webkit-input-placeholder,textarea::-webkit-input-placeholder{color:#19191C}input[type='text']::-moz-placeholder,input[type='tel']::-moz-placeholder,input[type='email']::-moz-placeholder,input[type='search']::-moz-placeholder,input[type='password']::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#19191C}input[type='text']:-moz-placeholder,input[type='tel']:-moz-placeholder,input[type='email']:-moz-placeholder,input[type='search']:-moz-placeholder,input[type='password']:-moz-placeholder,textarea:-moz-placeholder{color:#19191C}input[type='text']:-ms-input-placeholder,input[type='tel']:-ms-input-placeholder,input[type='email']:-ms-input-placeholder,input[type='search']:-ms-input-placeholder,input[type='password']:-ms-input-placeholder,textarea:-ms-input-placeholder{color:#19191C}input[type='text'].placeholder,input[type='tel'].placeholder,input[type='email'].placeholder,input[type='search'].placeholder,input[type='password'].placeholder,textarea.placeholder{color:#19191C}select{-webkit-border-radius:0}textarea{resize:vertical;vertical-align:top}button,input[type='button'],input[type='reset'],input[type='file'],input[type='submit']{-webkit-appearance:none;-webkit-border-radius:0;cursor:pointer}/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}mark{background:#ff00;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}[class^="icon-"],[class*=" icon-"]{font-family:"icomoon" !important;speak:never;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.icon-heart:before{content:"\e928"}.icon-thumbs-up:before{content:"\e927"}.icon-merchandise:before{content:"\e926"}.icon-arrow-up:before{content:"\e925"}.icon-twitter:before{content:"\e902"}.icon-date:before{content:"\e923"}.icon-link:before{content:"\e922"}.icon-tiktok:before{content:"\e921"}.icon-warning:before{content:"\e91f"}.icon-alert:before{content:"\e920"}.icon-dots:before{content:"\e91e"}.icon-vk:before{content:"\e915"}.icon-notification:before{content:"\e91d"}.icon-facebook:before{content:"\e904"}.icon-instagram:before{content:"\e907"}.icon-linkedin:before{content:"\e914"}.icon-rss-feed:before{content:"\e918"}.icon-language:before{content:"\e919"}.icon-union:before{content:"\e91a"}.icon-pocket:before{content:"\e906"}.icon-reddit:before{content:"\e908"}.icon-search:before{content:"\e909"}.icon-share:before{content:"\e911"}.icon-slack:before{content:"\e912"}.icon-stackoverflow:before{content:"\e913"}.icon-weibo:before{content:"\e916"}.icon-email:before{content:"\e917"}.icon-cart:before{content:"\e900"}.icon-comments:before{content:"\e901"}.icon-globus:before{content:"\e903"}.icon-like:before{content:"\e905"}.icon-user:before{content:"\e90a"}.icon-wechat:before{content:"\e90b"}.icon-youtube:before{content:"\e90c"}.icon-arrow-left:before{content:"\e90d"}.icon-arrow-right:before{content:"\e90e"}.icon-bag:before{content:"\e90f"}.icon-down:before{content:"\e910"}.icon-django:before{content:"\e924"}.icon-close:before{content:"\e91c"}.icon-menu:before{content:"\e91b"}.icon-play:before{content:"\ea1c"}.icon-stop:before{content:"\ea1e"}.quiz{position:relative;padding:64px 0 96px;color:#fff}@media (min-width: 768px){.quiz{padding:96px 0 145px}}@media (min-width: 1024px){.quiz{padding:134px 0 145px}}.quiz:before{content:"";position:absolute;top:-600px;left:-625px;width:1249px;height:1145px;background:radial-gradient(ellipse at center, #6101bf 0%, #6101bf 30%, #4400d5 55%, #000 80%);filter:blur(240px);opacity:0.6}@media (min-width: 768px){.quiz:before{left:-417px}}@media (min-width: 1200px){.quiz:before{left:-141px}}.quiz:after{content:"";position:absolute;bottom:-550px;right:-342px;width:1004px;height:921px;background:radial-gradient(ellipse at center, #5e00d5 1%, #000356 73%, #000 100%);filter:blur(240px);opacity:0.7}@media (min-width: 768px){.quiz:after{right:-323px}}@media (min-width: 1200px){.quiz:after{right:-190px;bottom:-550px}}.quiz .container{position:relative;z-index:10;max-width:1544px}.quiz h1{font-size:42px;line-height:1.2;color:#fff;margin:0 0 32px}@media (min-width: 768px){.quiz h1{font-size:72px;line-height:1;letter-spacing:-0.8px;margin:0 0 50px}}@media (min-width: 1024px){.quiz h1{font-size:92px}}.quiz__head{font-size:23px;line-height:1.3044;font-weight:300;max-width:1015px;margin:0 0 96px}@media (min-width: 768px){.quiz__head{font-size:39px;line-height:1.26}}.quiz__head h1{margin:0 0 32px}@media (min-width: 768px){.quiz__head h1{margin:0 0 50px}}.quiz__head p{margin:0 0 24px}@media (min-width: 768px){.quiz__head p{margin:0 0 32px}}.quiz h2{font-size:28px;letter-spacing:-0.05px;color:#fff}@media (min-width: 768px){.quiz h2{font-size:43px}}.quiz__works{background:#5244bb;border-radius:16px;padding:16px;margin:0 0 25px}@media (max-width: 767px){.quiz__works .js-slide-hidden{position:unset !important}}@media (min-width: 768px){.quiz__works{border-radius:24px;padding:32px 32px 16px}}.quiz__works-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:0 0 24px}@media (min-width: 768px){.quiz__works-head{padding:0 0 16px}}.quiz__works-head h2{margin:0}.quiz__works-opener{display:none}@media (min-width: 768px){.quiz__works-opener{font-size:20px;display:inline-block;vertical-align:middle;background:#fff;border-radius:3em;color:#19191C;padding:11px 32px;text-align:center}}.quiz__works-opener--hide{display:none}.active .quiz__works-opener--hide{display:block}.quiz__works-opener--reveal{display:block}.active .quiz__works-opener--reveal{display:none}.quiz__works-items{counter-reset:counter;padding:0 10px}@media (min-width: 768px){.quiz__works-items{padding:0 16px}}.quiz__works-item{position:relative;font-size:20px;line-height:1.4;counter-increment:counter;padding:0 0 17px;margin:0 0 32px;border-bottom:1px solid rgba(255,255,255,0.95)}@media (min-width: 768px){.quiz__works-item{padding:32px 0 17px 82px;margin:0}}.quiz__works-item:before{content:counter(counter) ". ";display:block;font-size:40px;line-height:1.1;margin:0 0 16px}@media (min-width: 768px){.quiz__works-item:before{font-size:69px;line-height:1.03;position:absolute;top:32px;left:0;letter-spacing:-0.47px;margin:0}}@media (min-width: 768px){.quiz__works-item:first-child{padding-top:16px}}@media (min-width: 768px){.quiz__works-item:first-child:before{top:16px}}.quiz__works-item:last-child{border:none}@media (max-width: 767px){.quiz__works-item:last-child{padding:0;margin:0}}@media (max-width: 767px){.quiz__works-item:last-child p:last-of-type{margin:0}}.quiz__works-item-wrap{max-width:970px}.quiz__works-item-wrap p{margin:0 0 15px}.quiz__media{position:relative;width:100%;margin:0 0 32px}@media (min-width: 1024px){.quiz__media{margin:0 0 69px}}.quiz__media:before{content:"";display:block;padding-top:56.25%}.quiz__media iframe{position:absolute;top:0;left:0;width:100%;height:100%}.quiz__row{position:relative}@media (min-width: 1024px){.quiz__row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start}}.quiz__questions{position:relative;padding:16px;background:#303033;border-radius:16px}@media (min-width: 768px){.quiz__questions{padding:32px 33px;border-radius:24px}}@media (min-width: 1024px){.quiz__questions{width:calc(55% - 8px)}}@media (min-width: 1200px){.quiz__questions{width:calc(58.5% - 16px)}}.quiz__questions h2{margin:0 0 29px}@media (min-width: 768px){.quiz__questions h2{margin:0 0 48px}}@media (min-width: 1024px){.quiz__questions h2{margin:0 0 29px}}.quiz__questions .quiz__box-count{display:inline-block;margin:0 0 18px}@media (min-width: 1024px){.quiz__questions .quiz__box-count{display:none}}.quiz__questions textarea{font-size:16px;width:100%;color:#fff;border:1px solid rgba(255,255,255,0.2);height:112px;padding:8px;background:transparent;resize:none}.quiz__questions textarea::-webkit-input-placeholder{color:rgba(255,255,255,0.5)}.quiz__questions textarea::-moz-placeholder{opacity:1;color:rgba(255,255,255,0.5)}.quiz__questions textarea:-moz-placeholder{color:rgba(255,255,255,0.5)}.quiz__questions textarea:-ms-input-placeholder{color:rgba(255,255,255,0.5)}.quiz__questions textarea.placeholder{color:rgba(255,255,255,0.5)}@media (min-width: 768px){.quiz__questions textarea{font-size:20px;padding:12px 16px;height:136px}}.quiz__questions button[type="submit"]{font-size:16px;padding:8px 24px;color:#19191C;background:#fff;border-radius:3em}@media (min-width: 768px){.quiz__questions button[type="submit"]{font-size:20px;padding:11px 32px}}.quiz__questions button[type="submit"].disabled{background:#59595b;color:rgba(255,255,255,0.5)}.quiz__slider{position:relative}.quiz__slider-wrapper{position:relative;overflow:hidden;height:112px;margin:0 0 32px}@media (min-width: 768px){.quiz__slider-wrapper{height:136px}}.quiz__slider-prev,.quiz__slider-next{font-size:21px;position:absolute;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #fff;color:#fff;bottom:0;right:0}.quiz__slider-prev.hidden,.quiz__slider-next.hidden{opacity:0}@media (min-width: 768px){.quiz__slider-prev,.quiz__slider-next{font-size:23px;width:52px;height:52px}}.quiz__slider-prev.disabled,.quiz__slider-next.disabled{color:rgba(255,255,255,0.5);border-color:rgba(255,255,255,0.2)}.quiz__slider-prev{right:56px;transform:rotate(180deg)}@media (min-width: 768px){.quiz__slider-prev{right:68px}}.quiz__slide{position:absolute;top:0;left:0;right:0;bottom:0;transition:transform 0.6s ease-in-out}.quiz__slide:not(.active):not(.correct):not(.hidden):not(:first-child){display:none}.quiz__slide.active{transform:translateX(0)}.quiz__slide.hidden{transform:translateX(calc(100% + 32px))}.quiz__slide.correct{transform:translateX(-100%)}.quiz__slide.correct.active{transform:translateX(0)}.quiz__slide.correct textarea{pointer-events:none}.quiz .quiz__slide.correct.active+.quiz__slide.correct.hidden{transform:translateX(calc(100% + 32px))}.quiz .quiz__slide.correct.active:first-child+.quiz__slide.correct.hidden{transform:translateX(calc(100% + 32px))}.quiz__box{position:absolute;top:0;left:0;right:0;bottom:0;border-radius:16px;padding:16px;background:#303033;transform:translateX(calc(100% + 32px));transition:transform 0.6s ease-in-out}@media (min-width: 768px){.quiz__box{border-radius:24px;padding:32px;min-height:384px}}@media (min-width: 1024px){.quiz__box{position:relative;border:solid #fff;border-width:2px 2px 0;background:transparent;width:calc(45% - 8px);min-height:364px;transform:none}}@media (min-width: 1200px){.quiz__box{width:calc(41.5% - 16px)}}@media (max-width: 1023px){.quiz__box--correct{transform:translateX(0)}}@media (max-width: 1023px){.quiz__box--correct .btn.btn--correct{display:block}}@media (max-width: 1023px){.quiz__box--next{transform:translateX(calc(-100% - 32px))}}@media (max-width: 1023px){.quiz__box--not-correct{transform:translateX(0)}}@media (max-width: 1023px){.quiz__box--not-correct .btn.btn--not-correct{display:block}}@media (min-width: 1024px){.quiz__box:before{content:"";position:absolute;left:-2px;bottom:-2px;width:36px;height:50px;border-bottom-left-radius:24px;border:solid #fff;border-width:0 0 2px 2px}}@media (min-width: 1024px){.quiz__box:after{content:"";position:absolute;right:-2px;bottom:-2px;width:calc(100% - 94px);height:50px;border-bottom-right-radius:24px;border:solid #fff;border-width:0 2px 2px 0}}@media (min-width: 1024px){.quiz__box .arrow{position:absolute;top:100%;left:32px;width:64px;height:64px;border:solid #fff;border-width:0 0 2px 2px;transform:skewY(-45deg);transform-origin:0 0;margin-top:2px}}.quiz__box h2{margin:0 0 32px}@media (min-width: 768px){.quiz__box h2{margin:0 0 18px}}@media (min-width: 1024px){.quiz__box h2{display:none}}.quiz__box-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;margin:0 0 16px}@media (min-width: 768px){.quiz__box-head{margin:0 0 30px}}.quiz__box-img{display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:50%;border:2px solid #fff;margin:-4px 0 0 -4px}@media screen and (min-width: 768px) and (max-width: 1023px){.quiz__box-img{position:absolute;top:132px;left:36px}}@media (min-width: 768px){.quiz__box-img{width:132px;height:132px}}.quiz__box-img img{width:100%}.quiz__box-count{font-size:20px;line-height:1.1;font-weight:300;padding:10px;color:rgba(255,255,255,0.5);border-radius:8px;background:rgba(255,255,255,0.2)}@media screen and (min-width: 768px) and (max-width: 1024px){.quiz__box-count{position:absolute;top:32px;right:32px;min-width:114px}}@media (min-width: 768px){.quiz__box-count{font-size:40px;padding:12px}}.quiz__box-count.updated{background:#5244bb;color:#fff}.quiz__box-message{font-size:16px;line-height:1.5;font-weight:300;color:#fff;border-radius:8px;background:rgba(255,255,255,0.05);padding:8px;min-height:88px;margin:0 0 36px}@media (min-width: 768px){.quiz__box-message{font-size:20px;line-height:1.4;padding:16px;border-radius:16px;min-height:136px;margin:0 0 32px 152px}}@media (min-width: 1024px){.quiz__box-message{font-size:29px;line-height:1.345;min-height:141px;margin:0}}.quiz__box-message p{margin:0}.quiz__box .btn{display:none;background:#fff;color:#19191C}@media (min-width: 768px){.quiz__box .btn{font-size:20px;padding:11px 32px}}@media (min-width: 1024px){.quiz__box .btn{display:none}}.quiz__done{font-size:23px;line-height:1.30435;font-weight:300}@media (min-width: 768px){.quiz__done{font-size:29px;line-height:1.345}}@media (min-width: 1200px){.quiz__done{padding:0 35% 0 0}}@media (min-width: 1366px){.quiz__done{padding:0 28% 0 0}}@media (min-width: 1440px){.quiz__done{padding:0 32% 0 0}}.quiz__done p{margin:0 0 24px}@media (min-width: 768px){.quiz__done p{margin:0 0 32px}}.quiz .form-subscribe{background:transparent;max-width:544px;padding:24px 0 0}@media (min-width: 768px){.quiz .form-subscribe{padding:32px 0 0}}@media (min-width: 1200px){.quiz .form-subscribe{max-width:598px}}.quiz .form-subscribe input[type="text"],.quiz .form-subscribe input[type="tel"],.quiz .form-subscribe input[type="email"],.quiz .form-subscribe input[type="search"],.quiz .form-subscribe input[type="password"],.quiz .form-subscribe input[type="url"],.quiz .form-subscribe input[type="date"],.quiz .form-subscribe textarea{font-size:16px;line-height:1.5;width:100%;color:#fff;border:1px solid rgba(255,255,255,0.2);height:40px;padding:4px 7px;background:#303033}.quiz .form-subscribe input[type="text"]::-webkit-input-placeholder,.quiz .form-subscribe input[type="tel"]::-webkit-input-placeholder,.quiz .form-subscribe input[type="email"]::-webkit-input-placeholder,.quiz .form-subscribe input[type="search"]::-webkit-input-placeholder,.quiz .form-subscribe input[type="password"]::-webkit-input-placeholder,.quiz .form-subscribe input[type="url"]::-webkit-input-placeholder,.quiz .form-subscribe input[type="date"]::-webkit-input-placeholder,.quiz .form-subscribe textarea::-webkit-input-placeholder{color:rgba(255,255,255,0.5)}.quiz .form-subscribe input[type="text"]::-moz-placeholder,.quiz .form-subscribe input[type="tel"]::-moz-placeholder,.quiz .form-subscribe input[type="email"]::-moz-placeholder,.quiz .form-subscribe input[type="search"]::-moz-placeholder,.quiz .form-subscribe input[type="password"]::-moz-placeholder,.quiz .form-subscribe input[type="url"]::-moz-placeholder,.quiz .form-subscribe input[type="date"]::-moz-placeholder,.quiz .form-subscribe textarea::-moz-placeholder{opacity:1;color:rgba(255,255,255,0.5)}.quiz .form-subscribe input[type="text"]:-moz-placeholder,.quiz .form-subscribe input[type="tel"]:-moz-placeholder,.quiz .form-subscribe input[type="email"]:-moz-placeholder,.quiz .form-subscribe input[type="search"]:-moz-placeholder,.quiz .form-subscribe input[type="password"]:-moz-placeholder,.quiz .form-subscribe input[type="url"]:-moz-placeholder,.quiz .form-subscribe input[type="date"]:-moz-placeholder,.quiz .form-subscribe textarea:-moz-placeholder{color:rgba(255,255,255,0.5)}.quiz .form-subscribe input[type="text"]:-ms-input-placeholder,.quiz .form-subscribe input[type="tel"]:-ms-input-placeholder,.quiz .form-subscribe input[type="email"]:-ms-input-placeholder,.quiz .form-subscribe input[type="search"]:-ms-input-placeholder,.quiz .form-subscribe input[type="password"]:-ms-input-placeholder,.quiz .form-subscribe input[type="url"]:-ms-input-placeholder,.quiz .form-subscribe input[type="date"]:-ms-input-placeholder,.quiz .form-subscribe textarea:-ms-input-placeholder{color:rgba(255,255,255,0.5)}.quiz .form-subscribe input[type="text"].placeholder,.quiz .form-subscribe input[type="tel"].placeholder,.quiz .form-subscribe input[type="email"].placeholder,.quiz .form-subscribe input[type="search"].placeholder,.quiz .form-subscribe input[type="password"].placeholder,.quiz .form-subscribe input[type="url"].placeholder,.quiz .form-subscribe input[type="date"].placeholder,.quiz .form-subscribe textarea.placeholder{color:rgba(255,255,255,0.5)}@media (min-width: 768px){.quiz .form-subscribe input[type="text"],.quiz .form-subscribe input[type="tel"],.quiz .form-subscribe input[type="email"],.quiz .form-subscribe input[type="search"],.quiz .form-subscribe input[type="password"],.quiz .form-subscribe input[type="url"],.quiz .form-subscribe input[type="date"],.quiz .form-subscribe textarea{font-size:20px;line-height:1.4;height:52px;padding:7px 14px}}.quiz .form-subscribe input[type="text"]:focus,.quiz .form-subscribe input[type="tel"]:focus,.quiz .form-subscribe input[type="email"]:focus,.quiz .form-subscribe input[type="search"]:focus,.quiz .form-subscribe input[type="password"]:focus,.quiz .form-subscribe input[type="url"]:focus,.quiz .form-subscribe input[type="date"]:focus,.quiz .form-subscribe textarea:focus{border-color:rgba(255,255,255,0.6);outline:1px solid rgba(255,255,255,0.6)}.quiz .form-subscribe label{font-size:13px;color:rgba(255,255,255,0.7)}@media (min-width: 768px){.quiz .form-subscribe label{font-size:16px}}.quiz .form-subscribe label a{color:#fff;box-shadow:inset 0 -1px 0 #fff;border:none}@media (min-width: 768px){.quiz .form-subscribe label a{margin:0 0 0 4px}}.quiz .form-subscribe label a:hover{box-shadow:inset 0 -1px 0 transparent}.quiz .form-subscribe label a i{top:0;font-size:13px;right:-20px}@media (min-width: 768px){.quiz .form-subscribe label a i{top:4px}}@media (min-width: 768px){.quiz .form-subscribe__group-checkbox{margin-top:-6px}}.quiz .form-subscribe button{transition:background .15s ease-in-out;font-size:16px;line-height:1.5;background:#fff;color:#19191C;border-radius:3em;padding:8px 24px;margin:30px 0 0}@media (min-width: 768px){.quiz .form-subscribe button{font-size:20px;line-height:1.4;padding:12px 32px}}.quiz .form-subscribe button:hover{background:rgba(255,255,255,0.8)}.quiz .form-subscribe #checkbox+label{position:relative;cursor:pointer;padding:0 0 16px 0}.quiz .form-subscribe #subscribe-checkbox,.quiz .form-subscribe #agree-to-enter-the-Easter-Egg-Hunt-Challenge{position:absolute;z-index:-1;opacity:0}.quiz .form-subscribe #subscribe-checkbox+label,.quiz .form-subscribe #agree-to-enter-the-Easter-Egg-Hunt-Challenge+label{position:relative;cursor:pointer;padding:0 0 16px 24px}.quiz .form-subscribe #subscribe-checkbox+label::before,.quiz .form-subscribe #agree-to-enter-the-Easter-Egg-Hunt-Challenge+label::before{content:"";position:absolute;top:1px;left:0;width:16px;height:16px;background-color:#303033;border:1px solid rgba(255,255,255,0.2);cursor:pointer;-webkit-appearance:none}@media (min-width: 768px){.quiz .form-subscribe #subscribe-checkbox+label::before,.quiz .form-subscribe #agree-to-enter-the-Easter-Egg-Hunt-Challenge+label::before{top:2px}}.quiz .form-subscribe #subscribe-checkbox:checked+label:before,.quiz .form-subscribe #agree-to-enter-the-Easter-Egg-Hunt-Challenge:checked+label:before{background:#fff}.quiz .form-subscribe #subscribe-checkbox:checked+label:after,.quiz .form-subscribe #agree-to-enter-the-Easter-Egg-Hunt-Challenge:checked+label:after{content:"";display:block;position:absolute;top:3px;left:6px;width:5px;height:10px;border:solid #19191C;border-width:0 2px 2px 0;transform:rotate(45deg)}@media (min-width: 768px){.quiz .form-subscribe #subscribe-checkbox:checked+label:after,.quiz .form-subscribe #agree-to-enter-the-Easter-Egg-Hunt-Challenge:checked+label:after{top:4px}}.quiz .form_massage{font-size:20px;padding:30px 0 0 4px}.quiz .form_massage p i{margin:0 12px 0 0}.quiz__img{position:relative;width:288px;height:288px;background:rgba(107,87,255,0.9);border-radius:50%;margin:64px auto 0}@media (min-width: 768px){.quiz__img{width:346px;height:346px;margin:96px auto 0}}@media (min-width: 1200px){.quiz__img{position:absolute;top:0;right:32px;margin:0}}.quiz__img .heart{display:flex;align-items:center;justify-content:center;position:absolute;top:2px;right:8px;width:80px;height:80px;background:#fff;border-radius:50%;cursor:pointer}@media (min-width: 768px){.quiz__img .heart{width:96px;height:96px}}.quiz__img .heart i{font-size:32px;color:#6b57ff}@media (min-width: 768px){.quiz__img .heart i{font-size:38px}}.quiz__img .heart .heart-animate{position:absolute;width:80px;top:-104px;right:8px}@media (min-width: 768px){.quiz__img .heart .heart-animate{width:96px}}.quiz__terms{text-align:center;margin:0 0 20px}@media (min-width: 768px){.quiz__terms{margin:0 0 40px}}.quiz__terms a{color:#ffffff}.header{position:relative;flex-shrink:0;background:#27282c;z-index:999;padding:10px 0}@media (min-width: 769px){.header{padding:14px 0}}.header>.container{display:flex;flex-wrap:wrap;align-items:center}.logo{display:block;width:172px}@media (min-width: 769px){.logo{width:221px}}.logo a{display:flex;flex-wrap:wrap;align-items:center;color:#fff;font-size:16px;line-height:1.5;border:none}@media (min-width: 769px){.logo a{font-size:20px;line-height:1.4}}.logo img{display:block;width:100%;max-height:26px;max-width:max-content}.logo p{margin:0}.menu-list{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;width:calc(100% - 172px);padding:0 40px 0 0}@media (min-width: 641px){.menu-list{padding:0 24px 0 0}}@media (min-width: 769px){.menu-list{width:calc(100% - 221px);padding:0 6px 0 30px}}.menu-list>li{margin-left:18px}@media (min-width: 768px){.menu-list>li{margin-left:26px}}.menu-list>li:first-child{margin-left:0}@media (min-width: 769px){.menu-list>li:first-child{margin-left:26px}}@media (min-width: 1024px){.menu-list>li:first-child{margin-right:14px}}.menu-list a{display:inline-block;vertical-align:middle;line-height:1;color:rgba(255,255,255,0.7);border:none;box-shadow:none}.menu-list a .mobile-hidden{display:none}@media (min-width: 769px){.menu-list a .mobile-hidden{display:block}}.menu-list a:hover{color:#fff;text-decoration:none;box-shadow:none}.menu-list a:hover i:not(.burger-icon){color:#fff}.menu-list a:hover i:not(.burger-icon):after{background:rgba(255,255,255,0.1)}.menu-list i:not(.burger-icon){transition:color .15s ease-in-out;position:relative;font-size:16px;color:rgba(255,255,255,0.7)}.menu-list i:not(.burger-icon).icon-search{font-size:22px}.menu-list i:not(.burger-icon):after{transition:background .15s ease-in-out;content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:35px;height:35px;border-radius:50%}@media (min-width: 769px){.menu-list i:not(.burger-icon):after{width:40px;height:40px}}.dropdown-language{transition:opacity .15s ease-in-out,visibility .15s ease-in-out;font-size:14px;position:absolute;top:100%;right:-15px;transform:none;background:#27282c;margin:8px 0 0;border:1px solid #5e5e60;opacity:0;visibility:hidden;width:180px}@media (min-width: 481px){.dropdown-language{margin:22px 0 0}}@media (min-width: 1024px){.dropdown-language{font-size:16px;right:0;width:auto;display:inline-grid;grid-auto-flow:column;grid-template-rows:auto auto auto auto;grid-template-columns:auto auto auto auto}}@media (min-width: 769px){.dropdown-language li{display:flex;min-width:120px}}.dropdown-language a{transition:background .15s ease-in-out,color .15s ease-in-out;display:block;padding:8px 16px;color:rgba(255,255,255,0.7);border:none;box-shadow:none}@media (min-width: 769px){.dropdown-language a{padding:12px 16px;flex-grow:1}}.dropdown-language a.active{background:rgba(22,125,255,0.2);color:#fff;text-decoration:none}.dropdown-language a:hover{background:rgba(255,255,255,0.1);color:#fff;text-decoration:none}.navbar{transition:opacity .15s ease-in-out,visibility .15s ease-in-out;position:absolute;top:100%;left:0;right:0;z-index:99;background:#fff;padding:24px 0 32px;opacity:0;visibility:hidden}@media (min-width: 481px){.navbar{padding-bottom:0}}@media (min-width: 768px){.navbar{padding-top:32px}}.navbar ul.row{display:flex;flex-wrap:wrap;font-size:13px;line-height:1.5}@media (min-width: 1280px){.navbar ul.row{justify-content:space-between}}@media (min-width: 1540px){.navbar ul.row{flex-wrap:nowrap;font-size:16px}}.navbar ul.row>li{padding:0 24px 16px 0;width:100%}@media (min-width: 481px){.navbar ul.row>li{width:50%}}@media (min-width: 768px){.navbar ul.row>li{width:33.332%}}@media (min-width: 1024px){.navbar ul.row>li{width:25%;padding-right:30px}}@media (min-width: 1280px){.navbar ul.row>li{width:auto}}@media (min-width: 1540px){.navbar ul.row>li{padding-right:38px}}.navbar ul.row>li:last-child{padding-right:0}.navbar ul.row>li ul{letter-spacing:0.0015em;font-feature-settings:"tnum" on, "lnum" on}@media (min-width: 640px){.navbar ul.row>li ul{width:57%}}@media (min-width: 1024px){.navbar ul.row>li ul{width:auto}}.navbar ul.row>li ul.column-count{display:grid;grid-template-columns:1fr 1fr;column-gap:46px}@media (min-width: 481px){.navbar ul.row>li ul.column-count{grid-template-columns:repeat(2, auto);column-gap:24px}}.navbar ul.row>li ul li{padding:0 0 16px}.navbar ul.row>li ul a{border:none;white-space:nowrap;color:rgba(25,25,28,0.7)}.navbar ul.row>li ul a:hover{color:#19191C}.navbar h4{font-size:13px !important;line-height:1.5;margin:0 0 16px;white-space:nowrap}@media (min-width: 1540px){.navbar h4{font-size:16px !important}}.sub-menu{display:flex;flex-wrap:wrap;margin-bottom:16px}.sub-menu li{margin:0 0 10px;width:50%;padding:6px 0 0}@media (min-width: 641px){.sub-menu li{width:25%}}@media (min-width: 769px){.sub-menu li{width:100%}}@media (min-width: 1025px){.sub-menu li.columns .sub-menu{display:block;column-count:2}}@media (min-width: 1025px){.sub-menu li.columns .sub-menu li{width:auto}}.sub-menu a{position:relative;color:rgba(25,25,28,0.7);border:none;box-shadow:none}.sub-menu a:hover{color:#19191C;text-decoration:none}@media (min-width: 769px){.sub-menu a:hover img{opacity:1;visibility:visible}}.sub-menu a img{transition:opacity .15s ease-in-out,visibility .15s ease-in-out;position:absolute;width:32px;height:32px;left:-40px;top:-6px;opacity:0;visibility:hidden}.burger-icon{position:absolute;top:50%;transform:translateY(-50%);right:16px;width:16px;height:18px;text-indent:-9999px;overflow:hidden;text-decoration:none;z-index:999}@media (min-width: 769px){.burger-icon{display:none}}.burger-icon:before,.burger-icon:after,.burger-icon span{background:rgba(255,255,255,0.7);position:absolute;top:10px;left:0;right:0;height:2px;margin-top:-2px;transition:all 0.2s linear}.burger-icon:before,.burger-icon:after{content:"";top:4px}.burger-icon:after{top:16px}.nav-active .burger-icon:before,.nav-active .burger-icon:after{transform:rotate(45deg);top:10px}.nav-active .burger-icon span{opacity:0}.nav-active .burger-icon:after{transform:rotate(-45deg)}.resize-active *{transition:none !important}html body{font-family:"JetBrains Sans","Arial","Helvetica Neue","Helvetica",sans-serif}html body h1,html body .h1,html body h2,html body .h2,html body h3,html body .h3,html body h4,html body .h4,html body h5,html body .h5,html body h6,html body .h6,html body .h{font-family:inherit}body.admin-bar #wp-admin-bar-customize,body.admin-bar #wp-admin-bar-comments,body.admin-bar #wp-admin-bar-all-in-one-seo-pack{display:none}body.admin-bar #wp-admin-bar-new-content>.ab-item{pointer-events:none}body.admin-bar #wp-admin-bar-new-content #wp-admin-bar-new-post{display:none}body{font-size:16px;line-height:1.5}body.nav-active .navbar{opacity:1;visibility:visible}body.nav-active .overlay{opacity:1;visibility:visible}body.lang-active .header .dropdown-language{opacity:1;visibility:visible}body.toc-active{overflow:hidden}body.hide-menu .menu,body.hideScrollUp .menu{opacity:0;visibility:hidden;transition:none}@media (min-width: 1025px){body.post-type-archive .promo__img{width:calc(50% - 13px)}}body.page-template-template-easter-egg main{background:#000}body.footer-lang-active .footer .dropdown-language{opacity:1;visibility:visible}body .tag{transition:border-color .15s ease-in-out,background .15s ease-in-out;font-size:13px;line-height:1.54;padding:1px 15px;display:inline-block;border:1px solid rgba(25,25,28,0.3);border-radius:4px;margin:0 8px 8px 0;white-space:nowrap;cursor:pointer}body .tag:hover{background:rgba(25,25,28,0.1);border-color:rgba(25,25,28,0.4);text-decoration:none;box-shadow:none}@media (max-width: 767px){body.search .top-page{padding-bottom:35px}}@media (max-width: 767px){body.search .menu{display:none}}#wrapper{min-height:100vh;width:100%;display:flex;flex-direction:column;overflow:hidden;position:relative}a{transition:color .15s ease-in-out,box-shadow .15s ease-in-out,border-color .15s ease-in-out;text-decoration:none;border-bottom:1px solid rgba(25,25,28,0.4)}a:hover{border-color:#19191C}h1{line-height:1.22}@media (min-width: 641px){h1{font-size:43px;line-height:1.14}}h2{line-height:1.143}@media (min-width: 641px){h2{font-size:35px;line-height:1.2}}h3{line-height:1.4;margin:0 0 16px}h4{font-size:17px;line-height:1.412;margin:0 0 16px}h5{font-size:14px;line-height:1.43;margin:0 0 8px}.btn,.jb-download-button{transition:background .15s ease-in-out,color .15s ease-in-out;font-size:16px;line-height:1.5;display:inline-block;vertical-align:middle;text-align:center;border-radius:2em;color:#fff;background:#6B57FF;padding:8px 24px;border:none}.btn:hover,.jb-download-button:hover{text-decoration:none;box-shadow:none;background:rgba(107,87,255,0.8)}pre,code{font-family:"JetBrainsMono","Times","Baskerville","Georgia",serif;font-style:normal;font-weight:400;font-size:15px;line-height:23px;background:#f4f4f4;border-radius:4px;padding:12px 16px}pre code{padding:0}code{padding:4px 6px}input[type="search"]{-webkit-appearance:none}.container{max-width:1534px;margin:0 auto;padding:0 15px}@media (min-width: 641px){.container{padding:0 32px}}main{flex-grow:1}main .article-section .content ul a:hover{box-shadow:inset 0 -1px 0 #19191c}main .article-section .content ol:not([class]):not([id]){list-style:none;counter-reset:counter;margin-top:16px}@media (min-width: 769px){main .article-section .content ol:not([class]):not([id]){margin-top:32px}}main .article-section .content ol:not([class]):not([id])>li{position:relative;counter-increment:counter;padding:0 0 16px 24px}@media (min-width: 769px){main .article-section .content ol:not([class]):not([id])>li{padding-bottom:24px}}main .article-section .content ol:not([class]):not([id])>li:before{content:counter(counter) ". ";position:absolute;top:0;left:2px}main .article-section .content ol:not([class]):not([id])>li:last-child{padding-bottom:0}main .article-section .content ol:not([class]):not([id])>li a:hover{box-shadow:inset 0 -1px 0 #19191c}main .article-section .content ol:not([class]):not([id])>li ol:not([class]):not([id]){margin-top:16px;margin-bottom:0}@media (min-width: 769px){main .article-section .content ol:not([class]):not([id])>li ol:not([class]):not([id]){margin-top:24px}}main .article-section .content ol:not([class]):not([id])>li ol:not([class]):not([id]) li{padding:0 0 16px 25px}main .article-section .content ol:not([class]):not([id])>li ol:not([class]):not([id]) li:last-child{padding-bottom:0}main .article-section .content ol:not([class]):not([id]) img{margin:22px 0 24px}main .article-section .content ul:not([class]):not([id]){margin-bottom:24px}main .article-section .content ul:not([class]):not([id]) li:last-child{padding-bottom:0}main .article-section .content ul:not([class]):not([id]) li ul:not([class]):not([id]){margin-top:16px;margin-bottom:0}@media (min-width: 769px){main .article-section .content ul:not([class]):not([id]) li ul:not([class]):not([id]){margin-top:24px}}main .article-section .content ul:not([class]):not([id]) li ul:not([class]):not([id]) li{padding-bottom:16px}main .article-section .content ul:not([class]):not([id]) li ul:not([class]):not([id]) li:last-child{padding-bottom:0}main .article-section .content ul:not([class]):not([id]) img{margin:22px 0 24px}main .article-section .content ul:not([class]):not([id])+h2{margin-top:32px}main .article-section table{margin-bottom:16px;min-width:600px}main .article-section table+figcaption{font-style:italic;font-size:16px}main .article-section table,main .article-section th,main .article-section td{border-bottom:1px solid rgba(25,25,28,0.2);border-collapse:collapse;padding:8px 8px 8px 0;border-right:none;border-left:none;border-top:none;vertical-align:baseline;font-size:16px;line-height:24px}main .article-section figure.wp-block-table{overflow-x:scroll}main .article-section figure.wp-block-table::-webkit-scrollbar{width:0;height:0}main .article-section figure.wp-block-table table{margin-bottom:16px;min-width:600px;width:100%}main .article-section figure.wp-block-table table+figcaption{font-style:italic;font-size:16px}main .article-section figure.wp-block-table table,main .article-section figure.wp-block-table th,main .article-section figure.wp-block-table td{border-bottom:1px solid rgba(25,25,28,0.2);border-collapse:collapse;padding:8px 8px 8px 0;border-right:none;border-left:none;border-top:none;vertical-align:baseline;font-size:16px;line-height:24px}main .article-section .has-text-align-center:not(td){display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:0 0 16px}main ul:not([class]):not([id]) li{position:relative;padding:0 0 16px 25px}@media (min-width: 769px){main ul:not([class]):not([id]) li{padding-bottom:24px}}main ul:not([class]):not([id]) li:before{content:"";position:absolute;top:8px;left:2px;width:5px;height:5px;background:#19191C;border-radius:50%}@media (min-width: 769px){main ul:not([class]):not([id]) li:before{top:10px}}main ul:not([class]):not([id]) li ul:not([class]):not([id]){margin-top:24px}main ul:not([class]):not([id]) li ul:not([class]):not([id]) li{padding-left:32px}main ul:not([class]):not([id]) li ul:not([class]):not([id]) li:before{left:8px;background:transparent;border:1px solid #19191C}button{background:transparent;border:none;outline:none}.form-group{position:relative}.found-wrap{padding:0 16px}@media (min-width: 769px){.row{display:flex;flex-wrap:wrap;margin:0 -16px}}@media (min-width: 769px){.row.card_container .col:nth-child(4n+4){display:flex}}@media (min-width: 769px){.col{display:flex;width:50%;padding:0 16px}}@media (min-width: 1025px){.col{width:33.332%}}@media (min-width: 1281px){.col{width:25%}}@media (min-width: 1025px){.col:nth-child(4n+4){display:none}}@media (min-width: 1281px){.col:nth-child(4n+4){display:flex}}@media (max-width: 767px){.col:last-child .card{margin:0}}.col--double{display:block;width:100%}@media (min-width: 1281px){.col--double{width:66.664%}}.col--double img{border-radius:10px}@media (min-width: 1025px){.row.last-col-home .col:nth-child(4n+4){display:flex}}@media (min-width: 1025px){.row.last-col-home .col:nth-child(4n+7),.row.last-col-home .col:nth-child(4n+8){display:none}}@media (min-width: 1281px){.row.last-col-home .col:nth-child(4n+7),.row.last-col-home .col:nth-child(4n+8){display:flex}}@media (min-width: 1025px){.row.last-col-home.show_all .col:nth-child(4n+7),.row.last-col-home.show_all .col:nth-child(4n+8){display:flex}}@media (min-width: 1281px){.row.last-col-home.show_all .col:nth-child(4n+7),.row.last-col-home.show_all .col:nth-child(4n+8){display:flex}}@media (min-width: 1025px){.row.latest_posts .col:nth-child(4n+6){display:none}}@media (min-width: 1281px){.row.latest_posts .col:nth-child(4n+6){display:flex}}@media (min-width: 1025px){.row.latest_posts .col:nth-child(4n+5){display:none}}@media (min-width: 1281px){.row.latest_posts .col:nth-child(4n+5){display:flex}}@media (min-width: 1025px){.row.latest_posts .col:nth-child(4n+4){display:flex}}.row.latest_posts .col--double{display:block;width:100%}@media (min-width: 1025px){.row.latest_posts .col--double{width:66.66%}}@media (min-width: 1281px){.row.latest_posts .col--double{width:50%}}.dark-theme{background:#19191C;color:white}.light-gray-bg{background:#F4F4F4}.light-gray-bg .card{background:#fff}.top-page{position:relative;padding:35px 0 66px}@media (min-width: 768px){.top-page{min-height:199px}}@media (min-width: 1024px){.top-page{padding:30px 0 90px}}.top-page .social-opener{display:block;position:relative;padding:7px 24px 6px 32px;border-radius:3em;border:1px solid rgba(25,25,28,0.3);text-align:center}.top-page .social-opener:hover{box-shadow:none}.top-page .social-opener:after{content:"\e910";font-size:24px;line-height:1;font-family:"icomoon";cursor:pointer;pointer-events:none;display:inline-block;vertical-align:middle;margin:0 0 0 8px}.top-page h1{font-size:28px;line-height:1.143;color:#000;margin:0}@media (min-width: 641px){.top-page h1{font-size:35px;line-height:1.2}}.top-page h1+p{margin-top:10px}.top-page__row{display:flex;flex-wrap:wrap;align-items:flex-start}.top-page__head{position:relative;z-index:15}@media (min-width: 1024px){.top-page__head{width:50%}}.top-page__wrap a{display:flex;align-items:center;border:none;margin:0 0 8px}@media (min-width: 1025px){.top-page__wrap a{margin:0 0 16px}}.top-page__wrap a:hover{box-shadow:none}.top-page__wrap p{width:100%;margin:0}.top-page__wrap img{width:48px;height:48px;margin:0 16px 0 0}.top-page__hold{color:rgba(25,25,28,0.7)}@media (min-width: 1025px){.top-page__hold{color:#19191C}}.top-page__hold a{display:inline-block;vertical-align:top;text-decoration:none;border:none;margin:0 0 8px}@media (min-width: 1025px){.top-page__hold a{margin:0 0 16px}}.top-page__hold a img{max-width:79%}@media (min-width: 1025px){.top-page__hold a img{max-width:100%}}.top-page .hidden-heading{position:absolute;left:-9999px}.top-page__social-wrap{position:relative;order:2}@media (min-width: 461px){.top-page__social-wrap{margin:0 0 0 16px}}@media (min-width: 1200px){.top-page__social-wrap{order:1;margin:0}}.top-page__right{display:flex;flex-direction:column;width:100%;margin:16px 0}@media (min-width: 461px){.top-page__right{flex-direction:row;align-items:center}}@media (min-width: 1024px){.top-page__right{justify-content:flex-end;width:50%;margin:0}}@media (max-width: 1199px){.top-page__right.social-active .social{opacity:1;visibility:visible}}@media (max-width: 1199px){.top-page__right .social{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;display:flex;flex-direction:column;border:1px solid #d1d1d2;z-index:10;align-items:flex-start;margin:0;opacity:0;visibility:hidden}}@media (min-width: 1024px){.top-page__right .social{margin:0 -6px}}@media (max-width: 1199px){.top-page__right .social li{padding:0;width:100%}}.top-page__right .social li:first-child{display:none}@media (min-width: 1200px){.top-page__right .social li:first-child{display:block;padding-right:20px}}@media (max-width: 1199px){.top-page__right .social li a{align-items:center;padding:8px 11px}}.top-page__right .social li a:hover{box-shadow:none}@media (max-width: 1023px){.top-page__right .social li a:hover{background:rgba(25,25,28,0.1)}}@media (max-width: 1023px){.top-page__right .social li a:hover i:after{background:transparent}}@media (max-width: 1199px){.top-page__right .social li a i{margin:-3px 10px 0 0}}@media (min-width: 1200px){.top-page__right .social li a span{display:none}}.top-page__right .btn{order:1;margin:0 0 16px}@media (min-width: 461px){.top-page__right .btn{margin:0}}@media (min-width: 1200px){.top-page__right .btn{margin:0 0 0 38px;order:2}}@media (min-width: 768px){.top-page__right .social-opener{text-align:left}}@media (min-width: 1200px){.top-page__right .social-opener{display:none}}.menu{transition:transform .15s ease-in-out;display:flex;justify-content:space-between;padding:17px 0 0;position:absolute;bottom:0;left:15px;right:15px;background:#fff;z-index:9;max-width:1470px;margin:0 auto;transform:translateY(0)}@media (min-width: 641px){.menu{left:32px;right:32px}}@media (min-width: 768px){.menu{align-items:flex-end;padding:24px 0 0}}@media (min-width: 1501px){.menu{width:100%;left:auto;right:auto}}@media (min-width: 1024px){.menu:before{content:"";position:absolute;top:0;left:0;bottom:0;background:#fff;padding:0 0 0 9999px;margin:0 0 0 -9999px}}.menu:after{content:"";position:absolute;top:0;right:-16px;bottom:2px;background:-webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, #fff 100%);width:115px;pointer-events:none}@media (min-width: 768px){.menu:after{right:-32px}}@media (min-width: 1024px){.menu:after{top:0;right:0;bottom:0;padding:0 9999px 0 0;margin:0 -9999px 0 0;background:#fff;width:auto}}.menu__border{position:absolute;bottom:0;left:0;right:0;height:1px;background:rgba(39,40,44,0.15)}.menu__border:before{content:"";position:absolute;bottom:0;right:0;padding:0 9999px 0 0;margin:0 -9999px 0 0;height:1px;background:rgba(39,40,44,0.15);z-index:99}.menu__border:after{content:"";position:absolute;bottom:0;left:0;padding:0 0 0 9999px;margin:0 0 0 -9999px;height:1px;background:rgba(39,40,44,0.15);z-index:99}.menu.fixed{position:fixed;top:0;bottom:auto;z-index:991;padding-top:13px}.menu__wrapper{display:flex;justify-content:space-between;width:100%}.menu__nav{overflow-x:auto;white-space:nowrap;flex:1 0 0}@media (min-width: 1024px){.menu__nav{padding:0 40px 0 0}}@media (min-width: 1201px){.menu__nav{padding:0}}.menu__nav>ul{display:inline-block;margin:0 -10px;white-space:nowrap}@media (min-width: 1024px){.menu__nav>ul{margin:0 -14px}}.menu__nav>ul li{display:inline-block;padding:0 10px}@media (min-width: 1024px){.menu__nav>ul li{padding:0 14px}}.menu__nav>ul a{position:relative;display:block;color:rgba(25,25,28,0.7);border:none;box-shadow:none;padding:0 0 8px;font-feature-settings:"ss19" on}.menu__nav>ul a:hover{color:#19191C;text-decoration:none}.menu__nav>ul a:hover:after{background:#19191C}.menu__nav>ul a:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:transparent}.menu__nav>ul a.curent_tax{color:#6B57FF;text-decoration:none}.menu__nav>ul a.curent_tax:after{background:#6B57FF;height:2px}.menu__nav .priority-nav__wrapper{font-size:16px;line-height:1.5;padding:0 0 0 16px}.menu__nav .nav__dropdown-toggle{transition:color .15s ease-in-out;color:rgba(25,25,28,0.7)}.menu__nav .nav__dropdown-toggle:hover{color:#19191C}.menu__nav .nav__dropdown-toggle:hover:after{color:#19191C}.menu__nav .nav__dropdown-toggle:after{transition:color .15s ease-in-out;content:"\e910";font-size:24px;font-family:"icomoon";display:inline-block;vertical-align:middle;color:rgba(25,25,28,0.7)}.menu__right{display:none}@media (min-width: 1024px){.menu__right{position:relative;display:flex;justify-content:flex-end;width:20%;align-items:center;padding:0 0 13px}}.menu__right *{position:relative;z-index:10}@media (min-width: 1024px){.menu__right:after{content:"";position:absolute;top:0;left:-36px;right:0;bottom:2px;background:linear-gradient(270deg, #fff 90.63%, rgba(255,255,255,0) 99.17%)}}@media (max-width: 767px){.menu__right .btn{font-size:13px}}.menu__cta{display:none}@media (min-width: 1025px){.menu__cta{display:flex;align-items:center;position:relative;z-index:99;justify-content:flex-end;text-decoration:none;border:none;white-space:nowrap;margin:0 0 6px}}@media (min-width: 1200px){.menu__cta{padding-left:62px}}@media (min-width: 1025px){.menu__cta:after{content:"";position:absolute;top:-2px;left:-40px;right:0;bottom:-2px;background:linear-gradient(270deg, #fff 90.63%, rgba(255,255,255,0) 99.17%)}}.menu__cta-mobile{font-size:18px;position:fixed;display:flex;align-items:center;justify-content:center;bottom:72px;right:16px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(25,25,28,0.3);background:#fff;z-index:99}@media (min-width: 1025px){.menu__cta-mobile{display:none}}.menu__cta-mobile:before{content:"";position:absolute;top:-1px;right:4px;width:8px;height:8px;border-radius:50%;background:#6B57FF}.menu__cta-mobile i{margin:0 0 0 -2px}.menu__cta:hover i{color:#19191C}.menu__cta:hover .menu__cta-text{color:#19191C}.menu__cta i{transition:color .15s ease-in-out}@media (min-width: 1025px){.menu__cta i{position:relative;z-index:10;font-size:18px;color:rgba(25,25,28,0.7)}}.menu__cta-text{transition:color .15s ease-in-out}@media (min-width: 1025px){.menu__cta-text{position:relative;z-index:10;margin:0 4px 0 10px;color:rgba(25,25,28,0.7)}}@media (min-width: 1025px){.menu__cta .label{position:relative;z-index:10;font-size:13px;line-height:1.54;display:inline-block;vertical-align:middle;background:#6B57FF;color:#fff;padding:2px 8px;border-radius:3px}}.priority-nav__dropdown{top:100%;left:16px;border:1px solid #d1d1d2;background-color:white;margin:35px 0 0;z-index:99;width:320px}@media (min-width: 768px){.priority-nav__dropdown{margin-top:28px}}@media (min-width: 1024px){.priority-nav__dropdown{margin-top:35px}}.priority-nav__dropdown li:last-child{margin:0}.priority-nav__dropdown a{display:block;color:#19191c;border:none;padding:8px 16px}.priority-nav__dropdown a.curent_tax{background:#19191C;color:#fff}.priority-nav__dropdown a.curent_tax:hover{background:#19191C;color:#fff}.priority-nav__dropdown a:hover{color:#19191C;text-decoration:none;box-shadow:none;background:rgba(25,25,28,0.1)}.social{display:flex;flex-wrap:wrap;align-items:center;margin:0 -11px}.social li{padding:0 11px}.social a{display:flex;color:#19191C;border:none;box-shadow:none}.social a:hover i:after{background:rgba(25,25,28,0.1)}.social a i{position:relative;font-size:17px}.social a i.icon-twitter{font-size:15px}.social a i.icon-youtube{font-size:13px}.social a i.icon-link{font-size:11px}.social a i:after{transition:background .15s ease-in-out;content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:35px;height:35px;border-radius:50%}@media (min-width: 769px){.social a i:after{width:40px;height:40px}}.social a:hover{text-decoration:none}.intro{padding:72px 0 56px;background:#F4F4F4}.intro h1{margin:0 0 24px}.intro h2{max-width:720px}.promo{padding:32px 0 0}.promo .tag{margin:0 8px 16px 0}.promo__row{display:flex;flex-wrap:wrap;flex-direction:column;position:relative;overflow:hidden}@media (min-width: 1024px){.promo__row{align-items:center;flex-direction:row}}.promo__img{width:100%;overflow:hidden;border-radius:8px;border:none}@media (min-width: 1025px){.promo__img{width:calc(50% - 16px)}}.promo__img:hover{border:none;box-shadow:none}.promo__img:only-child{width:100%}.promo__img img{width:100%}.promo__text{font-size:16px;line-height:1.5;padding:16px 0}@media (min-width: 641px){.promo__text{padding:32px 0}}@media (min-width: 1025px){.promo__text{width:51%;padding:0 0 0 32px}}@media (min-width: 1201px){.promo__text{font-size:20px;line-height:1.4;width:42%}}.promo__text:only-child{width:100%;padding:0}@media (min-width: 1280px){.promo__text:only-child{width:74.5%}}.promo__text h1,.promo__text h2,.promo__text .h1{font-size:28px;line-height:1.143;letter-spacing:0;margin-top:0;margin-bottom:16px}@media (min-width: 1201px){.promo__text h1,.promo__text h2,.promo__text .h1{font-size:35px;line-height:1.2;margin-bottom:32px}}.promo__text h1 a,.promo__text h2 a,.promo__text .h1 a{display:inline-block;color:inherit;-webkit-line-clamp:3;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;border:none;box-shadow:none}@media (min-width: 769px){.promo__text h1 a,.promo__text h2 a,.promo__text .h1 a{-webkit-line-clamp:2}}@media (min-width: 1201px){.promo__text h1 a,.promo__text h2 a,.promo__text .h1 a{-webkit-line-clamp:4}}.promo__text h1 a:hover,.promo__text h2 a:hover,.promo__text .h1 a:hover{text-decoration:none}.promo__text p{margin:0 0 16px;opacity:0.7}@media (min-width: 1200px){.promo__text p{margin:0 0 32px}}.promo__text .tag{display:none}.promo__link a{border:none;box-shadow:none}.promo__link a:hover{text-decoration:underline}.promo__link a i{display:inline-block;vertical-align:middle;font-size:15px;margin:0 0 0 4px}.promo__link .btn{padding:10px 30px;margin:0 22px 0 0}@media (min-width: 769px){.promo+.section{padding:32px 0 96px}}.overlay{transition:opacity .15s ease-in-out,visibility .15s ease-in-out;position:fixed;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.8);z-index:11;opacity:0;visibility:hidden}.tag-list{display:flex;flex-wrap:wrap;align-items:baseline}.subscribe{font-size:20px;line-height:1.6;background-color:#F4F4F4;background-image:url(./edfb9b9971efea6f04ad75dc85db7c3a.svg);background-repeat:no-repeat;background-position-x:390%;background-position-y:25%;background-size:93%;width:100%;padding:32px}.subscribe h2{margin:0}.subscribe p{margin:0 0 15px}.subscribe form input[type="email"]{font-size:16px;line-height:1.5;max-width:328px;width:100%;height:42px;padding:6px 15px;margin:0 0 9px}.subscribe form .checkbox{padding:0 4px 28px}.subscribe form label{font-size:13px;line-height:1.54}.subscribe form button,.subscribe form input[type="submit"],.subscribe form .btn{transition:opacity .15s ease-in-out;font-size:16px;line-height:1.5;border-radius:2em;outline:none;background:#19191C;color:#fff;border:none;padding:8px 24px}.subscribe form button:hover,.subscribe form input[type="submit"]:hover,.subscribe form .btn:hover{opacity:0.8}.form-subscribe{width:100%}@media (min-width: 769px){.form-subscribe{max-width:472px;background:#f4f4f4;padding:16px 16px 22px}}.form-subscribe__group-input{position:relative;margin:0 0 16px}@media (min-width: 768px){.form-subscribe__group-input{margin:0 0 24px}}.form-subscribe__group-input button{transition:color .15s ease-in-out;position:absolute;top:50%;transform:translateY(-50%);right:10px;padding:0;font-size:22px;line-height:1;color:rgba(25,25,28,0.7)}.form-subscribe__group-input button:hover{color:#19191C}.form-subscribe__group-input button:focus{outline:2px solid #19191C}.form-subscribe__group-checkbox{position:relative}.form-subscribe input[type="text"],.form-subscribe input[type="tel"],.form-subscribe input[type="email"],.form-subscribe input[type="search"],.form-subscribe input[type="password"],.form-subscribe input[type="url"],.form-subscribe input[type="date"],.form-subscribe textarea{font-size:16px;line-height:1.5;width:100%;color:#19191C;border:1px solid rgba(25,25,28,0.2);height:40px;padding:7px 46px 7px 7px}.form-subscribe input[type="text"]::-webkit-input-placeholder,.form-subscribe input[type="tel"]::-webkit-input-placeholder,.form-subscribe input[type="email"]::-webkit-input-placeholder,.form-subscribe input[type="search"]::-webkit-input-placeholder,.form-subscribe input[type="password"]::-webkit-input-placeholder,.form-subscribe input[type="url"]::-webkit-input-placeholder,.form-subscribe input[type="date"]::-webkit-input-placeholder,.form-subscribe textarea::-webkit-input-placeholder{color:rgba(25,25,28,0.5)}.form-subscribe input[type="text"]::-moz-placeholder,.form-subscribe input[type="tel"]::-moz-placeholder,.form-subscribe input[type="email"]::-moz-placeholder,.form-subscribe input[type="search"]::-moz-placeholder,.form-subscribe input[type="password"]::-moz-placeholder,.form-subscribe input[type="url"]::-moz-placeholder,.form-subscribe input[type="date"]::-moz-placeholder,.form-subscribe textarea::-moz-placeholder{opacity:1;color:rgba(25,25,28,0.5)}.form-subscribe input[type="text"]:-moz-placeholder,.form-subscribe input[type="tel"]:-moz-placeholder,.form-subscribe input[type="email"]:-moz-placeholder,.form-subscribe input[type="search"]:-moz-placeholder,.form-subscribe input[type="password"]:-moz-placeholder,.form-subscribe input[type="url"]:-moz-placeholder,.form-subscribe input[type="date"]:-moz-placeholder,.form-subscribe textarea:-moz-placeholder{color:rgba(25,25,28,0.5)}.form-subscribe input[type="text"]:-ms-input-placeholder,.form-subscribe input[type="tel"]:-ms-input-placeholder,.form-subscribe input[type="email"]:-ms-input-placeholder,.form-subscribe input[type="search"]:-ms-input-placeholder,.form-subscribe input[type="password"]:-ms-input-placeholder,.form-subscribe input[type="url"]:-ms-input-placeholder,.form-subscribe input[type="date"]:-ms-input-placeholder,.form-subscribe textarea:-ms-input-placeholder{color:rgba(25,25,28,0.5)}.form-subscribe input[type="text"].placeholder,.form-subscribe input[type="tel"].placeholder,.form-subscribe input[type="email"].placeholder,.form-subscribe input[type="search"].placeholder,.form-subscribe input[type="password"].placeholder,.form-subscribe input[type="url"].placeholder,.form-subscribe input[type="date"].placeholder,.form-subscribe textarea.placeholder{color:rgba(25,25,28,0.5)}.form-subscribe input[type="text"]:focus,.form-subscribe input[type="tel"]:focus,.form-subscribe input[type="email"]:focus,.form-subscribe input[type="search"]:focus,.form-subscribe input[type="password"]:focus,.form-subscribe input[type="url"]:focus,.form-subscribe input[type="date"]:focus,.form-subscribe textarea:focus{border-color:#19191C;outline:1px solid #19191C}.form-subscribe input[type="checkbox"]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0, 0, 0, 0);border:0}.form-subscribe label{display:block;font-size:13px;line-height:1.54;position:relative}.form-subscribe label a{position:relative;display:inline-block;vertical-align:middle}.form-subscribe label a:hover{box-shadow:inset 0 -1px 0 #19191c}.form-subscribe label a i{font-size:12px;position:absolute;top:4px;right:-18px}.form-subscribe .tooltip{font-size:13px;line-height:1.54;letter-spacing:0.0045em;position:absolute;top:100%;left:28px;right:0;border:1px solid rgba(255,255,255,0.1);background:#303033;box-shadow:0px 6px 12px rgba(0,0,0,0.1);border-radius:4px;color:#fff;z-index:99;padding:8px 6px 6px 8px;margin-top:5px;display:none}@media (min-width: 768px){.form-subscribe .tooltip{right:auto;max-width:380px;width:100%}}.form-subscribe .tooltip p{margin:0}.form-subscribe .tooltip p a{color:#fff;border-bottom:1px solid #fff}.form-subscribe .tooltip p a:hover{border-color:#fff;box-shadow:inset 0 -1px 0 #fff}.follow h4{font-size:16px;line-height:1.5;margin:0 0 8px}.select-row{margin:0 0 32px}@media (min-width: 481px){.select-row{display:flex;flex-wrap:wrap}}@media (max-width: 767px){.select-row .select{width:100%;margin:0 0 16px}}@media (min-width: 481px){.select-row .select{width:calc(50% - 8px)}}@media (min-width: 769px){.select-row .select{width:calc(50% - 16px)}}@media (min-width: 1025px){.select-row .select{width:calc(33.332% - 21px)}}@media (min-width: 1281px){.select-row .select{width:calc(25% - 24px)}}@media (min-width: 481px){.select-row .select+.select{margin:0 0 0 16px}}@media (min-width: 769px){.select-row .select+.select{margin:0 0 0 32px}}@media (max-width: 767px){.select-row .select:only-child{width:100%}}select{-webkit-appearance:none;-moz-appearance:none;-ms-appearance:none;appearance:none;outline:0;box-shadow:none;border:1px solid rgba(39,40,44,0.15);background-image:none}select:focus{border-color:#19191C}select::-ms-expand{display:none}select{flex:1;padding:8px 48px 8px 17px;cursor:pointer}.select{position:relative;display:flex}.custom-select-container{width:100%}.custom-select-container:after{content:"\e910";font-family:"icomoon";position:absolute;top:3px;right:8px;font-size:24px;cursor:pointer;pointer-events:none}.custom-select-container.is-open .custom-select-opener{border-color:#19191C}.custom-select-container.is-open .custom-select-panel{border:1px solid #d1d1d2;max-height:202px}.custom-select-opener{transition:border-color .15s ease-in-out;background:#fff;padding:7px;border:1px solid rgba(25,25,28,0.3)}.custom-select-opener:hover{border-color:rgba(25,25,28,0.5)}.custom-select-panel{transition:none;top:calc(100% + 8px);background:#fff}.custom-select-option{cursor:pointer}.custom-select-option.is-selected{background:#19191C;color:#fff}.custom-select-option.is-selected:before{display:none}.custom-select-option.is-selected.has-focus{background:#19191C}.custom-select-option.has-focus{background:rgba(25,25,28,0.1)}.scrollUp .menu{transform:translate3d(0, -100%, 0)}.page-not-found{padding:60px 0}.page-not-found .container{max-width:800px}.page-not-found form{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between}.page-not-found input[type="text"]{width:100%;height:40px;padding:5px 15px;margin:0 0 16px}@media (min-width: 769px){.page-not-found input[type="text"]{width:calc(100% - 118px);margin:0}}.page-not-found input[type="submit"]{border:none;outline:none;border-radius:2em;color:#fff;background:#167dff;padding:8px 24px}.disabled{pointer-events:none}.buttons__row{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;margin:0 0 16px}@media (min-width: 769px){.buttons__row{margin:0 0 24px}}.buttons .btn{margin:0 25px 0 0}.buttons .btn:only-child{margin:0}.buttons .btn--transparent{border:1px solid rgba(25,25,28,0.3);background:transparent;color:#19191c}.buttons .btn--transparent:hover{background:rgba(25,25,28,0.1);border-color:rgba(25,25,28,0.4)}.fake-hash{position:absolute;top:-9999px;left:-9999px;opacity:0;visibility:hidden}.sr-only{border:0;clip:rect(0, 0, 0, 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.skip-content{font-size:16px;line-height:1.5;left:-10000px;opacity:0;position:absolute;top:auto;background-color:rgba(107,87,255,0.9);border:2px solid #fff;border-radius:2em;color:#fff;display:inline-block;padding:8px 24px;text-align:center;transition:opacity 0.2s ease}.skip-content:focus{left:50%;margin:0 0 0 -100px;opacity:1;top:80px}.blockquote{position:relative;padding:16px 0 32px}@media (min-width: 768px){.blockquote{padding:24px 0 48px 120px}}.blockquote blockquote{color:rgba(25,25,28,0.7);margin:0 0 24px;padding:0;border:none}@media (min-width: 769px){.blockquote blockquote{font-size:20px;line-height:1.4;margin:0 0 16px}}.blockquote blockquote p{margin:0 0 16px}.blockquote__author{font-size:16px;line-height:1.5;display:flex;flex-wrap:wrap;align-items:center}.blockquote__author-img{display:block;border-radius:50%;width:64px}@media (min-width: 768px){.blockquote__author-img{position:absolute;top:24px;left:0;width:96px}}.blockquote__author-info{flex:1;padding:0 0 0 8px}@media (min-width: 768px){.blockquote__author-info{padding:0}}.blockquote__author-title{display:block;font-weight:600}.twitter-timeline.twitter-timeline-rendered{border:1px solid rgba(25,25,28,0.2);overflow:hidden;border-radius:10px}.rider-code-highlight{position:relative}.rider-code-highlight:hover .rider-code-highlight-btn-copy{display:block}.rider-code-highlight .rider-code-highlight-btn-copy{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTE1Ljc3IDEyMi44OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTE1Ljc3IDEyMi44OCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHN0eWxlIHR5cGU9InRleHQvY3NzIj4uc3Qwe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO308L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik04OS42MiwxMy45NnY3LjczaDEyLjE5aDAuMDF2MC4wMmMzLjg1LDAuMDEsNy4zNCwxLjU3LDkuODYsNC4xYzIuNSwyLjUxLDQuMDYsNS45OCw0LjA3LDkuODJoMC4wMnYwLjAyIHY3My4yN3YwLjAxaC0wLjAyYy0wLjAxLDMuODQtMS41Nyw3LjMzLTQuMSw5Ljg2Yy0yLjUxLDIuNS01Ljk4LDQuMDYtOS44Miw0LjA3djAuMDJoLTAuMDJoLTYxLjdINDAuMXYtMC4wMiBjLTMuODQtMC4wMS03LjM0LTEuNTctOS44Ni00LjFjLTIuNS0yLjUxLTQuMDYtNS45OC00LjA3LTkuODJoLTAuMDJ2LTAuMDJWOTIuNTFIMTMuOTZoLTAuMDF2LTAuMDJjLTMuODQtMC4wMS03LjM0LTEuNTctOS44Ni00LjEgYy0yLjUtMi41MS00LjA2LTUuOTgtNC4wNy05LjgySDB2LTAuMDJWMTMuOTZ2LTAuMDFoMC4wMmMwLjAxLTMuODUsMS41OC03LjM0LDQuMS05Ljg2YzIuNTEtMi41LDUuOTgtNC4wNiw5LjgyLTQuMDdWMGgwLjAyaDYxLjcgaDAuMDF2MC4wMmMzLjg1LDAuMDEsNy4zNCwxLjU3LDkuODYsNC4xYzIuNSwyLjUxLDQuMDYsNS45OCw0LjA3LDkuODJoMC4wMlYxMy45Nkw4OS42MiwxMy45NnogTTc5LjA0LDIxLjY5di03Ljczdi0wLjAyaDAuMDIgYzAtMC45MS0wLjM5LTEuNzUtMS4wMS0yLjM3Yy0wLjYxLTAuNjEtMS40Ni0xLTIuMzctMXYwLjAyaC0wLjAxaC02MS43aC0wLjAydi0wLjAyYy0wLjkxLDAtMS43NSwwLjM5LTIuMzcsMS4wMSBjLTAuNjEsMC42MS0xLDEuNDYtMSwyLjM3aDAuMDJ2MC4wMXY2NC41OXYwLjAyaC0wLjAyYzAsMC45MSwwLjM5LDEuNzUsMS4wMSwyLjM3YzAuNjEsMC42MSwxLjQ2LDEsMi4zNywxdi0wLjAyaDAuMDFoMTIuMTlWMzUuNjUgdi0wLjAxaDAuMDJjMC4wMS0zLjg1LDEuNTgtNy4zNCw0LjEtOS44NmMyLjUxLTIuNSw1Ljk4LTQuMDYsOS44Mi00LjA3di0wLjAyaDAuMDJINzkuMDRMNzkuMDQsMjEuNjl6IE0xMDUuMTgsMTA4LjkyVjM1LjY1di0wLjAyIGgwLjAyYzAtMC45MS0wLjM5LTEuNzUtMS4wMS0yLjM3Yy0wLjYxLTAuNjEtMS40Ni0xLTIuMzctMXYwLjAyaC0wLjAxaC02MS43aC0wLjAydi0wLjAyYy0wLjkxLDAtMS43NSwwLjM5LTIuMzcsMS4wMSBjLTAuNjEsMC42MS0xLDEuNDYtMSwyLjM3aDAuMDJ2MC4wMXY3My4yN3YwLjAyaC0wLjAyYzAsMC45MSwwLjM5LDEuNzUsMS4wMSwyLjM3YzAuNjEsMC42MSwxLjQ2LDEsMi4zNywxdi0wLjAyaDAuMDFoNjEuN2gwLjAyIHYwLjAyYzAuOTEsMCwxLjc1LTAuMzksMi4zNy0xLjAxYzAuNjEtMC42MSwxLTEuNDYsMS0yLjM3aC0wLjAyVjEwOC45MkwxMDUuMTgsMTA4LjkyeiIvPjwvZz48L3N2Zz4=);background-repeat:no-repeat;display:none;position:absolute;right:10px;top:10px;z-index:10;color:#717171;font-size:1em;padding:0;margin:0 0 0 8px;text-decoration:none;width:23px;height:23px;cursor:pointer;background-size:18px;background-position:center;border-radius:3px}.rider-code-highlight .rider-code-highlight-btn-copy:hover .rider-code-highlight-tooltip{visibility:visible}.rider-code-highlight .rider-code-highlight-btn-copy .rider-code-highlight-tooltip{font-size:15px;font-family:inherit;visibility:hidden;width:140px;background-color:#000;color:#fff;text-align:center;padding:8px 0;border-radius:5px;position:absolute;z-index:10;bottom:30px;transform:translateX(-42%)}.rider-code-highlight__dark .transparent{opacity:0.5}.rider-code-highlight__dark pre{background-color:#262626;color:#d0d0d0;padding:24px;font-family:JetBrains Mono;font-size:medium;border:1px solid rgba(25,25,28,0.5);border-radius:6px}.rider-code-highlight__dark pre code{background-color:inherit}.rider-code-highlight__dark .keyword{color:#6c95eb}.rider-code-highlight__dark .keyword-control{color:#6c95eb}.rider-code-highlight__dark .preprocessor-keyword{color:#6c95eb}.rider-code-highlight__dark .namespace-name{color:#c191ff}.rider-code-highlight__dark .class-name{color:#c191ff}.rider-code-highlight__dark .struct-name{color:#e1bfff}.rider-code-highlight__dark .record-class-name{color:#c191ff}.rider-code-highlight__dark .record-struct-name{color:#e1bfff}.rider-code-highlight__dark .interface-name{color:#c191ff}.rider-code-highlight__dark .type-parameter-name{color:#c191ff}.rider-code-highlight__dark .delegate-name{color:#e1bfff}.rider-code-highlight__dark .enum-name{color:#e1bfff}.rider-code-highlight__dark .event-name{color:#ed94c0}.rider-code-highlight__dark .field-name{color:#66c3cc}.rider-code-highlight__dark .property-name{color:#66c3cc}.rider-code-highlight__dark .enum-member-name{color:#e1bfff}.rider-code-highlight__dark .constant-name{color:#66c3cc;font-weight:bold}.rider-code-highlight__dark .parameter-name{color:#bdbdbd}.rider-code-highlight__dark .local-name{color:#bdbdbd}.rider-code-highlight__dark .reassigned-variable{color:#bdbdbd;border-color:#787878;text-decoration:underline}.rider-code-highlight__dark .method-name{color:#39cc8f}.rider-code-highlight__dark .extension-method-name{color:#39cc8f}.rider-code-highlight__dark .number{color:#ed94c0}.rider-code-highlight__dark .string{color:#c9a26d}.rider-code-highlight__dark .string-verbatim{color:#c9a26d}.rider-code-highlight__dark .string-escape-character{color:#d688d4}.rider-code-highlight__dark .string-escape-character1{color:#d688d4}.rider-code-highlight__dark .string-escape-character2{color:#66c3cc}.rider-code-highlight__dark .comment{color:#85c46c;font-style:italic}.rider-code-highlight__dark .xml-doc-comment-text{color:#85c46c;font-style:italic}.rider-code-highlight__dark .xml-doc-comment-delimiter{color:#85c46c;font-style:italic}.rider-code-highlight__dark .xml-doc-comment-name{color:#487d34}.rider-code-highlight__dark .xml-doc-comment-attribute-name{color:#487d34}.rider-code-highlight__dark .xml-doc-comment-attribute-quotes{color:#c9a26d}.rider-code-highlight__dark .xml-doc-comment-attribute-value{color:#c9a26d}.rider-code-highlight__dark .rider-code-highlight-btn-copy{background-image:url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTE1Ljc3IDEyMi44OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMTE1Ljc3IDEyMi44OCIgZmlsbD0iI2ZmZiIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+ICAgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDt9PC9zdHlsZT48Zz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNODkuNjIsMTMuOTZ2Ny43M2gxMi4xOWgwLjAxdjAuMDJjMy44NSwwLjAxLDcuMzQsMS41Nyw5Ljg2LDQuMWMyLjUsMi41MSw0LjA2LDUuOTgsNC4wNyw5LjgyaDAuMDJ2MC4wMiB2NzMuMjd2MC4wMWgtMC4wMmMtMC4wMSwzLjg0LTEuNTcsNy4zMy00LjEsOS44NmMtMi41MSwyLjUtNS45OCw0LjA2LTkuODIsNC4wN3YwLjAyaC0wLjAyaC02MS43SDQwLjF2LTAuMDIgYy0zLjg0LTAuMDEtNy4zNC0xLjU3LTkuODYtNC4xYy0yLjUtMi41MS00LjA2LTUuOTgtNC4wNy05LjgyaC0wLjAydi0wLjAyVjkyLjUxSDEzLjk2aC0wLjAxdi0wLjAyYy0zLjg0LTAuMDEtNy4zNC0xLjU3LTkuODYtNC4xIGMtMi41LTIuNTEtNC4wNi01Ljk4LTQuMDctOS44Mkgwdi0wLjAyVjEzLjk2di0wLjAxaDAuMDJjMC4wMS0zLjg1LDEuNTgtNy4zNCw0LjEtOS44NmMyLjUxLTIuNSw1Ljk4LTQuMDYsOS44Mi00LjA3VjBoMC4wMmg2MS43IGgwLjAxdjAuMDJjMy44NSwwLjAxLDcuMzQsMS41Nyw5Ljg2LDQuMWMyLjUsMi41MSw0LjA2LDUuOTgsNC4wNyw5LjgyaDAuMDJWMTMuOTZMODkuNjIsMTMuOTZ6IE03OS4wNCwyMS42OXYtNy43M3YtMC4wMmgwLjAyIGMwLTAuOTEtMC4zOS0xLjc1LTEuMDEtMi4zN2MtMC42MS0wLjYxLTEuNDYtMS0yLjM3LTF2MC4wMmgtMC4wMWgtNjEuN2gtMC4wMnYtMC4wMmMtMC45MSwwLTEuNzUsMC4zOS0yLjM3LDEuMDEgYy0wLjYxLDAuNjEtMSwxLjQ2LTEsMi4zN2gwLjAydjAuMDF2NjQuNTl2MC4wMmgtMC4wMmMwLDAuOTEsMC4zOSwxLjc1LDEuMDEsMi4zN2MwLjYxLDAuNjEsMS40NiwxLDIuMzcsMXYtMC4wMmgwLjAxaDEyLjE5VjM1LjY1IHYtMC4wMWgwLjAyYzAuMDEtMy44NSwxLjU4LTcuMzQsNC4xLTkuODZjMi41MS0yLjUsNS45OC00LjA2LDkuODItNC4wN3YtMC4wMmgwLjAySDc5LjA0TDc5LjA0LDIxLjY5eiBNMTA1LjE4LDEwOC45MlYzNS42NXYtMC4wMiBoMC4wMmMwLTAuOTEtMC4zOS0xLjc1LTEuMDEtMi4zN2MtMC42MS0wLjYxLTEuNDYtMS0yLjM3LTF2MC4wMmgtMC4wMWgtNjEuN2gtMC4wMnYtMC4wMmMtMC45MSwwLTEuNzUsMC4zOS0yLjM3LDEuMDEgYy0wLjYxLDAuNjEtMSwxLjQ2LTEsMi4zN2gwLjAydjAuMDF2NzMuMjd2MC4wMmgtMC4wMmMwLDAuOTEsMC4zOSwxLjc1LDEuMDEsMi4zN2MwLjYxLDAuNjEsMS40NiwxLDIuMzcsMXYtMC4wMmgwLjAxaDYxLjdoMC4wMiB2MC4wMmMwLjkxLDAsMS43NS0wLjM5LDIuMzctMS4wMWMwLjYxLTAuNjEsMS0xLjQ2LDEtMi4zN2gtMC4wMlYxMDguOTJMMTA1LjE4LDEwOC45MnoiLz48L2c+PC9zdmc+Cg==)}.rider-code-highlight__light .transparent{opacity:0.5}.rider-code-highlight__light pre{background-color:#ffffff;color:#202020;padding:24px;font-family:JetBrains Mono;font-size:medium;border:1px solid rgba(25,25,28,0.5);border-radius:6px}.rider-code-highlight__light pre code{background-color:inherit}.rider-code-highlight__light .keyword{color:#0f54d6}.rider-code-highlight__light .keyword-control{color:#0f54d6}.rider-code-highlight__light .preprocessor-keyword{color:#0f54d6}.rider-code-highlight__light .namespace-name{color:#6b2fba}.rider-code-highlight__light .class-name{color:#6b2fba}.rider-code-highlight__light .struct-name{color:#300073}.rider-code-highlight__light .record-class-name{color:#6b2fba}.rider-code-highlight__light .record-struct-name{color:#300073}.rider-code-highlight__light .interface-name{color:#6b2fba}.rider-code-highlight__light .type-parameter-name{color:#6b2fba}.rider-code-highlight__light .delegate-name{color:#300073}.rider-code-highlight__light .enum-name{color:#300073}.rider-code-highlight__light .event-name{color:#ab2f6b}.rider-code-highlight__light .field-name{color:#0093a1}.rider-code-highlight__light .property-name{color:#0093a1}.rider-code-highlight__light .enum-member-name{color:#300073}.rider-code-highlight__light .constant-name{color:#0093a1;font-weight:bold}.rider-code-highlight__light .parameter-name{color:#383838}.rider-code-highlight__light .local-name{color:#383838}.rider-code-highlight__light .reassigned-variable{color:#383838;border-color:#949494;text-decoration:underline}.rider-code-highlight__light .method-name{color:#00855f}.rider-code-highlight__light .extension-method-name{color:#00855f}.rider-code-highlight__light .number{color:#ab2f6b}.rider-code-highlight__light .string{color:#8c6c41}.rider-code-highlight__light .string-verbatim{color:#8c6c41}.rider-code-highlight__light .string-escape-character{color:#941290}.rider-code-highlight__light .string-escape-character1{color:#941290}.rider-code-highlight__light .string-escape-character2{color:#0093a1}.rider-code-highlight__light .comment{color:#248700;font-style:italic}.rider-code-highlight__light .xml-doc-comment-text{color:#248700;font-style:italic}.rider-code-highlight__light .xml-doc-comment-delimiter{color:#248700;font-style:italic}.rider-code-highlight__light .xml-doc-comment-name{color:#8bc775}.rider-code-highlight__light .xml-doc-comment-attribute-name{color:#8bc775}.rider-code-highlight__light .xml-doc-comment-attribute-quotes{color:#8c6c41}.rider-code-highlight__light .xml-doc-comment-attribute-value{color:#8c6c41} /*# sourceMappingURL=app.min.css.map*/ </style> <script> var ALGOLIA_INSIGHTS_SRC = "https://cdn.jsdelivr.net/npm/search-insights@2.0.2"; !function(e,a,t,n,s,i,c){e.AlgoliaAnalyticsObject=s,e[s]=e[s]||function(){ (e[s].queue=e[s].queue||[]).push(arguments)},i=a.createElement(t),c=a.getElementsByTagName(t)[0], i.async=1,i.src=n,c.parentNode.insertBefore(i,c) }(window,document,"script",ALGOLIA_INSIGHTS_SRC,"aa"); </script> <link rel="icon" href="https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/img/favicons/favicon.ico" sizes="any"><!-- 32×32 --> <link rel="icon" href="https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/img/favicons/icon.svg" type="image/svg+xml"> <link rel="apple-touch-icon" href="https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/img/favicons/apple-touch-icon.png"><!-- 180×180 --> <link rel="manifest" href="https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/img/favicons/site.webmanifest"> <meta name="apple-mobile-web-app-title" content="JetBrains Blog"> <meta name="application-name" content="JetBrains Blog"> <meta name="msapplication-TileColor" content="#000000"> <meta name="theme-color" content="#000000"> <link rel="alternate" hreflang="en" href="https://blog.jetbrains.com/ai/" /> <link rel="alternate" hreflang="de" href="https://blog.jetbrains.com/de/ai/" /> <link rel="alternate" hreflang="es" href="https://blog.jetbrains.com/es/ai/" /> <link rel="alternate" hreflang="fr" href="https://blog.jetbrains.com/fr/ai/" /> <link rel="alternate" hreflang="ja" href="https://blog.jetbrains.com/ja/ai/" /> <link rel="alternate" hreflang="ko" href="https://blog.jetbrains.com/ko/ai/" /> <link rel="alternate" hreflang="zh-hans" href="https://blog.jetbrains.com/zh-hans/ai/" /> <link rel="alternate" hreflang="pt-br" href="https://blog.jetbrains.com/pt-br/ai/" /> <link rel="alternate" hreflang="x-default" href="https://blog.jetbrains.com/ai/" /> <!-- Search Engine Optimization by Rank Math PRO - https://rankmath.com/ --> <meta name="description" content="JetBrains AI Archive | The JetBrains Blog"/> <meta name="robots" content="follow, index"/> <link rel="canonical" href="https://blog.jetbrains.com/ai/" /> <meta property="og:locale" content="en_US" /> <meta property="og:type" content="article" /> <meta property="og:title" content="JetBrains AI | The JetBrains Blog" /> <meta property="og:description" content="JetBrains AI Archive | The JetBrains Blog" /> <meta property="og:url" content="https://blog.jetbrains.com/ai/" /> <meta property="og:site_name" content="The JetBrains Blog" /> <meta property="article:publisher" content="https://www.facebook.com/JetBrains" /> <meta property="og:image" content="https://resources.jetbrains.com/storage/products/ai/img/meta/preview.png" /> <meta property="og:image:secure_url" content="https://resources.jetbrains.com/storage/products/ai/img/meta/preview.png" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="JetBrains AI | The JetBrains Blog" /> <meta name="twitter:description" content="JetBrains AI Archive | The JetBrains Blog" /> <meta name="twitter:site" content="@jetbrains" /> <meta name="twitter:image" content="https://resources.jetbrains.com/storage/products/ai/img/meta/preview.png" /> <script type="application/ld+json" class="rank-math-schema-pro">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://blog.jetbrains.com/#organization","name":"JetBrains","sameAs":["https://www.facebook.com/JetBrains","https://twitter.com/jetbrains","https://www.instagram.com/jetbrains/","https://www.youtube.com/user/JetBrainsTV","https://www.linkedin.com/company/jetbrains"]},{"@type":"WebSite","@id":"https://blog.jetbrains.com/#website","url":"https://blog.jetbrains.com","name":"The JetBrains Blog","publisher":{"@id":"https://blog.jetbrains.com/#organization"},"inLanguage":"en-US"},{"@type":"CollectionPage","@id":"https://blog.jetbrains.com/ai/#webpage","url":"https://blog.jetbrains.com/ai/","name":"JetBrains AI | The JetBrains Blog","isPartOf":{"@id":"https://blog.jetbrains.com/#website"},"inLanguage":"en-US"}]}</script> <!-- /Rank Math WordPress SEO plugin --> <link rel='dns-prefetch' href='//maxcdn.bootstrapcdn.com' /> <style id='classic-theme-styles-inline-css' type='text/css'> /*! This file is auto-generated */ .wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none} </style> <style id='global-styles-inline-css' type='text/css'> body{--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgba(6,147,227,1) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgba(252,185,0,1) 0%,rgba(255,105,0,1) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgba(255,105,0,1) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgba(255, 255, 255, 1), 6px 6px rgba(0, 0, 0, 1);--wp--preset--shadow--crisp: 6px 6px 0px rgba(0, 0, 0, 1);}:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flow > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-flow > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-flow > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignleft{float: left;margin-inline-start: 0;margin-inline-end: 2em;}body .is-layout-constrained > .alignright{float: right;margin-inline-start: 2em;margin-inline-end: 0;}body .is-layout-constrained > .aligncenter{margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)){max-width: var(--wp--style--global--content-size);margin-left: auto !important;margin-right: auto !important;}body .is-layout-constrained > .alignwide{max-width: var(--wp--style--global--wide-size);}body .is-layout-flex{display: flex;}body .is-layout-flex{flex-wrap: wrap;align-items: center;}body .is-layout-flex > *{margin: 0;}body .is-layout-grid{display: grid;}body .is-layout-grid > *{margin: 0;}:where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;}:where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;} .wp-block-navigation a:where(:not(.wp-element-button)){color: inherit;} :where(.wp-block-post-template.is-layout-flex){gap: 1.25em;}:where(.wp-block-post-template.is-layout-grid){gap: 1.25em;} :where(.wp-block-columns.is-layout-flex){gap: 2em;}:where(.wp-block-columns.is-layout-grid){gap: 2em;} .wp-block-pullquote{font-size: 1.5em;line-height: 1.6;} </style> <link rel='stylesheet' id='wpml-blocks-css' href='https://blog.jetbrains.com/wp-content/plugins/sitepress-multilingual-cms/dist/css/blocks/styles.css?ver=4.6.3' type='text/css' media='all' /> <link rel='stylesheet' id='pb-accordion-blocks-style-css' href='https://blog.jetbrains.com/wp-content/plugins/accordion-blocks/build/index.css?ver=1.5.0' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-frontend-css' href='https://blog.jetbrains.com/wp-content/plugins/wp-user-avatar/assets/css/frontend.min.css?ver=4.15.4' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-flatpickr-css' href='https://blog.jetbrains.com/wp-content/plugins/wp-user-avatar/assets/flatpickr/flatpickr.min.css?ver=4.15.4' type='text/css' media='all' /> <link rel='stylesheet' id='ppress-select2-css' href='https://blog.jetbrains.com/wp-content/plugins/wp-user-avatar/assets/select2/select2.min.css?ver=1d837425d173a9a11b4b5bc34ccb3401' type='text/css' media='all' /> <link rel='stylesheet' id='cms-navigation-style-base-css' href='https://blog.jetbrains.com/wp-content/plugins/wpml-cms-nav/res/css/cms-navigation-base.css?ver=1.5.5' type='text/css' media='screen' /> <link rel='stylesheet' id='cms-navigation-style-css' href='https://blog.jetbrains.com/wp-content/plugins/wpml-cms-nav/res/css/cms-navigation.css?ver=1.5.5' type='text/css' media='screen' /> <link rel='stylesheet' id='font-awesome-css' href='https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css?ver=4.7.0' type='text/css' media='all' /> <link rel='stylesheet' id='icomoon_font-css' href='https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/dist/icomoon_font.min.css?ver=2.15.2' type='text/css' media='all' /> <link rel='stylesheet' id='product-css' href='https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/dist/product.min.css?ver=2.15.2' type='text/css' media='all' /> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/jquery/jquery.min.js' id='jquery-js'></script> <script type='text/javascript' id='wpml-cookie-js-extra'> /* <![CDATA[ */ var wpml_cookies = {"wp-wpml_current_language":{"value":"en","expires":1,"path":"\/"}}; var wpml_cookies = {"wp-wpml_current_language":{"value":"en","expires":1,"path":"\/"}}; /* ]]> */ </script> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/plugins/sitepress-multilingual-cms/res/js/cookies/language-cookie.js?ver=4.6.3' id='wpml-cookie-js'></script> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/plugins/wp-user-avatar/assets/flatpickr/flatpickr.min.js?ver=4.15.4' id='ppress-flatpickr-js'></script> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/plugins/wp-user-avatar/assets/select2/select2.min.js?ver=4.15.4' id='ppress-select2-js'></script> <link rel="https://api.w.org/" href="https://blog.jetbrains.com/wp-json/" /><link rel='shortlink' href='/' /> <meta name="generator" content="WPML ver:4.6.3 stt:60,9,1,4,3,28,29,43,46,2,54;" /> <!-- Google+ / Schema.org --> <meta itemprop="name" content="JetBrains AI | The JetBrains Blog"/> <meta itemprop="headline" content="JetBrains AI | The JetBrains Blog"/> <meta itemprop="image" content="https://resources.jetbrains.com/storage/products/ai/img/meta/preview.png"/> <meta name="image" content="https://resources.jetbrains.com/storage/products/ai/img/meta/preview.png"/> <link rel="icon" href="https://blog.jetbrains.com/wp-content/uploads/2024/01/cropped-mstile-310x310-1-32x32.png" sizes="32x32" /> <link rel="icon" href="https://blog.jetbrains.com/wp-content/uploads/2024/01/cropped-mstile-310x310-1-192x192.png" sizes="192x192" /> <link rel="apple-touch-icon" href="https://blog.jetbrains.com/wp-content/uploads/2024/01/cropped-mstile-310x310-1-180x180.png" /> <meta name="msapplication-TileImage" content="https://blog.jetbrains.com/wp-content/uploads/2024/01/cropped-mstile-310x310-1-270x270.png" /> <!-- Google Tag Manager --> <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-5P98');</script> <!-- End Google Tag Manager --> <style type="text/css" id="wp-custom-css"> /* blog.jetbrains.com-theme/blob/master/custom.css */ #extendify-templates-inserter { display: none !important; } .enlighter-k3{ background-color: transparent !important; } .enlighter-t-enlighter div.enlighter>div.enlighter-special, .enlighter-t-wpcustom div.enlighter>div.enlighter-special{ background-color: #FFEBCC; } a[href*="/tag/newsletter"], a[href*="/tag/newsletter"], a[href*="/tag/how2pro"], a[href*="/tag/sendtoall"], a[href*="/tag/newsletter-resharper"], a[href*="/tag/newsletter-rider"], a[href*="/tag/newsletter-cpp"], a[href*="/tag/newsletter-rust"], a[href*="/webstorm/tag/digest"], a[href*="/category/uncategorized"], a[href*="/category/newsletter"],a[href*="/category/java-annotated"],a[href*="/tag/news-company/"],a[href*="/tag/major-news/"], a[href*="/category/newsletter"], a[href*="/category/how2pro"], a[href*="/category/sendtoall"], a[href*="/category/newsletter-resharper"], a[href*="/category/newsletter-rider"], a[href*="/category/newsletter-cpp"], a[href*="/category/newsletter-rust"] { display: none !important; } #wrapper > main > section.promo div.promo__text > a.tag { display: none !important; } table, th, td { border: 1px solid rgba(50,50,93,.1); border-collapse: collapse; padding: 8px; } .wp-block-image figcaption { font-size: .7em; margin-top: .5em; margin-bottom: 1em; text-align: center; font-style: italic; } div.content>p[data-nosnippet] { font-size: 80%; } blockquote, blockquote.wp-block-quote { font-size: 100%; line-height: 1.5; margin: 32px 0px; padding: 0px 18px; border-left: 2px solid rgba(0, 0, 0, 0.12); } figure.wp-block-embed.is-type-video .wp-block-embed__wrapper, figure.wp-block-embed.is-type-video .wp-block-embed__wrapper { position: relative; width: 100%; height: 0; padding-bottom: 56.25%; } .navbar h3 { font-size:20px !important; } h2, h3, h4, h5 { margin-top: 20px; } h4, h5 { font-size: 20px !important; } figure.wp-block-embed.is-type-video iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } div.content > ul > li > img { margin: 0.5em 0; } .alignright { float: right; } .single-space .content__form { display: none; } .post-type-archive-space .form-subscribe { display: none; } .single .top-page h2.h1 + p { margin-top: 10px; } .single .top-page h2.h1 { margin-bottom: 0; } @media (min-width: 1281px) { .post-type-archive-space .product-blog .product-blog__content .col { width: 25%; } .post-type-archive-space .product-blog__content { width: 100%; } } main .article-section .content>ol:not([class]):not([id])[start] { counter-reset: start; } .wp-block-video { margin: 0 0 1em !important; } video { max-width: 100%; } .copy-heading { margin-top: 20px; } .border+div .slick-list { border: solid 1px #aeaeaf; } .wp-block-image.aligncenter__image>figure.aligncenter { margin-left: auto !important; margin-right: auto !important; } main .article-section .content ol:not([class]):not([id]) { margin-bottom: 24px; } .js-toc { overflow-y: hidden; scrollbar-width: none; } .js-toc::-webkit-scrollbar { display: none; } section.article-section .content .copy-heading h4.font-size-18 { font-size:18px!important; } .copy-heading:has(h3.hidden-h3) { margin: 0 !important; visibility: hidden; height: 0; width: 0; position: absolute; } </style> <link rel="alternate" type="application/rss+xml" title="JetBrains AI : Supercharge your tools with AI-powered features inside many JetBrains products | The JetBrains Blog" href="https://blog.jetbrains.com/ai/feed/"> </head> <body class="archive post-type-archive post-type-archive-ai wp-embed-responsive"><!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-5P98" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <div id="wrapper"> <header class="header"> <div class="container"> <strong class="logo"> <a href="https://blog.jetbrains.com/"> <img src="https://blog.jetbrains.com/wp-content/uploads/2024/06/JETBRAINS-Blog.svg" alt=""> </a> </strong> <a href="#main" class="skip-content">Skip to content</a> <ul class="menu-list"> <li> <a href="#" class="nav-opener"> <span class="mobile-hidden">Topics</span> </a> </li> <li><a href="https://blog.jetbrains.com/search/?p=JetBrains+AI"><i class="icon-search"><span class="sr-only">Search</span></i></a></li> <li> <a href="#" class="lang-opener"><i class="icon-language"><span class="sr-only">Language</span></i></a> <ul class="dropdown-language"><li><a class="active" href="https://blog.jetbrains.com/ai/">English</a></li><li><a href="https://blog.jetbrains.com/de/ai/">Deutsch</a></li><li><a href="https://blog.jetbrains.com/es/ai/">Español</a></li><li><a href="https://blog.jetbrains.com/fr/ai/">Français</a></li><li><a href="https://blog.jetbrains.com/ja/ai/">日本語</a></li><li><a href="https://blog.jetbrains.com/ko/ai/">한국어</a></li><li><a href="https://blog.jetbrains.com/zh-hans/ai/">简体中文</a></li><li><a href="https://blog.jetbrains.com/pt-br/ai/">Português do Brasil</a></li></ul> </li> </ul> <a href="#" class="burger-icon"><span class="sr-only">Burger menu icon</span><span></span></a> <nav class="navbar"> <div class="container"> <ul class="row"><li id="menu-item-284" class="columns menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-284"><h4>IDEs</h4> <ul class="sub-menu"> <li id="menu-item-286" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-286"><a title="CLion Blog" href="/clion/">CLion</a></li> <li id="menu-item-287" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-287"><a title="DataGrip Blog" href="/datagrip/">DataGrip</a></li> <li id="menu-item-231265" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-231265"><a href="/dataspell/">DataSpell</a></li> <li id="menu-item-217910" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-217910"><a href="/fleet/">Fleet</a></li> <li id="menu-item-288" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-288"><a title="GoLand Blog" href="/go/">GoLand</a></li> <li id="menu-item-289" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-289"><a title="IntelliJ IDEA Blog" href="/idea/">IntelliJ IDEA</a></li> <li id="menu-item-291" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-291"><a title="PhpStorm Blog" href="/phpstorm/">PhpStorm</a></li> <li id="menu-item-292" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-292"><a title="PyCharm Blog" href="/pycharm/">PyCharm</a></li> <li id="menu-item-155027" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-155027"><a href="/rust/">RustRover</a></li> <li id="menu-item-293" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-293"><a title="Rider Blog" href="/dotnet/tag/rider/">Rider</a></li> <li id="menu-item-294" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-294"><a title="RubyMine Blog" href="/ruby/">RubyMine</a></li> <li id="menu-item-296" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-296"><a title="WebStorm Blog" href="/webstorm/">WebStorm</a></li> </ul> </li> <li id="menu-item-155084" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-ancestor current-menu-parent menu-item-has-children menu-item-155084"><h4>Plugins & Services</h4> <ul class="sub-menu"> <li id="menu-item-126770" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-126770"><a href="/big-data-tools/">Big Data Tools</a></li> <li id="menu-item-136584" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-136584"><a href="https://blog.jetbrains.com/blog/tag/codewithme/">Code With Me</a></li> <li id="menu-item-170477" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-170477"><a href="/qa/">Quality Assurance</a></li> <li id="menu-item-310" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-310"><a title="JetBrains Platform Blog" href="/platform/">JetBrains Platform</a></li> <li id="menu-item-123129" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-123129"><a href="/scala/">Scala</a></li> <li id="menu-item-295" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-295"><a title="Toolbox App Blog" href="/toolbox-app/">Toolbox App</a></li> <li id="menu-item-268151" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-268151"><a href="/writerside/">Writerside</a></li> <li id="menu-item-434711" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item menu-item-434711"><a href="/ai/" aria-current="page">JetBrains AI</a></li> <li id="menu-item-472822" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-472822"><a href="/grazie/">Grazie</a></li> </ul> </li> <li id="menu-item-305" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-305"><h4>Team Tools</h4> <ul class="sub-menu"> <li id="menu-item-65109" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-65109"><a href="/datalore/">Datalore</a></li> <li id="menu-item-753" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-753"><a title="JetBrains Space Blog" href="/space/">Space</a></li> <li id="menu-item-306" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-306"><a title="TeamCity Blog" href="/teamcity/">TeamCity</a></li> <li id="menu-item-307" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-307"><a title="Upsource Blog" href="/upsource/">Upsource</a></li> <li id="menu-item-308" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-308"><a title="YouTrack Blog" href="/youtrack/">YouTrack</a></li> <li id="menu-item-309" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-309"><a title="Hub Blog" href="/hub/">Hub</a></li> <li id="menu-item-165129" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-165129"><a href="/qodana/">Qodana</a></li> <li id="menu-item-522426" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-522426"><a href="/codecanvas/">CodeCanvas</a></li> </ul> </li> <li id="menu-item-297" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-297"><h4>.NET & Visual Studio</h4> <ul class="sub-menu"> <li id="menu-item-304" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-304"><a title=".NET Tools" href="/dotnet/">.NET Tools</a></li> <li id="menu-item-300" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-300"><a title="ReSharper C++ Blog" href="/rscpp/">ReSharper C++</a></li> </ul> </li> <li id="menu-item-63316" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-63316"><h4>Languages & Frameworks</h4> <ul class="sub-menu"> <li id="menu-item-311" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-311"><a title="Kotlin Blog" href="/kotlin/">Kotlin</a></li> <li id="menu-item-63315" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-63315"><a href="/ktor/">Ktor</a></li> <li id="menu-item-290" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-290"><a title="MPS Blog" href="/mps/">MPS</a></li> <li id="menu-item-422188" class="menu-item menu-item-type-post_type_archive menu-item-object-amper menu-item-422188"><a href="https://blog.jetbrains.com/amper/">Amper</a></li> </ul> </li> <li id="menu-item-63314" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-63314"><h4>Education & Research</h4> <ul class="sub-menu"> <li id="menu-item-118360" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-118360"><a href="/education/">JetBrains Academy</a></li> <li id="menu-item-285585" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-285585"><a href="/research/">Research</a></li> </ul> </li> <li id="menu-item-312" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children menu-item-312"><h4>Company</h4> <ul class="sub-menu"> <li id="menu-item-313" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-313"><a title="JetBrains Company Blog" href="/blog/">Company Blog</a></li> <li id="menu-item-227873" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-227873"><a href="/security/">Security</a></li> </ul> </li> </ul> </div> </nav> </div> </header> <main id="main"> <div class="top-page"> <div class="container"> <div class="top-page__row"> <div class="top-page__head"> <div class="top-page__hold"> <a href="https://blog.jetbrains.com/ai/"> <img src="https://blog.jetbrains.com/wp-content/uploads/2024/01/JetBrains-AI.svg" alt="Ai logo"> <h1 class="hidden-heading">JetBrains AI</h1> </a> <p>Supercharge your tools with AI-powered features inside many JetBrains products</p> </div> </div> <div class="top-page__right"> <div class="top-page__social-wrap"> <a href="#" class="social-opener">Follow</a> <ul class="social"> <li><span>Follow:</span></li> <li><a href="https://blog.jetbrains.com/ai/feed/" target="_blank" aria-label="RSS"><i class="icon-rss-feed"><span class="sr-only">RSS</span></i> <span>RSS</span></a></li> </ul> </div> <a href="https://www.jetbrains.com/ai/" class="btn">Try JetBrains AI</a> </div> </div> <div class="menu"> <span class="menu__border"></span> <div class="menu__wrapper"> <nav class="menu__nav"> <ul class="menu__nav-list"> <li> <a href="/ai/" class="curent_tax" >All</a> </li> <li><a href="/ai/category/news/" >News</a></li> <li><a href="/ai/tag/ai-assistant/" >AI Assistant</a></li> <li><a href="/ai/category/research/" >Research</a></li> </ul> </nav> </div> </div> </div> </div> <section class="product-blog latest_posts_section"> <div class="container"> <div class="product-blog__content"> <div class="row latest latest_posts_section" data-cross_posts_ids="522032,519470,514066,506314,505317,496349,487430,484621,474843,479182,474784,470142,462917,458520,448201,449025,439153,448257,447243,423846,445700,443690,437900,439968,436368,423734,421697,413295,406588,405979,396418,379659,365333" data-post-limit="12" data-all-post="42"> <div class="col" post_id="529591"> <a class="card img-visible" href="https://blog.jetbrains.com/ai/2024/11/jetbrains-ai-assistant-integrates-google-gemini-and-local-llms/"> <img width="2560" height="1440" src="https://blog.jetbrains.com/wp-content/uploads/2024/11/jbai-featured_blog_1280x720_en-2.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" fetchpriority="high" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>JetBrains AI Assistant Integrates Google Gemini and Local LLMs</h4> </div> <div class="card__body"> <p>We’ve now added Gemini 1.5 Pro and Gemini 1.5 Flash to the lineup of LLMs used by JetBrains AI Assistant. These LLMs join forces with OpenAI models and local models. What’s special about Google models? Gemini 1.5 Pro and 1.5 Flash on Google Cloud’s Vertex AI will deliver advanced reasoning an…</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2024/02/photo_2024-02-12-10.24.03-1-50x50.jpeg" width="50" height="50" alt="Irina Mariasova" loading="lazy"> <div class="author__info"> <span>Irina Mariasova</span> <time class="publish-date" data-year="2024" data-month="11" data-day="22" data-hours="15" data-minutes="55" datetime="2024-11-22"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/ai/2024/11/jetbrains-ai-assistant-integrates-google-gemini-and-local-llms/"></span> </div> </a> </div> <div class="col" post_id="525579"> <a class="card img-visible" href="https://blog.jetbrains.com/ai/2024/11/jetbrains-ai-assistant-2024-3/"> <img width="1280" height="720" src="https://blog.jetbrains.com/wp-content/uploads/2024/11/DSGN-21200_Blog_1280x720-1.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>JetBrains AI Assistant 2024.3: Refine Your AI Experience With Model Selection, Enhanced Code Completion, and More</h4> </div> <div class="card__body"> <p>JetBrains AI Assistant 2024.3 is here! A highlight of this release is the flexibility to choose your preferred chat model. Select between Google Gemini, OpenAI, or local models to tailor interactions for a more customized experience. This update also brings advanced code completion for all …</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2021/09/anna-50x50.png" width="50" height="50" alt="Anna Maltseva" loading="lazy"> <div class="author__info"> <span>Anna Maltseva</span> <time class="publish-date" data-year="2024" data-month="11" data-day="13" data-hours="15" data-minutes="13" datetime="2024-11-13"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/ai/2024/11/jetbrains-ai-assistant-2024-3/"></span> </div> </a> </div> <div class="col" post_id="523885"> <a class="card img-visible" href="https://blog.jetbrains.com/ai/2024/11/boosting-your-coding-projects-with-jetbrains-ai-assistant/"> <img width="2560" height="1440" src="https://blog.jetbrains.com/wp-content/uploads/2024/11/jbai-featured_blog_1280x720_en.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>Boosting Your Coding Projects With JetBrains AI Assistant: My Journey to Build a Flask Web App</h4> </div> <div class="card__body"> <p>TL;DR: In this post, I walk through the process of enhancing a chatbot project from Hyperskill by adding a web interface with Flask, JavaScript, and HTML. I tried out JetBrains AI Assistant and documented how it helped me with common coding tasks like installing frameworks, debugging, and generat…</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2024/11/IMG_1860-1-e1731057878240-50x50.jpg" width="50" height="50" alt="Ilnur Galimov" loading="lazy"> <div class="author__info"> <span>Ilnur Galimov</span> <time class="publish-date" data-year="2024" data-month="11" data-day="11" data-hours="14" data-minutes="22" datetime="2024-11-11"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/ai/2024/11/boosting-your-coding-projects-with-jetbrains-ai-assistant/"></span> </div> </a> </div> <div class="col" post_id="522032"> <a class="card img-visible" href="https://blog.jetbrains.com/idea/2024/10/streamline-workflow-in-database-tools-with-ai-assistant/"> <img width="2560" height="1440" src="https://blog.jetbrains.com/wp-content/uploads/2024/10/ij-featured_blog_1280x720_en-11.png" class="attachment-full size-full wp-post-image" alt="Streamline Your Workflow in IntelliJ IDEA’s Database Tools With AI Assistant" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>Streamline Your Workflow in IntelliJ IDEA’s Database Tools With AI Assistant</h4> </div> <div class="card__body"> <p>In IntelliJ IDEA, you can leverage AI Assistant’s capabilities within Database Tools for more efficient data querying and handling. It can significantly speed up SQL query generation, explain code, suggest fixes, and even create tables and populate them with test data on your command! Let’s get star…</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2024/08/Julia-Shashkova.jpg" width="50" height="50" alt="Julia Shashkova" loading="lazy"> <div class="author__info"> <span>Julia Shashkova</span> <time class="publish-date" data-year="2024" data-month="10" data-day="31" data-hours="14" data-minutes="41" datetime="2024-10-31"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/idea/2024/10/streamline-workflow-in-database-tools-with-ai-assistant/"></span> </div> </a> </div> <div class="col" post_id="519470"> <a class="card img-visible" href="https://blog.jetbrains.com/blog/2024/10/22/introducing-mellum-jetbrains-new-llm-built-for-developers/"> <img width="1281" height="721" src="https://blog.jetbrains.com/wp-content/uploads/2024/10/Blog_1280x720-2.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>Introducing Mellum: JetBrains’ New LLM Built for Developers</h4> </div> <div class="card__body"> <p>JetBrains has launched Mellum – the large language model designed just for developers.</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2023/07/IMG_5150_1-50x50.jpg" width="50" height="50" alt="Valerie Kuzmina" loading="lazy"> <div class="author__info"> <span>Valerie Kuzmina</span> <time class="publish-date" data-year="2024" data-month="10" data-day="22" data-hours="14" data-minutes="01" datetime="2024-10-22"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/blog/2024/10/22/introducing-mellum-jetbrains-new-llm-built-for-developers/"></span> </div> </a> </div> <div class="col" post_id="516664"> <a class="card img-visible" href="https://blog.jetbrains.com/ai/2024/10/complete-the-un-completable-the-state-of-ai-completion-in-jetbrains-ides/"> <img width="2560" height="1440" src="https://blog.jetbrains.com/wp-content/uploads/2024/10/as-featured_blog_1280x720_en.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>Complete the Un-Completable: The State of AI Completion in JetBrains IDEs</h4> </div> <div class="card__body"> <p>Code completion has always been a standout feature in JetBrains IDEs, helping developers code faster, smarter, and with fewer mistakes. But what if it could do even more? What if it could predict not just the next element but entire lines of code – or even complete blocks? That's exactly what we've …</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2024/10/Screenshot-2024-10-04-at-15.29.13.png" width="50" height="50" alt="Kirill Krylov" loading="lazy"> <div class="author__info"> <span>Kirill Krylov</span> <time class="publish-date" data-year="2024" data-month="10" data-day="04" data-hours="14" data-minutes="21" datetime="2024-10-04"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/ai/2024/10/complete-the-un-completable-the-state-of-ai-completion-in-jetbrains-ides/"></span> </div> </a> </div> <div class="col" post_id="514066"> <a class="card img-visible" href="https://blog.jetbrains.com/pycharm/2024/10/prompt-ai-directly-in-the-editor/"> <img width="2560" height="1440" src="https://blog.jetbrains.com/wp-content/uploads/2024/10/pc-social_share_blog_1280x720_en.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>Prompt AI Directly in the Editor</h4> </div> <div class="card__body"> <p>With PyCharm, you now have the support of AI Assistant at your fingertips. You can interact with it right where you do most of your work – in the editor.</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://secure.gravatar.com/avatar/a03ff14b4f3982f8fd76837390234520?s=50&r=g" width="50" height="50" alt="Valeria Letusheva" loading="lazy"> <div class="author__info"> <span>Valeria Letusheva</span> <time class="publish-date" data-year="2024" data-month="10" data-day="02" data-hours="07" data-minutes="19" datetime="2024-10-02"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/pycharm/2024/10/prompt-ai-directly-in-the-editor/"></span> </div> </a> </div> <div class="col" post_id="506314"> <a class="card img-visible" href="https://blog.jetbrains.com/grazie/2024/08/grazie-what-s-new-in-august/"> <img width="2560" height="1440" src="https://blog.jetbrains.com/wp-content/uploads/2024/08/gz-social-featured_blog_1280x720_en-2.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>Grazie: What’s New in August</h4> </div> <div class="card__body"> <p>Introducing Grazie's latest feature: Text Playground – your new space to refine and polish your writing with AI-powered spelling, grammar, and style suggestions.</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2024/07/Den_ZSU-e1721997608985-50x50.jpg" width="50" height="50" alt="Oksana Mandryka" loading="lazy"> <div class="author__info"> <span>Oksana Mandryka</span> <time class="publish-date" data-year="2024" data-month="08" data-day="29" data-hours="18" data-minutes="48" datetime="2024-08-29"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/grazie/2024/08/grazie-what-s-new-in-august/"></span> </div> </a> </div> <div class="col" post_id="505317"> <a class="card img-visible" href="https://blog.jetbrains.com/datalore/2024/08/26/a-complete-guide-to-credit-risk-analysis-with-python-and-datalore-ai/"> <img width="1280" height="720" src="https://blog.jetbrains.com/wp-content/uploads/2024/08/Blog_1280x720-2.png" class="attachment-full size-full wp-post-image" alt="A Complete Guide to Credit Risk Analysis With Python and Datalore AI" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>A Complete Guide to Credit Risk Analysis With Python and Datalore AI</h4> </div> <div class="card__body"> <p>In this credit risk analysis tutorial, we'll focus on the complex interplay between federal funds rates, 10-year Treasury yields, and corporate bond yields – key indicators that shape investment strategies, economic forecasts, and policy decisions.</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2021/03/avatar-1-50x50.jpg" width="50" height="50" alt="Alena Guzharina" loading="lazy"> <div class="author__info"> <span>Alena Guzharina</span> <time class="publish-date" data-year="2024" data-month="08" data-day="26" data-hours="15" data-minutes="34" datetime="2024-08-26"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/datalore/2024/08/26/a-complete-guide-to-credit-risk-analysis-with-python-and-datalore-ai/"></span> </div> </a> </div> <div class="col" post_id="503829"> <a class="card img-visible" href="https://blog.jetbrains.com/ai/2024/08/long-code-arena-how-well-can-ai-models-understand-your-entire-project/"> <img width="2560" height="1440" src="https://blog.jetbrains.com/wp-content/uploads/2024/08/jbai-social-featured_blog_1280x720_en.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>Long Code Arena: How Well Can AI Models Understand Your Entire Project?</h4> </div> <div class="card__body"> <p>In the last couple of years, AI has found its way into virtually all aspects of software development. We know that AI models are getting smarter, and we can clearly see how they have become better at seemingly everything, but why is this happening? One factor that is changing is context size, which …</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2024/08/formal1k.jpg" width="50" height="50" alt="Yaroslav Golubev" loading="lazy"> <div class="author__info"> <span>Yaroslav Golubev</span> <time class="publish-date" data-year="2024" data-month="08" data-day="19" data-hours="12" data-minutes="45" datetime="2024-08-19"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/ai/2024/08/long-code-arena-how-well-can-ai-models-understand-your-entire-project/"></span> </div> </a> </div> <div class="col" post_id="493510"> <a class="card img-visible" href="https://blog.jetbrains.com/ai/2024/08/jetbrains-ai-assistant-2024-2/"> <img width="1280" height="720" src="https://blog.jetbrains.com/wp-content/uploads/2024/07/Social_Share_Blog_1280x720-1-2.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__header"> <h4>JetBrains AI Assistant 2024.2: Improved Code Completion, Smarter Chat, and More AI Features</h4> </div> <div class="card__body"> <p>The new and improved AI Assistant for the 2024.2 versions of JetBrains IDEs is now out, featuring smarter and faster AI code completion for Java, Kotlin, and Python; an enhanced UX when working with code in the editor; AI functionality for Git conflict resolution, in-terminal code generation, new cu…</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2021/09/anna-50x50.png" width="50" height="50" alt="Anna Maltseva" loading="lazy"> <div class="author__info"> <span>Anna Maltseva</span> <time class="publish-date" data-year="2024" data-month="08" data-day="07" data-hours="08" data-minutes="19" datetime="2024-08-07"></time> </div> </div> <span class="remark42__counter icon-comments" data-url="https://blog.jetbrains.com/ai/2024/08/jetbrains-ai-assistant-2024-2/"></span> </div> </a> </div> <div class="col" post_id="496349" > <a href="https://blog.jetbrains.com/dotnet/2024/07/23/livestream-jodie-burchell-matt-ellis-khalid-abuhakmeh-and-maarten-balliauw-ai-in-game-development-with-jetbrains-ai-assistant/" class="card webinar"> <img width="1280" height="720" src="https://blog.jetbrains.com/wp-content/uploads/2024/07/Featured_Blog_1280x720.png" class="attachment-full size-full wp-post-image" alt="" decoding="async" loading="lazy" sizes="(max-width: 768px) 768px , 525px" /> <div class="card__body"> <time datatime="07-08-2024">Aug 7 2024</time> <h4>Livestream – Jodie Burchell, Matt Ellis, Khalid Abuhakmeh, and Maarten Balliauw – AI in Game Development With JetBrains AI Assistant – Recording Available</h4> <p>Game development has entered a new era with the rise of AI-powered tools. But where is AI truly helpful, and where should we tread carefully? Join JetBrains Developer Advocates as they explore the role of AI in game development and showcase the capabilities of JetBrains AI Assistant. Recording Available.</p> </div> <div class="card__footer"> <div class="author"> <img class="avatar" src="https://blog.jetbrains.com/wp-content/uploads/2022/11/2022-11-29-14.32.34-e1669728861882-50x50.jpg" width="50" height="50" alt="Anna Ruban" loading="lazy"> <div class="author__info"> <span>Anna Ruban</span> <time class="publish-date" data-year="2024" data-month="07" data-day="23" data-hours="15" data-minutes="07" datetime="2024-07-23"></time> </div> </div> </div> </a> </div> </div> <div class="more load-more latest_posts_section"> <a href="#" class="loadMore">Load more</a> </div> </div> <div class="tweets"> <div class="form-subscribe"> <h3>Subscribe to JetBrains AI Blog updates</h3> <form action="#" class="form-subscribe__form js-form-subscribe__form"> <input type="hidden" name="formid" value="consent/7135"> <input type="hidden" class="fieldName1" name="jetBrainsAIBlog" value=true> <input type="hidden" name="locale" value="en_US"> <input type="hidden" name="privacyConsentType[]" value="mkt.general.jb-intention"> <input type="hidden" name="subscriptionTopicWelcomeEmail" value="JetBrains AI Blog"> <div class="form-subscribe__group-input"> <label for="email" class="sr-only">Subscribe form</label> <input id="email" type="email" placeholder="Your email" name="email"> <button type="submit"><i class="icon-arrow-right"><span class="sr-only">Submit button</span></i></button> </div> <div class="form-subscribe__group-checkbox"> <input type="hidden" id="checkbox" name="privacyConsent" value="true"> <label for="checkbox">By submitting this form, I agree to the JetBrains <a href="https://www.jetbrains.com/company/privacy.html" class="tooltip-opener">Privacy Policy <i class="icon-notification"></i></a></label> <div class="tooltip"> <p>By submitting this form, I agree that JetBrains s.r.o. ("JetBrains") may use my name, email address, and location data to send me newsletters, including commercial communications, and to process my personal data for this purpose. I agree that JetBrains may process said data using <a href="https://www.jetbrains.com/legal/privacy/third-parties.html">third-party</a> services for this purpose in accordance with the <a href="https://www.jetbrains.com/company/privacy.html" target="_blank">JetBrains Privacy Policy</a>. I understand that I can revoke this consent at any time in <a href="https://account.jetbrains.com/profile-details/privacy" target="_blank">my profile</a>. In addition, an unsubscribe link is included in each email.</p> </div> </div> </form> </div> <div class="form_massage" style="display: none"><p>Thanks, we've got you!</p></div> </div> </div> </section> </main> <footer class="footer" id="footer"> <div class="container"> <div class="footer__top"> <ul class="footer__nav"><li id="menu-item-118361" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-118361"><a href="https://www.jetbrains.com/privacy-security/">Privacy & Security</a></li> <li id="menu-item-118362" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-118362"><a href="https://www.jetbrains.com/company/useterms.html">Terms of Use</a></li> <li id="menu-item-118363" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-118363"><a href="https://www.jetbrains.com/legal/">Legal</a></li> <li id="menu-item-118364" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-118364"><a href="https://www.jetbrains.com/genuine-tools/">Genuine tools</a></li> </ul> <div class="footer__dropdown"> <a href="#" class="lang-opener"><i class="icon-language"><span class="sr-only">Language</span></i></a> <ul class="dropdown-language"><li><a class="active" href="https://blog.jetbrains.com/ai/">English</a></li><li><a href="https://blog.jetbrains.com/de/ai/">Deutsch</a></li><li><a href="https://blog.jetbrains.com/es/ai/">Español</a></li><li><a href="https://blog.jetbrains.com/fr/ai/">Français</a></li><li><a href="https://blog.jetbrains.com/ja/ai/">日本語</a></li><li><a href="https://blog.jetbrains.com/ko/ai/">한국어</a></li><li><a href="https://blog.jetbrains.com/zh-hans/ai/">简体中文</a></li><li><a href="https://blog.jetbrains.com/pt-br/ai/">Português do Brasil</a></li></ul> </div> </div> <div class="footer__row"> <ul class="social"> <li> <a href="https://twitter.com/jetbrains"><i class="icon-twitter"><span class="sr-only">Twitter</span></i></a> </li> <li> <a href="https://www.facebook.com/JetBrains"><i class="icon-facebook"><span class="sr-only">Facebook</span></i></a> </li> <li> <a href="https://www.linkedin.com/company/jetbrains"><i class="icon-linkedin"><span class="sr-only">Linkedin</span></i></a> </li> <li> <a href="https://www.instagram.com/jetbrains/"><i class="icon-instagram"><span class="sr-only">Instagram</span></i></a> </li> <li> <a href="https://www.youtube.com/user/JetBrainsTV"><i class="icon-youtube"><span class="sr-only">Youtube</span></i></a> </li> <li> <a href="https://blog.jetbrains.com/feed/"><i class="icon-rss-feed"><span class="sr-only">RSS</span></i></a> </li> <li> <a href="https://www.tiktok.com/@jetbrains?lang=en"><i class="icon-tiktok"><span class="sr-only">Tiktok</span></i></a> </li> </ul> <a href="https://jb.gg/jetbrainsgearblog" class="footer__merch-link" ><i class="icon-merchandise"><span class="sr-only">Merchandise store icon</span></i>Merchandise store</a> </div> <span class="copyright">Copyright © 2000 JetBrains s.r.o.</span> </div> </footer> <span class="overlay"></span> </div> <script> var remark_config = { host: "https://comments.blog.jetbrains.com", site_id: "remark", components: ["counter"], max_shown_comments: 150, locale: "en" }; </script><script>!function(e,n){for(var o=0;o<e.length;o++){var r=n.createElement("script"),c=".js",d=n.head||n.body;"noModule"in r?(r.type="module",c=".mjs"):r.async=!0,r.defer=!0,r.src=remark_config.host+"/web/"+e[o]+c,d.appendChild(r)}}(remark_config.components||["embed"],document);</script><script type='text/javascript' src='https://blog.jetbrains.com/wp-content/plugins/accordion-blocks/js/accordion-blocks.min.js?ver=1.5.0' id='pb-accordion-blocks-frontend-script-js'></script> <script type='module' src='https://blog.jetbrains.com/wp-content/plugins/instant-page/instantpage.js?ver=5.6.1' id='instantpage-js'></script> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/plugins/map-shortcode//map.js?ver=1d837425d173a9a11b4b5bc34ccb3401' id='gmaps-js'></script> <script type='text/javascript' id='ppress-frontend-script-js-extra'> /* <![CDATA[ */ var pp_ajax_form = {"ajaxurl":"\/ajax-admin\/admin-ajax.php","confirm_delete":"Are you sure?","deleting_text":"Deleting...","deleting_error":"An error occurred. Please try again.","nonce":"644e8166b8","disable_ajax_form":"false","is_checkout":"0","is_checkout_tax_enabled":"0"}; /* ]]> */ </script> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/plugins/wp-user-avatar/assets/js/frontend.min.js?ver=4.15.4' id='ppress-frontend-script-js'></script> <script type='text/javascript' id='app-js-extra'> /* <![CDATA[ */ var loadmore_params = {"ajaxurl":"\/ajax-admin\/admin-ajax.php?wpml_lang=en","post_data":{"post_type":"ai"},"current_page":"1","max_page":"1","nonce":"f7d7958b04","form_nonce":"fd0593f96c"}; var current_lang = "en-us"; var nonce = "c4f8b2502c"; var jetbrains_texts = {"loadmore":{"load_more":"Load more","loading":"Loading..."}}; /* ]]> */ </script> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/dist/app.min.js?ver=2.15.2' id='app-js'></script> <script type='text/javascript' src='https://blog.jetbrains.com/wp-content/themes/jetbrains/assets/dist/product.min.js?ver=2.15.2' id='product-js'></script> <script> if(jQuery('.subscribe-form').length>0){ ui.subscribeForm('.subscribe-form'); } // if(jQuery('img[data-gif-src]').length>0){ // ui.gifPlayer('img[data-gif-src]'); // } </script> <!-- Build # --> </body> </html>