{"id":13,"date":"2011-08-31T12:01:00","date_gmt":"2011-08-31T12:01:00","guid":{"rendered":"http:\/\/www.automationrepository.com\/?p=13"},"modified":"2011-10-09T00:25:04","modified_gmt":"2011-10-08T18:55:04","slug":"enhancing-qtp-scripts-display-a-progress-bar-during-static-wait","status":"publish","type":"post","link":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/","title":{"rendered":"Enhancing QTP Scripts: Display a Progress Bar during Static Wait"},"content":{"rendered":"<div style=\"text-align: left;\" dir=\"ltr\">\n<div style=\"text-align: justify;\"><span style=\"font-family: Verdana,sans-serif;\">Numerous times we would have come across the situation where we need to use the Wait() function in our scripts. Consider a scenario where user has to script for auto timeout functionality of the application. i.e. the application under test (AUT) should log out automatically if its left idle for some fixed duration <!--more-->of time. In such situations, the automation tester can use the Wait() function specifying the wait time.<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-family: Verdana,sans-serif;\">Now what happens when this script is run as a part of a batch mode and the user is not aware which test case is currently being executed. Or the user executing the test case is not aware of the wait duration. In such situations, the user would not be able to figure out whether the script is running fine or whether it got stuck somewhere. For such situations it would be a great idea to have some sort of popup displayed which indicates to the users that the script is indeed working fine. <span style=\"text-decoration: underline;\">A &#8216;Progress Bar&#8217; is best suited for this situation as the advance in the progress bar would help the user figure out the remaining amount of time left<\/span>. Let&#8217;s see how this works.<\/span><\/div>\n<div style=\"text-align: justify;\"><a name=\"more\"><\/a><\/div>\n<div style=\"text-align: justify;\">\n<table class=\"tr-caption-container\" style=\"margin-left: auto; margin-right: auto; text-align: center;\" cellspacing=\"0\" cellpadding=\"0\" align=\"center\">\n<tbody>\n<tr>\n<td style=\"text-align: center;\"><a style=\"margin-left: auto; margin-right: auto;\" href=\"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg\"><img decoding=\"async\" src=\"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg\" alt=\"\" border=\"0\" \/><\/a><\/td>\n<\/tr>\n<tr>\n<td class=\"tr-caption\" style=\"text-align: center;\">Progress Bar used with Wait() function. The code for this Progress Bar is shown later in this post.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<\/div>\n<div style=\"text-align: justify;\"><strong style=\"font-family: Verdana,sans-serif;\">Steps to create a Progress Bar control in QTP<\/strong><\/div>\n<ul style=\"text-align: left;\">\n<li style=\"font-family: Verdana,sans-serif;\">Create a Windows Form.<\/li>\n<li style=\"font-family: Verdana,sans-serif;\">Create a Progress Bar control and add it in the Windows Form.<\/li>\n<li><span style=\"font-family: Verdana,sans-serif;\">Configure the Progress Bar for the &#8216;Wait&#8217; duration.<\/span><\/li>\n<\/ul>\n<div style=\"text-align: justify;\"><span style=\"font-family: Verdana,sans-serif;\">To create a Windows Form, Progress Bar or any other windows control, QTP has provided DotNetFactory object. This DotNetFactory object enables the users to create an instance of a .Net object, and access all it properties &amp; methods.\u00a0<\/span><\/div>\n<div style=\"text-align: justify;\"><span style=\"font-family: Verdana,sans-serif;\">Lets see the code for displaying a progress bar for Wait() function execution.<\/span><br \/>\n<span style=\"font-family: Verdana,sans-serif;\"><strong>Code &#8211; <\/strong><\/span><\/p>\n<div style=\"text-align: justify;\">\n<table style=\"border: 1px solid #000000; font-family: 'Courier New',Courier,monospace;\" border=\"0\">\n<tbody>\n<tr align=\"left\" bgcolor=\"#E0E0E0\">\n<td><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"color: #38761d;\">&#8216;Create an instance of the Windows Form<\/span><br \/>\n<span style=\"color: blue;\">Set<\/span> oWinForm = DotNetFactory.CreateInstance(<\/span><\/span><br \/>\n<span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"color: #990000;\">&#8220;System.Windows.Forms.Form&#8221;<\/span>, <span style=\"color: #990000;\">&#8220;System.Windows.Forms&#8221;<\/span>)<br \/>\n<span style=\"color: #38761d;\">&#8216;Create an instance of the Progress Bar control <\/span><br \/>\n<span style=\"color: blue;\">Set<\/span> oProgressBar = DotNetFactory.CreateInstance(<\/span><\/span><br \/>\n<span style=\"color: black;\"><span style=\"color: black;\"><span style=\"font-size: small;\"><span style=\"color: #990000;\">&#8220;System.Windows.Forms.ProgressBar&#8221;<\/span>, <span style=\"color: #990000;\">&#8220;System.Windows.Forms&#8221;<\/span>)<br \/>\n<br style=\"color: #38761d;\" \/><span style=\"color: #38761d;\"> &#8216;====Specify size and other attributes for the Windows Form====<\/span><br style=\"color: #38761d;\" \/><span style=\"color: #38761d;\"> &#8216;Set the title of the Form<\/span><br \/>\noWinForm.Text = <span style=\"color: #990000;\">&#8220;Wait &#8211; 60 Seconds&#8221;<\/span><br \/>\n<span style=\"color: #38761d;\">&#8216;Set the size of the Windows Form<\/span><br \/>\noWinForm.Width = <span style=\"color: #990000;\">300<\/span><br \/>\noWinForm.Height = <span style=\"color: #990000;\">80<\/span><br \/>\n<span style=\"color: #38761d;\">&#8216;Set the MaximizeBox to false to remove the maximize box<\/span><br \/>\noWinForm.MaximizeBox = <span style=\"color: blue;\">False<\/span><br \/>\n<span style=\"color: #38761d;\">&#8216;Set the MinimizeBox to false to remove the minimize box<\/span><br \/>\noWinForm.MinimizeBox = <span style=\"color: blue;\">False<\/span><\/span><\/span><\/span><span style=\"color: #38761d;\">&#8216;====Set the properties of the Progress Bar control====<\/span><br style=\"color: #38761d;\" \/><span style=\"color: #38761d;\"> &#8216;Set Progress Bar location wrt the Form Control<\/span><br \/>\noProgressBar.Top = <span style=\"color: #990000;\">10<\/span><br \/>\noProgressBar.Left = <span style=\"color: #990000;\">50<\/span><br \/>\noProgressBar.Width = <span style=\"color: #990000;\">200<\/span><br \/>\noProgressBar.Height = <span style=\"color: #990000;\">25<\/span><span style=\"color: #38761d;\">&#8216;Set the minimum value to 1<\/span><br \/>\noProgressBar.Minimum = <span style=\"color: #990000;\">1<\/span><br \/>\n<span style=\"color: #38761d;\">&#8216;Set the maximum value to the number of seconds to be waited<\/span><br \/>\noProgressBar.Maximum = <span style=\"color: #990000;\">60<\/span> <span style=\"color: #38761d;\">&#8216; Wait for 1 minute<\/span><br \/>\n<span style=\"color: #38761d;\">&#8216;Set the initial value of the ProgressBar<\/span><br \/>\noProgressBar.<span style=\"color: blue;\">Value <\/span>= <span style=\"color: #990000;\">1<\/span><br \/>\n<span style=\"color: #38761d;\">&#8216;Set the step property to 1<\/span><br \/>\noProgressBar.<span style=\"color: blue;\">Step<\/span> = <span style=\"color: #990000;\">1<\/span><span style=\"color: #38761d;\">&#8216;Add the Progress Bar to the Form Window and display the controls<\/span><br \/>\noWinForm.Controls.<span style=\"color: blue;\">Add <\/span>oProgressBar<br \/>\noWinForm.Show<br \/>\n<br style=\"color: #38761d;\" \/><span style=\"color: #38761d;\"> &#8216;Display the Progress Bar for the Wait duration<\/span><br \/>\n<span style=\"color: blue;\">For <\/span>i = <span style=\"color: #990000;\">1<\/span> <span style=\"color: blue;\">to<\/span> <span style=\"color: #990000;\">60<\/span> <span style=\"color: #38761d;\">&#8216; For Wait Time of 1 minute<\/span><br \/>\n<span style=\"color: #38761d;\">\u00a0\u00a0\u00a0 &#8216;Advance the current position of the progress bar by the amount of the Step property<\/span><br \/>\noProgressBar.PerformStep()<br \/>\n<span style=\"color: blue;\">Wait<\/span>(<span style=\"color: #990000;\">1<\/span>)<br \/>\n<span style=\"color: blue;\">Next<\/span><span style=\"color: #38761d;\">&#8216;Close the progress bar<\/span><br \/>\noWinForm.<span style=\"color: blue;\">Close<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div style=\"font-family: Verdana,sans-serif; text-align: justify;\"><em>In this example, we have included a progress bar control together with the Wait() function. Here, the position of the Progress Bar would advance with each step and by the end of the wait time, the progress bar would also have advanced till the end, giving the users a fairly good idea about the remaining wait time.<\/em>In this same code, users can add other many other things such as a text label which can display the remaining amount of wait time left. This is just one example where the progress bar would come in handy. Can you think of any other situations where this control can be used?<\/div>\n<\/div>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<div style=\"font-family: Verdana,sans-serif; border: 1px solid #C8B560; padding: 3mm; background: #FFF8C6; text-align: center;\">\n<p>If you enjoyed this article, you can join our blog to get free email updates directly in your inbox.<\/p>\n<form style=\"text-align: center;\" action=\"http:\/\/feedburner.google.com\/fb\/a\/mailverify\" method=\"post\" onsubmit=\"window.open('http:\/\/feedburner.google.com\/fb\/a\/mailverify?uri=automationrepository\/feeds', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true\" target=\"popupwindow\"><input style=\"width: 160px; height: 24px;\" onfocus=\"if (this.value == 'Enter Your Email Address') {this.value = '';}\" onblur=\"if (this.value == '') {this.value = 'Enter Your Email Address';}\" type=\"text\" value=\"Enter Your Email Address\" \/> <input type=\"hidden\" name=\"uri\" value=\"automationrepository\/feeds\" \/> <input type=\"hidden\" name=\"loc\" value=\"en_US\" \/> <input type=\"submit\" value=\"Subscribe\" \/><\/p>\n<p style=\"text-align: justify;\">\n<\/form>\n<\/div>\n<div class=\"blogger-post-footer\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blogger.googleusercontent.com\/tracker\/413641991742395715-429946880548210672?l=www.automationrepository.com\" alt=\"\" width=\"1\" height=\"1\" \/><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Numerous times we would have come across the situation where we need to use the Wait() function in our scripts. Consider a scenario where user has to script for auto timeout functionality of the application. i.e. the application under test (AUT) should log out automatically if its left idle for some fixed duration<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[14,13],"class_list":["post-13","post","type-post","status-publish","format-standard","hentry","category-advanced-concepts","tag-dot-net-factory","tag-progress-bar"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Enhancing QTP Scripts: Display a Progress Bar during Static Wait - XX<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anish Pillai\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/\",\"url\":\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/\",\"name\":\"Enhancing QTP Scripts: Display a Progress Bar during Static Wait - XX\",\"isPartOf\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#primaryimage\"},\"thumbnailUrl\":\"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg\",\"datePublished\":\"2011-08-31T12:01:00+00:00\",\"dateModified\":\"2011-10-08T18:55:04+00:00\",\"author\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/#\/schema\/person\/9fb56e00b93c7e939604cdfb05d62078\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#primaryimage\",\"url\":\"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg\",\"contentUrl\":\"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.automationrepository.com\/wordpress\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Enhancing QTP Scripts: Display a Progress Bar during Static Wait\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/#website\",\"url\":\"https:\/\/www.automationrepository.com\/wordpress\/\",\"name\":\"XX\",\"description\":\"\\r\\nasas\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.automationrepository.com\/wordpress\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/#\/schema\/person\/9fb56e00b93c7e939604cdfb05d62078\",\"name\":\"Anish Pillai\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.automationrepository.com\/wordpress\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g\",\"caption\":\"Anish Pillai\"},\"url\":\"https:\/\/www.automationrepository.com\/wordpress\/author\/anish-pillai\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Enhancing QTP Scripts: Display a Progress Bar during Static Wait - XX","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/","twitter_misc":{"Written by":"Anish Pillai","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/","url":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/","name":"Enhancing QTP Scripts: Display a Progress Bar during Static Wait - XX","isPartOf":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#primaryimage"},"image":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#primaryimage"},"thumbnailUrl":"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg","datePublished":"2011-08-31T12:01:00+00:00","dateModified":"2011-10-08T18:55:04+00:00","author":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/#\/schema\/person\/9fb56e00b93c7e939604cdfb05d62078"},"breadcrumb":{"@id":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#primaryimage","url":"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg","contentUrl":"http:\/\/4.bp.blogspot.com\/-2T8yxOYU6CU\/Tl3MzSZ5BFI\/AAAAAAAAAE8\/HG-4aOnwahY\/s1600\/ProgressBar.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.automationrepository.com\/wordpress\/2011\/08\/enhancing-qtp-scripts-display-a-progress-bar-during-static-wait\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.automationrepository.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Enhancing QTP Scripts: Display a Progress Bar during Static Wait"}]},{"@type":"WebSite","@id":"https:\/\/www.automationrepository.com\/wordpress\/#website","url":"https:\/\/www.automationrepository.com\/wordpress\/","name":"XX","description":"\r\nasas","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.automationrepository.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.automationrepository.com\/wordpress\/#\/schema\/person\/9fb56e00b93c7e939604cdfb05d62078","name":"Anish Pillai","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.automationrepository.com\/wordpress\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/?s=96&d=mm&r=g","caption":"Anish Pillai"},"url":"https:\/\/www.automationrepository.com\/wordpress\/author\/anish-pillai\/"}]}},"_links":{"self":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/posts\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":8,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/posts\/13\/revisions"}],"predecessor-version":[{"id":522,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/posts\/13\/revisions\/522"}],"wp:attachment":[{"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/media?parent=13"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/categories?post=13"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.automationrepository.com\/wordpress\/wp-json\/wp\/v2\/tags?post=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}