<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3031962814593058692</id><updated>2026-04-07T03:19:33.419-04:00</updated><category term="Ubuntu"/><category term="Oracle"/><category term="Rails"/><category term="ExternaLinks"/><category term="Informatica"/><category term="JusTalk"/><category term="OpenSource"/><category term="hardy"/><category term="Gutsy"/><category term="Laptops"/><category term="devsummit"/><category term="Blogging"/><category term="GIDS2010"/><category term="HP"/><category term="SqlTuning"/><category term="hadoop"/><category term="CloudComputing"/><category term="dwh-bi"/><category term="tips_n_tricks"/><category term="data"/><category term="Externals"/><category term="LMS"/><category term="Misc"/><category term="Solaris"/><category term="Virtualization"/><category term="bigdata"/><category term="vmware"/><category term="Apache"/><category term="ETL"/><category term="Mac"/><category term="Ruby"/><category term="mysql"/><category term="DNS"/><category term="Dell"/><category term="InfoBright"/><category term="SMF"/><category term="Tutorials"/><category term="Unix"/><category term="apple"/><category term="architecture"/><category term="big data"/><category term="big-data"/><category term="google"/><category term="linux"/><category term="pricing"/><category term="spark"/><category term="sqlserver"/><category term="2015"/><category term="Analytics"/><category term="Data Analytics"/><category term="Eclipse"/><category term="FinTech"/><category term="Fonts"/><category term="Java"/><category term="MSBI"/><category term="Pentaho"/><category term="PerlTips"/><category term="aws"/><category term="cloudera"/><category term="dataset"/><category term="datawarehouse"/><category term="debugging"/><category term="developer"/><category term="domain"/><category term="graph API"/><category term="hardware"/><category term="html"/><category term="interview"/><category term="iphone"/><category term="machine learning"/><category term="mapping-design"/><category term="script"/><category term="security"/><category term="teradata"/><category term="web2.0"/><category term="2023"/><category term="API"/><category term="AdobeFlex"/><category term="BOINC"/><category term="Banking"/><category term="ExplainPlan"/><category term="Feisty"/><category term="GIDS"/><category term="GIDS2011"/><category term="Imaging"/><category term="London"/><category term="Markov models"/><category term="Microsoft"/><category term="OpenSolaris"/><category term="Photography"/><category term="R"/><category term="RDS"/><category term="RStudio"/><category term="Rails_App_For_Existing_DB"/><category term="Samba"/><category term="Scheduling"/><category term="Statistics"/><category term="Ubuntu-India"/><category term="agile"/><category term="analysis"/><category term="android"/><category term="apex"/><category term="applications"/><category term="authentication"/><category term="automated-post-to-facebook"/><category term="avro"/><category term="aws-RDS"/><category term="aws-free-tier"/><category term="azure"/><category term="base64_encoding"/><category term="blob"/><category term="browsers"/><category term="bulk-load"/><category term="capistrano"/><category term="certification"/><category term="cloud"/><category term="cloudfront"/><category term="concept"/><category term="conference"/><category term="consulting"/><category term="container"/><category term="data-cleansing"/><category term="data-lineage"/><category term="data-load"/><category term="database"/><category term="dato"/><category term="deployment"/><category term="design"/><category term="devices"/><category term="dwh"/><category term="ebooks"/><category term="ecommerce"/><category term="encryption"/><category term="exadata"/><category term="facebook"/><category term="filesize"/><category term="firefox"/><category term="fraud"/><category term="freemall"/><category term="fuse"/><category term="google-cloud"/><category term="graphdb"/><category term="green"/><category term="hackathon"/><category term="handheld"/><category term="help"/><category term="hint"/><category term="hive"/><category term="html5"/><category term="india"/><category term="local access"/><category term="meet up"/><category term="meetup"/><category term="memory"/><category term="mgmt"/><category term="mounting"/><category term="namenode"/><category term="neo4j"/><category term="oauth"/><category term="oauth2"/><category term="open-data"/><category term="opendata"/><category term="parallelism"/><category term="partitioning"/><category term="performance"/><category term="plugin"/><category term="post"/><category term="programming"/><category term="quad-core"/><category term="questions"/><category term="rSupport"/><category term="scala"/><category term="scala ide"/><category term="scala-ide"/><category term="schema"/><category term="schema design"/><category term="schema-design"/><category term="searchengine"/><category term="shell"/><category term="shell-script"/><category term="smallFiles"/><category term="smartphone"/><category term="social"/><category term="social-media"/><category term="socialBI"/><category term="solar-power"/><category term="solr"/><category term="sqldeveloper"/><category term="ssh"/><category term="stackoverflow"/><category term="tablet"/><category term="twitter"/><category term="ubuntu&#xa;debian&#xa;cli&#xa;google-cli&#xa;google-api&#xa;google-cloud-api"/><category term="ups"/><category term="ux"/><category term="vista"/><category term="wifi"/><category term="windows&#xa;pytorch&#xa;python&#xa;installation&#xa;setup&#xa;torch&#xa;machine learning&#xa;ml"/><title type='text'>my experiments with technology</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tech.sraghav.in/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default?start-index=26&amp;max-results=25'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>216</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6198559324274369880</id><published>2025-08-08T09:55:00.002-04:00</published><updated>2025-08-08T09:55:38.256-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="windows&#xa;pytorch&#xa;python&#xa;installation&#xa;setup&#xa;torch&#xa;machine learning&#xa;ml"/><title type='text'>Error installing pytorch - OSError: [Errno 2] No such file or directory </title><content type='html'>&lt;p&gt;This error message: &lt;code&gt;OSError: [Errno 2] No such file or directory&lt;/code&gt; is a common issue during software installations on Windows, especially with packages that have very long file paths, like PyTorch. The path you provided is extremely long, and Windows has a default limit on path length.&lt;/p&gt;&lt;p&gt;Here&#39;s a breakdown of the problem and the most common solutions:&lt;/p&gt;&lt;p&gt;&lt;b&gt;The Problem: Long File Paths&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The error isn&#39;t about PyTorch itself, but about a limitation in the Windows operating system. The default maximum path length on older versions of Windows is 260 characters. When the installation process tries to create a file at a path that exceeds this limit, it fails and throws this error. The path in your error message clearly exceeds this limit.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Solutions&lt;/b&gt;&lt;/p&gt;&lt;ol start=&quot;1&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Enable Long Path Support in Windows (Recommended):&lt;/b&gt; This is the most effective and permanent solution for this problem. It allows the operating system to handle file paths longer than 260 characters.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;For Windows 10/11 Home Edition:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Open the Registry Editor by pressing &lt;code&gt;Win + R&lt;/code&gt;, typing &lt;code&gt;regedit&lt;/code&gt;, and hitting Enter.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Navigate to: &lt;code&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Find the entry named &lt;code&gt;LongPathsEnabled&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Double-click it and change the &lt;code&gt;Value data&lt;/code&gt; from &lt;code&gt;0&lt;/code&gt; to &lt;code&gt;1&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Restart your computer for the changes to take effect.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;For Windows 10/11 Pro/Enterprise Edition:&lt;/b&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;Open the Group Policy Editor by pressing &lt;code&gt;Win + R&lt;/code&gt;, typing &lt;code&gt;gpedit.msc&lt;/code&gt;, and hitting Enter.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Navigate to: &lt;code&gt;Local Computer Policy &amp;gt; Computer Configuration &amp;gt; Administrative Templates &amp;gt; System &amp;gt; Filesystem&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Double-click on &quot;Enable Win32 long paths&quot;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Select &quot;Enabled&quot; and click &quot;OK&quot;.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;Restart your computer.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Install to a Shorter Path:&lt;/b&gt; If you&#39;re unable to change the registry or group policy, you can try to install Python and its packages to a directory with a much shorter path. For example, instead of the default location in your user&#39;s &lt;code&gt;AppData&lt;/code&gt; folder, you could install PyTorch and Python to &lt;code&gt;C:\Python311&lt;/code&gt; or a similar short path. You can use the &lt;code&gt;--target&lt;/code&gt; flag with pip to specify a different installation directory.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;b&gt;Use a Virtual Environment:&lt;/b&gt; Using a virtual environment is a good practice for Python development in general. It can also sometimes help by creating a cleaner, and potentially shorter, installation path. However, if your virtual environment is still created in a directory with a very long path, you might still encounter the same error.&lt;/p&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;b&gt;PyTorch on AMD GPUs&lt;/b&gt;&lt;/p&gt;&lt;p&gt;Since you mentioned you have an AMD-based laptop, it&#39;s also important to ensure you&#39;re installing the correct version of PyTorch that supports your GPU.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;p&gt;PyTorch for AMD GPUs on Windows and Linux relies on the &lt;b&gt;ROCm&lt;/b&gt; (Radeon Open Compute) platform.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;The official PyTorch website&#39;s &quot;Get Started&quot; page provides specific commands for installing PyTorch with ROCm support. You will need to select the appropriate options for your operating system and ROCm version.&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;On Windows, a common and recommended way to get GPU acceleration with AMD cards is to use the &lt;code&gt;torch-directml&lt;/code&gt; package, which leverages DirectML. This is often easier to set up than ROCm on Windows. You can install it with the command &lt;code&gt;pip install torch-directml&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;b&gt;Summary&lt;/b&gt;&lt;/p&gt;&lt;p&gt;The &lt;code&gt;OSError: [Errno 2] No such file or directory&lt;/code&gt; is almost certainly due to the path length limit on your Windows system. The best solution is to enable long path support in Windows. After that, you can proceed with the standard PyTorch installation command. If you intend to use your AMD GPU for acceleration, make sure you&#39;re following the instructions for either the ROCm or DirectML backend, depending on your setup.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6198559324274369880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2025/08/error-installing-pytorch-oserror-errno.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6198559324274369880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6198559324274369880'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2025/08/error-installing-pytorch-oserror-errno.html' title='Error installing pytorch - OSError: [Errno 2] No such file or directory '/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4156416487709616612</id><published>2023-10-01T00:13:00.001-04:00</published><updated>2023-10-01T00:13:11.207-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="google-cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="ubuntu&#xa;debian&#xa;cli&#xa;google-cli&#xa;google-api&#xa;google-cloud-api"/><title type='text'>install google cloud api tools on ubuntu / debian</title><content type='html'>&lt;p&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;div class=&quot;block &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-size: 14px;&quot;&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-W8ZEaHOtE9iGDFFD925gu&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: auto; width: 872px;&quot;&gt;&lt;div class=&quot;markdownViewer select-text  markdown-default markdown-table markdown-viewer markdown-viewer-heading&quot; role=&quot;none&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(55 65 81/var(--tw-text-opacity)); font-size: var(--font-size-lesson-markdown,18px); line-height: 1.7; outline: none; overflow-wrap: break-word; user-select: text;&quot;&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(31 41 55/var(--tw-text-opacity)); font-size: 1.875rem; letter-spacing: 0.025em; line-height: 1.5; margin-bottom: 10px; margin-top: 20px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;What you need before Starting&amp;nbsp;&lt;/span&gt;&lt;/h3&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 1em 0px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Before the installation of the&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 16.2px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;gcloud&lt;/code&gt;&amp;nbsp;CLI, please confirm that the following conditions are met:&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin-bottom: 10px; margin-top: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 0px 0px 5px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;The OS release has not reached the end-of-life.&lt;/span&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 0px 0px 5px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;The&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 16.2px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;apt-transport-http&lt;/code&gt;&amp;nbsp;package is installed. If not, use the following command to install it:&lt;/span&gt;&lt;/p&gt;&lt;pre class=&quot;cm-viewer-markdown disable-cursor&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #282830; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; color: #333333; font-size: 14px; line-height: 1.5; margin-bottom: 1em; margin-top: 1em; overflow-wrap: break-word; overflow: auto; padding: 9.5px 9.5px 9.5px 15px; word-break: break-all;&quot;&gt;&lt;code class=&quot;language-bash vsDark&quot; data-lang=&quot;bash&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: transparent; border-radius: 0px; box-sizing: border-box; color: inherit; font-size: inherit; overflow-wrap: break-word; padding: 0px; text-wrap: wrap;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;sudo&amp;nbsp;apt-get&amp;nbsp;install&amp;nbsp;apt-transport-https&amp;nbsp;ca-certif&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;icates&amp;nbsp;gnupg&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(31 41 55/var(--tw-text-opacity)); font-size: 1.875rem; letter-spacing: 0.025em; line-height: 1.5; margin-bottom: 10px; margin-top: 20px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Installation steps&lt;/span&gt;&lt;/h3&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 1em 0px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Perform the following steps to install the Google Cloud CLI:&lt;/span&gt;&lt;/p&gt;&lt;h4 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(31 41 55/var(--tw-text-opacity)); font-size: 1.5rem; letter-spacing: 0.025em; line-height: 1.5; margin-bottom: 10px; margin-top: 10px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Step 1: Add&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 21.6px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;gcloud&lt;/code&gt;&amp;nbsp;CLI distribution&lt;/span&gt;&lt;/h4&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 1em 0px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Use the following command to add the&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 16.2px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;gcloud&lt;/code&gt;&amp;nbsp;CLI distribution URI as a packet source:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-gzmTwmpjsjPt6g4Cc34E6&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;code-container &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: relative;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;border border-solid !border-gray-L700 rounded-t   Code_code-editor-styled__179Gj&quot; style=&quot;--tw-border-opacity: 1 !important; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(55 65 81/var(--tw-border-opacity)) !important; border-style: solid; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; border-width: 1px; box-sizing: border-box; flex-shrink: 0; height: 35px; overflow-y: initial; position: relative; user-select: auto; width: 872px;&quot;&gt;&lt;div class=&quot;monaco-loaded&quot; data-keybinding-context=&quot;1&quot; data-mode-id=&quot;shell&quot; style=&quot;--codelens-font-features_ee1f61: &amp;quot;liga&amp;quot; off, &amp;quot;calt&amp;quot; off; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; min-height: 40px;&quot;&gt;&lt;div class=&quot;monaco-editor no-user-select  showUnused showDeprecated vs-dark&quot; data-uri=&quot;file:///A064-tmwrfIHpVQbThKtJ-main.sh&quot; role=&quot;code&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #282830; box-sizing: border-box; color: #fafafa; height: 40px; overflow: visible; position: relative; text-size-adjust: 100%; width: 870px;&quot;&gt;&lt;div class=&quot;overflow-guard&quot; data-mprt=&quot;3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; overflow: hidden; position: relative; width: 870px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 40px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 55px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; width: 55px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 55px;&quot;&gt;&lt;div class=&quot;current-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; left: 0px; position: absolute; top: 0px; width: 55px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;active-line-number line-numbers&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #c6c6c6; cursor: default; display: inline-block; font-variant-numeric: tabular-nums; height: 19px; left: 0px; position: absolute; text-align: right; vertical-align: middle; width: 38px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;monaco-scrollable-element editor-scrollable vs-dark&quot; data-mprt=&quot;5&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 55px; overflow: hidden; position: absolute; width: 815px;&quot;&gt;&lt;div class=&quot;lines-content monaco-editor-background&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 1e+06px; left: 0px; overflow: hidden; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); user-select: none; width: 1e+06px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 0px; position: absolute; top: 0px; width: 1362px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 1362px;&quot;&gt;&lt;div class=&quot;cslr selected-text top-left-radius bottom-left-radius top-right-radius bottom-right-radius&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #3a3d41; border-radius: 3px; box-sizing: border-box; height: 19px; left: 0px; position: absolute; top: 0px; width: 1324px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-rulers&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-lines monaco-mouse-cursor-text&quot; data-mprt=&quot;7&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; cursor: text; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; text-wrap: nowrap; user-select: none; width: 1362px;&quot;&gt;&lt;div class=&quot;view-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; user-select: none; width: 1362px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;span class=&quot;mtk26&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #3dc9b0;&quot;&gt;echo&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk5&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #ce9178;&quot;&gt;&quot;deb&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk5&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #ce9178;&quot;&gt;[signed-by=/usr/share/keyrings/cloud.google.gpg]&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk5 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #ce9178; text-decoration-line: underline; text-underline-position: under;&quot;&gt;https://packages.cloud.google.com/apt&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk5&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #ce9178;&quot;&gt;cloud-sdk&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk5&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #ce9178;&quot;&gt;main&quot;&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk26&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #3dc9b0;&quot;&gt;sudo&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk26&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #3dc9b0;&quot;&gt;tee&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe;&quot;&gt;-a&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;etc&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;apt&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;sources&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;list&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;google&lt;/span&gt;&lt;span class=&quot;mtk4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe;&quot;&gt;-cloud-sdk&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;list&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-5v2Yh-Vvf1u4TLfbHbmXX&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: auto; width: 872px;&quot;&gt;&lt;div class=&quot;markdownViewer select-text  markdown-default markdown-table markdown-viewer markdown-viewer-heading&quot; role=&quot;none&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(55 65 81/var(--tw-text-opacity)); font-size: var(--font-size-lesson-markdown,18px); line-height: 1.7; outline: none; overflow-wrap: break-word; user-select: text;&quot;&gt;&lt;h4 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(31 41 55/var(--tw-text-opacity)); font-size: 1.5rem; letter-spacing: 0.025em; line-height: 1.5; margin-bottom: 10px; margin-top: 10px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/h4&gt;&lt;h4 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(31 41 55/var(--tw-text-opacity)); font-size: 1.5rem; letter-spacing: 0.025em; line-height: 1.5; margin-bottom: 10px; margin-top: 10px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Step 2: Acquire the public key&lt;/span&gt;&lt;/h4&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 1em 0px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;You can acquire the public Key for Google Cloud by executing one of the following commands depending on the type of your distribution:&lt;/span&gt;&lt;/p&gt;&lt;ul style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; margin-bottom: 10px; margin-top: 0px;&quot;&gt;&lt;li style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Execute&amp;nbsp;the following command if your distribution’s&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 16.2px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;apt-key&lt;/code&gt;&amp;nbsp;command supports the&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 16.2px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;--keyring&lt;/code&gt;&amp;nbsp;argument:&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-16BQ7qZiiya8SmtW4FvAG&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;code-container &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;border border-solid !border-gray-L700 rounded-t   Code_code-editor-styled__179Gj&quot; style=&quot;--tw-border-opacity: 1 !important; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(55 65 81/var(--tw-border-opacity)) !important; border-style: solid; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; border-width: 1px; box-sizing: border-box; flex-shrink: 0; height: 35px; overflow-y: initial; position: relative; user-select: auto; width: 872px;&quot;&gt;&lt;div class=&quot;monaco-loaded&quot; data-keybinding-context=&quot;3&quot; data-mode-id=&quot;shell&quot; style=&quot;--codelens-font-features_ee1f63: &amp;quot;liga&amp;quot; off, &amp;quot;calt&amp;quot; off; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; min-height: 40px;&quot;&gt;&lt;div class=&quot;monaco-editor no-user-select  showUnused showDeprecated vs-dark&quot; data-uri=&quot;file:///CuckiTKiuLmSLaou11_ZM-main.sh&quot; role=&quot;code&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #282830; box-sizing: border-box; color: #fafafa; height: 40px; overflow: visible; position: relative; text-size-adjust: 100%; width: 870px;&quot;&gt;&lt;div class=&quot;overflow-guard&quot; data-mprt=&quot;3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; overflow: hidden; position: relative; width: 870px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 40px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 55px;&quot;&gt;&lt;div class=&quot;glyph-margin&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 0px; position: absolute; top: 0px; width: 0px;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; width: 55px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 55px;&quot;&gt;&lt;div class=&quot;current-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; left: 0px; position: absolute; top: 0px; width: 55px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;active-line-number line-numbers&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #c6c6c6; cursor: default; display: inline-block; font-variant-numeric: tabular-nums; height: 19px; left: 0px; position: absolute; text-align: right; vertical-align: middle; width: 38px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;monaco-scrollable-element editor-scrollable vs-dark&quot; data-mprt=&quot;5&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 55px; overflow: hidden; position: absolute; width: 815px;&quot;&gt;&lt;div class=&quot;lines-content monaco-editor-background&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 1e+06px; left: 0px; overflow: hidden; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); user-select: none; width: 1e+06px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 0px; position: absolute; top: 0px; width: 1008px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 1008px;&quot;&gt;&lt;div class=&quot;cslr selected-text top-left-radius bottom-left-radius top-right-radius bottom-right-radius&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #3a3d41; border-radius: 3px; box-sizing: border-box; height: 19px; left: 0px; position: absolute; top: 0px; width: 970px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-rulers&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-lines monaco-mouse-cursor-text&quot; data-mprt=&quot;7&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; cursor: text; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; text-wrap: nowrap; user-select: none; width: 1008px;&quot;&gt;&lt;div class=&quot;view-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; user-select: none; width: 1008px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;span class=&quot;mtk26&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #3dc9b0;&quot;&gt;curl&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;https:&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;packages&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;cloud&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;google&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;com&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;apt&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;doc&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;apt&lt;/span&gt;&lt;span class=&quot;mtk4 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe; text-decoration-line: underline; text-underline-position: under;&quot;&gt;-key&lt;/span&gt;&lt;span class=&quot;mtk11 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro; text-decoration-line: underline; text-underline-position: under;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1 detected-link&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4; text-decoration-line: underline; text-underline-position: under;&quot;&gt;gpg&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;|&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk26&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #3dc9b0;&quot;&gt;sudo&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;apt&lt;/span&gt;&lt;span class=&quot;mtk4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe;&quot;&gt;-key&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe;&quot;&gt;--keyring&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;usr&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;share&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;keyrings&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;cloud&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;google&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;gpg&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;add&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;contentWidgets&quot; data-mprt=&quot;1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; top: 0px;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;cursors-layer has-selection cursor-line-style cursor-solid&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; top: 0px;&quot;&gt;&lt;div class=&quot;cursor monaco-mouse-cursor-text &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #b0b0b0; border-color: rgb(176, 176, 176); box-sizing: border-box; color: #4f4f4f; cursor: text; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 19px; left: 970px; letter-spacing: 0px; line-height: 19px; overflow: hidden; position: absolute; top: 8px; visibility: hidden; width: 1.6px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar horizontal fade&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; bottom: 0px; box-sizing: border-box; height: 12px; left: 0px; opacity: 0; pointer-events: none; position: absolute; transition: opacity 0.8s linear 0s; visibility: hidden; width: 801px;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 12px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 647px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;canvas aria-hidden=&quot;true&quot; class=&quot;decorationsOverviewRuler&quot; height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; display: inline-block; height: 40px; position: absolute; right: 0px; top: 0px; transform: translate3d(0px, 0px, 0px); vertical-align: baseline; width: 14px;&quot; width=&quot;17&quot;&gt;&lt;/canvas&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar vertical&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; opacity: 0; pointer-events: none; position: absolute; right: 0px; top: 0px; visibility: hidden; width: 14px;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 40px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 14px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; width: 870px;&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-9uEF8WExdXanOl09H3AMO&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: auto; width: 872px;&quot;&gt;&lt;h4 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(55 65 81/var(--tw-text-opacity)); font-size: var(--font-size-lesson-markdown,18px); line-height: 1.7; outline: none; overflow-wrap: break-word; text-align: left; user-select: text;&quot;&gt;&lt;span style=&quot;color: rgb(31 41 55/var(--tw-text-opacity)); font-family: helvetica; font-size: 1.5rem; letter-spacing: 0.025em;&quot;&gt;Step 3: Install&lt;/span&gt;&lt;span style=&quot;color: rgb(31 41 55/var(--tw-text-opacity)); font-family: helvetica; font-size: 1.5rem; letter-spacing: 0.025em;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 21.6px; letter-spacing: 0.025em; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;gcloud&lt;/code&gt;&lt;/h4&gt;&lt;div class=&quot;markdownViewer select-text  markdown-default markdown-table markdown-viewer markdown-viewer-heading&quot; role=&quot;none&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(55 65 81/var(--tw-text-opacity)); font-size: var(--font-size-lesson-markdown,18px); line-height: 1.7; outline: none; overflow-wrap: break-word; user-select: text;&quot;&gt;&lt;h4&gt;&lt;/h4&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-g9yjiCAncpV5oFWMe9RDp&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: auto; width: 872px;&quot;&gt;&lt;div class=&quot;markdownViewer select-text  markdown-default markdown-table markdown-viewer markdown-viewer-heading&quot; role=&quot;none&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(55 65 81/var(--tw-text-opacity)); font-size: var(--font-size-lesson-markdown,18px); line-height: 1.7; outline: none; overflow-wrap: break-word; user-select: text;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 1em 0px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Run the following command to update and install the&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 16.2px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;gcloud&lt;/code&gt;&amp;nbsp;CLI:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-dxhzbnBDGm4N-r7tjuNEu&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;code-container &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;border border-solid !border-gray-L700 rounded-t   Code_code-editor-styled__179Gj&quot; style=&quot;--tw-border-opacity: 1 !important; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(55 65 81/var(--tw-border-opacity)) !important; border-style: solid; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; border-width: 1px; box-sizing: border-box; flex-shrink: 0; height: 35px; overflow-y: initial; position: relative; user-select: auto; width: 872px;&quot;&gt;&lt;div class=&quot;monaco-loaded&quot; data-keybinding-context=&quot;6&quot; data-mode-id=&quot;shell&quot; style=&quot;--codelens-font-features_ee1f66: &amp;quot;liga&amp;quot; off, &amp;quot;calt&amp;quot; off; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; min-height: 40px;&quot;&gt;&lt;div class=&quot;monaco-editor no-user-select  showUnused showDeprecated vs-dark&quot; data-uri=&quot;file:///_bwpZgmeZUFDWVXszEcz--main.sh&quot; role=&quot;code&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #282830; box-sizing: border-box; color: #fafafa; height: 40px; overflow: visible; position: relative; text-size-adjust: 100%; width: 870px;&quot;&gt;&lt;div class=&quot;overflow-guard&quot; data-mprt=&quot;3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; overflow: hidden; position: relative; width: 870px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 40px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 55px;&quot;&gt;&lt;div class=&quot;glyph-margin&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 0px; position: absolute; top: 0px; width: 0px;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; width: 55px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 55px;&quot;&gt;&lt;div class=&quot;current-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; left: 0px; position: absolute; top: 0px; width: 55px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;active-line-number line-numbers&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #c6c6c6; cursor: default; display: inline-block; font-variant-numeric: tabular-nums; height: 19px; left: 0px; position: absolute; text-align: right; vertical-align: middle; width: 38px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;monaco-scrollable-element editor-scrollable vs-dark&quot; data-mprt=&quot;5&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 55px; overflow: hidden; position: absolute; width: 815px;&quot;&gt;&lt;div class=&quot;lines-content monaco-editor-background&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 1e+06px; left: 0px; overflow: hidden; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); user-select: none; width: 1e+06px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 0px; position: absolute; top: 0px; width: 815px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 815px;&quot;&gt;&lt;div class=&quot;cslr selected-text top-left-radius bottom-left-radius top-right-radius bottom-right-radius&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #3a3d41; border-radius: 3px; box-sizing: border-box; height: 19px; left: 0px; position: absolute; top: 0px; width: 462px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-rulers&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-lines monaco-mouse-cursor-text&quot; data-mprt=&quot;7&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; cursor: text; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; text-wrap: nowrap; user-select: none; width: 815px;&quot;&gt;&lt;div class=&quot;view-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; user-select: none; width: 815px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;&lt;span class=&quot;mtk26&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #3dc9b0;&quot;&gt;sudo&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;apt&lt;/span&gt;&lt;span class=&quot;mtk4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe;&quot;&gt;-get&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;update&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk11&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: gainsboro;&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk26&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #3dc9b0;&quot;&gt;sudo&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;apt&lt;/span&gt;&lt;span class=&quot;mtk4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe;&quot;&gt;-get&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;install&lt;/span&gt;&lt;span class=&quot;mtkw&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(113, 113, 113) !important;&quot;&gt;·&lt;/span&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;google&lt;/span&gt;&lt;span class=&quot;mtk4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #9cdcfe;&quot;&gt;-cloud-cli&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;contentWidgets&quot; data-mprt=&quot;1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; top: 0px;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;cursors-layer has-selection cursor-line-style cursor-solid&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; top: 0px;&quot;&gt;&lt;div class=&quot;cursor monaco-mouse-cursor-text &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #b0b0b0; border-color: rgb(176, 176, 176); box-sizing: border-box; color: #4f4f4f; cursor: text; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 19px; left: 462px; letter-spacing: 0px; line-height: 19px; overflow: hidden; position: absolute; top: 8px; visibility: hidden; width: 1.6px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar horizontal&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; bottom: 0px; box-sizing: border-box; height: 12px; left: 0px; opacity: 0; pointer-events: none; position: absolute; visibility: hidden; width: 801px;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 12px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 801px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;canvas aria-hidden=&quot;true&quot; class=&quot;decorationsOverviewRuler&quot; height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; display: inline-block; height: 40px; position: absolute; right: 0px; top: 0px; transform: translate3d(0px, 0px, 0px); vertical-align: baseline; width: 14px;&quot; width=&quot;17&quot;&gt;&lt;/canvas&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar vertical&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; opacity: 0; pointer-events: none; position: absolute; right: 0px; top: 0px; visibility: hidden; width: 14px;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 40px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 14px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; width: 870px;&quot;&gt;&lt;/div&gt;&lt;textarea aria-autocomplete=&quot;both&quot; aria-haspopup=&quot;false&quot; aria-label=&quot;Editor content;Press Alt+F1 for Accessibility Options.&quot; aria-multiline=&quot;true&quot; aria-roledescription=&quot;editor&quot; autocapitalize=&quot;off&quot; autocomplete=&quot;off&quot; autocorrect=&quot;off&quot; class=&quot;inputarea monaco-mouse-cursor-text&quot; data-mprt=&quot;6&quot; role=&quot;textbox&quot; spellcheck=&quot;false&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: initial; border-style: none; border-width: initial; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; font-kerning: inherit; font-optical-sizing: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; height: 1px; left: 517px; letter-spacing: 0px; line-height: 19px; margin: 0px; min-height: 0px; min-width: 0px; outline: none !important; overflow: hidden; padding: 0px; position: absolute; resize: none; top: 8px; width: 1px;&quot; tabindex=&quot;0&quot; wrap=&quot;off&quot;&gt;&lt;/textarea&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 0px; left: 0px; position: absolute; top: 0px; width: 0px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;overlayWidgets&quot; data-mprt=&quot;4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; left: 0px; position: absolute; top: 0px; width: 870px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; right: 435px; top: 0px;&quot; widgetid=&quot;editor.contrib.quickInputWidget&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;minimap slider-mouseover&quot; data-mprt=&quot;8&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 0px; position: absolute; width: 0px;&quot;&gt;&lt;div class=&quot;minimap-shadow-hidden&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; position: absolute; width: 0px;&quot;&gt;&lt;/div&gt;&lt;canvas height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline-block; height: 40px; left: 0px; position: absolute; vertical-align: baseline; width: 0px;&quot; width=&quot;0&quot;&gt;&lt;/canvas&gt;&lt;canvas class=&quot;minimap-decorations-layer&quot; height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline-block; height: 40px; left: 0px; position: absolute; vertical-align: baseline; width: 0px;&quot; width=&quot;0&quot;&gt;&lt;/canvas&gt;&lt;div class=&quot;minimap-slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; opacity: 0; position: absolute; transform: translate3d(0px, 0px, 0px); transition: opacity 0.1s linear 0s; width: 0px;&quot;&gt;&lt;div class=&quot;minimap-slider-horizontal&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(121, 121, 121, 0.2); box-sizing: border-box; height: 0px; position: absolute; width: 0px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflowingContentWidgets&quot; data-mprt=&quot;2&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;monaco-editor rename-box&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #252526; box-shadow: rgba(0, 0, 0, 0.36) 0px 0px 8px 2px; box-sizing: border-box; color: #cccccc; max-width: 1493px; overflow: visible; position: absolute; text-size-adjust: 100%; visibility: hidden; z-index: 100;&quot; widgetid=&quot;__renameInputWidget&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;input aria-label=&quot;Rename input. Type new name and press Enter to commit.&quot; class=&quot;rename-input&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #3c3c3c; border-style: none; border-width: 0px; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; line-height: inherit; margin: 0px; padding: 3px; width: calc(100% - 6px);&quot; type=&quot;text&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;monaco-hover&quot; role=&quot;tooltip&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; animation: 0.1s linear 0s 1 normal none running fadein; background-color: #252526; border: 1px solid rgb(69, 69, 69); box-sizing: initial; color: #cccccc; cursor: default; line-height: 1.5em; max-width: 1493px; overflow: hidden; position: absolute; user-select: text; visibility: hidden; z-index: 50;&quot; tabindex=&quot;0&quot; widgetid=&quot;editor.contrib.modesContentHoverWidget&quot;&gt;&lt;div class=&quot;monaco-scrollable-element &quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; overflow: hidden; position: relative;&quot;&gt;&lt;div class=&quot;monaco-hover-content&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 19px; max-height: 250px; max-width: 574.2px; overflow: hidden;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar horizontal&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; opacity: 0; pointer-events: none; position: absolute; visibility: hidden;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 10px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar vertical&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; opacity: 0; pointer-events: none; position: absolute; visibility: hidden;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 10px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class=&quot;tailwind-hidden sm:inline &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline;&quot;&gt;&lt;div class=&quot;z-9 absolute right-3.5 top-1 flex cursor-pointer&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; cursor: pointer; display: flex; position: absolute; right: 0.875rem; top: 0.25rem;&quot;&gt;&lt;div aria-label=&quot;copy-code-button&quot; class=&quot;flex h-6 items-center justify-center rounded border-none bg-white text-black opacity-30 shadow-md duration-200 hover:opacity-100 hover:shadow-lg focus:opacity-100 focus:shadow-lg dark:bg-gray-D1300 dark:text-gray-D200&quot; role=&quot;button&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color); --tw-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border-radius: 0.25rem; border-style: none; box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow); box-sizing: border-box; color: rgb(0 0 0/var(--tw-text-opacity)); display: flex; height: 1.5rem; justify-content: center; opacity: 0.3; transition-duration: 0.2s;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; class=&quot;w-7 h-7 hover:text-indigo-500 dark:hover:text-indigo-400 focus:text-indigo-500 dark:focus:text-indigo-400 p-2 duration-200&quot; fill=&quot;none&quot; height=&quot;24&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; title=&quot;Copy To Clipboard&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;rect height=&quot;13&quot; rx=&quot;2&quot; ry=&quot;2&quot; width=&quot;13&quot; x=&quot;9&quot; y=&quot;9&quot;&gt;&lt;/rect&gt;&lt;path d=&quot;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&quot;&gt;&lt;/path&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-1tR3jGmwKFqdiPxvjbBBK&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: auto; width: 872px;&quot;&gt;&lt;div class=&quot;markdownViewer select-text  markdown-default markdown-table markdown-viewer markdown-viewer-heading&quot; role=&quot;none&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(55 65 81/var(--tw-text-opacity)); font-size: var(--font-size-lesson-markdown,18px); line-height: 1.7; outline: none; overflow-wrap: break-word; user-select: text;&quot;&gt;&lt;h4 style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(31 41 55/var(--tw-text-opacity)); font-size: 1.5rem; letter-spacing: 0.025em; line-height: 1.5; margin-bottom: 10px; margin-top: 10px;&quot;&gt;&lt;span style=&quot;color: rgb(31 41 55/var(--tw-text-opacity)); font-family: helvetica; font-size: 1.5rem; letter-spacing: 0.025em;&quot;&gt;Step 4: Initialize the&lt;/span&gt;&lt;span style=&quot;color: rgb(31 41 55/var(--tw-text-opacity)); font-family: helvetica; font-size: 1.5rem; letter-spacing: 0.025em;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 21.6px; letter-spacing: 0.025em; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;gcloud&lt;/code&gt;&lt;span style=&quot;color: rgb(31 41 55/var(--tw-text-opacity)); font-family: helvetica; font-size: 1.5rem; letter-spacing: 0.025em;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(31 41 55/var(--tw-text-opacity)); font-family: helvetica; font-size: 1.5rem; letter-spacing: 0.025em;&quot;&gt;CLI&lt;/span&gt;&lt;/h4&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-QmtiDT5l62FNM3V8dzT_R&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;h-auto w-full whitespace-normal after:clear-both after:table after:content-none markdown-container-div&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: auto; width: 872px;&quot;&gt;&lt;div class=&quot;markdownViewer select-text  markdown-default markdown-table markdown-viewer markdown-viewer-heading&quot; role=&quot;none&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: rgb(55 65 81/var(--tw-text-opacity)); font-size: var(--font-size-lesson-markdown,18px); line-height: 1.7; outline: none; overflow-wrap: break-word; user-select: text;&quot;&gt;&lt;p style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: var(--line-height-lesson-markdown); margin: 1em 0px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;Use the following command to initialize the&amp;nbsp;&lt;code style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #f9f2f4; border-radius: 0px; box-sizing: border-box; color: #c7254e; font-size: 16.2px; overflow-wrap: break-word; padding: 2px 0px;&quot;&gt;gcloud&lt;/code&gt;&amp;nbsp;CLI:&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-K13qTmnnMb9aP7adh9uG2&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;code-container &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;border border-solid !border-gray-L700 rounded-t   Code_code-editor-styled__179Gj&quot; style=&quot;--tw-border-opacity: 1 !important; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(55 65 81/var(--tw-border-opacity)) !important; border-style: solid; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; border-width: 1px; box-sizing: border-box; flex-shrink: 0; height: 35px; overflow-y: initial; position: relative; user-select: auto; width: 872px;&quot;&gt;&lt;div class=&quot;monaco-loaded&quot; data-keybinding-context=&quot;8&quot; data-mode-id=&quot;shell&quot; style=&quot;--codelens-font-features_ee1f68: &amp;quot;liga&amp;quot; off, &amp;quot;calt&amp;quot; off; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; min-height: 40px;&quot;&gt;&lt;div class=&quot;monaco-editor no-user-select  showUnused showDeprecated vs-dark&quot; data-uri=&quot;file:///bg1HGXe39WZlDQx1-ZrR3-main.sh&quot; role=&quot;code&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #282830; box-sizing: border-box; color: #fafafa; height: 40px; overflow: visible; position: relative; text-size-adjust: 100%; width: 870px;&quot;&gt;&lt;div class=&quot;overflow-guard&quot; data-mprt=&quot;3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; overflow: hidden; position: relative; width: 870px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 40px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 55px;&quot;&gt;&lt;div class=&quot;glyph-margin&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 0px; position: absolute; top: 0px; width: 0px;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;margin-view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; width: 55px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 55px;&quot;&gt;&lt;div class=&quot;current-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; left: 0px; position: absolute; top: 0px; width: 55px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;active-line-number line-numbers&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #c6c6c6; cursor: default; display: inline-block; font-variant-numeric: tabular-nums; height: 19px; left: 0px; position: absolute; text-align: right; vertical-align: middle; width: 38px;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;1&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;monaco-scrollable-element editor-scrollable vs-dark&quot; data-mprt=&quot;5&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 55px; overflow: hidden; position: absolute; width: 815px;&quot;&gt;&lt;div class=&quot;lines-content monaco-editor-background&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; height: 1e+06px; left: 0px; overflow: hidden; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); user-select: none; width: 1e+06px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-overlays&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 0px; position: absolute; top: 0px; width: 815px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; width: 815px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-rulers&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-zones&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;view-lines monaco-mouse-cursor-text&quot; data-mprt=&quot;7&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; cursor: text; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 40px; letter-spacing: 0px; line-height: 19px; position: absolute; text-wrap: nowrap; user-select: none; width: 815px;&quot;&gt;&lt;div class=&quot;view-line&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 19px; position: absolute; top: 8px; user-select: none; width: 815px;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;span class=&quot;mtk1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; color: #d4d4d4;&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;gcloud&amp;nbsp;init&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;contentWidgets&quot; data-mprt=&quot;1&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; top: 0px;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;cursors-layer cursor-line-style cursor-solid&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; top: 0px;&quot;&gt;&lt;div class=&quot;cursor monaco-mouse-cursor-text &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #b0b0b0; border-color: rgb(176, 176, 176); box-sizing: border-box; color: #4f4f4f; cursor: text; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; height: 19px; left: 0px; letter-spacing: 0px; line-height: 19px; overflow: hidden; position: absolute; top: 8px; visibility: hidden; width: 1.6px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar horizontal&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; bottom: 0px; box-sizing: border-box; height: 12px; left: 0px; opacity: 0; pointer-events: none; position: absolute; visibility: hidden; width: 801px;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 12px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 801px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;canvas aria-hidden=&quot;true&quot; class=&quot;decorationsOverviewRuler&quot; height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; display: inline-block; height: 40px; position: absolute; right: 0px; top: 0px; transform: translate3d(0px, 0px, 0px); vertical-align: baseline; width: 14px;&quot; width=&quot;17&quot;&gt;&lt;/canvas&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar vertical&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; opacity: 0; pointer-events: none; position: absolute; right: 0px; top: 0px; visibility: hidden; width: 14px;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 40px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 14px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; width: 870px;&quot;&gt;&lt;/div&gt;&lt;textarea aria-autocomplete=&quot;both&quot; aria-haspopup=&quot;false&quot; aria-label=&quot;Editor content;Press Alt+F1 for Accessibility Options.&quot; aria-multiline=&quot;true&quot; aria-roledescription=&quot;editor&quot; autocapitalize=&quot;off&quot; autocomplete=&quot;off&quot; autocorrect=&quot;off&quot; class=&quot;inputarea monaco-mouse-cursor-text&quot; data-mprt=&quot;6&quot; role=&quot;textbox&quot; spellcheck=&quot;false&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: initial; border-style: none; border-width: initial; font-feature-settings: &amp;quot;liga&amp;quot; 0, &amp;quot;calt&amp;quot; 0; font-kerning: inherit; font-optical-sizing: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; height: 1px; left: 55px; letter-spacing: 0px; line-height: 19px; margin: 0px; min-height: 0px; min-width: 0px; outline: none !important; overflow: hidden; padding: 0px; position: absolute; resize: none; top: 8px; width: 1px;&quot; tabindex=&quot;0&quot; wrap=&quot;off&quot;&gt;&lt;/textarea&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 0px; left: 0px; position: absolute; top: 0px; width: 0px;&quot;&gt;&lt;/div&gt;&lt;div class=&quot;overlayWidgets&quot; data-mprt=&quot;4&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; left: 0px; position: absolute; top: 0px; width: 870px;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: absolute; right: 435px; top: 0px;&quot; widgetid=&quot;editor.contrib.quickInputWidget&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;minimap slider-mouseover&quot; data-mprt=&quot;8&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 0px; position: absolute; width: 0px;&quot;&gt;&lt;div class=&quot;minimap-shadow-hidden&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; position: absolute; width: 0px;&quot;&gt;&lt;/div&gt;&lt;canvas height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline-block; height: 40px; left: 0px; position: absolute; vertical-align: baseline; width: 0px;&quot; width=&quot;0&quot;&gt;&lt;/canvas&gt;&lt;canvas class=&quot;minimap-decorations-layer&quot; height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline-block; height: 40px; left: 0px; position: absolute; vertical-align: baseline; width: 0px;&quot; width=&quot;0&quot;&gt;&lt;/canvas&gt;&lt;div class=&quot;minimap-slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; opacity: 0; position: absolute; transform: translate3d(0px, 0px, 0px); transition: opacity 0.1s linear 0s; width: 0px;&quot;&gt;&lt;div class=&quot;minimap-slider-horizontal&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(121, 121, 121, 0.2); box-sizing: border-box; height: 0px; position: absolute; width: 0px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflowingContentWidgets&quot; data-mprt=&quot;2&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;monaco-editor rename-box&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #252526; box-shadow: rgba(0, 0, 0, 0.36) 0px 0px 8px 2px; box-sizing: border-box; color: #cccccc; max-width: 1493px; overflow: visible; position: absolute; text-size-adjust: 100%; visibility: hidden; z-index: 100;&quot; widgetid=&quot;__renameInputWidget&quot;&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;input aria-label=&quot;Rename input. Type new name and press Enter to commit.&quot; class=&quot;rename-input&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #3c3c3c; border-style: none; border-width: 0px; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; line-height: inherit; margin: 0px; padding: 3px; width: calc(100% - 6px);&quot; type=&quot;text&quot; /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class=&quot;tailwind-hidden sm:inline &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline;&quot;&gt;&lt;div class=&quot;z-9 absolute right-3.5 top-1 flex cursor-pointer&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; cursor: pointer; display: flex; position: absolute; right: 0.875rem; top: 0.25rem;&quot;&gt;&lt;div aria-label=&quot;copy-code-button&quot; class=&quot;flex h-6 items-center justify-center rounded border-none bg-white text-black opacity-30 shadow-md duration-200 hover:opacity-100 hover:shadow-lg focus:opacity-100 focus:shadow-lg dark:bg-gray-D1300 dark:text-gray-D200&quot; role=&quot;button&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color); --tw-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border-radius: 0.25rem; border-style: none; box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow); box-sizing: border-box; color: rgb(0 0 0/var(--tw-text-opacity)); display: flex; height: 1.5rem; justify-content: center; opacity: 0.3; transition-duration: 0.2s;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; class=&quot;w-7 h-7 hover:text-indigo-500 dark:hover:text-indigo-400 focus:text-indigo-500 dark:focus:text-indigo-400 p-2 duration-200&quot; fill=&quot;none&quot; height=&quot;24&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; title=&quot;Copy To Clipboard&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;span style=&quot;font-family: helvetica;&quot;&gt;&lt;rect height=&quot;13&quot; rx=&quot;2&quot; ry=&quot;2&quot; width=&quot;13&quot; x=&quot;9&quot; y=&quot;9&quot;&gt;&lt;/rect&gt;&lt;path d=&quot;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&quot;&gt;&lt;/path&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mt-5 clear-both relative&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; clear: both; margin-top: 1.25rem; position: relative;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; outline: none;&quot; tabindex=&quot;0&quot;&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;&quot; id=&quot;widget-parent-Ng8pAVAEMsYV_XVUMaxK5&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;code-container &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; position: relative;&quot;&gt;&lt;div class=&quot;&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box;&quot;&gt;&lt;div class=&quot;border border-solid !border-gray-L700 rounded-t   Code_code-editor-styled__179Gj&quot; style=&quot;--tw-border-opacity: 1 !important; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; border-color: rgb(55 65 81/var(--tw-border-opacity)) !important; border-style: solid; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; border-width: 1px; box-sizing: border-box; flex-shrink: 0; height: 35px; overflow-y: initial; position: relative; user-select: auto; width: 872px;&quot;&gt;&lt;div class=&quot;monaco-loaded&quot; data-keybinding-context=&quot;10&quot; data-mode-id=&quot;dockerfile&quot; style=&quot;--codelens-font-features_1cd5ccef: &amp;quot;liga&amp;quot; off, &amp;quot;calt&amp;quot; off; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; min-height: 40px;&quot;&gt;&lt;div class=&quot;monaco-editor no-user-select  showUnused showDeprecated vs-dark&quot; data-uri=&quot;file:///Xzlm5Zddja36yz6j3zr_k-Dockerfile&quot; role=&quot;code&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #282830; box-sizing: border-box; color: #fafafa; height: 40px; overflow: visible; position: relative; text-size-adjust: 100%; width: 870px;&quot;&gt;&lt;div class=&quot;overflow-guard&quot; data-mprt=&quot;3&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; overflow: hidden; position: relative; width: 870px;&quot;&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;minimap slider-mouseover&quot; data-mprt=&quot;8&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; left: 0px; position: absolute; width: 0px;&quot;&gt;&lt;div class=&quot;minimap-shadow-hidden&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; height: 40px; position: absolute; width: 0px;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;span style=&quot;font-family: -apple-system, BlinkMacSystemFont, Segoe WPC, Segoe UI, HelveticaNeue-Light, system-ui, Ubuntu, Droid Sans, sans-serif;&quot;&gt;&lt;span style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; display: inline-block;&quot;&gt;&lt;canvas height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline-block; height: 40px; left: 0px; position: absolute; vertical-align: baseline; width: 0px;&quot; width=&quot;0&quot;&gt;&lt;/canvas&gt;&lt;canvas class=&quot;minimap-decorations-layer&quot; height=&quot;50&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline-block; height: 40px; left: 0px; position: absolute; vertical-align: baseline; width: 0px;&quot; width=&quot;0&quot;&gt;&lt;/canvas&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class=&quot;minimap-slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; contain: strict; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, HelveticaNeue-Light, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif; opacity: 0; position: absolute; transform: translate3d(0px, 0px, 0px); transition: opacity 0.1s linear 0s; width: 0px;&quot;&gt;&lt;div class=&quot;minimap-slider-horizontal&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(121, 121, 121, 0.2); box-sizing: border-box; height: 0px; position: absolute; width: 0px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;overflowingContentWidgets&quot; data-mprt=&quot;2&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-family: -apple-system, BlinkMacSystemFont, &amp;quot;Segoe WPC&amp;quot;, &amp;quot;Segoe UI&amp;quot;, HelveticaNeue-Light, system-ui, Ubuntu, &amp;quot;Droid Sans&amp;quot;, sans-serif;&quot;&gt;&lt;div class=&quot;monaco-editor rename-box&quot; style=&quot;--monaco-monospace-font: &amp;quot;SF Mono&amp;quot;,Monaco,Menlo,Consolas,&amp;quot;Ubuntu Mono&amp;quot;,&amp;quot;Liberation Mono&amp;quot;,&amp;quot;DejaVu Sans Mono&amp;quot;,&amp;quot;Courier New&amp;quot;,monospace; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #252526; box-shadow: rgba(0, 0, 0, 0.36) 0px 0px 8px 2px; box-sizing: border-box; color: #cccccc; max-width: 1493px; overflow: visible; position: absolute; text-size-adjust: 100%; visibility: hidden; z-index: 100;&quot; widgetid=&quot;__renameInputWidget&quot;&gt;&lt;input aria-label=&quot;Rename input. Type new name and press Enter to commit.&quot; class=&quot;rename-input&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background-color: #3c3c3c; border-style: none; border-width: 0px; font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-feature-settings: inherit; font-kerning: inherit; font-optical-sizing: inherit; font-size: 14px; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-variation-settings: inherit; font-weight: normal; line-height: inherit; margin: 0px; padding: 3px; width: calc(100% - 6px);&quot; type=&quot;text&quot; /&gt;&lt;/div&gt;&lt;div class=&quot;monaco-hover&quot; role=&quot;tooltip&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; animation: 0.1s linear 0s 1 normal none running fadein; background-color: #252526; border: 1px solid rgb(69, 69, 69); box-sizing: initial; color: #cccccc; cursor: default; line-height: 1.5em; max-width: 1493px; overflow: hidden; position: absolute; user-select: text; visibility: hidden; z-index: 50;&quot; tabindex=&quot;0&quot; widgetid=&quot;editor.contrib.modesContentHoverWidget&quot;&gt;&lt;div class=&quot;monaco-scrollable-element &quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; overflow: hidden; position: relative;&quot;&gt;&lt;div class=&quot;monaco-hover-content&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; line-height: 19px; max-height: 250px; max-width: 574.2px; overflow: hidden;&quot;&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar horizontal&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; opacity: 0; pointer-events: none; position: absolute; visibility: hidden;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; height: 10px; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px);&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div aria-hidden=&quot;true&quot; class=&quot;invisible scrollbar vertical&quot; role=&quot;presentation&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; opacity: 0; pointer-events: none; position: absolute; visibility: hidden;&quot;&gt;&lt;div class=&quot;slider&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; background: rgba(120, 120, 120, 0.4); box-sizing: border-box; contain: strict; left: 0px; position: absolute; top: 0px; transform: translate3d(0px, 0px, 0px); width: 10px;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-family: &amp;quot;Nunito Sans&amp;quot;, sans-serif, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Oxygen, Ubuntu, Cantarell, &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;span class=&quot;tailwind-hidden sm:inline &quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; display: inline; font-family: &amp;quot;Nunito Sans&amp;quot;, sans-serif, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Oxygen, Ubuntu, Cantarell, &amp;quot;Helvetica Neue&amp;quot;;&quot;&gt;&lt;div class=&quot;z-9 absolute right-3.5 top-1 flex cursor-pointer&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; cursor: pointer; display: flex; position: absolute; right: 0.875rem; top: 0.25rem;&quot;&gt;&lt;div aria-label=&quot;copy-code-button&quot; class=&quot;flex h-6 items-center justify-center rounded border-none bg-white text-black opacity-30 shadow-md duration-200 hover:opacity-100 hover:shadow-lg focus:opacity-100 focus:shadow-lg dark:bg-gray-D1300 dark:text-gray-D200&quot; role=&quot;button&quot; style=&quot;--tw-bg-opacity: 1; --tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color); --tw-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); --tw-skew-x: 0; --tw-skew-y: 0; --tw-text-opacity: 1; --tw-translate-x: 0; --tw-translate-y: 0; align-items: center; border-radius: 0.25rem; border-style: none; box-shadow: var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow); box-sizing: border-box; color: rgb(0 0 0/var(--tw-text-opacity)); display: flex; height: 1.5rem; justify-content: center; opacity: 0.3; transition-duration: 0.2s;&quot;&gt;&lt;svg aria-hidden=&quot;true&quot; class=&quot;w-7 h-7 hover:text-indigo-500 dark:hover:text-indigo-400 focus:text-indigo-500 dark:focus:text-indigo-400 p-2 duration-200&quot; fill=&quot;none&quot; height=&quot;24&quot; stroke-linecap=&quot;round&quot; stroke-linejoin=&quot;round&quot; stroke-width=&quot;2&quot; stroke=&quot;currentColor&quot; title=&quot;Copy To Clipboard&quot; viewbox=&quot;0 0 24 24&quot; width=&quot;24&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;rect height=&quot;13&quot; rx=&quot;2&quot; ry=&quot;2&quot; width=&quot;13&quot; x=&quot;9&quot; y=&quot;9&quot;&gt;&lt;/rect&gt;&lt;path d=&quot;M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1&quot;&gt;&lt;/path&gt;&lt;/svg&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;mb-8 mt-3 w-full&quot; style=&quot;--tw-border-spacing-x: 0; --tw-border-spacing-y: 0; --tw-ring-color: rgba(59,130,246,.5); --tw-ring-offset-color: #fff; --tw-ring-offset-shadow: 0 0 #0000; --tw-ring-offset-width: 0px; --tw-ring-shadow: 0 0 #0000; --tw-rotate: 0; --tw-scale-x: 1; --tw-scale-y: 1; --tw-scroll-snap-strictness: proximity; --tw-shadow-colored: 0 0 #0000; --tw-shadow: 0 0 #0000; --tw-skew-x: 0; --tw-skew-y: 0; --tw-translate-x: 0; --tw-translate-y: 0; box-sizing: border-box; font-family: &amp;quot;Nunito Sans&amp;quot;, sans-serif, -apple-system, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Oxygen, Ubuntu, Cantarell, &amp;quot;Helvetica Neue&amp;quot;; font-size: 14px; margin-bottom: 2rem; margin-top: 0.75rem; width: 872px;&quot;&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4156416487709616612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2023/10/install-google-cloud-api-tools-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4156416487709616612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4156416487709616612'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2023/10/install-google-cloud-api-tools-on.html' title='install google cloud api tools on ubuntu / debian'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7549008938344310460</id><published>2023-04-03T22:45:00.001-04:00</published><updated>2023-04-03T22:45:07.942-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2023"/><category scheme="http://www.blogger.com/atom/ns#" term="azure"/><category scheme="http://www.blogger.com/atom/ns#" term="blob"/><category scheme="http://www.blogger.com/atom/ns#" term="cloud"/><category scheme="http://www.blogger.com/atom/ns#" term="container"/><category scheme="http://www.blogger.com/atom/ns#" term="fuse"/><category scheme="http://www.blogger.com/atom/ns#" term="local access"/><category scheme="http://www.blogger.com/atom/ns#" term="mounting"/><title type='text'>Mounting Blob containers from Azure using blobfuse2</title><content type='html'>&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;Quite a few tutorials exist around the internet helping with tips on how to achieve this seemingly simple task.&amp;nbsp; However, most of them choose the happy path and describe the simpler use cases.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;Let me showcase some of the less visible tips -&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;1. if you are mounting into an already existing (non empty) directory, the mount call will fail&lt;br /&gt;2. if your config file is picked up from baseconfig.yaml (from github page of blobfuse2), you need to take note of a few things -&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;a. the sample config file is not setup to allow other users to see the mounts / contents.&amp;nbsp; You should change the entry &quot;allow_other&quot; to true from the example false. This change wont work unless you edit the &lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;/etc/fuse.conf&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt; file and uncomment the line &lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;#user_allow_other&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;b. the sample config file also indicates the storage type to be block, which works fine for flat blob storage situations. However, if you are using ADLS gen 2 for your storage account, you should indicate &quot;&lt;/span&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;adls&lt;/span&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&quot;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;span&gt;3. Even though the config file has a container name entry, blobfuse2 allows you to override the container that you want to mount in the command line. for example -&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: courier;&quot;&gt;blobfuse2 mount ${targetMountDirectory} --container-name ${containerName} --config-file=${configFilePath}&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-family: verdana;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;&lt;p style=&quot;text-align: left;&quot;&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7549008938344310460/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2023/04/mounting-blob-containers-from-azure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7549008938344310460'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7549008938344310460'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2023/04/mounting-blob-containers-from-azure.html' title='Mounting Blob containers from Azure using blobfuse2'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-61158157649655056</id><published>2017-03-23T09:09:00.000-04:00</published><updated>2017-03-23T09:09:23.286-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="big data"/><category scheme="http://www.blogger.com/atom/ns#" term="big-data"/><category scheme="http://www.blogger.com/atom/ns#" term="hadoop"/><category scheme="http://www.blogger.com/atom/ns#" term="interview"/><category scheme="http://www.blogger.com/atom/ns#" term="questions"/><category scheme="http://www.blogger.com/atom/ns#" term="spark"/><title type='text'>Apache Spark Interview Questions </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_2&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_2&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;1. What is Spark?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_2&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Apache Spark is a fast, easy-to-use and flexible data processing framework. It has an advanced execution engine supporting cyclic data &amp;nbsp;flow and in-memory computing. Spark can run on Hadoop, standalone or in the cloud and is capable of accessing diverse data sources including HDFS, HBase, Cassandra and others.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_3&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_3&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;2. Key features of Spark.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_3&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;ul style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li class=&quot;accord-heading&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Allows Integration with Hadoop and files included in HDFS.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-heading&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark has an interactive language shell as it has an independent Scala (the language in which Spark is written) interpreter.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-heading&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark consists of RDD’s (Resilient Distributed Datasets), which can be cached across computing nodes in a cluster.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-heading&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark supports multiple analytic tools that are used for interactive query analysis , real-time analysis and graph&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_5&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_5&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;3. What is an RDD?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_5&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;RDD is the acronym for Resilient Distribution Datasets – a fault-tolerant collection of operational elements that run parallel. The partitioned data in RDD is immutable and distributed. There are primarily two types of RDD:&lt;/span&gt;&lt;/div&gt;
&lt;ol style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: decimal outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Parallelized Collections :&lt;/span&gt;&amp;nbsp;The existing RDD’s running parallel with one another.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: decimal outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Hadoop datasets&amp;nbsp;:&lt;/span&gt;&amp;nbsp;perform function on each file record in HDFS or other storage system&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_6&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_6&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;4. What are Partitions?&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_6&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;As the name suggests, partition is a smaller and logical division of data &amp;nbsp;similar to ‘split’ in MapReduce. Partitioning is the process to derive logical units of data to speed up the processing process. Everything in Spark is a partitioned RDD.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_9&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_9&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;5. What kind of operations RDD support?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_9&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;ul style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Transformations.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Actions&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_10&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_10&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;6. What do you understand by Transformations in Spark?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_10&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Transformations are functions applied on RDD, resulting into another RDD. It does not execute until an action occurs. map() and filer() are examples of transformations, where the former applies the function passed to it on each element of RDD and results into another RDD. The filter() creates a new RDD by selecting elements form current RDD that pass function argument.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_11&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_11&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;7. What are Actions in Spark ?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_11&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;An action helps in bringing back the data from RDD to the local machine. An action’s execution is the result of all previously created transformations. reduce() is an action that implements the function passed again and again until one value if left. take() action takes all the values from RDD to local node.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_13&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_13&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small; font-weight: 600;&quot;&gt;8. Define functions of SparkCore?&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Serving as the base engine, SparkCore performs various important functions like memory management, monitoring jobs, fault-tolerance, job scheduling and interaction with storage systems.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_14&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_14&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;9. What is RDD Lineage?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_14&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark does not support data replication in the memory and thus, if any data is lost, it is rebuild using RDD lineage. RDD lineage is a process that reconstructs lost data partitions. The best is that RDD always remembers how to build from other datasets.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_15&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_15&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;10. What is Spark Driver?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_15&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark Driver is the program that runs on the master node of the machine and declares transformations and actions on data RDDs. In simple terms, driver in Spark creates SparkContext, connected to a given Spark Master.&lt;br style=&quot;box-sizing: border-box;&quot; /&gt;The driver also delivers the RDD graphs to Master, where the standalone cluster manager runs.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_16&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_16&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;11. What is Hive on Spark?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_16&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Hive contains significant support for Apache Spark, wherein Hive execution is configured to Spark:&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;-webkit-font-smoothing: antialiased; border-radius: 4px; border: 1px solid rgb(204, 204, 204); box-sizing: border-box; line-height: 1.42857; margin-bottom: 10px; padding: 9.5px; white-space: pre-wrap; word-break: break-all; word-wrap: break-word;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;hive&amp;gt; set spark.home=/location/to/sparkHome;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;hive&amp;gt; set hive.execution.engine=spark;&lt;/span&gt;&lt;/blockquote&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Hive on Spark supports Spark on yarn mode by default.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_17&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_17&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;12. Name commonly-used Spark Ecosystems.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_17&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;ul style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark SQL (Shark)- for developers.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark Streaming for processing live data streams.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;GraphX for generating and computing graphs.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;MLlib (Machine Learning Algorithms).&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;SparkR to promote R Programming in Spark engine.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_18&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_18&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;13. What is Spark Streaming ?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_18&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark supports stream processing – an extension to the Spark API , allowing stream processing of live data streams. The data from different sources like Flume, HDFS is streamed and finally processed to file systems, live dashboards and databases. It is similar to batch processing as the input data is divided into streams like batches.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_21&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_21&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;14. What is Spark SQL?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_21&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;SQL Spark, better known as Shark is a novel module introduced in Spark to work with structured data and perform structured data processing. Through this module, Spark executes relational SQL queries on the data. The core of the component supports an altogether different RDD called SchemaRDD, composed of rows objects and schema objects defining data type of each column in the row. It is similar to a table in relational database.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_22&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_22&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;15. What is a Parquet file?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_22&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Parquet is a columnar format file supported by many other data processing systems. Spark SQL performs both read and write operations with Parquet file and consider it be one of the best big data analytics format so far.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_23&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_23&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;16. What file systems Spark support?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_23&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;ul style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Hadoop Distributed File System (HDFS). &amp;nbsp;Learn more about&amp;nbsp;&lt;a href=&quot;https://intellipaat.com/interview-question/hdfs-interview-questions/&quot; style=&quot;-webkit-appearance: none; box-sizing: border-box; outline: none; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;HDFS&lt;/a&gt;&amp;nbsp;in these Top Interview questions.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Local File system.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;S3&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_24&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_24&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;17. What is Yarn?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_24&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Similar to Hadoop, Yarn is one of the key features in Spark, providing a central and resource management platform to deliver scalable operations across the cluster . Running Spark on Yarn necessitates a binary distribution of Spar as built on Yarn support.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_25&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_25&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;18. List the functions of Spark SQL.?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_25&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark SQL is capable of:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 10px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Loading data from a variety of structured sources.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Querying data using SQL statements, both inside a Spark program and from external tools that connect to Spark SQL through standard database connectors (JDBC/ODBC). For instance, using business intelligence tools like Tableau.&amp;nbsp;Get to know more about Tableau in this&amp;nbsp;&lt;a href=&quot;https://intellipaat.com/tutorial/tableau-tutorial/&quot; style=&quot;-webkit-appearance: none; box-sizing: border-box; outline: none; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Tableau Tutorial&lt;/a&gt;.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Providing rich integration between SQL and regular Python/Java/Scala code, including the ability to join RDDs and SQL tables, expose custom functions in SQL, and more.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_26&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_26&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;19. What are benefits of Spark over MapReduce?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_26&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;ul style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Due to the availability of in-memory processing, Spark implements the processing around 10-100x faster than Hadoop MapReduce. MapReduce makes use of persistence storage for any of the data processing tasks.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Unlike Hadoop, Spark provides in-built libraries to perform multiple tasks form the same core like batch processing, Steaming, Machine learning, Interactive SQL queries. However, Hadoop only supports batch processing.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Hadoop is highly disk-dependent whereas Spark promotes caching and in-memory data storage.&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Spark is capable of performing computations multiple times on the same dataset. This is called iterative computation while there is no iterative computing implemented by Hadoop.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;a href=&quot;https://intellipaat.com/blog/spark-vs-map-reduce/&quot; style=&quot;-webkit-appearance: none; box-sizing: border-box; outline: none; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Read more&lt;/a&gt;&amp;nbsp;in this blog about the comparison of Spark and MapReduce.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_27&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_27&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small; font-weight: 600;&quot;&gt;20. What is Spark Executor?&lt;/span&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;br /&gt;When SparkContext connect to a cluster manager, it acquires an Executor on nodes in the cluster. Executors are Spark processes that run computations and store the data on the worker node. The final tasks by SparkContext are transferred to executors for their execution.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_29&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_29&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;21. Name types of Cluster Managers in Spark.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_29&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;The Spark framework supports three major types of Cluster Managers:&lt;/span&gt;&lt;/div&gt;
&lt;ol style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: none; margin: 0px 0px 0px 40px; padding: 0px;&quot;&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: decimal outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Standalone :&lt;/span&gt;&amp;nbsp;a basic manager to set up a cluster.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: decimal outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Apache Mesos :&lt;/span&gt;&amp;nbsp;generalized/commonly-used cluster manager, also runs Hadoop MapReduce and other applications.&lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;accord-panel&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: decimal outside; margin-right: 14.225px; padding-left: 0px;&quot;&gt;&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;&lt;span style=&quot;box-sizing: border-box; font-weight: 600;&quot;&gt;Yarn :&lt;/span&gt;&amp;nbsp;responsible for resource management in Hadoop&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_30&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_30&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;22. What do you understand by worker node?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-panel&quot; id=&quot;Section_30&quot; style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 15px; padding: 0px 18px;&quot;&gt;
&lt;div style=&quot;-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-top: 15.025px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;Worker node refers to any node that can run the application code in a cluster.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;accordion-parent&quot; id=&quot;Section_31&quot; style=&quot;-webkit-font-smoothing: antialiased; box-shadow: rgb(136, 136, 136) 0px 0px 1px; box-sizing: border-box; margin-bottom: 15px; padding-bottom: 5px;&quot;&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_31&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; font-weight: 600; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;23. Do you need to install Spark on all nodes of Yarn cluster while running Spark on Yarn?&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;accord-heading&quot; id=&quot;Section_31&quot; style=&quot;-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: none; box-sizing: border-box; margin-bottom: 20px; outline: none; padding: 10px; position: relative; width: 787.5px;&quot;&gt;
&lt;span style=&quot;background-color: white; color: blue; font-family: Verdana, sans-serif; font-size: x-small;&quot;&gt;No because Spark runs on top of Yarn.&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/61158157649655056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2017/03/apache-spark-interview-questions.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/61158157649655056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/61158157649655056'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2017/03/apache-spark-interview-questions.html' title='Apache Spark Interview Questions '/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5111071591435089604</id><published>2017-01-29T10:01:00.000-05:00</published><updated>2017-02-02T10:01:52.267-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="avro"/><category scheme="http://www.blogger.com/atom/ns#" term="data"/><category scheme="http://www.blogger.com/atom/ns#" term="design"/><category scheme="http://www.blogger.com/atom/ns#" term="hadoop"/><category scheme="http://www.blogger.com/atom/ns#" term="schema"/><category scheme="http://www.blogger.com/atom/ns#" term="schema design"/><category scheme="http://www.blogger.com/atom/ns#" term="schema-design"/><title type='text'>Handling data with changing schema on Hadoop</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;User data often is unpredictable, even when we can predict a
change coming our way we need to prepare for that. Make changes in our
environment to accept the incoming change, accommodate and absorb.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;With that being a fact of life, our design should allow for those
changes to happen. &amp;nbsp;With the structured data warehouses gone (well,
mostly), Hadoop based data stores are the norm these days, and would be default
in future not so distant. &amp;nbsp;By definition, Hadoop allows all kinds of data
to be stored on the cluster and happily provides various tools to process such
data.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;However, with different types of data out there on cluster, any
given tool would need to &quot;know&quot; what data that is? How to read it,
interpret it and process it. That would have been relatively straightforward
with the data schema being static, as in, a file comes in from source A, with a
certain format, and that’s about it. You can define programs/structures to work
with it.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;What if the source system decides to alter the data set schema,
add a few columns, and change some column ordering, perhaps data type too, what
then? Would our program reading that dataset on Hadoop cluster still work as it?
No.. It won’t .. Because it would also require change to reflect the same
changes sent from source.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Assume that you did those changes too. So, now our program is
version 2, able to handle the dataset sent by source (v2 as well). What about
the older data lying around on Hadoop cluster (v1, with old schema)? How is
that dataset going to used/usable? &amp;nbsp;What if that data was used by hive
tables, would you have two (or more) set of tables?&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;What if that data was exposed to some analytical programs, through
R or similar? I am sure we won’t want to rewrite/test the whole solutions just
because source system decided to change&amp;nbsp;something?&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;And this&amp;nbsp;scenario&amp;nbsp;is not purely hypothetical, it happens
around us, more often than not, just that&amp;nbsp;we deal with it in our own
patchwork styles, or solutions varying on a case to case basis.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Here I propose a somewhat generic solution, one that might work
for all, well, nearly all use cases.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Avro&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&amp;nbsp;is a data serialization system, wherein the schema is built
into the file itself. As a result, programs reading the data-file doesn’t have
to bother with interpreting the data file through external schema.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Avro was designed by Doug Cutting for similar reasons, as a tool
that is language and schema independent and therefore unrelated
tools/technologies can deal with data files.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;That being said, is not a silver bullet in itself, but it handles
the schema change fairly nicely.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Basically, you store the data on hdfs in Avro formatted files. For
that, Avro schema needs to be created, which is fairly straightforward
json&amp;nbsp;structured&amp;nbsp;file, indicating the record&amp;nbsp;structure. Take a
look at an example here -&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;{&quot;namespace&quot;:
&quot;myExample.avro&quot;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
&amp;nbsp;&quot;type&quot;: &quot;record&quot;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
&amp;nbsp;&quot;name&quot;: &quot;User&quot;,&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
&amp;nbsp;&quot;fields&quot;: [&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;{&quot;name&quot;: &quot;name&quot;, &quot;type&quot;:
&quot;string&quot;},&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;{&quot;name&quot;: &quot;age&quot;, &amp;nbsp;&quot;type&quot;:
[&quot;int&quot;, &quot;null&quot;]},&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp;{&quot;name&quot;: &quot;address&quot;, &quot;type&quot;:
[&quot;string&quot;, &quot;null&quot;]}&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
&amp;nbsp;]&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;
}&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;create external &amp;nbsp;table ex_users&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;(name &amp;nbsp; &amp;nbsp; String , &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;age &amp;nbsp; &amp;nbsp; int ,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;address &amp;nbsp; &amp;nbsp; String)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;stored as AVRO&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;location &#39;/apps/data/hive/ex_users.tbl&#39;;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;div style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;When files are saved as Avro formatted files, information from the
schema is built into them, in plain text, and is parse-able for programs like
hive and others to interpret the rest of the file.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;For this to work, the tool has to rely on Avro. Look at this hive table definition -&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;With the clause &quot;Stored as Avro&quot; we are basically telling hive to match the columns defined in hive with columns in Avro fi&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;les in that hdfs location and use whatever columns map to hive definition.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Avro is compressible, split-able and stores data in binary format,
providing some additional features.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;When this Avro formatted file is exposed to programs like hive, they don’t have to worry about changes in schema, since they rely on the schema information in the file header. If the hive / R schema asks for 5 columns, but the file only has 3 of them (with names as matching criteria and not order/position of columns), those matching columns are project to the consuming tool, and the rest is ignored.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Similarly, if the tool asks for data that is not present in a
certain data file (remember our example v2 file with additional column as against
v1), the column that is not present is reported as null.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Now, look at the following data file (new avro schema - after source system decided to change)&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;{&quot;namespace&quot;: &quot;myExample.avro&quot;,&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp;&quot;type&quot;: &quot;record&quot;,&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp;&quot;name&quot;: &quot;User&quot;,&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp;&quot;fields&quot;: [&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&quot;name&quot;: &quot;name&quot;, &quot;type&quot;: &quot;string&quot;},&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&quot;name&quot;: &quot;age&quot;, &amp;nbsp;&quot;type&quot;: [&quot;int&quot;, &quot;null&quot;]},&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&quot;name&quot;: &quot;salary&quot;, &amp;nbsp;&quot;type&quot;: [&quot;float&quot;, &quot;null&quot;]},&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{&quot;name&quot;: &quot;address&quot;, &quot;type&quot;: [&quot;string&quot;, &quot;null&quot;]}&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&amp;nbsp;]&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;}&lt;/span&gt;&lt;/blockquote&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;And the corresponding hive table definition -&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;create external &amp;nbsp;table ex_users (name &amp;nbsp; &amp;nbsp; String , &amp;nbsp;age &amp;nbsp; &amp;nbsp; int , address &amp;nbsp; &amp;nbsp; String, salary float)&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;stored as AVRO&lt;/span&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;location &#39;/apps/data/hive/ex_users.tbl&#39;;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;For this table definition, its not a problem to query and report a data file in old schema (v1) wherein the column salary is not present. it would simply know from the avro schema definition in that header that the file doenst have that column, and it would gladly report that as null.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;On the other hand, in the new structure has a different order of columns, which is also fine for hive/avro combination since the schema definition helps match up the columns and report the right content in right columns.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;Similar analogies can be derived for other data consumers who need
to interpret the schemas for data files on hdfs.&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;, sans-serif;&quot;&gt;In comparison to some other storage formats, we do lose some points on the performance scale, but for the use case, where schema is changing and we want to be able to handle the changes with little or no effort, this is a better fit than many others.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5111071591435089604/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2017/01/handling-data-with-changing-schema-on.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5111071591435089604'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5111071591435089604'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2017/01/handling-data-with-changing-schema-on.html' title='Handling data with changing schema on Hadoop'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4213001361879426855</id><published>2016-12-20T10:26:00.000-05:00</published><updated>2016-12-20T10:26:39.201-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="big data"/><category scheme="http://www.blogger.com/atom/ns#" term="big-data"/><category scheme="http://www.blogger.com/atom/ns#" term="data"/><category scheme="http://www.blogger.com/atom/ns#" term="filesize"/><category scheme="http://www.blogger.com/atom/ns#" term="hadoop"/><category scheme="http://www.blogger.com/atom/ns#" term="memory"/><category scheme="http://www.blogger.com/atom/ns#" term="namenode"/><category scheme="http://www.blogger.com/atom/ns#" term="smallFiles"/><title type='text'>Hadoop - Small Files vs Big Files</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif; font-size: x-small;&quot;&gt;Credits- &lt;a href=&quot;https://blogs.msdn.microsoft.com/cindygross/2015/05/04/hadoop-likes-big-files/&quot;&gt;https://blogs.msdn.microsoft.com/cindygross/2015/05/04/hadoop-likes-big-files/&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
One of the frequently overlooked yet essential best practices for Hadoop is to prefer fewer, bigger files over more, smaller files. How small is too small and how many is too many? How do you stitch together all those small Internet of Things files into files &quot;big enough&quot; for Hadoop to process efficiently?&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;The Problem&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
One performance best practice for Hadoop is to have fewer large files as opposed to large numbers of small files. A related best practice is to not partition “too much”. Part of the reason for not over-partitioning is that it generally leads to larger numbers of smaller files.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
Too small is smaller than HDFS block size (chunk size), or realistically small is something less than several times larger than chunk size. A very, very rough rule of thumb is files should be at least 1GB each and no more than maybe around 10,000-ish files per table. These numbers, especially the maximum total number of files per table, vary depending on many factors. However, it gives you a reference point. The 1GB is based on multiples of the chunk size while the 2&lt;span style=&quot;box-sizing: border-box; font-size: 10.5px; line-height: 0; position: relative; top: -0.5em; vertical-align: baseline;&quot;&gt;nd&lt;/span&gt;&amp;nbsp;is honestly a bit of a guess based on a typical small cluster.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;Why Is It Important?&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
One reason for this recommendation is that Hadoop’s name node service keep track of all the files and where the internal chunks of the individual files are. The more files it has to track the more memory it needs on the head node and the longer it takes to build a job execution plan. The number and size of files also affects how memory is used on each node.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
&lt;a href=&quot;http://azure.microsoft.com/&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt;&lt;a href=&quot;https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/94/58/metablogapi/2605.smallpie_6CF86B1F.png&quot; original-url=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-58-metablogapi/2605.smallpie_5F00_6CF86B1F.png&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;&lt;img align=&quot;left&quot; alt=&quot;smallpie&quot; border=&quot;0&quot; height=&quot;65&quot; original-url=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-58-metablogapi/5850.smallpie_5F00_thumb_5F00_135A4E6B.png&quot; src=&quot;https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/94/58/metablogapi/5850.smallpie_thumb_135A4E6B.png&quot; style=&quot;border: 0px; box-sizing: border-box; display: inline; height: auto; margin: 0px 5px 0px 0px; max-width: 100%; vertical-align: middle;&quot; title=&quot;smallpie&quot; width=&quot;97&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/94/58/metablogapi/7024.bigpie_532434F0.png&quot; original-url=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-58-metablogapi/7024.bigpie_5F00_532434F0.png&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;&lt;img align=&quot;right&quot; alt=&quot;bigpie&quot; border=&quot;0&quot; height=&quot;70&quot; original-url=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-94-58-metablogapi/2727.bigpie_5F00_thumb_5F00_7C9B06E1.png&quot; src=&quot;https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/94/58/metablogapi/2727.bigpie_thumb_7C9B06E1.png&quot; style=&quot;border: 0px; box-sizing: border-box; display: inline; height: auto; margin: 0px 0px 0px 5px; max-width: 100%; vertical-align: middle;&quot; title=&quot;bigpie&quot; width=&quot;70&quot; /&gt;&lt;/a&gt;Let’s say your chunk size is 256MB. That’s the maximum size of each piece of the file that Hadoop will store per node. So if you have 10 nodes and a single 1GB file it would be split into 4 chunks of 256MB each and stored on 4 of those nodes (I’m ignoring the replication factor for this discussion). If you have 1000 files that are 1MB each (still a total data size of ~1GB) then every one of those files is a separate chunk and 1000 chunks are spread across those 10 nodes. NOTE: In&amp;nbsp;&lt;a href=&quot;http://azure.microsoft.com/&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;Azure&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href=&quot;http://smallbitesofbigdata.com/archive/2015/02/04/understanding-wasb-and-hadoop-storage-in-azure.aspx&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot; target=&quot;_blank&quot;&gt;WASB&lt;/a&gt;&amp;nbsp;this happens somewhat differently behind the scenes – the data isn’t physically chunked up when initially stored but rather chunked up at the time a job runs.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
With the single 1GB file the name node has 5 things to keep track of – the logical file plus the 4 physical chunks and their associated physical locations. With 1000 smaller files the name node has to track the logical file plus 1000 physical chunks and their physical locations. That uses more memory and results in more work when the head node service uses the file location information to build out the plan for how it will split out any Hadoop job into tasks across the many nodes. When we’re talking about systems that often have TBs or PBs of data the difference between small and large files can add up quickly.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
The other problem comes at the time that the data is read by a Hadoop job. When the job runs on each node it loads the files the task tracker identified for it to work with into memory on that local node (in WASB the chunking is done at this point). When there are more files to be read for the same amount of data it results in more work and slower execution time for each task within each job. Sometimes you will see hard errors when operating system limits are hit related to the number of open files. There is also more internal work involved in reading the larger number of files and combining the data.&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;Stitching&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
There are several options for stitching files together.&lt;/div&gt;
&lt;ul style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px; margin-top: 0px;&quot;&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Combine the files as they land using the code that moves the files. This is the most performant and efficient method in most cases.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;INSERT into new Hive tables (directories) which creates larger files under the covers. The output file size can be controlled with settings like hive.merge.smallfiles.avgsize and hive.merge.size.per.task.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Use a combiner in Pig to load the many small files into bigger splits.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Use the HDFS FileSystem Concat API&lt;a href=&quot;http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html#concat&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html#concat&lt;/a&gt;.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Write custom stitching code and make it a JAR.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Enable the Hadoop Archive (HAR). This is not very efficient for this scenario but I am including it for completeness.&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
There are several writeups out there that address the details of each of these methods so I won’t repeat them.&lt;/div&gt;
&lt;ul style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px; margin-top: 0px;&quot;&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Merging small files on HDInsight&amp;nbsp;&lt;a href=&quot;http://blogs.msdn.com/b/mostlytrue/archive/2014/04/10/merging-small-files-on-hdinsight.aspx&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://blogs.msdn.com/b/mostlytrue/archive/2014/04/10/merging-small-files-on-hdinsight.aspx&lt;/a&gt;&amp;nbsp;which uses a Java MapReduce JAR&amp;nbsp;&lt;a href=&quot;https://github.com/mooso/smallfilesmerge&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;https://github.com/mooso/smallfilesmerge&lt;/a&gt;.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Quick Tip for Compressing Many Small Text Files within HDFS via Pig&lt;a href=&quot;http://dennyglee.com/2014/01/06/quick-tip-for-compressing-many-small-text-files-within-hdfs-via-pig/&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://dennyglee.com/2014/01/06/quick-tip-for-compressing-many-small-text-files-within-hdfs-via-pig/.&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;FileCrush&amp;nbsp;&lt;a href=&quot;https://github.com/edwardcapriolo/filecrush.&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;https://github.com/edwardcapriolo/filecrush.&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;HDFS FileSystem Concat API&lt;ul style=&quot;box-sizing: border-box; margin-bottom: 0px; margin-top: 0px;&quot;&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Concat_Files&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/WebHDFS.html#Concat_Files&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html#concat&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://hadoop.apache.org/docs/current/api/org/apache/hadoop/fs/FileSystem.html#concat&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;https://issues.apache.org/jira/browse/HDFS-222&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;https://issues.apache.org/jira/browse/HDFS-222&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;CombineFileInputFormat (splits)&lt;ul style=&quot;box-sizing: border-box; margin-bottom: 0px; margin-top: 0px;&quot;&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;This may not work with really large numbers of files and has to be used EVERY time a job is run.&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;&lt;a href=&quot;http://www.ibm.com/developerworks/library/bd-hadoopcombine/index.html&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://www.ibm.com/developerworks/library/bd-hadoopcombine/index.html&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Process Small Files on Hadoop Using CombineFileInputFormat (1)&lt;a href=&quot;http://www.idryman.org/blog/2013/09/22/process-small-files-on-hadoop-using-combinefileinputformat-1/&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://www.idryman.org/blog/2013/09/22/process-small-files-on-hadoop-using-combinefileinputformat-1/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Dealing with Hadoop’s small files problem&amp;nbsp;&lt;a href=&quot;http://snowplowanalytics.com/blog/2013/05/30/dealing-with-hadoops-small-files-problem/&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://snowplowanalytics.com/blog/2013/05/30/dealing-with-hadoops-small-files-problem/&lt;/a&gt;&amp;nbsp; “aggregating with the small files first reduced total processing time from 2 hours 57 minutes to just 9 minutes – of which 3 minutes was the aggregation, and 4 minutes was running our actual Enrichment process. That’s a speedup of&amp;nbsp;&lt;span style=&quot;box-sizing: border-box; font-weight: 700;&quot;&gt;1,867%&lt;/span&gt;.”&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;The Small Files problem in Hadoop&amp;nbsp;&lt;a href=&quot;http://piglog4j.blogspot.com/2013/06/the-small-files-problem-in-hadoop.html&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://piglog4j.blogspot.com/2013/06/the-small-files-problem-in-hadoop.html&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;Hadoop Archive: File Compaction for HDFS&amp;nbsp;&lt;a href=&quot;https://developer.yahoo.com/blogs/hadoop/hadoop-archive-file-compaction-hdfs-461.html&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;https://developer.yahoo.com/blogs/hadoop/hadoop-archive-file-compaction-hdfs-461.html&lt;/a&gt;&lt;/li&gt;
&lt;li style=&quot;box-sizing: border-box;&quot;&gt;The Small Files Problem&amp;nbsp;&lt;a href=&quot;http://blog.cloudera.com/blog/2009/02/the-small-files-problem/&quot; style=&quot;background-color: transparent; box-sizing: border-box; color: #337ab7; text-decoration: none;&quot;&gt;http://blog.cloudera.com/blog/2009/02/the-small-files-problem/&lt;/a&gt;&amp;nbsp;“Reading through files in a HAR is no more efficient than reading through files in HDFS, and in fact may be slower since each HAR file access requires two index file reads as well as the data file read (see diagram). And although HAR files can be used as input to MapReduce, there is no special magic that allows maps to operate over all the files in the HAR co-resident on a HDFS block.”&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;background-color: white; box-sizing: border-box; color: #333333; font-family: &amp;quot;Segoe UI&amp;quot;, Tahoma, Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;&quot;&gt;
The key here is to work with fewer, larger files as much as possible in Hadoop. The exact steps to get there will vary depending on your specific scenario.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4213001361879426855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2016/12/hadoop-small-files-vs-big-files.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4213001361879426855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4213001361879426855'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2016/12/hadoop-small-files-vs-big-files.html' title='Hadoop - Small Files vs Big Files'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7400388434244059420</id><published>2016-11-15T16:33:00.000-05:00</published><updated>2016-11-25T16:34:48.594-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="big data"/><category scheme="http://www.blogger.com/atom/ns#" term="big-data"/><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="Eclipse"/><category scheme="http://www.blogger.com/atom/ns#" term="help"/><category scheme="http://www.blogger.com/atom/ns#" term="hint"/><category scheme="http://www.blogger.com/atom/ns#" term="plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="scala"/><category scheme="http://www.blogger.com/atom/ns#" term="scala ide"/><category scheme="http://www.blogger.com/atom/ns#" term="scala-ide"/><category scheme="http://www.blogger.com/atom/ns#" term="spark"/><category scheme="http://www.blogger.com/atom/ns#" term="tips_n_tricks"/><title type='text'>Eclipse - installing Scala plugin manually?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I have been playing around with Scala for some time, and was always using the Scala IDE (www.scala-ide.org) which is based on a relatively older version of Eclipse (Luna).&lt;br /&gt;
&lt;br /&gt;
I recently discovered this, wherein you could install the scala plug-in on a regular Eclipse installation.&lt;br /&gt;
&lt;br /&gt;
Just add the following url as a new update site in your local eclipse installation and you&#39;d be able to install the scala plugin just like that -&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site&quot; rel=&quot;nofollow noreferrer&quot; style=&quot;background-color: white; border: 0px; color: #005999; cursor: pointer; font-family: Arial, &amp;quot;Helvetica Neue&amp;quot;, Helvetica, sans-serif; font-size: 15px; margin: 0px; padding: 0px; text-decoration: none;&quot;&gt;http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7400388434244059420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2016/11/eclipse-installing-scala-plugin-manually.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7400388434244059420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7400388434244059420'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2016/11/eclipse-installing-scala-plugin-manually.html' title='Eclipse - installing Scala plugin manually?'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5075082576947762318</id><published>2016-07-23T20:42:00.000-04:00</published><updated>2016-07-23T20:53:25.675-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="data"/><category scheme="http://www.blogger.com/atom/ns#" term="dataset"/><title type='text'>Links to free big-data-sets</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;br /&gt;Many people who are starting their journey with big data and analytics find it hard to get their hands on the right kind of data to play or experiment with. &lt;br /&gt;&lt;br /&gt;Most of the time, people have enthusiasm, they are learning the skill too, but they just don&#39;t have the right kind of dataset to apply their newly acquired skills.&lt;br /&gt;&lt;br /&gt;Democratising data has been at the forefront of discussions for many data pioneers.  Through their efforts and with some re-alignment of technology priorities, some government bodies have opened up their datasets to the public.&lt;br /&gt;&lt;br /&gt;As a result, here is a set of links (reproduced) to some of the free sources.  &lt;br /&gt;&lt;/span&gt;&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Data.gov &lt;a href=&quot;http://data.gov/&quot;&gt;http://data.gov&lt;/a&gt; The US Government pledged last year to make all government data available freely online. This site is the first stage and acts as a portal to all sorts of amazing information on everything from climate to crime.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;US Census Bureau &lt;a href=&quot;http://www.census.gov/data.html&quot;&gt;http://www.census.gov/data.html&lt;/a&gt; A wealth of information on the lives of US citizens covering population data, geographic data and education.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.socrata.com/discover/&quot;&gt;Socrata&lt;/a&gt; is another interesting place to explore government-related data, with some visualisation tools built-in.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;European Union Open Data Portal &lt;a href=&quot;http://open-data.europa.eu/en/data/&quot;&gt;http://open-data.europa.eu/en/data/&lt;/a&gt; As the above, but based on data from European Union institutions.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Data.gov.uk &lt;a href=&quot;http://data.gov.uk/&quot;&gt;http://data.gov.uk/&lt;/a&gt; Data from the UK Government, including the British National Bibliography – metadata on all UK books and publications since 1950.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.data.gc.ca/&quot;&gt;Canada Open Data&lt;/a&gt; is a pilot project with many government and geospatial datasets.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://opengovernmentdata.org/data/&quot;&gt;Datacatalogs.org&lt;/a&gt; offers open government data from US, EU, Canada, CKAN, and more.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The CIA World Factbook &lt;a href=&quot;https://www.cia.gov/library/publications/the-world-factbook/&quot;&gt;https://www.cia.gov/library/publications/the-world-factbook/&lt;/a&gt;Information on history, population, economy, government, infrastructure and military of 267 countries.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Healthdata.gov &lt;a href=&quot;https://www.healthdata.gov/&quot;&gt;https://www.healthdata.gov/&lt;/a&gt; 125 years of US healthcare data including claim-level Medicare data, epidemiology and population statistics.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;NHS &lt;a href=&quot;http://www.forbes.com/health/&quot;&gt;Health&lt;/a&gt; and Social Care Information Centre &lt;a href=&quot;http://www.hscic.gov.uk/home&quot;&gt;http://www.hscic.gov.uk/home&lt;/a&gt; Health data sets from the UK National Health Service.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.unicef.org/statistics/&quot;&gt;UNICEF&lt;/a&gt; offers statistics on the situation of women and children worldwide.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.who.int/en/&quot;&gt;World Health Organization&lt;/a&gt; offers world hunger, health, and disease statistics.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Amazon Web Services public datasets &lt;a href=&quot;http://aws.amazon.com/datasets&quot;&gt;http://aws.amazon.com/datasets&lt;/a&gt; Huge resource of public data, including the 1000 Genome Project, an attempt to build the most comprehensive database of human genetic information and &lt;a href=&quot;http://www.forbes.com/companies/nasa&quot;&gt;NASA&lt;/a&gt; ’s database of satellite imagery of Earth.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.forbes.com/companies/facebook&quot;&gt;Facebook&lt;/a&gt; &lt;a href=&quot;http://www.forbes.com/companies/facebook&quot;&gt;FB +0.32%&lt;/a&gt; Graph &lt;a href=&quot;https://developers.facebook.com/docs/graph-api&quot;&gt;https://developers.facebook.com/docs/graph-api&lt;/a&gt; Although much of the information on users’ Facebook profile is private, a lot isn’t – Facebook provide the Graph API as a way of querying the huge amount of information that its users are happy to share with the world (or can’t hide because they haven’t worked out how the privacy settings work).&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://face.com/&quot;&gt;Face.com&lt;/a&gt;: A fascinating tool for facial recognition data.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.stat.ucla.edu/data/&quot;&gt;UCLA&lt;/a&gt; makes some of the data from its courses public.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://datamarket.com/&quot;&gt;Data Market&lt;/a&gt; is a place to check out  data related to economics, healthcare, food and agriculture, and the automotive industry.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.google.com/publicdata/directory&quot;&gt;Google Public data explorer&lt;/a&gt; includes data from world development indicators, OECD, and human development indicators, mostly related to economics data and the world.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.junar.com/&quot;&gt;Junar&lt;/a&gt; is a data scraping service that also includes data feeds.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://buzzdata.com/content/&quot;&gt;Buzzdata&lt;/a&gt; is a social data sharing service that allows you to upload your own data and connect with others who are uploading their data.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Gapminder &lt;a href=&quot;http://www.gapminder.org/data/&quot;&gt;http://www.gapminder.org/data/&lt;/a&gt; Compilation of data from sources including the World Health Organization and World Bank covering economic, medical and social statistics from around the world.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.forbes.com/companies/google&quot;&gt;Google&lt;/a&gt; &lt;a href=&quot;http://www.forbes.com/companies/google&quot;&gt;GOOGL +0.66%&lt;/a&gt; Trends &lt;a href=&quot;http://www.google.com/trends/explore&quot;&gt;http://www.google.com/trends/explore&lt;/a&gt; Statistics on search volume (as a proportion of total search) for any given term, since 2004.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Google Finance &lt;a href=&quot;https://www.google.com/finance&quot;&gt;https://www.google.com/finance&lt;/a&gt; 40 years’ worth of stock market data, updated in real time.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Google Books Ngrams &lt;a href=&quot;http://storage.googleapis.com/books/ngrams/books/datasetsv2.html&quot;&gt;http://storage.googleapis.com/books/ngrams/books/datasetsv2.html&lt;/a&gt;Search and analyze the full text of any of the millions of books digitised as part of the Google Books project.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;National Climatic Data Center &lt;a href=&quot;http://www.ncdc.noaa.gov/data-access/quick-links#loc-clim&quot;&gt;http://www.ncdc.noaa.gov/data-access/quick-links#loc-clim&lt;/a&gt; Huge collection of environmental, meteorological and climate data sets from the US National Climatic Data Center. The world’s largest archive of weather data.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;DBPedia &lt;a href=&quot;http://wiki.dbpedia.org/&quot;&gt;http://wiki.dbpedia.org&lt;/a&gt; Wikipedia is comprised of millions of pieces of data, structured and unstructured on every subject under the sun. DBPedia is an ambitious project to catalogue and create a public, freely distributable database allowing anyone to analyze this data.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.forbes.com/companies/new-york-times&quot;&gt;New York Times&lt;/a&gt; &lt;a href=&quot;http://developer.nytimes.com/docs&quot;&gt;http://developer.nytimes.com/docs&lt;/a&gt;&amp;nbsp;&amp;nbsp;Searchable, indexed archive of news articles going back to 1851.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Freebase &lt;a href=&quot;http://www.freebase.com/&quot;&gt;http://www.freebase.com/&lt;/a&gt; A community-compiled database of structured data about people, places and things, with over 45 million entries.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Million Song Data Set &lt;a href=&quot;http://aws.amazon.com/datasets/6468931156960467&quot;&gt;http://aws.amazon.com/datasets/6468931156960467&lt;/a&gt; Metadata on over a million songs and pieces of music. Part of Amazon Web Services.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://archive.ics.uci.edu/ml/index.html&quot;&gt;UCI Machine Learning Repository&lt;/a&gt; is a dataset specifically pre-processed for machine learning.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://fisher.osu.edu/fin/fdf/osudata.htm&quot;&gt;Financial Data Finder at OSU&lt;/a&gt; offers a large catalog of financial data sets.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.pewinternet.org/datasets/&quot;&gt;Pew Research Center&lt;/a&gt; offers its raw data from its fascinating research into American life.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;a href=&quot;http://www.broadinstitute.org/cgi-bin/cancer/datasets.cgi&quot;&gt;The BROAD Institute &lt;/a&gt;offers a number of cancer-related datasets.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;Credit to Forbes article at&lt;br /&gt;&lt;br /&gt;http://www.forbes.com/sites/bernardmarr/2016/02/12/big-data-35-brilliant-and-free-data-sources-for-2016/#5b2a54cf6796&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5075082576947762318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2016/07/links-to-free-big-data-sets.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5075082576947762318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5075082576947762318'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2016/07/links-to-free-big-data-sets.html' title='Links to free big-data-sets'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4701834513110945971</id><published>2015-06-19T10:59:00.002-04:00</published><updated>2015-06-19T10:59:37.530-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="database"/><category scheme="http://www.blogger.com/atom/ns#" term="datawarehouse"/><category scheme="http://www.blogger.com/atom/ns#" term="teradata"/><title type='text'>Teradata Data type abbreviation - described</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;WordSection1&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Teradata data types (as reported in DBC.Columns.ColumnType can be cryptic and not always easy to remember. &amp;nbsp;Here&#39;s a ready reckoner -&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;WordSection1&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; margin-left: 4.65pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184; width: 379px;&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; height: 15pt; mso-border-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Abbreviation&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: windowtext 1pt solid; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Equivalent 
English :)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 1;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;A1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;ARRAY&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 2;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;AN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;MULTI-DIMENSIONAL 
ARRAY&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 3;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;AT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;TIME&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 4;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;BF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;BYTE&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 5;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;BO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;BLOB&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 6;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;BV&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;VARBYTE&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 7;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;CF&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;CHARACTER&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 8;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;CO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;CLOB&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 9;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;CV&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;VARCHAR&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 10;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;D&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;DECIMAL&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 11;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;DA&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;DATE&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 12;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;DH&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
DAY TO HOUR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 13;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;DM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
DAY TO MINUTE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 14;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;DS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
DAY TO SECOND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 15;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;DY&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
DAY&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 16;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;F&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;FLOAT&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 17;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;HM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
HOUR TO MINUTE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 18;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;HS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
HOUR TO SECOND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 19;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;HR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
HOUR&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 20;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;I&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTEGER&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 21;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;I1&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;BYTEINT&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 22;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;I2&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;SMALLINT&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 23;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;I8&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;BIGINT&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 24;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;JN&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;JSON&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 25;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;MI&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
MINUTE&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 26;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;MO&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
MONTH&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 27;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;MS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
MINUTE TO SECOND&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 28;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;N&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;NUMBER&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 29;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PD&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PERIOD(DATE)&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 30;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PERIOD(TIMESTAMP 
WITH TIME ZONE)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 31;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PERIOD(TIMESTAMP)&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 32;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PERIOD(TIME)&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 33;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PZ&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;PERIOD(TIME 
WITH TIME ZONE)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 34;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;SC&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
SECOND&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 35;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;SZ&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;TIMESTAMP 
WITH TIME ZONE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 36;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;TS&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;TIMESTAMP&amp;nbsp; &amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 37;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;TZ&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;TIME 
WITH TIME ZONE&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 38;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;UT&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;UDT 
Type&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 39;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;XM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;XML&amp;nbsp;&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 40;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;YM&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
YEAR TO MONTH&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 41;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;YR&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;INTERVAL 
YEAR&amp;nbsp; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;tr style=&quot;height: 15pt; mso-yfti-irow: 42; mso-yfti-lastrow: yes;&quot;&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: windowtext 1pt solid; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 70.4pt;&quot; valign=&quot;bottom&quot; width=&quot;94&quot;&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;=++&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
&lt;td nowrap=&quot;&quot; style=&quot;border-bottom: windowtext 1pt solid; border-left: medium none; border-right: windowtext 1pt solid; border-top: medium none; height: 15pt; mso-border-bottom-alt: solid windowtext .5pt; mso-border-right-alt: solid windowtext .5pt; padding-bottom: 0cm; padding-left: 5.4pt; padding-right: 5.4pt; padding-top: 0cm; width: 213.85pt;&quot; valign=&quot;bottom&quot; width=&quot;285&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0pt;&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;TD_ANYTYPE&amp;nbsp;&amp;nbsp; 
&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4701834513110945971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2015/06/teradata-data-type-abbreviation.html#comment-form' title='15 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4701834513110945971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4701834513110945971'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2015/06/teradata-data-type-abbreviation.html' title='Teradata Data type abbreviation - described'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>15</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-883421450947144214</id><published>2015-05-06T16:52:00.001-04:00</published><updated>2015-05-07T11:44:24.333-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2015"/><category scheme="http://www.blogger.com/atom/ns#" term="Apache"/><category scheme="http://www.blogger.com/atom/ns#" term="architecture"/><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="hadoop"/><category scheme="http://www.blogger.com/atom/ns#" term="machine learning"/><category scheme="http://www.blogger.com/atom/ns#" term="Markov models"/><category scheme="http://www.blogger.com/atom/ns#" term="meet up"/><category scheme="http://www.blogger.com/atom/ns#" term="spark"/><title type='text'>Hadoop Meetup on the sidelines of Strata Hadoop Conference - Part 2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Read part 1 of this &lt;a href=&quot;http://tech.sraghav.in/2015/05/hadoop-meetup-on-sidelines-of-strata.html&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Day 2 of the meetup was equally exciting, if not better.&amp;nbsp; Lined up were talks from Qubit and Google, William Hill (a surprise for me - more later on that) and then PostCodeAnywhere, all very exciting from the synopsis.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Google &amp;amp; Qubit showcased basically a stream processing engine, with pluggable components, many of them can be written in different technologies and programming languages.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Of course Google Cloud Data flow is much more than just a stream processing engine, however, for real time data ingestion perspective, that feature is pretty significant. &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
A completely managed system, it woks on the publish-subscribe (pub-sub) model.&amp;nbsp; As Reza put it, “pub-sub is not just data delivery mechanism, its used as a glue to hold the complete system together”.&amp;nbsp; Pluggable components is another differentiator for Google’s offering, in today’s demo they showcased bigtable as one of the consumers at the end.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
From my own knowledge of stream processing, which is not significant in anyway, i could relate to many similarities with IBM’s info sphere streams and some with apache kafka.&amp;nbsp; However, a question around comparisons with these sites remained unanswered from Google (though in very good spirit, in a chat with the speaker Reza later on, it came out as more of a philosophical question avoidance than anything else).&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
The william hill talk (by Peter Morgan, their head of engineering), was a genuine surprise, at least for me.&amp;nbsp; Perhaps due to my ignorance, due to which i didn&#39;t realize, their systems are far more sophisticated and load bearing than I would have imagined.&amp;nbsp; As an example, they process 160TB of data through their systems on a daily basis.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Including many complexities managed through their system are their main components, the betting engine, the settlement engine among others.&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
William Hill supports an open API as well, enabling app developers to pick up data elements and innovate. However, for obvious reasons, very limited data is thrown open in the public domain.&amp;nbsp; Would that be a deterrent for app developers ? not having enough data ? &amp;nbsp; For example, if i would want to report in an app, who’s betting on a&amp;nbsp; certain game, cross referenced with geo location data .. I cant do that, since William hill doesn&#39;t publish demographic data.&amp;nbsp; I personally feel alright with it, there are possibilities that many of those data elements can be used in ways to influence the betting system itself, becoming counter-productive.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
I would imagine their IT systems to be one of the top notch systems around the place, to be able to manage such data volumes, with such speeds and accuracy. Commendable job.&amp;nbsp; I would probably write exclusively on their architecture once i get my hands on the presentation slides (couple of days may be).&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
The talk from PostCodeAnywhere was more educative to me, personally.&amp;nbsp; Got to understand a bit about Markov Models, chains and how they can be used for machine Learning.&amp;nbsp; Very interesting stuff there too.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Apache Spark is being seen more and more as the tool to be perform analytics on the fly, specially on large volumes of data.&amp;nbsp; It would be very interesting to see how R and python analytical capabilities compare with what spark offers.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Speaking to another attendee today, it came out the people prefer to use R more and more for massaging and cleansing purposes, however, its not seen as fit for heavy lifting required for performing real analytic and/or predictive pieces. For these areas, people still prefer to use Python.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
IBM’s bigR is a possible contender for the job, where they talk about having optimised R for a hadoop cluster and have enabled it to work on top of hdfs.&amp;nbsp; However, bigR is not open source and that could be its biggest challenge in adoption.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/883421450947144214/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2015/05/hadoop-meetup-on-sidelines-of-strata_7.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/883421450947144214'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/883421450947144214'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2015/05/hadoop-meetup-on-sidelines-of-strata_7.html' title='Hadoop Meetup on the sidelines of Strata Hadoop Conference - Part 2'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-3932549359829268317</id><published>2015-05-06T03:48:00.001-04:00</published><updated>2015-05-06T03:48:35.110-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="2015"/><category scheme="http://www.blogger.com/atom/ns#" term="cloudera"/><category scheme="http://www.blogger.com/atom/ns#" term="conference"/><category scheme="http://www.blogger.com/atom/ns#" term="dato"/><category scheme="http://www.blogger.com/atom/ns#" term="hadoop"/><category scheme="http://www.blogger.com/atom/ns#" term="hive"/><category scheme="http://www.blogger.com/atom/ns#" term="machine learning"/><category scheme="http://www.blogger.com/atom/ns#" term="meetup"/><title type='text'>Hadoop Meetup on the sidelines of Strata Hadoop Conference - Part 1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Not being able to make it up to the Main conference (Strata Hadoop London 2015), the evening meet-ups were the consolation pieces of getting in touch as much as possible.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
In my view, these conferences/events often help one to get to know about the recent developments in the space, mostly showcasing whats being done with a given technology, whats coming up (future developments, innovations) and people&#39;s experiences with the technology, both good (the famous savings use cases) and bad (challenges faced in achieving production readiness, if ever).&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Last evening, on day 1 of the conference, I ended up attending one of the meet-ups. &amp;nbsp;It was particularly useful for me, for couple of reasons.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
There was a talk on the new execution engine for hive, i.e. hive running on spark. Always keen on internal workings of a complex piece of software (or hardware for that matter), i was very happy to be able to listen in directly from the person responsible for much of development on hive. &amp;nbsp;I have an audio recording of the whole talk, though I am hopeful that the conference organizers shall put up the video on their website anyway.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
When Phill talked about his experiences on getting hadoop on its feet and how they orchestrated hadoop as a PaaS within BT was something &amp;nbsp;insightful, (they seem to call it HaaS there). &amp;nbsp;it showed two things to me - architects&#39; always have to &quot;find the funding&quot; for innovations and new tech to be brought in to the organization :) Also, Security on hadoop is &quot;doable&quot;, as his use case proved to be. &amp;nbsp;There are reliable tools and solutions which can help achieve Enterprise level security for a hadoop cluster.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Another interesting talk was Dato&#39;s. &amp;nbsp;Dato is a machine learning/modelling tool, which claims to be fairly quick than many others, allows the data to be consumed in-place (like hadoop) and supports hdfs integration. &amp;nbsp;I am sure to follow up on Dato with the organization. &amp;nbsp;for me its one of the key problems of the future, where data is too much and the modelling algorithm has to be enabled to consume data for training sets in-place, since its just not practical to move tera/petabytes of data to where program is. &amp;nbsp;IBM BigR is doing something similar as well.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Finally, another interesting talk was from Big Data Boards team. &amp;nbsp;they talked about how they are building cluster hardware for hosting small hadoop clusters. Interesting proposition there, to have your own hadoop cluster running on a desk in a corner of your office. &amp;nbsp;no need of going over to the likes of aws for hosting the cluster. &amp;nbsp;They say that many universities etc are already using the clusters they made for real life experiments. &amp;nbsp;very interesting space for me.&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/3932549359829268317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2015/05/hadoop-meetup-on-sidelines-of-strata.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3932549359829268317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/3932549359829268317'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2015/05/hadoop-meetup-on-sidelines-of-strata.html' title='Hadoop Meetup on the sidelines of Strata Hadoop Conference - Part 1'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7428448271709876964</id><published>2015-04-04T03:49:00.000-04:00</published><updated>2015-05-07T17:50:16.071-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bigdata"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="dataset"/><category scheme="http://www.blogger.com/atom/ns#" term="open-data"/><category scheme="http://www.blogger.com/atom/ns#" term="opendata"/><category scheme="http://www.blogger.com/atom/ns#" term="OpenSource"/><title type='text'>Data Sets</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
Some of the publicly available datasets are listed here.&amp;nbsp; This is a continuously evolving page, and therefore might not always be 100% up-to-date.&amp;nbsp; For licensing information, please refer to each datasets’ own licensing page.&amp;nbsp; I take no responsibility for the licensing/distribution of the datasets.&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
&lt;b&gt;1. Amazon’s Ratings dataset&lt;/b&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
&lt;a href=&quot;http://jmcauley.ucsd.edu/data/amazon/&quot;&gt;http://jmcauley.ucsd.edu/data/amazon/&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px; min-height: 19px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
&lt;b&gt;2. imdb movies dataset&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;-webkit-text-stroke-color: rgb(0, 0, 0); -webkit-text-stroke-width: initial; font-size: 16px;&quot;&gt;
&lt;a href=&quot;http://www.imdb.com/interfaces&quot;&gt;http://www.imdb.com/interfaces&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;3. London Transport Data - tfl&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.tfl.gov.uk/info-for/open-data-users/our-feeds?intcmp=3671#on-this-page-0&quot;&gt;http://www.tfl.gov.uk/info-for/open-data-users/our-feeds?intcmp=3671#on-this-page-0&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7428448271709876964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2015/04/data-sets.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7428448271709876964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7428448271709876964'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2015/04/data-sets.html' title='Data Sets'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5965359559402455935</id><published>2015-02-22T17:17:00.000-05:00</published><updated>2015-02-22T17:17:30.145-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="authentication"/><category scheme="http://www.blogger.com/atom/ns#" term="FinTech"/><category scheme="http://www.blogger.com/atom/ns#" term="fraud"/><category scheme="http://www.blogger.com/atom/ns#" term="graph API"/><category scheme="http://www.blogger.com/atom/ns#" term="graphdb"/><category scheme="http://www.blogger.com/atom/ns#" term="neo4j"/><category scheme="http://www.blogger.com/atom/ns#" term="security"/><title type='text'>Weighted trust graph for authentication</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;During the hackathon (discussed in earlier post), I met with Gary. &amp;nbsp;He had come in to be play mentor, but since he&amp;nbsp;couldn&#39;t devote&amp;nbsp;enough time,&amp;nbsp;ended up being a guest.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;After engaging Neo4J in few&amp;nbsp;meetups and understanding the database a bit, i was contemplating using Graph databases for authentication. &amp;nbsp;It might have consequent applications in fraud analytics too, where graph databases are used already[1]&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;During the discussion on the idea, Gary suggested to mould the idea differently and possibly using Trust networks/graphs, wherein each node (entities i.e. people,&amp;nbsp;organisations etc) are related to each other through weighted directed relationships. &amp;nbsp;The weight of this relationship can be deduced in multiple ways, e.g. by periodic algorithms similar to search engine ranking algorithms or by asking people their trust level of others on a scale of 1 to x. x being a hypothetical standard scale that can be used as a yardstick across the&amp;nbsp;network for determining level of trust.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;While researching some more, I found that similar research has been done in this space [2], though applications are few to come by.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;It was also pointed out in the discussion that banks&amp;nbsp;don&#39;t&amp;nbsp;really have a huge interest in&amp;nbsp;preventing this crime. &amp;nbsp;the view was, since banks&amp;nbsp;already provision for certain amount in their&amp;nbsp;balance sheets for these &quot;potential&quot; thefts, they&amp;nbsp;don&#39;t really bother so much.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;I believe that the financial&amp;nbsp;institutions as a single unit need to attack these fraud crimes by joining hands and leveraging best of research and technology for&amp;nbsp;minimising the crime. &amp;nbsp;The technology exists for providing&amp;nbsp;unto the moment information on these events, some more innovation and research is needed that can bring together the whole picture and look like a &quot;&lt;b&gt;&lt;span style=&quot;color: red;&quot;&gt;solution&lt;/span&gt;&lt;/b&gt;&quot;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: xx-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: xx-small;&quot;&gt;[1]&lt;a href=&quot;http://info.neotechnology.com/rs/neotechnology/images/Fraud%20Detection%20Using%20GraphDB%20-%202014.pdf?_ga=1.182367911.1656585956.1417700858&quot;&gt;http://info.neotechnology.com/rs/neotechnology/images/Fraud%20Detection%20Using%20GraphDB%20-%202014.pdf?_ga=1.182367911.1656585956.1417700858&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: xx-small;&quot;&gt;[2]&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.212.9978&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.212.9978&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5965359559402455935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2015/02/weighted-trust-graph-for-authentication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5965359559402455935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5965359559402455935'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2015/02/weighted-trust-graph-for-authentication.html' title='Weighted trust graph for authentication'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5622552655961072355</id><published>2015-02-16T17:53:00.002-05:00</published><updated>2015-02-17T10:05:21.640-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="Banking"/><category scheme="http://www.blogger.com/atom/ns#" term="data"/><category scheme="http://www.blogger.com/atom/ns#" term="FinTech"/><category scheme="http://www.blogger.com/atom/ns#" term="hackathon"/><category scheme="http://www.blogger.com/atom/ns#" term="London"/><title type='text'>Hackathon - Fintechathon</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;A hackathon is a &lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: red;&quot;&gt;hack&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;ing mar&lt;b&gt;&lt;u&gt;&lt;span style=&quot;color: red;&quot;&gt;athon &lt;/span&gt;&lt;/u&gt;&lt;/b&gt;wherein many people are invited to attack problems around a theme. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;I recently attended a hackathon over the valentines weekend. &amp;nbsp;Organised by StartupBootCamp Fintech, it was attended by about 100 people. Many ideas, many teams, some partners i.e. corporates with their own challenges. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;I was initially team less, but then found some others who were in in my situation. &amp;nbsp;We formed a team, &amp;nbsp;around my favourite topic, data analytics. &amp;nbsp;We had two business development guys, Adam and Oksana, two java programmers, Nelson and Nick, and a mobile app developer Vlad. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Hackathon teams are formed around ideas, wherein someone with an idea takes on the ownership, and the collects the team around it. &amp;nbsp;Things are focussed from moment one, and the march forward is fairly disciplined and fast, thats why the name hackathon... keep hacking, for long, long days and nights.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;We, had the other way round.. all of us were teamless and therefore put together as a team. We had no idea to start with. &amp;nbsp;As a result of that, we spent better part of the friday evening and saturday zeroing on the problem to attack. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Finally we decided to go ahead with an data analytics piece. I won&#39;t chalk out the details here, but its something that the marketing guys always love and like. &amp;nbsp;To know when their customers are off to a life event, and therefore could be offered some product.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;By Sunday morning, we had lost two team members, one to a different idea and one to sleep. Vlad hadn&#39;t slept in 4 nights, so he kept sleeping much of Sunday.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;As a result, we ended up a team without anyone who could do any UI design, and therefore only some backend API calls, some analytics pieces and nothing to show off.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;The result was that, we couldn&#39;t show any working model in our pitch presentation and had to contend with a presentation only, which tried to describe our idea to the judges.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Of course we lost, but then it was a very nicely spent weekend, met some very nice people, made some contacts, and possibly a future for the idea.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5622552655961072355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2015/02/hackathon-fintechathon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5622552655961072355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5622552655961072355'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2015/02/hackathon-fintechathon.html' title='Hackathon - Fintechathon'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6494843095203049348</id><published>2015-01-31T18:07:00.000-05:00</published><updated>2015-02-16T18:08:47.365-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="Data Analytics"/><category scheme="http://www.blogger.com/atom/ns#" term="R"/><category scheme="http://www.blogger.com/atom/ns#" term="RStudio"/><category scheme="http://www.blogger.com/atom/ns#" term="Statistics"/><title type='text'>Playing with R</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Since early 2013, when I got to know of possible online learning for R through&lt;a href=&quot;http://www.coursera.com/&quot; target=&quot;_blank&quot;&gt; www.coursera.com&lt;/a&gt;, I have been a fan of this language.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;My teachers in college would probably not like to hear this, but I was never &amp;nbsp;a great Statistics student, it was always a &quot;passing&quot; requirement during my studies. However, when I learned about R and did some experimental work with R, i found that stats is indeed a very interesting and powerful mathematical tool. And with R i found it fun too, which in my personal opinion is the root of an ongoing learning process. &amp;nbsp;If learning is not fun, it stops. &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;For me, laying my hands on &lt;a href=&quot;http://www.rstudio.com/&quot; target=&quot;_blank&quot;&gt;RStudio&lt;/a&gt;&amp;nbsp;was the best thing that happened to me around the statistics learning curve. &amp;nbsp;The tool makes your R learning curve so much more easy and possible, the college&amp;nbsp;could never do that.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;As an example, in college we could never&amp;nbsp;realise real life examples and uses of regression, curve fitting etc. &amp;nbsp;However, now using R, it all makes so much more sense and with lot of ease.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;I&amp;nbsp;can&#39;t put a finger on the clear reason, whether the years have added that capacity to understand the subject, or the very fact that today these kinds of tools exist which let you explore that area with so much straightforward ease, but the fact remains. It has become so much easy, relatively, to get your hands on the power of statistics and analytics with tools like.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;Thats probably one reason, why i am getting more and more inclined towards data&amp;nbsp;analytics. Its a very powerful and interesting area, with huge potential towards shaping our future.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6494843095203049348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2015/02/playing-with-r.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6494843095203049348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6494843095203049348'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2015/02/playing-with-r.html' title='Playing with R'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-5051687823938314931</id><published>2014-05-26T07:44:00.001-04:00</published><updated>2014-05-26T08:40:30.359-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="MSBI"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlserver"/><title type='text'>Can we rollback the Truncate, Drop, and Delete command deleted data?</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Here we talk about the concept of truncate, drop and delete commands and whether they can be rollback, if so, how and when !!&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Yesterday I was working on this and see if we use the truncate command in transaction, we can rollback the data. One more thing if we perform delete command outside the transaction, we can’t rollback the data.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Let’s try this…&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Suppose I have a table dbo.Employee with three column- Id, Name, and Salary.&lt;/span&gt; &lt;br /&gt;
&lt;pre&gt;&lt;code&gt;CREATE TABLE [dbo].Employee(
      Id [int] NULL,
      Name [varchar](50) NULL,
      Salary [Int] NULL
)
&lt;/code&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Insert the values into the db.Employee table&lt;/span&gt; &lt;br /&gt;
&lt;pre&gt;&lt;code&gt;INSERT INTO dbo.Employee VALUES(1,&#39;Employee1&#39;,10000)
INSERT INTO dbo.Employee VALUES (2,&#39;Employee2&#39;,20000)
INSERT INTO dbo.Employee VALUES (3,&#39;Employee3&#39;,30000)
INSERT INTO dbo.Employee VALUES (4,&#39;Employee4&#39;,10000)
INSERT INTO dbo.Employee VALUES (5,&#39;Employee5&#39;,30000)&lt;/code&gt;
&lt;/pre&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Now I have a five rows in table&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;code&gt;SELECT * FROM dbo.Employee&lt;/code&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqlN2GN2F9dhKCn3sroK2nflFITTA77wh5OAggU5GHZ6g6ERUaR1JlpnGvVhGeEEVPwPJzMYB2uUt-2HrQD0ddXLkoTuolDuczSDqs2u9pOQa2FVzwpo9GEbz0gHBco1nicbNp5zQ5JOk/s1600/May24_2014_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqlN2GN2F9dhKCn3sroK2nflFITTA77wh5OAggU5GHZ6g6ERUaR1JlpnGvVhGeEEVPwPJzMYB2uUt-2HrQD0ddXLkoTuolDuczSDqs2u9pOQa2FVzwpo9GEbz0gHBco1nicbNp5zQ5JOk/s1600/May24_2014_1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;
&lt;/span&gt; &lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Now we perform the delete command in Transaction and then select command&lt;/span&gt;&lt;/div&gt;
&lt;pre&gt;BEGIN TRAN
DELETE FROM dbo.Employee WHERE ID = 2
ROLLBACK

SELECT * FROM dbo.Employee
&lt;/pre&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Output:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqlN2GN2F9dhKCn3sroK2nflFITTA77wh5OAggU5GHZ6g6ERUaR1JlpnGvVhGeEEVPwPJzMYB2uUt-2HrQD0ddXLkoTuolDuczSDqs2u9pOQa2FVzwpo9GEbz0gHBco1nicbNp5zQ5JOk/s1600/May24_2014_1.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqlN2GN2F9dhKCn3sroK2nflFITTA77wh5OAggU5GHZ6g6ERUaR1JlpnGvVhGeEEVPwPJzMYB2uUt-2HrQD0ddXLkoTuolDuczSDqs2u9pOQa2FVzwpo9GEbz0gHBco1nicbNp5zQ5JOk/s1600/May24_2014_1.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;But again I run the select command then I get the same result as previous select statement (i.e 5).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Now I perform the Truncate command in Transaction, Let see what happen.&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;BEGIN TRAN
TRUNCATE TABLE dbo.Employee
ROLLBACK&lt;/pre&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;Now again I run the select command and got the same rows and same result, if same thing we do with Drop command that will also give same result.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;It means If we use the Delete, Truncate, and Drop command with Transaction, we can rollback the data and if we perform all three command outside the Transaction we can’t rollback.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;One more thing I have to add in this article, we can’t rollback the data but we can restore the data from the Transaction_log, if we use the delete command. We can’t restore the data if we use the truncate or drop command. How and Why read in next article.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;In summary,&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;We can rollback the DDL and DML commands, if all these commands are in transaction. We can only restore the DML commands data.&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&amp;nbsp;&lt;/span&gt; &lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/5051687823938314931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2014/05/can-we-rollback-truncate-drop-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5051687823938314931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/5051687823938314931'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2014/05/can-we-rollback-truncate-drop-and.html' title='Can we rollback the Truncate, Drop, and Delete command deleted data?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqlN2GN2F9dhKCn3sroK2nflFITTA77wh5OAggU5GHZ6g6ERUaR1JlpnGvVhGeEEVPwPJzMYB2uUt-2HrQD0ddXLkoTuolDuczSDqs2u9pOQa2FVzwpo9GEbz0gHBco1nicbNp5zQ5JOk/s72-c/May24_2014_1.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-6573447221528703818</id><published>2014-05-22T04:53:00.001-04:00</published><updated>2014-07-07T13:43:14.508-04:00</updated><title type='text'>Difference between Char, Varchar, and nVarchar data type in SQL Server </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;In
real world everyone has different need and requirement, why we use the same
data type to store different types of value. What is the actual difference
between Char, Varchar and nVarchar data type. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Char DataType&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;Char datatype which is used to store
the fixed length, non-unicode characters data. &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;Suppose
if we declared char (50) it will allocates memory for 50 characters. Once we
declare char (50) and &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;if
we enter fewer than the number of characters defined (i.e. 6), the remaining
length will be space filled
to the right.&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt; it means other 44 characters of memory
will be wasted. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;Now we look in the query, How will it effect.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;

&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;Output of this Select Statement:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;

&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;Use this data type when the column
data is to be of fixed length, which tends to be the case&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;for customer
IDs and bank account IDs.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Nchar DataType&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;

&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;Nchar type is
exactly similar to char. But hold character in Unicode format rather than ANSI.
The Unicode format has a larger character set range than ANSI. Unicode datatype
take exact double memory space in sql server. So use the nchar when you want to
store the Unicode value.&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;

&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;varchar DataType&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;Varchar
datatype, which is used to store the alphanumeric values, just like char datatype.
If both are similar than what is the difference between char and Varchar? What is the need to create the new datatype? Later
in this article we will discuss this. &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;The maximum size of a Varchar column is 8,000 characters.
However, if you define the column with no size—that is, Varchar () — then the
length will default to 1.&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;

&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Difference
between the char and Varchar datatype&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;


&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Char
belongs to fixed length characters datatype, Varchar belongs to variable length
characters datatype. &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;If
you define a column to be 20 characters long, but If you enter fewer than the
number of characters defined like 10 characters then it will consume only 10
characters memory. It will not consume the defined memory. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Now we look in the query:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;

&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;
&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Output
of the select statement:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;

&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;img alt=&quot;&quot; src=&quot;data:image/png;base64,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&quot; /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;We can see in above image the output of the select
statement, the ZipCodelength value are varying according to data in zipCode
field.&lt;/span&gt; &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;So we should use the Char for the fixed length data field
and Varchar for the variable length data field.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;

&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;
&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Nvarchar DataType&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;
&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;
&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif;&quot;&gt;Nvarchar
datatype same as varchar
datatype but only difference nvarchar
is used to store Unicode characters and it allows you to store multiple
languages in database. nvarchar
datatype will take twice as much space to store extended set of characters as
required by other languages&lt;/span&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;

&lt;/span&gt;&lt;/u&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Difference between Varchar and
Nvarchar DataType&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: medium none; margin-left: -12.6pt;&quot;&gt;&lt;/table&gt;
&lt;/span&gt;&lt;/u&gt;&lt;/span&gt;&lt;/b&gt;&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;border-collapse: collapse; border: medium none; margin-left: -12.6pt;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;height: 15.25pt;&quot;&gt;&lt;td style=&quot;border: 1pt solid windowtext; height: 15.25pt; padding: 0cm 5.4pt; width: 9cm;&quot; valign=&quot;top&quot; width=&quot;340&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-left: -0.7pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Varchar(n)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: windowtext windowtext windowtext -moz-use-text-color; border-image: none; border-style: solid solid solid none; border-width: 1pt 1pt 1pt medium; height: 15.25pt; padding: 0cm 5.4pt; width: 271.35pt;&quot; valign=&quot;top&quot; width=&quot;362&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;margin-left: -0.85pt; text-align: center;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;u&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Nvarchar(n)&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;height: 89.6pt;&quot;&gt;
  &lt;td style=&quot;-moz-border-bottom-colors: none; -moz-border-left-colors: none; -moz-border-right-colors: none; -moz-border-top-colors: none; border-color: -moz-use-text-color windowtext windowtext; border-image: none; border-right: 1pt solid windowtext; border-style: none solid solid; border-width: medium 1pt 1pt; height: 89.6pt; padding: 0cm 5.4pt; width: 9cm;&quot; valign=&quot;top&quot; width=&quot;340&quot;&gt;&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;1.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Non-Unicode
  Variable Length character data type.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Example:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt; Declare @FirstName As Varchar(20) =
  ‘Developer’&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Select
  @FirstName&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;2.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;It
  takes 1 byte per character. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Example: &lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Declare @FirstName As Varchar(20)
  = ‘Developer’&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Select
  @FirstName AS FirstName,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;DATALENGTH(@FirstName)
  As Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Result:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;FirstName
  Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Developer 9&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;3.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Can
  store maximum 8000 Non-Unicode characters.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;4.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;If
  the value of n is not specified at the time of variable declaration or column
  definition then it is considered as 1.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Example: &lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Declare @FirstName As
  Varchar =’Developer’&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;SELECT
  @firstName FirstName,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;DATALENGTH(@firstName)
  Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Result:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;FirstName
  Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;5.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;If n is not specified in while using
  Cast/Convert&amp;nbsp;&amp;nbsp; functions, then it is
  considered as 30.&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;Example:&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&lt;b&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;/b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Declare @firstName Varchar(50)=&lt;br /&gt;‘Unicode character sets hold up to 65,536’&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Select CAST(@firstName As Varchar) FirstName,&lt;br /&gt;DATALENGTH(CAST(@firstName As varchar)) Length&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; line-height: 115%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;b&gt;Result:&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;FirstName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Length&lt;br /&gt;Unicode character sets hold up&amp;nbsp; 30&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-style: none solid solid none; border-width: medium 1pt 1pt medium; height: 89.6pt; padding: 0cm 5.4pt; width: 271.35pt;&quot; valign=&quot;top&quot; width=&quot;362&quot;&gt;&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;1.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;span style=&quot;font-size: x-small;&quot;&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Unicode
  Variable Length character data type. Nvarchar&amp;nbsp;
  can store both the Unicode and non-Unicode (i.e) Chinese, Japanese,
  Korean etc) character. &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Example:&lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt; Declare @FirstName As Nvarchar(20)
  = ‘Developer’&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Select
  @FirstName&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;2.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;It
  takes exactly double bytes per character as compare to Varchar. It takes 2
  bytes per Unicode/Non-Unicode character.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Example: &lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Declare @FirstName As Nvarchar(20)=
  ‘Developer&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Select
  @FirstName AS FirstName,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;DATALENGTH(@FirstName)
  AS Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Result:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;FirstName
  Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Developer 18&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;3.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Can
  store maximum 4000 Unicode/Non-Unicode characters.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;4.&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
  &lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;If
  the value of n is not specified at the time of variable declaration or column
  definition then it is considered as 1.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Example: &lt;/span&gt;&lt;/b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Declare @FirstName As
  Nvarchar =’Developer’&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;SELECT
  @firstName FirstName,&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;DATALENGTH(@firstName)
  Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;Result:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.3pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;FirstName
  Length&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;
  &lt;/span&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;D&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt; text-indent: -18pt;&quot;&gt;
&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;5.&amp;nbsp;&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt; &amp;nbsp;
&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;If
n is not specified in while using Cast/Convert&amp;nbsp;
&amp;nbsp;&amp;nbsp; functions, then it is
considered as 30.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Example:&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt; text-indent: -18pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Declare @firstName Nvarchar(50)=&lt;br /&gt;&amp;nbsp;‘Unicode character sets hold up to 65,536’&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;Select CAST(@firstName As Nvarchar) FirstName,&lt;br /&gt;&amp;nbsp;DATALENGTH(CAST(@firstName As Nvarchar)) Length&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&lt;b&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;Result:&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&amp;nbsp;&lt;span style=&quot;font-size: x-small;&quot;&gt;FirstName&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Length&lt;br /&gt;&amp;nbsp;Unicode character sets hold up&amp;nbsp;&amp;nbsp; 60&amp;nbsp;&lt;/span&gt;&lt;/span&gt;

&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 17.15pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: -0.85pt; text-indent: -18pt;&quot;&gt;
&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;span style=&quot;-moz-font-feature-settings: normal; -moz-font-language-override: normal; font-family: &amp;quot;Times New Roman&amp;quot;; font-size-adjust: none; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: normal; line-height: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;So if you are not using other languages then it’s better to
use varchar datatype instead of nvarchar. &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: x-small;&quot;&gt;
&amp;nbsp;

&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/6573447221528703818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2014/05/difference-between-char-varchar-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6573447221528703818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/6573447221528703818'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2014/05/difference-between-char-varchar-and.html' title='Difference between Char, Varchar, and nVarchar data type in SQL Server '/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1336475126336912559</id><published>2014-05-20T08:31:00.000-04:00</published><updated>2014-05-20T08:31:16.519-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="MSBI"/><category scheme="http://www.blogger.com/atom/ns#" term="sqlserver"/><title type='text'>Welcoming Microsoft world onto my blog...</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
For most of my IT life, I have been thoroughly disconnected with the Microsoft world of enterprise products. One of the reasons could be the fact that I was introduced into the IT through the corridors of Java &amp;amp; then Unix.. Subsequently more things came on the way, but I never got around to diving deep in the MS world.&lt;br /&gt;
&lt;br /&gt;
Sometime back, I did try and explored SQL server 2008 R2 and associated ETL/Analytics pieces, but it didnt excite me as much.&lt;br /&gt;
&lt;br /&gt;
Now, I have an opportunity to learn and share the MS wisdom through a dear friend &lt;a href=&quot;http://www.linkedin.com/profile/view?id=41496804&quot; target=&quot;_blank&quot;&gt;Sachin Dubey&lt;/a&gt;. &amp;nbsp;He&#39;s going to be putting up content on&amp;nbsp;to this blog. He would be contributing content geared towards Microsoft products, e.g. SQL Server, MS-BI, Dot-Net etc. &amp;nbsp;With significant experience working around MS BI space, Sachin is a self built knowledge repository. I hope we all learn with him.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1336475126336912559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2014/05/welcoming-microsoft-world-onto-my-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1336475126336912559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1336475126336912559'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2014/05/welcoming-microsoft-world-onto-my-blog.html' title='Welcoming Microsoft world onto my blog...'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-192731553045465846</id><published>2014-02-08T18:30:00.000-05:00</published><updated>2014-02-08T18:30:37.907-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="API"/><category scheme="http://www.blogger.com/atom/ns#" term="automated-post-to-facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="ecommerce"/><category scheme="http://www.blogger.com/atom/ns#" term="facebook"/><category scheme="http://www.blogger.com/atom/ns#" term="freemall"/><category scheme="http://www.blogger.com/atom/ns#" term="google"/><category scheme="http://www.blogger.com/atom/ns#" term="graph API"/><category scheme="http://www.blogger.com/atom/ns#" term="oauth"/><category scheme="http://www.blogger.com/atom/ns#" term="oauth2"/><category scheme="http://www.blogger.com/atom/ns#" term="Pentaho"/><category scheme="http://www.blogger.com/atom/ns#" term="post"/><category scheme="http://www.blogger.com/atom/ns#" term="programming"/><category scheme="http://www.blogger.com/atom/ns#" term="social"/><category scheme="http://www.blogger.com/atom/ns#" term="social-media"/><category scheme="http://www.blogger.com/atom/ns#" term="stackoverflow"/><title type='text'>Programmatic interaction with Facebook data</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;The last time I interacted with Facebook using a program (2011), it was fairly straightforward, and perhaps it was too simple, it was abused. &amp;nbsp;As a result, in my recent&amp;nbsp;experiments, I&amp;nbsp;come to find out that, they have made it so complicated (my feeling, no offence to Facebook here), that its quite hard, if not impossible to do genuine development work using Facebook API, let alone achieve something sinister.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;I am a self-anointed tech junky, and therefore no one should be surprised that i took up this challenge couple of hours back to build a brand new routine to get data in/out from/to facebook using a popular and open source Data integration tool, called &lt;a href=&quot;http://www.pentaho.com/&quot; target=&quot;_blank&quot;&gt;Pentaho&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;There were two triggers, one, I had not done some core debugging based research using something new. Second, a friend of mine is building this ecommerce site, &lt;a href=&quot;http://www.freemall.in/&quot;&gt;www.freemall.in&lt;/a&gt;&amp;nbsp;for which the marketing efforts would need a simpler interface to push details to the site, instead of some human going up there and doing all. &amp;nbsp;So, this programming interface becomes the first step of the future plugin for his ecommerce venture.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;As I already indicated, programming with facebook&#39;s current API is a relatively hard task, at least for couple of iterations, before you get the hang of it. &amp;nbsp;So, I started with the tutorial at pentaho&#39;s site -&amp;nbsp;&lt;a href=&quot;http://www.pentahoevalcenter.com/data-integration/advanced-data-integration/facebook/&quot;&gt;http://www.pentahoevalcenter.com/data-integration/advanced-data-integration/facebook/&lt;/a&gt;&amp;nbsp;which turns out to be based on the old Facebook API and prompted me to look elsewhere for the right way of working.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Then comes the big thing - the oAuth authentication protocol employed by Facebook, get a token of this type, then of this type. go to this site, achieve this, copy this and take it there.. Its all so much that I had to go back to google and see if there is something simpler.. and yes, god bless google, there was someone like me who had gone to all the trouble and then of documenting it... God bless his soul for this -&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;a href=&quot;http://stackoverflow.com/questions/12168452/long-lasting-fb-access-token-for-server-to-pull-fb-page-info&quot;&gt;http://stackoverflow.com/questions/12168452/long-lasting-fb-access-token-for-server-to-pull-fb-page-info&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;After this, I went ahead with the pentaho tutorial, which did work out nice and fine for me.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;I was able to post couple of messages to my test page using the application that i built for this test case.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;hope this collection of links at a single place helps others.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/192731553045465846/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2014/02/programmatic-interaction-with-facebook.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/192731553045465846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/192731553045465846'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2014/02/programmatic-interaction-with-facebook.html' title='Programmatic interaction with Facebook data'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/18180479938693760392</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1552699463054239289</id><published>2014-02-02T15:46:00.000-05:00</published><updated>2014-02-02T15:46:35.901-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="certification"/><category scheme="http://www.blogger.com/atom/ns#" term="cloudera"/><category scheme="http://www.blogger.com/atom/ns#" term="developer"/><category scheme="http://www.blogger.com/atom/ns#" term="hadoop"/><title type='text'>Proud - Cloudera Certified Developer for Apache Hadoop</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;I have not been a believer of certifications, that should be clear from the fact that even though I have been working with Informatica since 2002, I never tried their certification till 2011. And, same about Oracle, whose exam I have not yet attempted/planned/thought over. I used to think that the knowledge level will prevail anyway, whether or not an authority stamps on it.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;However, I believe, I am changing, to a certain extent so to say. &amp;nbsp;It seems that I have come to accept the certifications&#39; worth, and therefore, after the training provided by Cloudera, I picked up the opportunity and went through with the rigor of examination.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Fortunately, I came through. &amp;nbsp;And, as much as I try not to showcase it, its a great feeling. &amp;nbsp;Somehow, the knowledge is vindicated, that yes, this guy knows something about hadoop and you better listen to him, :) . Funny that one has to put a badge out there to be heard.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Well, all said and done, the certification is done, courtesy the employer, who sponsored the training and of course the examination coupon that came along. &amp;nbsp;I would like to thank our trainer from cloudera, Amandeep Khurana for his depth and breadth around all things hadoop. &amp;nbsp;As much as I knew about hadoop before going in the training, those 2.5 days added precious layers to my knowledge. &amp;nbsp;Thanks Amandeep.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1552699463054239289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2014/02/proud-cloudera-certified-developer-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1552699463054239289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1552699463054239289'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2014/02/proud-cloudera-certified-developer-for.html' title='Proud - Cloudera Certified Developer for Apache Hadoop'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-7093935918693500995</id><published>2014-01-30T03:58:00.000-05:00</published><updated>2014-02-02T15:59:05.527-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="debugging"/><category scheme="http://www.blogger.com/atom/ns#" term="developer"/><category scheme="http://www.blogger.com/atom/ns#" term="ETL"/><category scheme="http://www.blogger.com/atom/ns#" term="Informatica"/><category scheme="http://www.blogger.com/atom/ns#" term="mapping-design"/><category scheme="http://www.blogger.com/atom/ns#" term="tips_n_tricks"/><category scheme="http://www.blogger.com/atom/ns#" term="Tutorials"/><title type='text'>Removing ports from an existing mapping - Do&#39;s and Dont&#39;s</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Recently, a colleague called in for an issue that he was facing with an Informatica mapping. Let me recreate that situation here -&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;There is a mapping that get n ports from a source and loads m ports to a target. Standard stuff, nothing special or fishy around there. There comes a change request that says, such and such x number of columns are not required in the target, and since there would be a sure performance penalty for carrying through extra data (however small), the mapping should be changed to remove those ports from the pipeline.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;What this gentleman did was to remove the connections for those ports from the source qualifier onwards. That saved him from changing and re-importing the source definition.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;However, the mapping execution failed, complaining about a certain error situation. Thats when I got the call :)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;whether I could discuss and fix it is something else, but what was the reason of the error - ? &amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;The very fact that if you are bringing in certain ports in the source qualifier, you HAVE to take them forward. &amp;nbsp;Thats a rule from informatica&#39;s side. Which means, if you are pulling up n ports from the source, you HAVE to expose all those n ports going away from the source qualifier. Or, putting it differently, in whichever way you create a set of ports in your source qualifier, all of them have to be consumed by some transformation object. Not a single one can be left unconnected, on the input side or the output side. Simple.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;That was the reason, and the solution was fairly simple, to reduce his effort, either remove the ports from source qualifier as well, or just carry them forward to one transformation. and then drop them onwards.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Having said that, the very reason for which this whole change was initiated, the performance gain that would come through by not having the extra ports being carried forward, would come only when you remove the un-wanted ports from the source itself.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/7093935918693500995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2014/01/removing-ports-from-existing-mapping.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7093935918693500995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/7093935918693500995'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2014/01/removing-ports-from-existing-mapping.html' title='Removing ports from an existing mapping - Do&#39;s and Dont&#39;s'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-1642791126426907622</id><published>2014-01-23T21:00:00.000-05:00</published><updated>2014-02-02T16:12:09.249-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="aws"/><category scheme="http://www.blogger.com/atom/ns#" term="aws-free-tier"/><category scheme="http://www.blogger.com/atom/ns#" term="aws-RDS"/><category scheme="http://www.blogger.com/atom/ns#" term="CloudComputing"/><category scheme="http://www.blogger.com/atom/ns#" term="cloudfront"/><category scheme="http://www.blogger.com/atom/ns#" term="performance"/><category scheme="http://www.blogger.com/atom/ns#" term="pricing"/><category scheme="http://www.blogger.com/atom/ns#" term="RDS"/><category scheme="http://www.blogger.com/atom/ns#" term="Ubuntu"/><title type='text'>Moving an ecommerce site to Amazon Web Services</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;This is an interesting one.. There is an e-commerce startup, run by a dear friend. &amp;nbsp;One fine day we were chatting around and he mentioned challenges with his business. Challenges included performance, scaling and cost issues about his hosting services provider.&lt;/span&gt;&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;My instant reaction was, why dont you move to aws.. and it clicked just like that.. We decided that we&#39;d start with the free tier, with his mysql server on amazon RDS and rest of app server functionality on the micro instance. All of which is within&amp;nbsp;purview of the free tier. &amp;nbsp;Using Cloudfront we&#39;d localize the static content, to add to the performance of content delivery. Not now, but eventually, we&#39;d start using ELB - the load balancer for distributing load across the instances we would have.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;With something like aws, planning all that is really really that straightforward. &amp;nbsp;You just have to be a bit more technically oriented to think in terms of these things and you are set for good.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;We are already thinking about configuring autoscaling for the services, so that running on the micro instance doesnt become a bottleneck for the customers. With that we&#39;d hope to achieve dynamic automatic scaling up and down the infrastructure.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;We have already taken the first steps, and I am helping his venture migrate to AWS, one of my dream jobs, to be able to consult around migration / integration of Traditional systems to cloud based systems.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/1642791126426907622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2014/01/moving-ecommerce-site-to-amazon-web.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1642791126426907622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/1642791126426907622'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2014/01/moving-ecommerce-site-to-amazon-web.html' title='Moving an ecommerce site to Amazon Web Services'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-703183833372305502</id><published>2013-01-12T00:01:00.000-05:00</published><updated>2014-04-04T02:08:55.707-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bulk-load"/><category scheme="http://www.blogger.com/atom/ns#" term="data-load"/><category scheme="http://www.blogger.com/atom/ns#" term="teradata"/><title type='text'>Teradata TPump vs MultiLoad</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Was doing some research around Teradata&#39;s load utilities and found some useful info on Teradata forums&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;b&gt;MultiLoad&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Loads data to TeraData from a Mainframe or flat file&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Multiple tables can be loaded in the same MultiLoad.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Up to 20 INSERTS, UPDATES, or DELETES on upt o 5 tables.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* UPSERT is supported&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* There can be NO - Unique Secondary Indexes (USI), Triggers, Referential&amp;nbsp;Integrity&amp;nbsp;or Join Indexes.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Duplicate rows are allowed&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Each Import task can do multiple INSERT, UPDATE and DELETE functions.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Some Secondary&amp;nbsp;Indexes&amp;nbsp;(NUSI) and RI are allowed&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Locks at the table level&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Block Level&amp;nbsp;transferring&amp;nbsp;of Data.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;b&gt;TPump&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Loads data to TeraData from Mainframe or flat file&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Processes INSERTS, UPDATES or DELETES&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Tables are usually populated.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Can have Secondary Indexes and RI on tables.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Does not support MULTI-SET tables.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* Locks at the row hash level&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;* It uses time based checkpoints not count based.If you are using an OLTP the TPUMPs trickle or continuous loads to populated tables. It acts like a water faucet (tap), that is it can be turned up and load millions of rows or at peak periods tuned down to trickle ffed into the tables.Generally MultiLoad performs better for large bulk loads because of the 64k block loading of data and TPump works better on Low volume changes.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;b&gt;General Writeup&lt;/b&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Multiload performs better in almost all cases.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;The only time TPump&#39;s performance approaches Multiload is when you are updating a very small percentage of the rows.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Tpump could probably beat Multiload if you had a very small number of rows in that Multiload has to log on to one session per AMP, whereas Tpump sessions can be controlled. So, with a very few number of rows, the overhead of Multiload may make it slower than TPump.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Multiload performs better because it sends the data from the host to the DBMS more efficiently (in block mode; with no embedded commands). &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Tpump sends the data as part of a statement (exec macro statement). Tpump allows you to pack statements together to gain more efficiency, but it&#39;s still doesn&#39;t send the data as efficiently as Multiload.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;The second reason that Multiload is faster is that it then applies the updates in block mode. So, if you have multiple updates destined for the same data block, they will get applied with one physical write of the data block. Tpump will need to write the data block once for each update.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;The advantage that Tpump has over Multiload is that it locks only the rows (actually row hashes) that it&#39;s updating whereas Multiload locks the entire table for write while it&#39;s updating the data. &amp;nbsp;Because of this, you can run multiple Tpumps against the same table at the same time, whereas you can only run one Multiload against a table at a time.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Since Multiload takes a write lock on the table it&#39;s updating during it&#39;s APPLY phase (the phase where it actually updates the table), you can only access the table with an access lock (i.e. dirty read). With Tpump, you could access individual rows with a regular read lock. &amp;nbsp;If you tried to do a query that required a read lock on the table during a Tpump, the read lock would end up blocking the Tpump updates until the query finished, so it&#39;s still not a great idea to try to run queries requiring a read lock on the table during a Tpump.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Another advantage that Tpump has over Multiload is that there is no Tpump code within the DBMS, so new features are automatically enabled with Tpump, whereas there are a number of features that you can&#39;t use with Multiload (USI&#39;s, referential integrity, join indices, etc.).&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;In summary,&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Trebuchet MS, sans-serif;&quot;&gt;Multiload is better for bulk updating especially if done in traditional batch mode.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &#39;Trebuchet MS&#39;, sans-serif;&quot;&gt;Tpump is usually better for continuous updating of a table.&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/703183833372305502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2013/01/teradata-tpump-vs-multiload.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/703183833372305502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/703183833372305502'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2013/01/teradata-tpump-vs-multiload.html' title='Teradata TPump vs MultiLoad'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-4824066582113717668</id><published>2013-01-03T21:30:00.004-05:00</published><updated>2013-01-03T21:31:19.678-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Informatica"/><title type='text'>Finding Informatica domain name </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Recently I came across a situation where the customer people had provided us with informatica server hostname, but not the domain name, nor the port for domain.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;In such a case, we lost quite some time figuring out how to go through the domain configuration. That&#39;s when I started thinking about the alternates for finding the domain name information from the system (assuming different access levels)&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;If the repository database access is available, i.e. you can access the informatica repository database, you can use the following query to get the domain name out.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;i&gt;select pos_name&lt;br /&gt;from PO_DOMAINSERVICECONFIG&lt;/i&gt;&lt;/span&gt;&lt;/blockquote&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&amp;nbsp;This sql will need to be run in the schema where the domain repository has been created.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;On another approach, if the database access is not there, and the informatica server access is available, another file, domains.infa in the $PM_HOME equivalent directory will be able to provide information on domain name/port etc..&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;About the port&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;Though the installations process allows customization of the ports for domain, many installations keep the default as is.&amp;nbsp; In any case, a simple telnet to the host on the suspicious port will confirm whether the port is open or not.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;In my example situation, it turned out to be the default 6005. &lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Trebuchet MS&amp;quot;,sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/4824066582113717668/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2013/01/finding-informatica-domain-name.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4824066582113717668'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/4824066582113717668'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2013/01/finding-informatica-domain-name.html' title='Finding Informatica domain name '/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3031962814593058692.post-8298415144349427498</id><published>2012-06-13T17:47:00.001-04:00</published><updated>2012-06-13T17:48:00.984-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="hadoop"/><title type='text'>hadoop/hive with tableu</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
It was in 2010 that &amp;nbsp;I had the first taste of hadoop/hive. &amp;nbsp;Back then I was still using hadoop 0.20 and was doing a proof of concept for a customer, who wanted to see if hadoop can be a solution for their problems.&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
Since then, I have been reading up and following the changes in the hadoop world, and tweaking things here and there with the home installation. &amp;nbsp; Today, I tried to mount hive on hadoop (without hbase, with hbase will be the next experiment) and see how can I get it playing nicely.&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
The experience is awesome as usual, and it reinforces my belief in the fact that hadoop ecosystem has a huge role to play in the computing industry of tomorrow.&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
The analytical capabilities of the volumes of data managed by the hadoop kind of system are ever increasing, therefore the interest from many instant BI players to provide access to the data behind hadoop.&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
One such player is the instant dashboard tool - Tableu. &amp;nbsp;They have announced that Tableu 7 will be able to read data directly from hive environments. &amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
In real life it was a bit of a challenge, but whats the fun if there is no challenge. In a nutshell, it does work. No doubt. &amp;nbsp;However, the kind of configuration that is required and administration can be tricky.&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
1. You have to install the hive driver (available from their website - &lt;a href=&quot;http://www.tableausoftware.com/support/drivers&quot;&gt;http://www.tableausoftware.com/support/drivers&lt;/a&gt;)&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;2. you have to launch hive in a particular way, as a service. (&lt;/span&gt;&lt;span style=&quot;background-color: yellow;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;, Courier, monospace;&quot;&gt;hive --service hiverserver&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;). &amp;nbsp;Also, hive on a pseudo cluster only allows one user connected (since the metadata store is single user on Derby). &amp;nbsp;as a result, if you are using Tableu connectivity, nothing else can access hive, not even a command line inerface.&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
3. Remember that each addition/change to the data set on tableu interface triggers a map-reduce job on the hive cluster/server. &amp;nbsp;And that, hadoop/hive are not really meant to be fast responsive systems. &amp;nbsp;Therefore, expect high delays in fulfilling your drag and drop requests.&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
4. There might/will be additional troubles in aggregating certain types of data, since the data types on hive might not be additive in the same way as front end expects them to be.&lt;/div&gt;
&lt;div style=&quot;font-family: Verdana, sans-serif;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif;&quot;&gt;All in all, it wins me in the ease of use provided for accessing the data behind the hadoop environment, however, there are faster ways that already exist to achieve the same result.&lt;/span&gt;&lt;br /&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://tech.sraghav.in/feeds/8298415144349427498/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://tech.sraghav.in/2012/06/hadoophive-with-tableu.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8298415144349427498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3031962814593058692/posts/default/8298415144349427498'/><link rel='alternate' type='text/html' href='http://tech.sraghav.in/2012/06/hadoophive-with-tableu.html' title='hadoop/hive with tableu'/><author><name>Raghav</name><uri>http://www.blogger.com/profile/14696105144745852031</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>