<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Programmatically create a datagrid from the results of a querytask in ArcGIS JavaScript Maps SDK Questions</title>
    <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561935#M52461</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Tray&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;will you able to post your code to jsfiddle, please. I am seeking the same solution. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks alot&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 Jul 2015 14:48:38 GMT</pubDate>
    <dc:creator>zhengniu1</dc:creator>
    <dc:date>2015-07-23T14:48:38Z</dc:date>
    <item>
      <title>Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561929#M52455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I have set of functions that will execute a series of querytasks based on the current layer visibility.&amp;nbsp; Now I have a featureset from each querytask, all likely to have different field names, depending on which layer it's from.&amp;nbsp; This means I need to create both the data source and grid on the fly from the results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Each queryTask should create one new titlePane in an existing floating pane, and each titlePane is the container for one datagrid.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The title panes are getting added, but my datagrid isn't getting created properly, so the panes are just empty.&amp;nbsp; I think I'm so close, but I'm having problems getting all the pieces I need pulled together to properly create and populate the grid.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Elsewhere I created an array of the layer names from the query tasks, while those are getting set up.&amp;nbsp; I'm using this to have a 'real' name to my titlePane, since I don't see that the original layer name is anywhere in the featureset.&amp;nbsp; The div 'attributeDiv' existing already in my floatingPane.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;function queryGeometryResultsHandler_toGrid(results, idx) { &amp;nbsp;&amp;nbsp;&amp;nbsp; var myDiv = dojo.byId("attributeDiv"); &amp;nbsp;&amp;nbsp;&amp;nbsp; var currentLayerId = qTaskNameList[idx];&amp;nbsp; var paneTitle = (currentLayerId.split('_').join(' '));//earlier all spaces were replaced _, now I need spaces for the title&amp;nbsp; var tp = new dijit.TitlePane({ id: 'gridPane_'+currentLayerId, title: paneTitle});&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; myDiv.appendChild(tp.domNode);&amp;nbsp;&amp;nbsp; var itemNames = [];&amp;nbsp;&amp;nbsp; var featureAttributes = dojo.map(results.features, function(feature){&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return feature.attributes;&amp;nbsp; });&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; var firstFeature = featureAttributes[0];&amp;nbsp; for(var fieldName in firstFeature) { &amp;nbsp;&amp;nbsp; itemNames.push(fieldName); &amp;nbsp; } &amp;nbsp; console.log(itemNames); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; //gets the field names from the first feature for the grid&amp;nbsp; // for (fieldName in itemNames[0]) {&amp;nbsp; var currentLayout = [];&amp;nbsp; var addField;&amp;nbsp; dojo.forEach(itemNames, function (fieldName) { &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (fieldName == "FID" || fieldName == "OBJECTID" ) { &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; addField = { field: fieldName, formatter: makeZoomButton }; &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; currentLayout.push(addField);&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; if (fieldName == "Shape" || fieldName == "FID" || fieldName == "OBJECTID") { &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; addField = { field: fieldName, hidden: true }; &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; currentLayout.push(addField); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; else { &amp;nbsp;&amp;nbsp;&amp;nbsp; //console.log("field Name is " + fieldName); &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; addField = { &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; field: fieldName, &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; width: "120px" &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; currentLayout.push(addField);&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; console.log(currentLayout); &amp;nbsp; var data = { &amp;nbsp;&amp;nbsp; identifer: "OBJECTID", &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; items: featureAttributes &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; var currentStore = new dojo.data.ItemFileReadStore({ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; data: data &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; // Create Grid&amp;nbsp; &amp;nbsp; var grid = new dojox.grid.DataGrid({ &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; id: currentLayerId+"_grid", &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; store: currentStore &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, document.createElement('div')); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; grid.startup(); &amp;nbsp; var currentPane = dojo.byId('gridPane_'+currentLayerId); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentPane.appendChild(grid.domNode); &amp;nbsp; //&amp;nbsp; tp.appendChild(grid.domName); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; // tp.set("content",grid); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // }&amp;nbsp; } &lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;1 - I'm not sure the datagrid has the right input to be correct.&amp;nbsp; Setting breakpoints, I see there is information in the variable 'currentStore'. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;2- I'm not sure that appendChild is the correct command to add the grid to the newly created titlePane, so it might be failing there?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Aug 2013 18:42:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561929#M52455</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2013-08-13T18:42:06Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561930#M52456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;This may not help at all, but in my project, I am running an identifyTask on the visible layers when the user clicks on the map. I use a TabContainer to hold the results, which will have a varying number of tabs, depending on how many layers are visible. Each tab contains a dGrid that shows all the results from a layer. Since each of the layers has different fields, I am building everything programmatically, with nothing hard-coded. Here's a &lt;/SPAN&gt;&lt;A href="http://jsfiddle.net/GW7XK/6/"&gt;Fiddle&lt;/A&gt;&lt;SPAN&gt; that show how to do that. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Although the fiddle renders the tabs a little oddly, it shows the grids properly in their individual tabs.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Aug 2013 19:44:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561930#M52456</guid>
      <dc:creator>KenBuja</dc:creator>
      <dc:date>2013-08-13T19:44:12Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561931#M52457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;That's different enough from what I have that I don't think I want to pull apart what I have.&amp;nbsp; It seems really close.&amp;nbsp; I don't think I have the definition right on the itemfilereadstore.&amp;nbsp; I changed what I had a bit, so I created the datagrid without parameters and then used setStore and setStructure.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When I tried this, I could see that my field names were read correctly.&amp;nbsp; I have an empty grid, just headers, but no content.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
&amp;nbsp; var grid = new dojox.grid.DataGrid();
&amp;nbsp; grid.setStructure(currentLayout);&amp;nbsp; //this gives me the headers I expect on my grid
&amp;nbsp; grid.setStore(currentStore);&amp;nbsp; //currentstore doesn't look right, I think it's empty
&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 12 Dec 2021 00:14:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561931#M52457</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2021-12-12T00:14:18Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561932#M52458</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Here's another spin on it.&amp;nbsp; Apparently there is data in my datagrid, but I don't see it until I click on a column heading to sort.&amp;nbsp; Then it appears.&amp;nbsp; Maybe this is a style problem.&amp;nbsp; Or maybe the store isn't getting read/loaded until I'm clicking a column because I have something out of sequence?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 13 Aug 2013 20:27:15 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561932#M52458</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2013-08-13T20:27:15Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561933#M52459</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Here's another spin on it.&amp;nbsp; Apparently there is data in my datagrid, but I don't see it until I click on a column heading to sort.&amp;nbsp; Then it appears.&amp;nbsp; Maybe this is a style problem.&amp;nbsp; Or maybe the store isn't getting read/loaded until I'm clicking a column because I have something out of sequence?&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Try calling grid.startup after you added the grid.domNode to the contentpane&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;PRE class="plain" name="code"&gt; var currentPane = dojo.byId('gridPane_'+currentLayerId); &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentPane.appendChild(grid.domNode); grid.startup();&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 02:44:44 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561933#M52459</guid>
      <dc:creator>VinayBansal</dc:creator>
      <dc:date>2013-08-14T02:44:44Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561934#M52460</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;That was it, thank you so much.&amp;nbsp; I knew the order of the creation mattered, but I didn't realize that startup needed to come after it was added to the pane.&amp;nbsp; In my mind, it needed to happen first.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Aug 2013 13:14:34 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561934#M52460</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2013-08-14T13:14:34Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561935#M52461</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi Tray&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;will you able to post your code to jsfiddle, please. I am seeking the same solution. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks alot&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jul 2015 14:48:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561935#M52461</guid>
      <dc:creator>zhengniu1</dc:creator>
      <dc:date>2015-07-23T14:48:38Z</dc:date>
    </item>
    <item>
      <title>Re: Programmatically create a datagrid from the results of a querytask</title>
      <link>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561936#M52462</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since you're replying to a 2 year old thread, a lot has changed since then, including updating to dGrid and AMD.&amp;nbsp; Here's a sample of how I'm handling it now.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://jsfiddle.net/schlot/40ga2qkn/1/" title="http://jsfiddle.net/schlot/40ga2qkn/1/"&gt;queryTask_dGrid - JSFiddle&lt;/A&gt; &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Jul 2015 15:17:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-javascript-maps-sdk-questions/programmatically-create-a-datagrid-from-the/m-p/561936#M52462</guid>
      <dc:creator>TracySchloss</dc:creator>
      <dc:date>2015-07-23T15:17:35Z</dc:date>
    </item>
  </channel>
</rss>

